/* ==========================================================================
   TEMA_SITE.CSS - Estilos Unificados do Site e Voucher Virtual
   Gerado a partir das tags <style> dos arquivos em app/Views/site/
   ========================================================================== */

/* -------------------------------------------------------------------------- */
/* Origem: app\Views\site\layout.php (Layout Principal) */
/* -------------------------------------------------------------------------- */

:root {
            --navy-dark: #182030;
            --navy-medium: #182030;
            --green-vibrant: #ffbd00;
            --green-hover: #f5aa00;
            --blue-ocean: #075ff2;
            --footer-bg: #182030;
            --light-gray: #f6f8fb;
        }
        .btn-reserve {
            background-color: var(--yellow) !important;
            color: #1f2600 !important;
            font-weight: 800 !important;
            border-radius: 999px !important;
            padding: 10px 24px !important;
            border: none !important;
            transition: all 0.25s ease !important;
        }
        .btn-reserve:hover {
            background-color: var(--yellow-strong) !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 10px 24px rgba(255, 189, 0, 0.28) !important;
            color: #182030 !important;
        }
        .section-title {
            font-weight: 800 !important;
            color: var(--ink) !important;
        }
        .section-subtitle {
            color: var(--yellow-strong) !important;
            font-weight: 800 !important;
            font-size: 12px !important;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            display: block;
            margin-bottom: 6px;
        }
        .card-tour {
            border: 1px solid var(--line) !important;
            border-radius: 14px !important;
            overflow: hidden !important;
            box-shadow: 0 10px 30px rgba(19, 33, 56, 0.05) !important;
            background: #fff !important;
            height: 100%;
        }
        .card-tour img {
            height: 220px !important;
            object-fit: cover !important;
            width: 100% !important;
        }


/* -------------------------------------------------------------------------- */
/* Origem: app\Views\site\home\blog.php (Home / Blog) */
/* -------------------------------------------------------------------------- */

.card-blog {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-blog:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(15, 32, 66, 0.12) !important;
}
.link-titulo-blog:hover {
    color: #198754 !important;
}


/* -------------------------------------------------------------------------- */
/* Origem: app\Views\site\home\blog_post.php (Home / Artigo do Blog) */
/* -------------------------------------------------------------------------- */

.conteudo-artigo h2, .conteudo-artigo h3, .conteudo-artigo h4 {
    color: #0f2042;
    font-weight: 700;
    margin-top: 1.8rem;
    margin-bottom: 1rem;
}
.conteudo-artigo blockquote {
    border-left: 4px solid #198754;
    padding-left: 1rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #495057;
}
.conteudo-artigo img {
    max-width: 100%;
    border-radius: 12px;
    margin: 1.5rem 0;
}


/* -------------------------------------------------------------------------- */
/* Origem: app\Views\site\home\hospedagens.php (Home / Hospedagens) */
/* -------------------------------------------------------------------------- */

.card-hospedagem {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-hospedagem:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(15, 32, 66, 0.12) !important;
}


/* -------------------------------------------------------------------------- */
/* Origem: app\Views\site\home\servicos.php (Home / Serviços) */
/* -------------------------------------------------------------------------- */

.card-servico {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-servico:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(15, 32, 66, 0.12) !important;
}


/* -------------------------------------------------------------------------- */
/* Origem: app\Views\site\cliente\voucher_virtual.php (Voucher Virtual da Proposta) */
/* -------------------------------------------------------------------------- */

body.voucher-page {
            --brand: #015fa9;
            --brand-dark: #013d6e;
            --brand-light: rgba(1, 95, 169, .08);
            --brand-mid: rgba(1, 95, 169, .16);
            --brand-border: rgba(1, 95, 169, .22);
            --brand-rgb: 1, 95, 169;
            --accent: #ffbd00;
            --bg: #f0f3f8;
            --surf: #ffffff;
            --surf2: #f4f7fb;
            --border: rgba(0, 0, 0, .07);
            --border-md: rgba(0, 0, 0, .12);
            --text: #0d1923;
            --text-mid: #3a4f62;
            --text-muted: #7a8ea4;
            --ok: #059669;
            --warn: #d97706;
            --danger: #dc2626;
            --purple: #7c3aed;
            --r: 16px;
            --rsm: 10px;
            --sh: 0 1px 4px rgba(0, 0, 0, .05), 0 4px 18px rgba(0, 0, 0, .07);
            --sh-md: 0 4px 12px rgba(0, 0, 0, .07), 0 16px 40px rgba(0, 0, 0, .12);
        }.voucher-page *, .voucher-page *::before, .voucher-page *::after { box-sizing: border-box; margin: 0; padding: 0; }html:has(body.voucher-page) { scroll-behavior: smooth; }body.voucher-page {
            background: var(--bg);
            font-family: 'Outfit', sans-serif;
            color: var(--text);
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
            font-size: 15px;
            line-height: 1.6;
        }/* ── LOADER ── */.voucher-page #page-loader {
            position: fixed; inset: 0; background: var(--bg);
            display: flex; align-items: center; justify-content: center;
            z-index: 9999; transition: opacity .45s ease;
        }.voucher-page #page-loader.out { opacity: 0; pointer-events: none; }.voucher-page .loader-inner { display: flex; flex-direction: column; align-items: center; gap: 14px; }.voucher-page .loader-logo {
            width: 72px; height: 72px; border-radius: 18px; overflow: hidden;
            background: #fff; display: flex; align-items: center; justify-content: center;
            box-shadow: 0 8px 32px rgba(0, 0, 0, .14); padding: 6px;
            animation: loaderPulse 1.5s ease-in-out infinite;
        }.voucher-page .loader-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }.voucher-page .loader-initials {
            width: 72px; height: 72px; border-radius: 18px; background: var(--brand);
            display: flex; align-items: center; justify-content: center;
            font-size: 24px; font-weight: 800; color: #fff;
            box-shadow: 0 8px 32px rgba(var(--brand-rgb), .38);
            animation: loaderPulse 1.5s ease-in-out infinite;
        }.voucher-page .loader-bar { width: 120px; height: 3px; background: rgba(0, 0, 0, .08); border-radius: 2px; overflow: hidden; }.voucher-page .loader-bar-fill { height: 100%; background: var(--brand); border-radius: 2px; animation: loaderBar 1.4s ease-in-out infinite; }@keyframes loaderPulse {0%, 100% { transform: scale(1); opacity: 1; }50% { transform: scale(.95); opacity: .75; } }@keyframes loaderBar {0% { width: 0; }100% { width: 100%; } }/* ── PROGRESS BAR ── */.voucher-page .progress-bar {
            position: fixed; top: 0; left: 0; height: 3px; width: 0%;
            background: linear-gradient(90deg, var(--brand), var(--accent));
            z-index: 9998; transition: width .1s linear;
        }/* ── HERO ── */.voucher-page .hero {
            position: relative;
            min-height: 76vh;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            padding: 88px 20px 56px;
            color: #fff;
            overflow: hidden;
            background: linear-gradient(135deg, #0b1e36 0%, #014984 55%, #0f2042 100%);
        }.voucher-page .hero-slideshow { position: absolute; inset: 0; z-index: 0; }.voucher-page .hero-slide {
            position: absolute; inset: 0;
            background-size: cover; background-position: center;
            opacity: 0; transform: scale(1.05);
            transition: opacity 1.4s ease, transform 6s ease;
        }.voucher-page .hero-slide.active { opacity: 1; transform: scale(1); }.voucher-page .hero-overlay {
            position: absolute; inset: 0; z-index: 1;
            background: linear-gradient(180deg, rgba(8, 19, 34, .45) 0%, rgba(8, 19, 34, .68) 55%, rgba(8, 19, 34, .92) 100%);
        }.voucher-page .hero-brand-tint {
            position: absolute; inset: 0; z-index: 2;
            background: radial-gradient(circle at 20% 20%, rgba(1, 95, 169, .35), transparent 60%);
        }.voucher-page .hero-content {
            position: relative; z-index: 4;
            width: 100%; max-width: 960px;
            text-align: center;
        }.voucher-page .hero-agency-row {
            display: inline-flex; align-items: center; gap: 12px;
            background: rgba(255, 255, 255, .1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, .18);
            padding: 8px 18px 8px 10px;
            border-radius: 999px;
            margin-bottom: 20px;
        }.voucher-page .hero-logo {
            width: 40px; height: 40px; border-radius: 50%;
            background: #fff; display: flex; align-items: center; justify-content: center;
            overflow: hidden; padding: 3px; flex-shrink: 0;
        }.voucher-page .hero-logo img { width: 100%; height: 100%; object-fit: contain; }.voucher-page .hero-agency-name { font-weight: 700; font-size: 14px; text-align: left; line-height: 1.2; }.voucher-page .hero-agency-tagline { font-size: 11px; opacity: .8; text-align: left; }.voucher-page .hero-pill {
            display: inline-block;
            background: rgba(255, 189, 0, .18);
            border: 1px solid rgba(255, 189, 0, .5);
            color: #ffd65a;
            font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
            padding: 5px 14px; border-radius: 999px;
            margin-bottom: 14px;
        }.voucher-page .hero-title {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: clamp(2.2rem, 5vw, 3.8rem);
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 10px;
            text-shadow: 0 4px 24px rgba(0, 0, 0, .35);
        }.voucher-page .hero-client { font-size: 17px; color: rgba(255, 255, 255, .88); margin-bottom: 22px; }.voucher-page .hero-client strong { color: #fff; font-weight: 700; }.voucher-page .hero-chips {
            display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
            margin-bottom: 22px;
        }.voucher-page .hero-chip {
            background: rgba(255, 255, 255, .12);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(255, 255, 255, .2);
            padding: 7px 14px; border-radius: 999px;
            font-size: 13px; font-weight: 500;
            display: inline-flex; align-items: center; gap: 6px;
        }.voucher-page .hero-countdown {
            display: inline-flex; align-items: center; gap: 8px;
            background: rgba(5, 150, 105, .25);
            border: 1px solid rgba(52, 211, 153, .45);
            color: #ecfdf5;
            padding: 7px 16px; border-radius: 999px;
            font-size: 13px; font-weight: 600;
            margin-bottom: 18px;
        }.voucher-page .hero-countdown.critica {
            background: rgba(217, 119, 6, .28);
            border-color: rgba(251, 191, 36, .6);
            color: #fef3c7;
        }.voucher-page .hero-scroll-hint {
            font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
            opacity: .7; margin-top: 8px;
        }/* ── STATUS BAR ── */.voucher-page .status-bar {
            position: sticky; top: 0; z-index: 90;
            background: rgba(255, 255, 255, .94);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border-md);
            padding: 10px 20px;
            display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
            box-shadow: 0 2px 14px rgba(0, 0, 0, .05);
        }.voucher-page .status-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }.voucher-page .status-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }.voucher-page .status-dot.aprovado { background: var(--ok); box-shadow: 0 0 0 4px rgba(5, 150, 105, .18); }.voucher-page .status-dot.parcial { background: var(--brand); box-shadow: 0 0 0 4px rgba(1, 95, 169, .18); }.voucher-page .status-dot.pendente { background: var(--warn); box-shadow: 0 0 0 4px rgba(217, 119, 6, .18); }.voucher-page .status-label { font-weight: 700; font-size: 14px; color: var(--text); }.voucher-page .status-agency { font-size: 13px; color: var(--text-muted); }.voucher-page .status-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }.voucher-page .sb-btn {
            display: inline-flex; align-items: center; gap: 6px;
            padding: 7px 14px; border-radius: 999px;
            font-size: 13px; font-weight: 600; text-decoration: none;
            border: 1px solid var(--border-md); background: #fff; color: var(--text);
            cursor: pointer; transition: all .2s ease;
        }.voucher-page .sb-btn:hover { background: var(--surf2); transform: translateY(-1px); }.voucher-page .sb-btn.primary { background: var(--brand); border-color: var(--brand); color: #fff; }.voucher-page .sb-btn.primary:hover { background: var(--brand-dark); }.voucher-page .lang-switcher {
            display: inline-flex; align-items: center; gap: 2px;
            background: var(--surf2); border: 1px solid var(--border-md);
            border-radius: 999px; padding: 3px;
        }.voucher-page .lang-btn {
            border: none; background: transparent; color: var(--text-mid);
            font-size: 12px; font-weight: 700; padding: 4px 10px;
            border-radius: 999px; cursor: pointer; transition: all .18s ease;
            display: inline-flex; align-items: center; gap: 4px;
        }.voucher-page .lang-btn:hover { color: var(--text); }.voucher-page .lang-btn.active { background: var(--brand); color: #fff; }/* Oculta barra padrão do Google Translate para manter o layout limpo */.goog-te-banner-frame.skiptranslate, .goog-te-gadget-simple, #google_translate_element, .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display: none !important; }body.voucher-page { top: 0 !important; }/* ── MAIN CONTAINER ── */.voucher-page .main { max-width: 980px; margin: 0 auto; padding: 32px 18px 64px; }.voucher-page .sec-heading {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 1.9rem; font-weight: 700; color: var(--text);
            margin: 34px 0 16px; display: flex; align-items: center; gap: 10px;
        }/* ── NOTIFICATIONS BANNER ── */.voucher-page .notif-strip {
            background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
            border: 1px solid #fcd34d;
            border-radius: var(--r);
            padding: 16px 20px;
            margin-bottom: 24px;
            box-shadow: var(--sh);
        }.voucher-page .notif-strip-head {
            display: flex; align-items: center; gap: 8px;
            font-weight: 700; color: #92400e; font-size: 14px; margin-bottom: 10px;
        }.voucher-page .notif-strip-item {
            background: rgba(255, 255, 255, .82);
            border: 1px solid rgba(217, 119, 6, .18);
            border-radius: 10px; padding: 10px 14px;
            margin-bottom: 8px; font-size: 13px;
        }.voucher-page .notif-strip-item:last-child { margin-bottom: 0; }.voucher-page .notif-strip-item strong { color: #78350f; display: block; }.voucher-page .notif-strip-item span { color: #92400e; font-size: 12.5px; }/* ── SUMMARY GRID ── */.voucher-page .summary-grid {
            display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
            margin-bottom: 24px;
        }.voucher-page .sum-card {
            background: var(--surf); border-radius: var(--r); padding: 18px 16px;
            border: 1px solid var(--border); box-shadow: var(--sh);
        }.voucher-page .sum-icon {
            width: 38px; height: 38px; border-radius: 10px;
            background: var(--brand-light); color: var(--brand);
            display: flex; align-items: center; justify-content: center;
            font-size: 18px; margin-bottom: 10px;
        }.voucher-page .sum-label { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }.voucher-page .sum-val { font-size: 17px; font-weight: 700; color: var(--text); margin-top: 2px; }/* ── VERIFY STRIP ── */.voucher-page .verify-strip {
            background: var(--surf); border: 1px solid var(--border);
            border-radius: var(--r); padding: 18px 20px; box-shadow: var(--sh);
            margin-bottom: 28px;
        }.voucher-page .verify-dual-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; align-items: center; }.voucher-page .verify-panel { display: flex; align-items: center; gap: 14px; }.voucher-page .verify-panel-logo {
            width: 50px; height: 50px; border-radius: 12px;
            background: var(--surf2); border: 1px solid var(--border);
            display: flex; align-items: center; justify-content: center;
            overflow: hidden; padding: 5px; flex-shrink: 0;
        }.voucher-page .verify-panel-logo img { width: 100%; height: 100%; object-fit: contain; }.voucher-page .verify-panel-title { font-weight: 700; font-size: 15px; color: var(--text); }.voucher-page .verify-panel-sub { font-size: 13px; color: var(--text-muted); }.voucher-page .verify-badge {
            display: inline-flex; align-items: center; gap: 6px;
            background: rgba(5, 150, 105, .1); color: var(--ok);
            border: 1px solid rgba(5, 150, 105, .25);
            padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 700;
            justify-self: end;
        }/* ── CRONOGRAMA / DAY BLOCK ── */.voucher-page .day-block { margin-bottom: 28px; }.voucher-page .day-header {
            display: flex; align-items: center; gap: 16px;
            background: var(--surf); border: 1px solid var(--border);
            border-radius: var(--r); padding: 14px 18px;
            box-shadow: var(--sh); margin-bottom: 14px;
        }.voucher-page .day-number {
            width: 56px; height: 56px; border-radius: 14px;
            background: linear-gradient(135deg, var(--brand), var(--brand-dark));
            color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;
            flex-shrink: 0; line-height: 1;
        }.voucher-page .day-number-n { font-size: 22px; font-weight: 800; }.voucher-page .day-number-l { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; opacity: .85; margin-top: 2px; }.voucher-page .day-date-str { font-size: 13px; color: var(--brand); font-weight: 600; }.voucher-page .day-title-str { font-size: 18px; font-weight: 700; color: var(--text); }/* ── ACTIVITY CARD ── */.voucher-page .act-list { display: grid; gap: 12px; }.voucher-page .act-card {
            background: var(--surf); border: 1px solid var(--border);
            border-radius: var(--r); padding: 16px;
            box-shadow: var(--sh);
            display: grid; grid-template-columns: 112px 1fr auto; gap: 16px; align-items: center;
            cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        }.voucher-page .act-card:hover { transform: translateY(-2px); box-shadow: var(--sh-md); border-color: var(--brand-border); }.voucher-page .act-thumb {
            width: 112px; height: 92px; border-radius: 12px;
            overflow: hidden; background: var(--surf2);
            display: flex; align-items: center; justify-content: center;
            color: var(--brand); font-size: 28px; position: relative;
        }.voucher-page .act-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }.voucher-page .act-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }.voucher-page .act-badge {
            font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
            padding: 3px 9px; border-radius: 999px;
        }.voucher-page .act-badge.passeio { background: rgba(1, 95, 169, .1); color: var(--brand); }.voucher-page .act-badge.hospedagem { background: rgba(124, 58, 237, .1); color: var(--purple); }.voucher-page .act-badge.servico { background: rgba(5, 150, 105, .1); color: var(--ok); }.voucher-page .act-badge.hora { background: var(--surf2); color: var(--text-mid); border: 1px solid var(--border-md); font-family: 'JetBrains Mono', monospace; }.voucher-page .act-title { font-size: 17px; font-weight: 700; color: var(--text); margin-bottom: 4px; }.voucher-page .act-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--text-mid); }.voucher-page .act-meta span { display: inline-flex; align-items: center; gap: 5px; }.voucher-page .act-right { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }.voucher-page .act-price { font-size: 16px; font-weight: 700; color: var(--text); white-space: nowrap; }.voucher-page .act-cta {
            font-size: 12px; font-weight: 600; color: var(--brand);
            background: var(--brand-light); padding: 5px 11px; border-radius: 999px;
            white-space: nowrap;
        }/* ── PAX & QR TICKETS ── */.voucher-page .pax-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }.voucher-page .pax-card {
            background: var(--surf); border: 1px solid var(--border);
            border-radius: var(--r); padding: 16px; box-shadow: var(--sh);
            display: flex; align-items: center; gap: 14px;
        }.voucher-page .pax-qr {
            width: 82px; height: 82px; border-radius: 10px; border: 1px solid var(--border-md);
            padding: 4px; background: #fff; flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
        }.voucher-page .pax-qr img { width: 100%; height: 100%; object-fit: contain; }.voucher-page .pax-name { font-weight: 700; font-size: 15px; color: var(--text); }.voucher-page .pax-sub { font-size: 12.5px; color: var(--text-muted); margin-top: 2px; }.voucher-page .pax-status {
            display: inline-block; margin-top: 6px;
            font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px;
        }.voucher-page .pax-status.ok { background: rgba(5, 150, 105, .12); color: var(--ok); }.voucher-page .pax-status.pend { background: rgba(217, 119, 6, .12); color: var(--warn); }/* ── FINANCEIRO ── */.voucher-page .finance-card {
            background: var(--surf); border: 1px solid var(--border);
            border-radius: var(--r); box-shadow: var(--sh-md); overflow: hidden;
        }.voucher-page .finance-head {
            background: linear-gradient(135deg, var(--brand), var(--brand-dark));
            color: #fff; padding: 18px 22px;
            display: flex; align-items: center; justify-content: space-between;
        }.voucher-page .finance-head h3 { font-size: 18px; font-weight: 700; margin: 0; }.voucher-page .fin-body { padding: 22px; }.voucher-page .fin-total-block {
            background: var(--surf2); border: 1px solid var(--border-md);
            border-radius: 14px; padding: 20px; text-align: center; margin-bottom: 18px;
        }.voucher-page .fin-total-label { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); font-weight: 700; }.voucher-page .fin-total-val { font-size: 32px; font-weight: 800; color: var(--brand); margin: 4px 0; }.voucher-page .fin-breakdown {
            display: flex; flex-wrap: wrap; justify-content: center; gap: 16px;
            font-size: 13px; color: var(--text-mid); margin-top: 8px;
        }.voucher-page .fin-parcelas { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-bottom: 18px; }.voucher-page .fin-parcela {
            border: 1px solid var(--border-md); border-radius: 12px; padding: 14px;
            background: #fff;
        }.voucher-page .fin-parcela-label { font-size: 12px; color: var(--text-muted); font-weight: 600; display: block; }.voucher-page .fin-parcela-val { font-size: 19px; font-weight: 800; color: var(--text); margin: 4px 0; }.voucher-page .fin-parcela-status {
            display: inline-block; font-size: 11px; font-weight: 700;
            padding: 3px 9px; border-radius: 999px; text-transform: uppercase;
        }.voucher-page .fin-parcela-status.pago { background: rgba(5, 150, 105, .12); color: var(--ok); }.voucher-page .fin-parcela-status.pend { background: rgba(217, 119, 6, .12); color: var(--warn); }.voucher-page .fin-pay-cta {
            display: block; width: 100%; text-align: center;
            background: linear-gradient(135deg, #059669, #047857);
            color: #fff; font-weight: 700; font-size: 15px;
            padding: 14px 20px; border-radius: 12px; text-decoration: none;
            box-shadow: 0 6px 20px rgba(5, 150, 105, .25);
            transition: transform .2s ease;
        }.voucher-page .fin-pay-cta:hover { transform: translateY(-2px); color: #fff; }/* ── TERMOS ── */.voucher-page .terms-card {
            background: var(--surf); border: 1px solid var(--border);
            border-radius: var(--r); padding: 18px 20px; box-shadow: var(--sh);
            margin-top: 24px;
        }.voucher-page .terms-card summary {
            font-weight: 700; cursor: pointer; list-style: none;
            display: flex; align-items: center; justify-content: space-between;
            color: var(--text);
        }.voucher-page .terms-content { margin-top: 14px; font-size: 13.5px; color: var(--text-mid); border-top: 1px solid var(--border); padding-top: 14px; }/* ── FOOTER ── */.voucher-page .agency-footer {
            margin-top: 40px; padding: 28px 20px;
            background: var(--surf); border-top: 1px solid var(--border-md);
            text-align: center;
        }.voucher-page .footer-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 14px 0; }.voucher-page .footer-btn {
            display: inline-flex; align-items: center; gap: 7px;
            padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: 14px;
            text-decoration: none;
        }.voucher-page .footer-btn.whats { background: #25d366; color: #fff; }.voucher-page .footer-btn.back { background: var(--surf2); color: var(--text); border: 1px solid var(--border-md); }/* ── MODAL ── */.voucher-page .modal-overlay {
            position: fixed; inset: 0; background: rgba(8, 19, 34, .72);
            backdrop-filter: blur(5px);
            display: none; align-items: center; justify-content: center;
            padding: 16px; z-index: 9990;
        }.voucher-page .modal-overlay.open { display: flex; }.voucher-page .modal-box {
            background: #fff; border-radius: 20px; width: 100%; max-width: 660px;
            max-height: 90vh; overflow-y: auto; position: relative;
            box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
            animation: modalIn .22s ease-out;
        }@keyframes modalIn {from { opacity: 0; transform: translateY(14px) scale(.98); }to { opacity: 1; transform: none; } }.voucher-page .modal-close-btn {
            position: absolute; top: 14px; right: 14px; z-index: 10;
            width: 36px; height: 36px; border-radius: 50%; border: none;
            background: rgba(0, 0, 0, .55); color: #fff; font-size: 18px;
            cursor: pointer; display: flex; align-items: center; justify-content: center;
        }.voucher-page .modal-gallery { height: 260px; background: #0f2042; position: relative; }.voucher-page .modal-gallery .swiper { width: 100%; height: 100%; }.voucher-page .modal-gallery img { width: 100%; height: 100%; object-fit: cover; }.voucher-page .modal-body { padding: 22px; }.voucher-page .modal-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 28px; font-weight: 700; color: var(--text); margin-bottom: 10px; }.voucher-page .modal-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }.voucher-page .modal-tag { background: var(--surf2); border: 1px solid var(--border); padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--text-mid); }.voucher-page .modal-sec { margin-bottom: 16px; }.voucher-page .modal-sec-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--brand); margin-bottom: 6px; }.voucher-page .modal-desc { font-size: 14px; color: var(--text-mid); line-height: 1.65; }.voucher-page .modal-rich-content p { margin-bottom: 10px; }.voucher-page .modal-rich-content p.lead { font-size: 15px; font-weight: 500; color: var(--text); }.voucher-page .modal-rich-content ul, .voucher-page .modal-rich-content ol { padding-left: 18px; margin-bottom: 10px; }.voucher-page .modal-rich-content li { margin-bottom: 4px; }.voucher-page .modal-rich-content .tour-features, .voucher-page .modal-rich-content .itinerario-step {
            background: var(--surf2);
            border: 1px solid var(--border);
            border-left: 4px solid var(--brand);
            border-radius: 10px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }.voucher-page .modal-rich-content .itinerario-step h6, .voucher-page .modal-rich-content .tour-features h6 {
            font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 6px;
            display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
        }.voucher-page .modal-rich-content .badge {
            display: inline-block; font-size: 11px; font-weight: 700;
            padding: 2px 8px; border-radius: 999px;
            background: var(--brand); color: #fff;
        }.voucher-page .modal-valor-box {
            background: var(--brand-light); border: 1px solid var(--brand-border);
            border-radius: 12px; padding: 14px 16px;
            display: flex; align-items: center; justify-content: space-between;
        }@media (max-width: 768px) {.voucher-page .summary-grid { grid-template-columns: repeat(2, 1fr); }.voucher-page .verify-dual-grid { grid-template-columns: 1fr; }.voucher-page .verify-badge { justify-self: start; }.voucher-page .act-card { grid-template-columns: 1fr; }.voucher-page .act-thumb { width: 100%; height: 160px; }.voucher-page .act-right { flex-direction: row; justify-content: space-between; width: 100%; align-items: center; }.voucher-page .sb-btn .sb-btn-label { display: none; }.voucher-page .sb-btn { padding: 8px 11px; }
        }@media print {.voucher-page #page-loader, .voucher-page .progress-bar, .voucher-page .status-bar, .voucher-page .hero-scroll-hint, .voucher-page .footer-actions, .voucher-page .act-cta, .voucher-page .lang-switcher { display: none !important; }.voucher-page .hero { min-height: auto; padding: 30px 20px; }body.voucher-page { background: #fff; }
        }

