/*
 * Public Search Styles — Api Agente Viagens
 * Consolidado dos partials: search-combined, search-circuits, search-combined-tp
 * Carregado via wp_enqueue_style em Shortcodes.php
 */
/* COMBINED SEARCH SHORTCODE (anteriormente em search-combined.php)
 * ============================================================ */
    /* ============= COMBINED SEARCH SHORTCODE ============= */
    .atc-wrapper {
        --atc-primary: #1FA3C2 !important;
        --atc-primary-dark: #1989A3 !important;
        --atc-accent: #1FA3C2 !important;
        --atc-dark: #1a2332 !important;
        --atc-text: #2c3e50 !important;
        --atc-muted: #7f8c8d !important;
        --atc-bg: #f4f6f9 !important;
        --atc-card: #ffffff !important;
        --atc-border: #e8ecef !important;
        --atc-success: #27ae60 !important;
        --atc-radius: 14px !important;
        --atc-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
        --atc-shadow-hover: 0 12px 35px rgba(26,35,50,0.15) !important;
        /* Combinados TP result variables — mesma paleta do pacotes */
        --cp: #1FA3C2; --ca: #1FA3C2; --cad: #1989A3; --ct: #2c3e50; --cm: #7f8c8d; --cbg: #f4f6f9; --cbr: #e8ecef; --cs: #27ae60; --cr: 14px; --csh: 0 4px 20px rgba(26,35,50,0.08);
        /* Circuits result variables — mesma paleta do pacotes */
        --circ-primary: #1FA3C2; --circ-primary-dark: #1989A3; --circ-accent: #1FA3C2; --circ-accent-dark: #1989A3; --circ-text: #2c3e50; --circ-muted: #7f8c8d; --circ-bg: #f4f6f9; --circ-card: #ffffff; --circ-border: #e8ecef; --circ-success: #27ae60; --circ-radius: 14px; --circ-shadow: 0 4px 20px rgba(26,35,50,0.08); --circ-shadow-hover: 0 12px 35px rgba(26,35,50,0.15);
        font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
        color: #2c3e50 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    .atc-form,
    .atc-form-floating,
    .api-travel-search-container,
    .api-travel-search-form,
    .atc-fields,
    .atc-field {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Forçar font-family em todos os elementos dentro do wrapper — override do tema */
    /* Forçar font-family em todos os elementos EXCETO dashicons (que precisam da sua própria fonte) */
    .atc-wrapper *, .atc-wrapper *::before, .atc-wrapper *::after {
        font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
    }
    /* Exceções: títulos grandes, preços, icones de loading — manter tamanho maior */
    .atc-wrapper h1, .atc-wrapper h2, .atc-wrapper h3,
    .atc-wrapper .atc-hero-title, .atc-wrapper .atc-state h3,
    .atc-wrapper .circ-state h3, .atc-wrapper .circ-hero-title,
    .atc-wrapper .atc-results-count, .atc-wrapper .circ-results-count,
    .atc-wrapper .atc-price-total, .atc-wrapper .comb-book-page .atc-price-total,
    .atc-wrapper .circ-price-value, .atc-wrapper .atc-success-price,
    .atc-wrapper .cbm-success-price, .atc-wrapper .cbm-success-title,
    .atc-wrapper .cbm-success-icon, .atc-wrapper .atc-illu-icon,
    .atc-wrapper .circ-illu-icon, .atc-wrapper .atc-loading-icon,
    .atc-wrapper .circ-loading-icon, .atc-wrapper .atc-airport-code,
    .atc-wrapper .atc-arrow-icon, .atc-wrapper .atc-hotel-name,
    .atc-wrapper .atc-detail-stars, .atc-wrapper .atc-price-per-person,
    .atc-wrapper .comb-book-page .atc-price-per-person,
    .atc-wrapper .circ-price-currency, .atc-wrapper .atc-btn-search,
    .atc-wrapper .circ-btn-book, .atc-wrapper .circ-btn-retry,
    .atc-wrapper .comb-btn-refresh, .atc-wrapper .r-btn-primary,
    .atc-wrapper .r-btn-secondary, .atc-wrapper .atc-back-btn,
    .atc-wrapper .atc-results-sub, .atc-wrapper .circ-results-sub,
    .atc-wrapper .atc-card-body h4, .atc-wrapper .circ-card-header-body h4,
    .atc-wrapper .atc-section-title, .atc-wrapper .atc-flight-airline,
    .atc-wrapper .atc-value, .atc-wrapper .atc-flight-time,
    .atc-wrapper .atc-flight-direction h5, .atc-wrapper .fo-section h5,
    .atc-wrapper .atc-cache-expiry-text, .atc-wrapper .atc-progress-percent,
    .atc-wrapper .atc-progress-label, .atc-wrapper .atc-results-sub,
    .atc-wrapper .atc-sort select, .atc-wrapper .circ-sort select,
    .atc-wrapper .atc-field .form-control, .atc-wrapper .atc-pax-trigger,
    .atc-wrapper .atc-btn-search, .atc-wrapper .atc-pax-arrow,
    .atc-wrapper .circ-pax-arrow, .atc-wrapper .circ-pax-close,
    .atc-wrapper .atc-field label, .atc-wrapper .atc-field .dashicons,
    .atc-wrapper .circ-meta-item .dashicons, .atc-wrapper .circ-expand-title .dashicons,
    .atc-wrapper .circ-dest-header .dashicons, .atc-wrapper .atc-btn-search .dashicons,
    .atc-wrapper .atc-cache-expiry-content .dashicons,
    .atc-wrapper .atc-total-price, .atc-wrapper .circ-total-price,
    .atc-wrapper .atc-fp-price, .atc-wrapper .comb-fp-price,
    .atc-wrapper .atc-mf-price, .atc-wrapper .atc-hotel-fallback,
    .atc-wrapper .atc-success-ref strong, .atc-wrapper .cbm-success-ref strong,
    .atc-wrapper .r-section h4, .atc-wrapper .r-excursion-price-note {
        font-size: inherit !important;
    }
    /* Títulos e preços grandes — tamanhos específicos */
    .atc-wrapper h1, .atc-wrapper .atc-hero-title, .atc-wrapper .circ-hero-title { font-size: 32px !important; }
    .atc-wrapper h2, .atc-wrapper .atc-state h3, .atc-wrapper .circ-state h3 { font-size: 24px !important; }
    .atc-wrapper h3, .atc-wrapper .atc-section-title { font-size: 18px !important; }
    .atc-wrapper h4, .atc-wrapper .atc-card-body h4, .atc-wrapper .circ-card-header-body h4,
    .atc-wrapper .r-section h4 { font-size: 16px !important; }
    .atc-wrapper h5, .atc-wrapper .atc-flight-direction h5, .atc-wrapper .fo-section h5 { font-size: 14px !important; }
    .atc-wrapper .atc-price-total, .atc-wrapper .comb-book-page .atc-price-total { font-size: 32px !important; }
    .atc-wrapper .circ-price-value { font-size: 28px !important; }
    .atc-wrapper .atc-airport-code, .atc-wrapper .atc-arrow-icon { font-size: 20px !important; }
    .atc-wrapper .atc-hotel-name { font-size: 16px !important; }
    .atc-wrapper .atc-detail-stars { font-size: 16px !important; }
    .atc-wrapper .atc-price-per-person, .atc-wrapper .comb-book-page .atc-price-per-person { font-size: 13px !important; }
    .atc-wrapper .circ-price-currency { font-size: 13px !important; }
    .atc-wrapper .atc-results-count, .atc-wrapper .circ-results-count { font-size: 20px !important; }
    .atc-wrapper .atc-progress-percent { font-size: 16px !important; }
    .atc-wrapper .atc-btn-search, .atc-wrapper .circ-btn-book, .atc-wrapper .circ-btn-retry,
    .atc-wrapper .comb-btn-refresh, .atc-wrapper .r-btn-primary, .atc-wrapper .r-btn-secondary,
    .atc-wrapper .atc-back-btn { font-size: 14px !important; }
    .atc-wrapper .atc-illu-icon, .atc-wrapper .circ-illu-icon { font-size: 46px !important; }
    .atc-wrapper .atc-loading-icon, .atc-wrapper .circ-loading-icon { font-size: 26px !important; }
    .atc-wrapper .cbm-success-icon { font-size: 48px !important; }
    .atc-wrapper .cbm-success-price { font-size: 24px !important; }
    .atc-wrapper .cbm-success-title { font-size: 20px !important; }
    .atc-wrapper .atc-success-ref strong, .atc-wrapper .cbm-success-ref strong { font-size: 16px !important; }
    .atc-wrapper .atc-total-price, .atc-wrapper .circ-total-price { font-size: 16px !important; }
    .atc-wrapper .atc-mf-price { font-size: 14px !important; }
    .atc-wrapper .atc-hotel-fallback { font-size: 16px !important; }
    .atc-wrapper .atc-value { font-size: 13px !important; }
    .atc-wrapper .atc-flight-time { font-size: 13px !important; }
    .atc-wrapper .atc-flight-airline { font-size: 13px !important; }
    .atc-wrapper .atc-cache-expiry-text { font-size: 13px !important; }
    .atc-wrapper .atc-progress-label { font-size: 13px !important; }
    .atc-wrapper .atc-results-sub, .atc-wrapper .circ-results-sub { font-size: 13px !important; }
    .atc-wrapper .atc-sort select, .atc-wrapper .circ-sort select { font-size: 13px !important; }
    .atc-wrapper .atc-field .form-control, .atc-wrapper .atc-pax-trigger { font-size: 14px !important; }
    .atc-wrapper .atc-field label { font-size: 11px !important; }
    .atc-wrapper .atc-fp-price, .atc-wrapper .comb-fp-price { font-size: 10px !important; }
    .atc-wrapper .r-excursion-price-note { font-size: 11px !important; }
    /* Dashicons mantêm o seu tamanho próprio */
    .atc-wrapper .dashicons, .atc-wrapper .dashicons::before { font-size: inherit !important; }
    /* ===== FORM ===== */
    .atc-form-floating {
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 40px rgba(26,35,50,0.12) !important;
        padding: 22px !important;
        margin: 20px auto 30px !important;
        max-width: 100% !important;
        position: relative !important;
        z-index: 5 !important;
        overflow: visible !important;
    }
    .atc-fields {
        display: grid !important;
        grid-template-columns: 1.4fr 1fr 1fr 0.7fr 1fr 0.9fr !important;
        gap: 12px !important;
        align-items: start !important;
    }
    .atc-field {
        position: relative !important;
        min-width: 0 !important;
    }
    .atc-field-date {
        cursor: pointer !important;
    }
    .atc-field-submit {
        align-self: end !important;
    }
    .atc-field label {
        display: flex !important;
        align-items: center !important;
        min-height: 14px !important;
        gap: 6px !important;

        font-weight: 700 !important;
        line-height: 14px !important;
        color: #1989A3 !important;
        margin-bottom: 7px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    .atc-field label .dashicons {
        flex: 0 0 14px !important;

        width: 14px !important;
        height: 14px !important;
        line-height: 14px !important;
        color: #1FA3C2 !important;
    }
    .atc-field .form-control,
    .atc-field-locked,
    .atc-pax-trigger {
        width: 100% !important;
        height: 48px !important;
        background: #f4f6f9 !important;
        border: 2px solid transparent !important;
        border-radius: 10px !important;
        padding: 0 14px !important;

        font-weight: 600 !important;
        line-height: 44px !important;
        color: #2c3e50 !important;
        cursor: pointer !important;
        transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
        display: flex !important;
        align-items: center !important;
        outline: none !important;
        box-sizing: border-box !important;
    }
    .atc-pax-trigger {
        justify-content: space-between !important;
        gap: 10px !important;
    }
    .atc-pax-trigger > :first-child {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .atc-pax-arrow {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        color: #7f8c8d !important;

    }
    .atc-field .form-control:hover:not(:disabled),
    .atc-pax-trigger:hover {
        border-color: #1FA3C2 !important;
        background: #fff !important;
    }
    /* Selects devem ter a mesma aparência que o pax-trigger */
    .atc-field select.form-control {
        display: block !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f8c8d' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
        background-repeat: no-repeat !important;
        background-position: right 12px center !important;
        background-size: 14px !important;
        padding-right: 36px !important;
        line-height: 44px !important;
    }
    .atc-field input.form-control {
        appearance: none !important;
        -webkit-appearance: none !important;
    }
    .atc-field .form-control:focus {
        border-color: #1FA3C2 !important;
        background: #fff !important;
        box-shadow: 0 0 0 3px rgba(31,163,194,0.12) !important;
    }
    .atc-field .form-control::placeholder {
        color: #9aa8b5 !important;
        opacity: 1 !important;
    }
    .atc-field .form-control:disabled {
        color: #b0b8c0 !important;
        cursor: not-allowed !important;
        background: #eef0f3 !important;
    }
    .atc-field-locked {
        background: linear-gradient(90deg, rgba(31,163,194,0.08), rgba(31,163,194,0.05)) !important;
        color: #2c3e50 !important;
        font-weight: 700 !important;
        border: 2px solid rgba(31,163,194,0.2) !important;
        cursor: default !important;
    }
    .atc-btn-search {
        width: 100% !important;
        height: 48px !important;
        background: linear-gradient(135deg, #1FA3C2, #1989A3) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-weight: 700 !important;

        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        transition: transform 0.2s, box-shadow 0.25s !important;
        box-shadow: 0 4px 15px rgba(31,163,194,0.4) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    .atc-btn-search:hover:not(:disabled) {
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 25px rgba(31,163,194,0.5) !important;
    }
    .atc-btn-search:active { transform: translateY(0); }
    .atc-btn-search:disabled { opacity: 0.6; cursor: wait; }
    .atc-btn-search .dashicons {

        width: 18px !important;
        height: 18px !important;
    }

    /* ===== CACHE EXPIRY MESSAGE ===== */
    .atc-cache-expiry-message {
        background: #fff3cd !important;
        border: 1px solid #ffc107 !important;
        border-radius: 8px !important;
        padding: 15px 20px !important;
        margin: 20px auto 30px !important;
        max-width: 100% !important;
        box-shadow: 0 2px 8px rgba(255, 193, 7, 0.2) !important;
    }
    .atc-cache-expiry-content {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
    .atc-cache-expiry-content .dashicons {

        width: 20px !important;
        height: 20px !important;
        color: #856404 !important;
    }
    .atc-cache-expiry-text {
        color: #856404 !important;

        font-weight: 500 !important;
    }

    /* ===== RESULTS SECTION ===== */
    .atc-results-section { margin: 0 0 60px; width: 100% !important; }

    .atc-state {
        background: #fff !important;
        border-radius: 14px !important;
        padding: 60px 30px !important;
        text-align: center !important;
        box-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
        width: 100% !important;
    }
    .atc-state h3 {
        margin: 22px 0 10px !important;

        color: #2c3e50 !important;
        font-weight: 700 !important;
    }
    .atc-state p {
        color: #7f8c8d !important;

        max-width: 480px !important;
        margin: 0 auto !important;
        line-height: 1.5 !important;
    }
    .atc-state-results {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    .atc-results-list {
        width: 100% !important;
    }
    .atc-results-list .atc-search-progress-bar {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        min-height: 88px !important;
        margin: 0 0 16px !important;
        padding: 18px 22px !important;
        overflow: visible !important;
        background: linear-gradient(135deg, #f7fcfd 0%, #eef8fb 100%) !important;
        border: 1px solid #b8e3ed !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 16px rgba(31,163,194,0.10) !important;
    }
    .atc-results-list .atc-progress-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-bottom: 10px !important;
    }
    .atc-results-list .atc-progress-label {
        color: #2c3e50 !important;
        font-weight: 600 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        padding-right: 12px !important;
    }
    .atc-results-list .atc-progress-percent {
        color: #1989A3 !important;
        font-weight: 800 !important;
        font-size: 18px !important;
        white-space: nowrap !important;
    }
    .atc-results-list .atc-progress-track {
        display: block !important;
        width: 100% !important;
        height: 8px !important;
        overflow: hidden !important;
        background: #d9f0f5 !important;
        border-radius: 999px !important;
    }
    .atc-results-list .atc-progress-fill {
        display: block !important;
        min-width: 8px !important;
        height: 100% !important;
        background: linear-gradient(90deg, #1FA3C2, #1989A3) !important;
        border-radius: inherit !important;
        transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .atc-results-list .atc-progress-fill::after {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent) !important;
        animation: atc-progress-shimmer 2s ease-in-out infinite !important;
    }
    .atc-results-list .atc-progress-detail {
        display: block !important;
        margin-top: 8px !important;
        color: #7a96a3 !important;
        font-weight: 500 !important;
        font-size: 13px !important;
    }
    @keyframes atc-progress-shimmer {
        0% { transform: translateX(-100%); }
        100% { transform: translateX(100%); }
    }

    /* Illustrations */
    .atc-state-illustration {
        position: relative !important;
        width: 130px !important;
        height: 130px !important;
        margin: 0 auto !important;
    }
    .atc-illu-circle {
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(135deg, rgba(31,163,194,0.15), rgba(31,163,194,0.15)) !important;
        border-radius: 50% !important;
        animation: atc-pulse 2.5s ease-in-out infinite !important;
    }
    .atc-illu-circle.warning {
        background: linear-gradient(135deg, rgba(255,193,7,0.2), rgba(31,163,194,0.15)) !important;
    }
    .atc-illu-plane {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

    }
    @keyframes atc-pulse {
        0%, 100% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.08); opacity: 0.85; }
    }

    /* Loading orbit */
    .atc-loading-orbit {
        position: relative !important;
        width: 100px !important;
        height: 100px !important;
        margin: 0 auto 10px !important;
        border: 3px dashed #1FA3C2 !important;
        border-radius: 50% !important;
        animation: atc-rotate 4s linear infinite !important;
    }
    .atc-loading-plane {
        position: absolute !important;
        top: -12px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;

    }
    @keyframes atc-rotate {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    /* Results bar */
    .atc-results-bar {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0 5px !important;
        margin-bottom: 22px !important;
        flex-wrap: wrap !important;
        gap: 15px !important;
    }
    .atc-results-info { display: flex; flex-direction: column; gap: 3px; }
    .atc-results-count {

        font-weight: 800 !important;
        color: #2c3e50 !important;
    }
    .atc-results-count::before {
        content: '✦' !important;
        color: #1FA3C2 !important;
        margin-right: 8px !important;
    }
    .atc-results-sub {
        font-size: 13px !important;
        color: #7f8c8d !important;
    }
    .atc-sort {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .atc-sort label {

        font-weight: 600 !important;
        color: #7f8c8d !important;
        text-transform: uppercase !important;
    }
    .atc-sort select {
        background: #fff !important;
        border: 1px solid #e8ecef !important;
        border-radius: 8px !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #2c3e50 !important;
        cursor: pointer !important;
        outline: none !important;
    }

    /* Result cards */
    .atc-card {
        display: grid !important;
        grid-template-columns: 280px 1fr 220px !important;
        background: #fff !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
        position: relative !important;
    }
    .atc-card:hover {
        transform: translateY(-4px) !important;
        box-shadow: 0 12px 35px rgba(26,35,50,0.15) !important;
    }

    .atc-card-thumb {
        position: relative !important;
        background: #ecf0f1 !important;
        overflow: hidden !important;
        min-height: 220px !important;
    }
    .atc-card-thumb img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        transition: transform 0.5s ease !important;
    }
    .atc-card:hover .atc-card-thumb img { transform: scale(1.05); }
    .atc-operator-badge {
        position: absolute !important;
        top: 14px !important;
        left: 14px !important;
        background: rgba(26,35,50,0.85) !important;
        backdrop-filter: blur(8px) !important;
        color: #fff !important;
        padding: 6px 12px !important;
        border-radius: 20px !important;

        text-transform: uppercase !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
    }
    .atc-card-deal-tag {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        background: #1FA3C2 !important;
        color: #fff !important;
        padding: 5px 11px !important;
        border-radius: 6px !important;

        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        box-shadow: 0 4px 12px rgba(31,163,194,0.4) !important;
    }

    .atc-card-body {
        padding: 22px 26px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-width: 0 !important;
    }
    .atc-card-body h4 {
        margin: 0 0 8px !important;

        font-weight: 700 !important;
        color: #2c3e50 !important;
        line-height: 1.3 !important;
    }
    .atc-stars {
        display: inline-flex !important;
        gap: 1px !important;
        color: #ffb400 !important;
        font-size: 13px !important;
        margin-left: 6px !important;
        vertical-align: middle !important;
    }
    .atc-card-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px 16px !important;
        color: #7f8c8d !important;
        font-size: 13px !important;
        margin-top: 10px !important;
    }
    .atc-meta-item {
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
    }
    .atc-meta-item .dashicons {

        width: 16px !important;
        height: 16px !important;
        color: #1FA3C2 !important;
    }
    /* Rooms list inside hotel card */
    .atc-rooms-list { margin-top: 12px; display: flex; flex-direction: column; gap: 0; }
    .atc-room-row {
        display: grid !important;
        grid-template-columns: 1fr auto auto !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 12px !important;
        border-radius: 8px !important;
        transition: background 0.15s !important;
    }
    .atc-room-row:nth-child(odd) { background: rgba(31,163,194,0.04); }
    .atc-room-row:hover { background: rgba(31,163,194,0.08); }
    .atc-room-hidden { display: none !important; }
    .atc-room-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .atc-room-name { font-weight: 600; color: #2c3e50; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .atc-room-board { color: #7f8c8d; }
    .atc-room-price { font-weight: 700; color: #1FA3C2; white-space: nowrap; }
    .atc-btn-room {
        background: #1FA3C2 !important;
        color: #fff !important;
        padding: 6px 14px !important;
        border-radius: 20px !important;
        text-decoration: none !important;

        font-weight: 700 !important;
        white-space: nowrap !important;
        transition: background 0.2s !important;
    }
    .atc-btn-room:hover { background: #1989A3; }
    .atc-rooms-toggle {
        margin-top: 8px !important;
        background: none !important;
        border: 1px dashed #e8ecef !important;
        border-radius: 8px !important;
        padding: 7px 14px !important;
        color: #1FA3C2 !important;

        font-weight: 600 !important;
        cursor: pointer !important;
        width: 100% !important;
        text-align: center !important;
        transition: background 0.15s !important;
    }
    .atc-rooms-toggle:hover { background: rgba(31,163,194,0.06); }

    .atc-card-flight {
        margin-top: 12px !important;
        padding: 10px 14px !important;
        background: linear-gradient(90deg, rgba(31,163,194,0.06), transparent) !important;
        border-left: 3px solid #1FA3C2 !important;
        border-radius: 6px !important;

        color: #2c3e50 !important;
        font-weight: 500 !important;
    }
    .atc-card-flight .dashicons {

        width: 14px !important;
        height: 14px !important;
        margin-right: 4px !important;
        color: #1FA3C2 !important;
    }

    .atc-card-action {
        padding: 22px !important;
        background: linear-gradient(135deg, #fafbfc 0%, #f4f6f9 100%) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        border-left: 1px solid #e8ecef !important;
        gap: 8px !important;
    }
    .atc-price-from {

        color: #7f8c8d !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        font-weight: 600 !important;
    }
    .atc-price-tag {
        display: flex !important;
        align-items: baseline !important;
        gap: 3px !important;
        line-height: 1 !important;
    }
    .atc-price-value {

        font-weight: 800 !important;
        color: #2c3e50 !important;
        background: linear-gradient(135deg, #1FA3C2, #1989A3) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        background-clip: text !important;
    }
    .atc-price-currency {

        font-weight: 700 !important;
        color: #1FA3C2 !important;
    }
    .atc-price-info {

        color: #7f8c8d !important;
        margin: 2px 0 8px !important;
    }
    .atc-btn-book {
        background: linear-gradient(135deg, #1FA3C2, #1989A3) !important;
        color: #fff !important;
        padding: 11px 24px !important;
        border-radius: 50px !important;
        text-decoration: none !important;
        font-weight: 700 !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: transform 0.2s, box-shadow 0.25s !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        border: none !important;
        cursor: pointer !important;
        box-shadow: 0 4px 14px rgba(31,163,194,0.35) !important;
    }
    .atc-btn-book:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 22px rgba(31,163,194,0.5) !important;
    }

    .atc-btn-retry {
        margin-top: 20px !important;
        background: #2c3e50 !important;
        color: #fff !important;
        border: none !important;
        padding: 12px 24px !important;
        border-radius: 50px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }
    .atc-btn-retry:hover { background: #000; }

    .atc-pax-dropdown.open .atc-pax-arrow { transform: rotate(180deg); }

    .atc-pax-dropdown {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        margin-top: 8px !important;
        width: 360px !important;
        background: #fff !important;
        border: 1px solid #ccebf2 !important;
        border-radius: 14px !important;
        box-shadow: 0 14px 32px rgba(26,35,50,0.16) !important;
        padding: 20px !important;
        z-index: 9999 !important;
    }

    .atc-wrapper .dashicons,
    .atc-wrapper .dashicons::before {
        display: inline-block !important;
        font-family: dashicons !important;
        font-style: normal !important;
        font-weight: normal !important;
        line-height: 1 !important;
        text-decoration: inherit !important;
        vertical-align: middle !important;
    }
    .atc-wrapper .dashicons-location::before { content: "\f230" !important; }
    .atc-wrapper .dashicons-airplane::before { content: "\f15f" !important; }
    .atc-wrapper .dashicons-calendar-alt::before { content: "\f508" !important; }
    .atc-wrapper .dashicons-clock::before { content: "\f469" !important; }
    .atc-wrapper .dashicons-groups::before { content: "\f307" !important; }
    .atc-wrapper .dashicons-search::before { content: "\f179" !important; }
    .atc-wrapper .dashicons-plus::before { content: "\f132" !important; }
    .atc-pax-dropdown .pax-close-mobile {
        display: block !important;
        width: 34px !important;
        height: 34px !important;
        margin: 0 0 10px auto !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #e9f8fb !important;
        color: #1989A3 !important;

        font-weight: 700 !important;
        line-height: 34px !important;
        cursor: pointer !important;
    }
    .atc-pax-dropdown .room-block {
        padding: 14px !important;
        border: 1px solid #ccebf2 !important;
        border-radius: 10px !important;
        background: #f7fcfd !important;
    }
    .atc-pax-dropdown .room-header,
    .atc-pax-dropdown .pax-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        color: #2c3e50 !important;
    }
    .atc-pax-dropdown .room-header {
        margin-bottom: 12px !important;
        color: #1989A3 !important;

        font-weight: 700 !important;
    }
    .atc-pax-dropdown .pax-row {

        font-weight: 600 !important;
    }
    .atc-pax-dropdown .qty-control {
        display: inline-flex !important;
        align-items: center !important;
        overflow: hidden !important;
        border: 1px solid #b8e3ed !important;
        border-radius: 8px !important;
        background: #fff !important;
    }
    .atc-pax-dropdown .qty-btn {
        width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        border: 0 !important;
        background: #e9f8fb !important;
        color: #1989A3 !important;

        font-weight: 700 !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }
    .atc-pax-dropdown .qty-btn:hover {
        background: #1FA3C2 !important;
        color: #fff !important;
    }
    .atc-pax-dropdown .qty-val {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 38px !important;
        background: #fff !important;
        color: #1989A3 !important;
        font-weight: 800 !important;
    }
    .atc-pax-dropdown .child-ages-container {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 12px !important;
    }
    .atc-pax-dropdown .child-age-select {
        width: 100% !important;
        height: 38px !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        border: 1px solid #b8e3ed !important;
        border-radius: 8px !important;
        background-color: #fff !important;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231989A3' stroke-width='2.5'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
        background-repeat: no-repeat !important;
        background-position: right 10px center !important;
        background-size: 16px !important;
        color: #2c3e50 !important;
        font-weight: 600 !important;
    }
    .atc-pax-dropdown .pax-footer-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin-top: 16px !important;
        padding-top: 14px !important;
        border-top: 1px solid #ccebf2 !important;
    }
    .atc-pax-dropdown .button-pax-add,
    .atc-pax-dropdown .button-pax-confirm {
        min-height: 40px !important;
        padding: 0 14px !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }
    .atc-pax-dropdown .button-pax-add {
        border: 1px solid #1FA3C2 !important;
        background: #e9f8fb !important;
        color: #1989A3 !important;
    }
    .atc-pax-dropdown .button-pax-confirm {
        border: 1px solid #1FA3C2 !important;
        background: #1FA3C2 !important;
        color: #fff !important;
    }

    /* Responsive */
    @media (max-width: 1100px) {
        .atc-fields { grid-template-columns: repeat(3, 1fr) !important; }
        .atc-field-submit { grid-column: span 3 !important; }
        .atc-card { grid-template-columns: 220px 1fr 180px !important; }
    }
    @media (max-width: 900px) {
        .atc-card { grid-template-columns: 1fr !important; }
        .atc-card-thumb { min-height: 200px !important; }
        .atc-card-action {
            border-left: none !important;
            border-top: 1px solid #e8ecef !important;
            flex-direction: row !important;
            justify-content: space-between !important;
            flex-wrap: wrap !important;
        }
        .atc-price-from, .atc-price-info { display: none !important; }
    }
    @media (max-width: 700px) {
        .atc-wrapper {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: 0 !important;
            padding: 0 12px !important;
        }
        .atc-hero { padding: 50px 20px 100px !important; }
        .atc-form-floating { margin-top: -40px !important; padding: 16px !important; }
        .atc-fields { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
        .atc-field-submit { grid-column: span 2 !important; }
        .atc-results-bar { flex-direction: column !important; align-items: stretch !important; }
        .atc-state { padding: 40px 20px !important; }
        .atc-pax-dropdown { width: calc(100vw - 32px) !important; max-width: 360px !important; right: 0 !important; left: auto !important; }
    }
    @media (max-width: 480px) {
        .atc-fields { grid-template-columns: 1fr !important; }
        .atc-field-submit { grid-column: span 1 !important; }
        .atc-pax-dropdown {
            width: calc(100vw - 24px) !important;
            max-width: none !important;
            left: 50% !important;
            right: auto !important;
            transform: translateX(-50%) !important;
        }
        .atc-pax-dropdown .child-ages-container { grid-template-columns: 1fr !important; }
        .atc-pax-dropdown .pax-footer-actions { align-items: stretch !important; flex-direction: column !important; }
        .atc-pax-dropdown .button-pax-add,
        .atc-pax-dropdown .button-pax-confirm { width: 100% !important; }
    }

/* ============================================================
 * CIRCUITS SEARCH SHORTCODE (anteriormente em search-circuits.php)
 * ============================================================ */
.circ-wrapper {
    --circ-primary: #1FA3C2 !important;
    --circ-primary-dark: #1989A3 !important;
    --circ-accent: #1FA3C2 !important;
    --circ-accent-dark: #1989A3 !important;
    --circ-text: #2c3e50 !important;
    --circ-muted: #7f8c8d !important;
    --circ-bg: #f4f6f9 !important;
    --circ-border: #e8ecef !important;
    --circ-success: #27ae60 !important;
    --circ-radius: 14px !important;
    --circ-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
    --circ-shadow-hover: 0 12px 35px rgba(26,35,50,0.15) !important;
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #2c3e50 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}
.circ-wrapper *, .circ-wrapper *::before, .circ-wrapper *::after {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}
.circ-wrapper h1, .circ-wrapper h2, .circ-wrapper h3,
.circ-wrapper .circ-hero-title, .circ-wrapper .circ-state h3,
.circ-wrapper .circ-results-count, .circ-wrapper .circ-price-value,
.circ-wrapper .circ-price-currency, .circ-wrapper .circ-illu-icon,
.circ-wrapper .circ-loading-icon, .circ-wrapper .circ-btn-book,
.circ-wrapper .circ-btn-retry, .circ-wrapper .circ-total-price,
.circ-wrapper .circ-card-header-body h4, .circ-wrapper .circ-pax-close,
.circ-wrapper .circ-sort select, .circ-wrapper .circ-btn-add-room,
.circ-wrapper .circ-btn-confirm-pax, .circ-wrapper .circ-pax-arrow,
.circ-wrapper .circ-expand-title .dashicons, .circ-wrapper .circ-dest-header .dashicons,
.circ-wrapper .circ-meta-item .dashicons, .circ-wrapper .circ-room-price-tag,
.circ-wrapper .circ-flight-btn, .circ-wrapper .circ-flight-suppl,
.circ-wrapper .circ-price-from, .circ-wrapper .circ-price-total,
.circ-wrapper .circ-btn-options, .circ-wrapper .circ-expand-title,
.circ-wrapper .circ-dest-header, .circ-wrapper .circ-hotel-name,
.circ-wrapper .circ-hotel-meta, .circ-wrapper .circ-room-name-txt,
.circ-wrapper .circ-room-board-txt, .circ-wrapper .circ-room-status,
.circ-wrapper .circ-flight-label, .circ-wrapper .circ-stage-day-num,
.circ-wrapper .circ-stage-title, .circ-wrapper .circ-stage-meal,
.circ-wrapper .circ-stage-desc, .circ-wrapper .circ-stage-icon,
.circ-wrapper .circ-card-meta, .circ-wrapper .circ-card-desc,
.circ-wrapper .circ-card-subtitle, .circ-wrapper .circ-tag,
.circ-wrapper .circ-services-col-title, .circ-wrapper .circ-service-item,
.circ-wrapper .circ-itin-tab, .circ-wrapper .circ-results-sub,
.circ-wrapper .circ-type-badge, .circ-wrapper .dashicons {
    font-size: inherit !important;
}
.circ-wrapper h1, .circ-wrapper .circ-hero-title { font-size: 32px !important; }
.circ-wrapper h2, .circ-wrapper .circ-state h3 { font-size: 24px !important; }
.circ-wrapper h3 { font-size: 18px !important; }
.circ-wrapper h4, .circ-wrapper .circ-card-header-body h4 { font-size: 16px !important; }
.circ-wrapper .circ-price-value { font-size: 28px !important; }
.circ-wrapper .circ-results-count { font-size: 20px !important; }
.circ-wrapper .circ-illu-icon { font-size: 46px !important; }
.circ-wrapper .circ-loading-icon { font-size: 26px !important; }
.circ-wrapper .circ-pax-close { font-size: 20px !important; }
.circ-wrapper .circ-btn-book, .circ-wrapper .circ-btn-retry { font-size: 14px !important; }
.circ-wrapper .circ-total-price { font-size: 16px !important; }
.circ-wrapper .circ-sort select { font-size: 13px !important; }
.circ-wrapper .circ-price-currency { font-size: 13px !important; }
.circ-wrapper .circ-results-sub { font-size: 13px !important; }
.circ-wrapper .circ-room-price-tag { font-size: 13px !important; }
.circ-wrapper .dashicons, .circ-wrapper .dashicons::before { font-size: inherit !important; }
.circ-form-card {
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 40px rgba(26,35,50,0.12) !important;
    padding: 22px !important;
    margin: 20px auto 30px !important;
    position: relative !important;
    z-index: 5 !important;
    overflow: visible !important;
}
.circ-field label {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;

    font-weight: 700 !important;
    color: #7f8c8d !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.circ-pax-arrow { color: #7f8c8d; }
.circ-pax-dropdown {
    position: absolute !important;
    top: 100%; left: 0 !important;
    margin-top: 6px !important;
    width: 340px !important;
    background: #fff !important;
    border: 1px solid #e8ecef !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    padding: 20px !important;
    z-index: 9999 !important;
}
.circ-pax-close { position: absolute; top: 10px; right: 14px; background: none; border: none; cursor: pointer; color: #7f8c8d; }
.circ-pax-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e8ecef; }
.circ-btn-add-room { background: none; border: 1px dashed #1FA3C2; color: #1FA3C2; padding: 7px 12px; border-radius: 8px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 4px; }
.circ-btn-confirm-pax { background: #1FA3C2; color: #fff; border: none; padding: 8px 18px; border-radius: 8px; font-weight: 700; cursor: pointer; }
.circ-results-section { margin: 0 0 60px; }
.circ-state { background: #fff; border-radius: 14px; padding: 60px 30px; text-align: center; box-shadow: 0 4px 20px rgba(26,35,50,0.08); }
.circ-state h3 { margin: 22px 0 10px; font-weight: 700; color: #2c3e50; }
.circ-state p { color: #7f8c8d; max-width: 480px; margin: 0 auto; line-height: 1.5; }
.circ-state-results { background: transparent; box-shadow: none; padding: 0; text-align: left; }
.circ-illu { position: relative; width: 120px; height: 120px; margin: 0 auto; }
.circ-illu-circle { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(31,163,194,0.15), rgba(31,163,194,0.12)); border-radius: 50%; animation: circ-pulse 2.5s ease-in-out infinite; }
.circ-illu-warn { background: linear-gradient(135deg, rgba(255,193,7,0.2), rgba(31,163,194,0.15)); }
.circ-illu-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
@keyframes circ-pulse { 0%,100% { transform: scale(1); opacity:1; } 50% { transform: scale(1.08); opacity:0.85; } }
.circ-loading-orbit { position: relative; width: 90px; height: 90px; margin: 0 auto 16px; border: 3px dashed #1FA3C2; border-radius: 50%; animation: circ-rotate 3.5s linear infinite; }
.circ-loading-icon { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); }
@keyframes circ-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.circ-btn-retry { margin-top: 20px; background: #2c3e50; color: #fff; border: none; padding: 12px 24px; border-radius: 50px; font-weight: 600; cursor: pointer; }
.circ-results-bar { display: flex; justify-content: space-between; align-items: center; padding: 0 4px; margin-bottom: 22px; flex-wrap: wrap; gap: 12px; }
.circ-results-info { display: flex; flex-direction: column; gap: 3px; }
.circ-results-count { font-weight: 800; color: #2c3e50; }
.circ-results-count::before { content: '\2726'; color: #1FA3C2; margin-right: 8px; }
.circ-results-sub { color: #7f8c8d; }
.circ-sort { display: flex; align-items: center; gap: 8px; }
.circ-sort label { font-weight: 600; color: #7f8c8d; text-transform: uppercase; }
.circ-sort select { background:#fff; border:1px solid #e8ecef; border-radius:8px; padding:8px 12px; font-weight:600; cursor:pointer; }
.circ-results-list { display: grid; gap: 20px; }
.circ-card { background: #fff; border-radius: 14px; box-shadow: 0 4px 20px rgba(26,35,50,0.08); overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; }
.circ-card:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(26,35,50,0.15); }
.circ-card-header { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-bottom: 1px solid #e8ecef; background: #f4f6f9; }
.circ-card-header-img { width: 80px; height: 60px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.circ-card-header-body { flex: 1; min-width: 0; }
.circ-card-header-body h4 { margin: 4px 0 6px; font-weight: 700; line-height: 1.3; color: #2c3e50; }
.circ-type-badge { display: inline-block; padding: 3px 9px; border-radius: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
.circ-type-badge.circuito { background: rgba(31,163,194,0.15); color: #1989A3; }
.circ-type-badge.combinado { background: rgba(31,163,194,0.15); color: #1FA3C2; }
.circ-card-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: #7f8c8d; margin-bottom: 0; }
.circ-meta-item { display: flex; align-items: center; gap: 4px; }
.circ-meta-item .dashicons { width: 13px; height: 13px; color: #1FA3C2; }
.circ-card-desc { color: #7f8c8d; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.circ-card-subtitle { color: #1FA3C2; font-weight: 600; margin-bottom: 4px; }
.circ-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.circ-tag { display: inline-flex; align-items: center; gap: 3px; padding: 3px 8px; border-radius: 20px; font-weight: 600; background: rgba(31,163,194,0.1); color: #1FA3C2; border: 1px solid rgba(31,163,194,0.2); }
.circ-tag.category { background: rgba(31,163,194,0.1); color: #1FA3C2; border-color: rgba(31,163,194,0.2); }
.circ-services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.circ-services-col { background: #f4f6f9; border-radius: 10px; padding: 14px 16px; }
.circ-services-col-title { font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.circ-services-col-title.included { color: #27ae60; }
.circ-services-col-title.excluded { color: #e74c3c; }
.circ-service-item { display: flex; align-items: flex-start; gap: 7px; color: #2c3e50; padding: 4px 0; border-bottom: 1px solid #e8ecef; }
.circ-service-item:last-child { border-bottom: none; }
.circ-service-item::before { content: '✓'; color: #27ae60; font-weight: 700; flex-shrink: 0; }
.circ-service-item.excluded::before { content: '✗'; color: #e74c3c; }
.circ-itin-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.circ-itin-tab { padding: 6px 14px; border-radius: 20px; border: 2px solid #e8ecef; background: #fff; font-weight: 600; cursor: pointer; color: #7f8c8d; transition: border-color 0.2s, color 0.2s, background 0.2s; }
.circ-itin-tab.active { border-color: #1FA3C2; background: rgba(31,163,194,0.08); color: #1FA3C2; }
.circ-itin-panel { display: none !important; }
.circ-itin-panel.active { display: block !important; }
.circ-stage { display: grid; grid-template-columns: 52px 1fr; gap: 0; margin-bottom: 0; }
.circ-stage:not(:last-child) > .circ-stage-day { border-bottom: none; }
.circ-stage-day { text-align: center; padding: 14px 4px 14px; }
.circ-stage-day-num { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #1FA3C2, #1989A3); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; margin: 0 auto 4px; }
.circ-stage-day-line { width: 2px; background: #e8ecef; flex: 1; margin: 0 auto; min-height: 20px; }
.circ-stage-body { padding: 12px 14px 12px 10px; border-left: none; display: flex; gap: 10px; align-items: flex-start; }
.circ-stage-body-text { flex: 1; min-width: 0; }
.circ-stage-title { font-weight: 700; color: #2c3e50; margin-bottom: 3px; }
.circ-stage-meal { color: #7f8c8d; margin-bottom: 6px; }
.circ-stage-desc { color: #7f8c8d; line-height: 1.4; }
.circ-stage-icons { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px; }
.circ-stage-icon { display: flex; align-items: center; gap: 3px; color: #7f8c8d; background: #f4f6f9; border-radius: 6px; padding: 2px 7px; }
.circ-stage-img { width: 96px !important; height: 64px !important; object-fit: cover !important; border-radius: 6px !important; flex-shrink: 0 !important; display: block !important; }
@media (max-width: 600px) { .circ-services-grid { grid-template-columns: 1fr; } }
.circ-card-action { padding: 20px; background: linear-gradient(135deg, #fafbfc, #f4f6f9); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-left: 1px solid #e8ecef; gap: 6px; }
.circ-price-from { color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
.circ-price-tag { display: flex; align-items: baseline; gap: 2px; line-height: 1; }
.circ-price-value { font-weight: 800; background: linear-gradient(135deg, #1FA3C2, #1989A3); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.circ-price-currency { font-weight: 700; color: #1FA3C2; }
.circ-price-total { color: #7f8c8d; margin: 2px 0 8px; }
.circ-price-total strong { color: #2c3e50; }
.circ-btn-options { background: linear-gradient(135deg, #1FA3C2, #1989A3); color: #fff; border: none; padding: 10px 18px; border-radius: 50px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px; text-transform: uppercase; letter-spacing: 0.4px; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 14px rgba(31,163,194,0.35); white-space: nowrap; }
.circ-btn-options:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(31,163,194,0.5); }
.circ-card-expand { padding: 24px !important; display: block !important; animation: circ-fade-in 0.3s ease !important; }
@keyframes circ-fade-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.circ-expand-section { margin-bottom: 20px; }
.circ-expand-section:last-child { margin-bottom: 0; }
.circ-expand-title { font-weight: 700; text-transform: uppercase; letter-spacing: 0.7px; color: #7f8c8d; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.circ-expand-title::after { content: ''; flex: 1; height: 1px; background: #e8ecef; }
.circ-expand-title .dashicons { width: 15px; height: 15px; }
.circ-product-description { font-size: 13px; line-height: 1.6; color: #2c3e50; background: #f4f6f9; border-radius: 8px; padding: 14px 16px; }
.circ-dest-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.circ-dest-block { background: #f4f6f9; border-radius: 10px; padding: 14px 16px; }
.circ-dest-header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-weight: 700; color: #1FA3C2; }
.circ-dest-header .dashicons { width: 16px; height: 16px; }
.circ-dest-tabs { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 14px; border-bottom: 2px solid #e8ecef; }
.circ-dest-tab { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border: none; background: transparent; color: #7f8c8d; font-weight: 600; font-size: 13px; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.15s; }
.circ-dest-tab:hover { color: #1FA3C2; background: rgba(31,163,194,0.04); }
.circ-dest-tab.active { color: #1FA3C2; border-bottom-color: #1FA3C2; }
.circ-dest-tab.needs-selection { color: #e67e22; }
.circ-dest-tab.needs-selection::after { content: ' *'; color: #e74c3c; font-weight: 700; }
.circ-dest-tab.has-selection::after { content: ' \2713'; color: #27ae60; font-weight: 700; font-size: 12px; }
.circ-dest-tab .dashicons { width: 15px; height: 15px; }
.circ-dest-panel { display: none; }
.circ-dest-panel.active { display: block; }
.circ-hotel-block { margin-bottom: 16px; background: #fff; border-radius: 10px; padding: 14px; border: 1px solid #e8ecef; display: flex; gap: 16px; align-items: flex-start; transition: border-color 0.18s, box-shadow 0.18s; }
.circ-hotel-block:last-child { margin-bottom: 0; }
.circ-hotel-photo { flex-shrink: 0; }
.circ-hotel-info { flex: 1; min-width: 0; }
.circ-hotel-selectable { border: 2px solid transparent !important; transition: border-color 0.18s, box-shadow 0.18s !important; cursor: pointer !important; }
.circ-hotel-selectable:hover { border-color: #1FA3C2 !important; box-shadow: 0 0 0 3px rgba(31,163,194,0.12) !important; }
.circ-hotel-selected { border-color: #1FA3C2 !important; box-shadow: 0 0 0 4px rgba(31,163,194,0.18) !important; background: #f0fafd !important; }
.circ-hotel-radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.circ-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 99999; display: none; align-items: center; justify-content: center; }
.circ-modal-box { background: #fff; border-radius: 14px; padding: 30px 28px; max-width: 420px; width: 90%; text-align: center; box-shadow: 0 8px 40px rgba(0,0,0,0.25); animation: circ-modal-pop .3s ease; }
@keyframes circ-modal-pop { 0% { transform: scale(0.85); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.circ-modal-icon { margin-bottom: 14px; }
.circ-modal-icon .dashicons { font-size: 48px; width: 48px; height: 48px; color: #f39c12; }
.circ-modal-title { font-size: 20px; font-weight: 800; color: #2c3e50; margin-bottom: 10px; }
.circ-modal-msg { color: #5a6c7d; line-height: 1.6; margin-bottom: 22px; font-size: 14px; }
.circ-modal-btn { background: #1FA3C2; color: #fff; border: none; border-radius: 50px; padding: 10px 28px; font-weight: 700; font-size: 14px; cursor: pointer; transition: background 0.2s; }
.circ-modal-btn:hover { background: #178aa8; }
.circ-hotel-name-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.circ-hotel-name { font-weight: 700; color: #2c3e50; line-height: 1.3; }
.circ-hotel-stars { font-weight: 600; color: #f39c12; white-space: nowrap; }
.circ-hotel-cat { color: #999; font-size: 12px; font-weight: 400; }
.circ-hotel-thumb { width: 160px !important; min-width: 160px; height: 130px !important; object-fit: cover !important; border-radius: 10px !important; display: block !important; flex-shrink: 0; }
.circ-hotel-dates { color: #7f8c8d; margin-bottom: 10px; }
.circ-hotel-options { display: flex; flex-direction: column; gap: 4px; }
.circ-room-opt { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 8px; cursor: pointer; transition: background 0.15s; border: 2px solid transparent; background: #fff; }
.circ-room-opt:hover { background: rgba(31,163,194,0.06); }
.circ-room-opt.selected { background: rgba(39,174,96,0.08); }
.circ-room-opt input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.circ-room-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.circ-room-name-txt { font-weight: 600; color: #2c3e50; }
.circ-room-board-txt { color: #7f8c8d; }
.circ-room-status { color: #7f8c8d; }
.circ-room-price-tag { font-weight: 700 !important; color: #1FA3C2 !important; white-space: nowrap !important; }
.circ-room-select-btn { background: #1FA3C2; color: #fff; border: none; border-radius: 20px; padding: 4px 12px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background 0.2s; pointer-events: none; }
.circ-room-opt.selected .circ-room-select-btn { background: #27ae60; }
.circ-room-opt.selected .circ-room-select-btn::before { content: '✓ '; }
.circ-room-price-tag.included { color: #27ae60 !important; background: rgba(39,174,96,0.1) !important; border: 1px solid rgba(39,174,96,0.3) !important; border-radius: 20px !important; padding: 2px 10px !important; font-weight: 700 !important; }
.circ-flights-list { display: flex; flex-wrap: wrap; gap: 8px; }
.circ-flight-btn { padding: 8px 14px; border-radius: 8px; border: 2px solid #e8ecef; background: #fff; font-weight: 600; cursor: pointer; transition: border-color 0.2s, background 0.2s; color: #2c3e50; display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.circ-flight-btn:hover { border-color: #1FA3C2; background: rgba(31,163,194,0.05); }
.circ-flight-btn.selected { border-color: #1FA3C2; background: rgba(31,163,194,0.08); }
.circ-flight-label { color: #2c3e50; font-weight: 600; }
.circ-flight-suppl { font-weight: 700; color: #1FA3C2; }
.circ-flight-suppl.free { color: #27ae60; }
.circ-expand-footer { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e8ecef; display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex-wrap: wrap; }
.circ-total-price { font-weight: 800; color: #2c3e50; }
.circ-total-price span { color: #1FA3C2; }
.circ-btn-book { background: linear-gradient(135deg, #1FA3C2, #1989A3); color: #fff; border: none; padding: 12px 28px; border-radius: 50px; font-weight: 700; cursor: pointer; text-transform: uppercase; letter-spacing: 0.5px; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 14px rgba(31,163,194,0.35); display: flex; align-items: center; gap: 8px; }
.circ-btn-book:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(31,163,194,0.5); }
@media (max-width: 900px) {
    .circ-card-main { grid-template-columns: 1fr; }
    .circ-card-thumb { min-height: 180px; }
    .circ-card-action { border-left: none; border-top: 1px solid #e8ecef; flex-direction: row; justify-content: space-between; flex-wrap: wrap; padding: 16px 20px; }
    .circ-price-from { display: none; }
    .circ-dest-grid { grid-template-columns: 1fr; }
    .circ-dest-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .circ-dest-tab { white-space: nowrap; flex-shrink: 0; }
}
@media (max-width: 600px) {
    .circ-results-bar { flex-direction: column; align-items: stretch; }
    .circ-state { padding: 40px 20px; }
    .circ-card-expand { padding: 16px; }
    .circ-expand-footer { justify-content: center; }
    .circ-pax-dropdown { width: calc(100vw - 32px) !important; left: 0 !important; right: 0 !important; }
    .comb-pax-dropdown { width: calc(100vw - 32px) !important; left: 0 !important; right: 0 !important; }
    .circ-modal-box { padding: 24px 20px !important; max-width: 90% !important; }
}

/* Modal de pedido de reserva */
.circ-book-modal-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.55) !important;
    z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px !important;
}
.circ-book-modal-box {
    background: #fff; border-radius: 16px; padding: 28px 28px 22px !important;
    max-width: 480px; width: 100%; position: relative !important;
    box-shadow: 0 12px 48px rgba(0,0,0,0.22) !important;
}
.circ-book-modal-close {
    position: absolute; top: 14px; right: 16px; background: none; border: none !important;
 cursor: pointer; color: #888; line-height: 1 !important;
}
.circ-book-modal-close:hover { color: #333; }
.circ-book-modal-title {
 font-weight: 800; color: #1FA3C2 !important;
    display: flex; align-items: center; gap: 8px; margin-bottom: 18px !important;
}
.circ-book-modal-pkg {
    background: #f5fafd; border-radius: 10px; padding: 14px 16px; margin-bottom: 14px !important;
}
.circ-book-modal-name {
 font-weight: 700; color: #1a2d3e; margin-bottom: 8px !important;
}
.circ-book-modal-meta {
    display: flex; flex-wrap: wrap; gap: 8px; color: #555; margin-bottom: 8px !important;
}
.circ-book-modal-hotels { margin-top: 8px; }
.circ-book-modal-hotel { color: #2a5f7a; padding: 3px 0; }
.circ-book-modal-info {
 color: #666; text-align: center; margin-bottom: 16px; line-height: 1.5 !important;
}
.circ-book-modal-actions {
    display: flex; gap: 10px; justify-content: center; flex-wrap: wrap !important;
}
.circ-book-modal-wa {
    background: #25d366; color: #fff; text-decoration: none !important;
    padding: 11px 22px; border-radius: 50px; font-weight: 700;
    display: flex; align-items: center; gap: 7px !important;
}
.circ-book-modal-wa:hover { background: #1db854; color: #fff; }
.circ-book-modal-email {
    background: #1FA3C2; color: #fff; text-decoration: none !important;
    padding: 11px 22px; border-radius: 50px; font-weight: 700;
    display: flex; align-items: center; gap: 7px !important;
}
.circ-book-modal-email:hover { background: #1989A3; color: #fff; }

/* Estados do modal */
.circ-book-modal-loading {
    text-align: center; padding: 32px 0; color: #666;
    display: flex; align-items: center; justify-content: center; gap: 10px !important;
}
.circ-book-modal-error {
    background: #fff0f0; border: 1px solid #ffc0c0; border-radius: 8px !important;
    padding: 14px 16px; color: #c0392b;
    display: flex; align-items: center; gap: 8px; margin: 12px 0 !important;
}
@keyframes circ-spin { to { transform: rotate(360deg); } }
.circ-spin { display: inline-block; animation: circ-spin 1s linear infinite; }

/* Preço confirmado */
.circ-book-price-confirmed {
    display: flex; align-items: center; justify-content: space-between;
    background: #eef9f0; border: 1px solid #b8e6c0; border-radius: 8px;
    padding: 12px 16px; margin: 12px 0; font-weight: 700;
}
.circ-book-price-label { color: #2e7d32; }
.circ-book-price-val   { color: #1b5e20; }

/* Políticas de cancelamento */
.circ-book-policies {
    background: #fffbe6; border: 1px solid #ffe082; border-radius: 8px !important;
    padding: 10px 14px; margin: 10px 0 !important;
}
.circ-book-policies-title {
 font-weight: 700; color: #f57f17 !important;
    display: flex; align-items: center; gap: 5px; margin-bottom: 6px !important;
}
.circ-book-policy-row {
    display: flex; justify-content: space-between; color: #555 !important;
    padding: 3px 0; border-bottom: 1px solid #fff9c4 !important;
}
.circ-book-policy-row:last-child { border-bottom: none; }
.circ-book-policy-date   { font-weight: 600; }

/* Formulário de passageiros */
.circ-book-section-title {
 font-weight: 800; color: #1FA3C2 !important;
    display: flex; align-items: center; gap: 6px; margin: 14px 0 8px !important;
    border-top: 1px solid #e8ecef; padding-top: 12px !important;
}
.circ-book-pax-block   { margin-bottom: 14px; }
.circ-book-pax-title   { font-weight: 700; color: #555; margin-bottom: 6px; }
.circ-book-pax-fields  { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.circ-book-input {
    width: 100%; padding: 8px 10px; border: 1px solid #e8ecef !important;
    border-radius: 6px; box-sizing: border-box !important;
    outline: none; transition: border-color 0.2s !important;
}
.circ-book-input:focus { border-color: #1FA3C2; }
.circ-book-submit {
    background: #1FA3C2; color: #fff; border: none !important;
    padding: 12px 28px; border-radius: 50px; font-weight: 700 !important;
    cursor: pointer; display: flex; align-items: center; gap: 8px !important;
    transition: background 0.2s !important;
}
.circ-book-submit:hover { background: #1989A3; }

/* Ecrã de sucesso */
.circ-book-success {
    text-align: center; padding: 24px 0 !important;
}
.circ-book-success-icon {
 width: 48px; height: 48px; color: #2e7d32; margin-bottom: 10px !important;
}
.circ-book-success-title {
 font-weight: 800; color: #1b5e20; margin-bottom: 8px !important;
}
.circ-book-success-ref   { color: #333; margin-bottom: 6px; }
.circ-book-success-price { font-weight: 800; color: #1FA3C2; margin-bottom: 8px; }
.circ-book-success-info  { color: #666; }
.circ-book-success-section { text-align: left; margin: 16px 20px; padding: 12px 14px; background: #f8f9fa; border-radius: 8px; border: 1px solid #e9ecef; }
.circ-book-success-section-title { font-weight: 700; color: #1FA3C2; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.3px; }
.circ-book-success-row { color: #444; padding: 5px 0; border-bottom: 1px solid #e9ecef; }
.circ-book-success-row:last-child { border-bottom: none; }

/* Total + Reservar no topo do expand */
.circ-expand-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #1FA3C2 !important;
    border-radius: 10px !important;
    padding: 12px 18px !important;
    margin-bottom: 16px !important;
    gap: 12px !important;
}
.circ-expand-topbar .circ-total-price {
    color: #fff !important;

    font-weight: 700 !important;
    margin: 0 !important;
}
.circ-expand-topbar .circ-total-price span { color: #fff !important; }
.circ-expand-topbar .circ-btn-book {
    background: #fff !important;
    color: #1FA3C2 !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 8px 18px !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}
.circ-expand-topbar .circ-btn-book:hover {
    background: #e8f7fb !important;
}

/* Tabela de detalhe de preços */
.circ-price-detail-table { width: 100% !important; border-collapse: collapse !important; font-size: 13px !important; }
.circ-price-detail-table th { background: #f4f6f9 !important; padding: 7px 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.4px !important; color: #7f8c8d !important; border-bottom: 2px solid #e8ecef !important; }
.circ-price-detail-table td { padding: 7px 10px !important; border-bottom: 1px solid #e8ecef !important; vertical-align: middle !important; }
.circ-price-detail-table tfoot td { border-top: 2px solid #e8ecef !important; border-bottom: none !important; background: #f4f6f9 !important; padding: 8px 10px !important; }
.circ-price-detail-table tfoot strong { font-size: 13px !important; color: #2c3e50 !important; }

/* Noites por destino (combinados) */
.circ-comp-nights-wrap { flex-direction: column !important; gap: 8px !important; }
.circ-comp-nights-inner { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.circ-comp-night-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; background: #f4f6f9 !important; border-radius: 8px !important; padding: 8px 12px !important; border: 1px solid #e8ecef !important; }
.circ-comp-night-label { font-size: 13px !important; font-weight: 600 !important; color: #2c3e50 !important; flex: 1 !important; }
.circ-comp-night-controls { display: flex !important; align-items: center !important; gap: 8px !important; }
.circ-comp-night-btn { width: 28px !important; height: 28px !important; border-radius: 50% !important; border: 1px solid #e8ecef !important; background: #fff !important; color: #2c3e50 !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; padding: 0 !important; }
.circ-comp-night-btn:hover { background: #1FA3C2 !important; color: #fff !important; border-color: #1FA3C2 !important; }
.circ-comp-night-val { font-weight: 700 !important; min-width: 24px !important; text-align: center !important; color: #2c3e50 !important; }
.circ-comp-night-meta { color: #7f8c8d !important; }
.circ-comp-nights-total { font-size: 13px !important; color: #7f8c8d !important; padding: 4px 0 !important; }
.circ-comp-nights-total strong { color: #1FA3C2 !important; }
.circ-comp-nights-hint { margin-left: 6px !important; color: #e74c3c !important; font-weight: 600 !important; }
.circ-comp-nights-hint.ok { color: #27ae60 !important; }

/* Quartos ocultos / toggle */
.circ-room-hidden { display: none !important; visibility: hidden !important; max-height: 0 !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; border: none !important; }
.circ-rooms-toggle {
    width: 100% !important;
    background: none !important;
    border: 1px dashed #e8ecef !important;
    border-radius: 6px !important;
    color: #1FA3C2 !important;

    font-weight: 600 !important;
    padding: 5px 10px !important;
    cursor: pointer !important;
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.circ-rooms-toggle:hover { background: #f0fafd; }

/* Imagem pequena no programa */
.circ-stage-img-sm {
    display: block !important;
    height: 64px !important;
    width: 96px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
    margin-top: 4px !important;
}

/* Bagagem no voo */
.circ-flt-baggage {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    background: #eef9f0 !important;
    border: 1px solid #b8e6c0 !important;
    border-radius: 4px !important;
    padding: 1px 7px !important;

    font-weight: 600 !important;
    color: #2e7d32 !important;
}
.circ-flt-baggage .dashicons { width: 13px; height: 13px; }

/* Voos detalhados */
.circ-flight-detail-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 6px !important;
}
.circ-flt-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    background: #f8fbfd !important;
    border: 1px solid #daedf5 !important;
    border-radius: 12px !important;
    padding: 16px 18px !important;
}
.circ-flt-row.inbound {
    background: #f8f4fd !important;
    border-color: #e0d5f5 !important;
}
.circ-flt-type {

    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #fff !important;
    background: #1FA3C2 !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    white-space: nowrap !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
}
.circ-flt-type.inbound { background: #8e44ad; }
.circ-flt-main { flex: 1; min-width: 0; }
.circ-flt-route {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    font-weight: 800 !important;
    color: #2c3e50 !important;
    flex-wrap: wrap !important;
}
.circ-flt-arrow { color: #1FA3C2; }
.circ-flt-loc { letter-spacing: 0.5px; }
.circ-flt-times {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 6px !important;
    font-size: 13px !important;
    color: #7f8c8d !important;
    flex-wrap: wrap !important;
}
.circ-flt-time { font-weight: 600; color: #2c3e50; }
.circ-flt-time-sep { color: #7f8c8d; }
.circ-flt-airline {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 7px !important;

    color: #7f8c8d !important;
}
.circ-flt-num {
    background: #f4f6f9 !important;
    border: 1px solid #e8ecef !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
    letter-spacing: 0.3px !important;

}
.circ-flt-date {

    color: #5d6d7e !important;
    font-weight: 600 !important;
    margin-top: 3px !important;
}

/* Responsive — flight details block */
@media (max-width: 768px) {
    .circ-flt-row { padding: 14px 14px !important; gap: 10px !important; }
    .circ-flt-route { gap: 8px !important; }
    .circ-flt-times { gap: 6px !important; }
    .circ-flt-airline { gap: 8px !important; }
}
@media (max-width: 600px) {
    .circ-flight-detail-grid { gap: 8px !important; }
    .circ-flt-row {
        flex-direction: column !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    .circ-flt-type { margin-top: 0 !important; align-self: flex-start !important; }
    .circ-flt-airline { flex-wrap: wrap !important; gap: 6px !important; }
    .circ-flt-num { padding: 2px 6px !important; }
    .circ-hotel-block { flex-direction: column !important; }
    .circ-hotel-thumb { width: 100% !important; min-width: 0; height: 140px !important; }
    .circ-hotel-photo { width: 100%; }
}
@media (max-width: 480px) {
    .circ-flt-row { padding: 10px !important; border-radius: 10px !important; }
    .circ-flt-route { font-size: 13px !important; gap: 6px !important; }
    .circ-flt-times { gap: 4px !important; }
}

/* Flatpickr — precos por dia */
.circ-fp-price {
    display: block !important;

    font-weight: 700 !important;
    color: #1FA3C2 !important;
    line-height: 1 !important;
    margin-top: 1px !important;
    text-align: center !important;
    letter-spacing: -0.3px !important;
}
.circ-fp-consult {
    color: #1FA3C2 !important;
}
.flatpickr-day.selected .circ-fp-price,
.flatpickr-day.startRange .circ-fp-price {
    color: #fff !important;
}

/* ============================================================
 * COMBINED TRAVELPLAN SEARCH SHORTCODE (anteriormente em search-combined-tp.php)
 * ============================================================ */
.comb-wrapper{--cp:#1FA3C2;--ca:#1FA3C2;--cad:#1989A3;--ct:#2c3e50;--cm:#7f8c8d;--cbg:#f4f6f9;--cbr:#e8ecef;--cs:#27ae60;--cr:14px;--csh:0 4px 20px rgba(26,35,50,.08);font-family:'Segoe UI',-apple-system,sans-serif!important;color:#2c3e50!important;max-width:100%!important;width:100%!important;margin:0 auto!important;padding:0 15px!important;overflow-x:hidden!important;box-sizing:border-box!important}
.comb-wrapper *,.comb-wrapper *::before,.comb-wrapper *::after{font-family:'Segoe UI',-apple-system,sans-serif!important;font-size:13px!important;box-sizing:border-box!important}
.comb-wrapper h1,.comb-wrapper h2,.comb-wrapper h3,.comb-wrapper h4,.comb-wrapper h5,
.comb-wrapper .comb-hero-title,.comb-wrapper .atc-price-total,.comb-wrapper .atc-price-per-person,
.comb-wrapper .atc-price-label,.comb-wrapper .atc-back-btn,.comb-wrapper .r-btn-primary,
.comb-wrapper .r-btn-secondary,.comb-wrapper .comb-btn-refresh,.comb-wrapper .cbm-success-icon,
.comb-wrapper .cbm-success-title,.comb-wrapper .cbm-success-price,.comb-wrapper .cbm-success-ref strong,
.comb-wrapper .atc-results-count,.comb-wrapper .atc-progress-percent,.comb-wrapper .atc-progress-label,
.comb-wrapper .atc-btn-search,.comb-wrapper .atc-illu-icon,.comb-wrapper .atc-loading-icon,
.comb-wrapper .atc-airport-code,.comb-wrapper .atc-arrow-icon,.comb-wrapper .atc-hotel-name,
.comb-wrapper .atc-detail-stars,.comb-wrapper .atc-total-price,.comb-wrapper .atc-mf-price,
.comb-wrapper .atc-hotel-fallback,.comb-wrapper .atc-flight-airline,.comb-wrapper .atc-flight-time,
.comb-wrapper .atc-value,.comb-wrapper .atc-cache-expiry-text,.comb-wrapper .atc-results-sub,
.comb-wrapper .atc-sort select,.comb-wrapper .atc-field .form-control,.comb-wrapper .atc-pax-trigger,
.comb-wrapper .atc-field label,.comb-wrapper .comb-fp-price,.comb-wrapper .r-excursion-price-note,
.comb-wrapper .r-section h4,.comb-wrapper .fo-section h5,.comb-wrapper .atc-flight-direction h5,
.comb-wrapper .dashicons{font-size:inherit!important}
.comb-wrapper h1,.comb-wrapper .comb-hero-title{font-size:32px!important}
.comb-wrapper h2{font-size:24px!important}
.comb-wrapper h3{font-size:18px!important}
.comb-wrapper h4,.comb-wrapper .r-section h4{font-size:16px!important}
.comb-wrapper h5,.comb-wrapper .fo-section h5,.comb-wrapper .atc-flight-direction h5{font-size:14px!important}
.comb-wrapper .atc-price-total{font-size:32px!important}
.comb-wrapper .atc-results-count{font-size:20px!important}
.comb-wrapper .atc-airport-code,.comb-wrapper .atc-arrow-icon{font-size:20px!important}
.comb-wrapper .atc-hotel-name{font-size:16px!important}
.comb-wrapper .atc-detail-stars{font-size:16px!important}
.comb-wrapper .atc-progress-percent{font-size:16px!important}
.comb-wrapper .atc-total-price{font-size:16px!important}
.comb-wrapper .atc-mf-price{font-size:14px!important}
.comb-wrapper .atc-hotel-fallback{font-size:16px!important}
.comb-wrapper .cbm-success-ref strong{font-size:16px!important}
.comb-wrapper .atc-btn-search,.comb-wrapper .r-btn-primary,.comb-wrapper .r-btn-secondary,
.comb-wrapper .atc-back-btn,.comb-wrapper .comb-btn-refresh{font-size:14px!important}
.comb-wrapper .atc-illu-icon{font-size:46px!important}
.comb-wrapper .atc-loading-icon{font-size:26px!important}
.comb-wrapper .cbm-success-icon{font-size:48px!important}
.comb-wrapper .cbm-success-price{font-size:24px!important}
.comb-wrapper .cbm-success-title{font-size:20px!important}
.comb-wrapper .atc-price-per-person{font-size:13px!important}
.comb-wrapper .atc-price-label{font-size:13px!important}
.comb-wrapper .atc-cache-expiry-text{font-size:13px!important}
.comb-wrapper .atc-progress-label{font-size:13px!important}
.comb-wrapper .atc-results-sub{font-size:13px!important}
.comb-wrapper .atc-sort select{font-size:13px!important}
.comb-wrapper .atc-field .form-control,.comb-wrapper .atc-pax-trigger{font-size:14px!important}
.comb-wrapper .atc-field label{font-size:11px!important}
.comb-wrapper .comb-fp-price{font-size:10px!important}
.comb-wrapper .r-excursion-price-note{font-size:11px!important}
.comb-wrapper .atc-value{font-size:13px!important}
.comb-wrapper .atc-flight-time{font-size:13px!important}
.comb-wrapper .atc-flight-airline{font-size:13px!important}
.comb-wrapper .dashicons,.comb-wrapper .dashicons::before{font-size:inherit!important}
.comb-wrapper img,.comb-wrapper table,.comb-wrapper video,.comb-wrapper iframe{max-width:100%!important;height:auto}
@media(max-width:600px){.comb-wrapper{padding:0 8px!important}}
.comb-hero{margin-bottom:16px}
.comb-hero-title{font-weight:800!important;color:#2c3e50!important;margin:0!important}
.comb-form-card{background:#fff!important;border-radius:14px!important;box-shadow:0 10px 40px rgba(26,35,50,.12)!important;padding:22px!important;margin:0 auto 30px!important;position:relative!important;z-index:5!important;overflow:visible!important}
.comb-pax-dropdown{position:absolute!important;top:100%;left:0!important;margin-top:6px!important;width:320px!important;background:#fff!important;border:1px solid #e8ecef!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(0,0,0,.15)!important;padding:20px!important;z-index:9999!important}
.comb-state{background:#fff;border-radius:14px;padding:60px 20px;text-align:center;box-shadow:0 4px 20px rgba(26,35,50,0.08)}
.comb-state h3{margin:22px 0 10px;font-weight:700;color:#2c3e50}
.comb-state p{color:#7f8c8d;max-width:520px;margin:0 auto;line-height:1.5}
.comb-illu{position:relative;width:120px;height:120px;margin:0 auto}
.comb-illu-circle{position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,163,194,.15),rgba(31,163,194,.12));border-radius:50%;animation:comb-pulse 2.5s ease-in-out infinite}
.comb-illu-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
@keyframes comb-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}
.comb-loading-orbit{position:relative;width:90px;height:90px;margin:0 auto 16px;border:3px dashed #1FA3C2;border-radius:50%;animation:comb-rotate 3.5s linear infinite}
.comb-loading-icon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);}
@keyframes comb-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:480px){
  .comb-state p{max-width:100%;word-wrap:break-word;hyphens:auto;padding:0 4px}
  .comb-illu{width:90px;height:90px}
  .comb-loading-orbit{width:72px;height:72px}
  .comb-loading-icon{top:-12px;}
}
.comb-results-bar{display:flex;justify-content:space-between;align-items:center;padding:0 4px;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.comb-results-count{font-weight:800;color:#2c3e50}
.comb-results-count::before{content:'\2726';color:#1FA3C2;margin-right:8px}
.comb-results-list{display:grid;gap:20px}
.comb-card{background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(26,35,50,0.08);overflow:hidden;transition:transform .3s,box-shadow .3s;max-width:100%;box-sizing:border-box}
.comb-card:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(26,35,50,.15)}
.comb-expand-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;background:#1FA3C2!important;border-radius:10px!important;padding:12px 18px!important;margin-bottom:16px!important;gap:12px!important;flex-wrap:wrap!important}
.comb-expand-topbar .comb-total-price{color:#fff!important;font-weight:700!important;margin:0!important}
.comb-price-disclaimer{color:#fff!important;font-weight:500!important;opacity:.85!important;margin-top:3px!important}
.comb-expand-topbar .comb-btn-book{background:#fff!important;color:#1FA3C2!important;border:none!important;border-radius:7px!important;padding:8px 18px!important;font-weight:800!important;cursor:pointer!important;display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.comb-card-expand{padding:24px!important;display:block!important;animation:comb-fade-in .3s ease!important;box-sizing:border-box!important;max-width:100%!important;overflow-x:hidden!important}
@media(max-width:600px){.comb-card-expand{padding:14px 10px!important}.comb-expand-topbar{padding:10px 12px!important}}
@keyframes comb-fade-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.comb-expand-section{margin-bottom:20px}
.comb-expand-title{font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#7f8c8d;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.comb-expand-title::after{content:'';flex:1;height:1px;background:#e8ecef}
.comb-product-description{line-height:1.6;color:#4a5568;background:#f8fafc;border:1px solid #e8ecef;border-radius:8px;padding:14px;white-space:pre-wrap;word-wrap:break-word}
.comb-dest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:700px){.comb-dest-grid{grid-template-columns:1fr!important}}
.comb-dest-block{background:#f4f6f9;border-radius:10px;padding:14px 16px}
.comb-dest-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:700;color:#1FA3C2}
.comb-hotel-block{margin-bottom:16px;background:#fff;border-radius:10px;padding:12px;border:1px solid #e8ecef}
.comb-hotel-destination{font-weight:700;color:#1FA3C2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.comb-hotel-name-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.comb-hotel-name{font-weight:700;color:#2c3e50;line-height:1.3}
.comb-hotel-stars{font-weight:600;color:#f39c12;white-space:nowrap}
.comb-hotel-thumb{width:100%!important;height:130px!important;object-fit:cover!important;border-radius:8px!important;margin-bottom:10px!important;display:block!important}
.comb-hotel-dates{color:#7f8c8d;margin-bottom:10px}
.comb-hotel-selectable{border:2px solid transparent!important;transition:border-color .18s,box-shadow .18s!important;cursor:pointer!important}
.comb-hotel-selectable:hover{border-color:#1FA3C2!important;box-shadow:0 0 0 3px rgba(31,163,194,.12)!important}
.comb-hotel-selected{border-color:#1FA3C2!important;box-shadow:0 0 0 4px rgba(31,163,194,.18)!important;background:#f0fafd!important}
.comb-hotel-selected-room{margin-bottom:10px;padding:10px;border-radius:8px;background:#f8fafc;border:1px solid #e8ecef}
.comb-hotel-selected-room-label{font-weight:700;text-transform:uppercase;color:#1FA3C2;margin-bottom:4px}
.comb-hotel-selected-room-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#2c3e50}
.comb-hotel-selected-room-name{font-weight:700}
.comb-hotel-selected-room-sep{color:#7f8c8d}
.comb-hotel-selected-room-board{color:#7f8c8d}
.comb-hotel-selected-room-price{margin-left:auto;font-weight:700;color:#1FA3C2}
.comb-hotel-selected-room-price.included{color:#27ae60}
.comb-price-summary{display:flex;flex-direction:column;gap:6px;background:#f4f6f9;border-radius:10px;padding:14px 18px}
.comb-price-summary-row{display:flex;justify-content:space-between;align-items:center;color:#2c3e50;padding:4px 0;border-bottom:1px solid #e8ecef}
.comb-price-summary-row:last-child{border-bottom:none}
.comb-price-summary-row.highlight{margin-top:4px;padding-top:8px;border-top:2px solid #e8ecef;border-bottom:none}
.comb-price-summary-row.highlight span{font-weight:700;color:#2c3e50}
.comb-price-summary-row.highlight strong{color:#1FA3C2}
.comb-missing-alert{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-weight:600;color:#856404;display:flex;align-items:center;gap:8px;animation:comb-shake .4s ease}@keyframes comb-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.comb-hotel-options{display:flex;flex-direction:column;gap:4px}
.comb-room-opt{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:background .15s;border:2px solid transparent;background:#fff}
.comb-room-opt:hover{background:rgba(31,163,194,.06)}
.comb-room-opt.selected{background:rgba(39,174,96,.08)}
.comb-hotel-radio,.comb-room-opt input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.comb-room-opt{padding-left:10px}
.comb-room-info{display:flex;flex-direction:column;gap:1px;min-width:0}
.comb-room-name-txt{font-weight:600;color:#2c3e50}
.comb-room-board-txt{color:#7f8c8d}
.comb-room-status{color:#7f8c8d}
.comb-room-price-tag{font-weight:700!important;color:#1FA3C2!important;white-space:nowrap!important}
.comb-room-select-btn{background:#1FA3C2;color:#fff;border:none;border-radius:20px;padding:4px 12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s;pointer-events:none}
.comb-room-opt.selected .comb-room-select-btn{background:#27ae60}
.comb-room-opt.selected .comb-room-select-btn::before{content:'✓ '}
.comb-room-price-tag.included{color:#27ae60!important;background:rgba(39,174,96,.1)!important;border:1px solid rgba(39,174,96,.3)!important;border-radius:20px!important;padding:2px 10px!important;}
.comb-room-hidden{display:none!important}
.comb-rooms-toggle{width:100%!important;background:none!important;border:1px dashed #e8ecef!important;border-radius:6px!important;color:#1FA3C2!important;font-weight:600!important;padding:5px 10px!important;cursor:pointer!important;margin-top:4px!important;display:flex!important;align-items:center!important;gap:4px!important}
.comb-comp-nights-wrap{align-self:start!important;position:relative!important;z-index:5!important}
.comb-comp-night-row{display:flex!important;flex-direction:column!important;gap:6px!important;background:#f4f6f9!important;border-radius:8px!important;padding:10px 12px!important;border:1px solid #e8ecef!important;margin-bottom:8px!important}
.comb-comp-night-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.comb-comp-night-label{font-weight:600!important;color:#2c3e50!important;flex:1!important}
.comb-comp-night-meta{color:#7f8c8d!important}
.comb-comp-night-controls{display:flex!important;align-items:center!important;gap:8px!important}
.comb-comp-night-btn{width:28px!important;height:28px!important;border-radius:50%!important;border:1px solid #e8ecef!important;background:#fff!important;color:#2c3e50!important;font-weight:700!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important}
.comb-comp-night-btn:hover{background:#1FA3C2!important;color:#fff!important;border-color:#1FA3C2!important}
.comb-comp-night-btn:disabled{opacity:.4!important;cursor:not-allowed!important}
.comb-comp-night-val{font-weight:700!important;min-width:24px!important;text-align:center!important}
.comb-comp-night-row.invalid{background:rgba(231,76,60,.08)!important;border-color:#e74c3c!important}
.comb-comp-night-row.invalid .comb-comp-night-val,.comb-comp-night-row.invalid .comb-comp-night-meta{color:#e74c3c!important}
.comb-comp-nights-total{color:#7f8c8d;padding:4px 0}
.comb-comp-nights-total strong{color:#1FA3C2}
.comb-comp-nights-hint{margin-left:6px;color:#e74c3c;font-weight:600}
.comb-comp-nights-hint.ok{color:#27ae60}
.comb-comp-nights-hint.error{color:#e74c3c;font-weight:700}
.comb-price-detail-table{width:100%!important;border-collapse:collapse!important;}
.comb-price-detail-table th{background:#f4f6f9!important;padding:7px 10px!important;font-weight:700!important;text-transform:uppercase!important;color:#7f8c8d!important;border-bottom:2px solid #e8ecef!important}
.comb-price-detail-table td{padding:7px 10px!important;border-bottom:1px solid #e8ecef!important;vertical-align:middle!important}
.comb-price-detail-table tfoot td{border-top:2px solid #e8ecef!important;border-bottom:none!important;background:#f4f6f9!important;padding:8px 10px!important}
.comb-flt-row{display:flex!important;align-items:flex-start!important;gap:12px!important;background:#f8fbfd!important;border:1px solid #daedf5!important;border-radius:10px!important;padding:12px 14px!important;margin-bottom:8px!important}
.comb-flt-row.inbound{background:#fff8f0!important;border-color:#f5ddb8!important}
.comb-flt-type{font-weight:800!important;text-transform:uppercase!important;color:#fff!important;background:#1FA3C2!important;border-radius:5px!important;padding:3px 7px!important;white-space:nowrap!important;flex-shrink:0!important}
.comb-flt-type.inbound{background:#1FA3C2}
.comb-flt-main{flex:1;min-width:0}
.comb-flt-route{display:flex!important;align-items:center!important;gap:8px!important;font-weight:800!important;color:#2c3e50!important}
.comb-flt-times{display:flex!important;align-items:center!important;gap:6px!important;margin-top:4px!important;color:#7f8c8d!important}
.comb-flt-time{font-weight:600;color:#2c3e50}
.comb-flt-num{background:#f4f6f9!important;border:1px solid #e8ecef!important;border-radius:4px!important;padding:1px 6px!important;font-weight:700!important}
.comb-flight-btn{padding:8px 14px;border-radius:8px;border:2px solid #e8ecef;background:#fff;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s;color:#2c3e50;display:inline-flex;flex-direction:column;gap:2px;align-items:flex-start}
.comb-flight-btn.selected{border-color:#1FA3C2;background:rgba(31,163,194,.08)}
.comb-flight-suppl{font-weight:700;color:#1FA3C2}
.comb-flight-suppl.free{color:#27ae60}
.comb-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.comb-services-col{background:#f4f6f9;border-radius:10px;padding:14px 16px}
.comb-services-col-title{font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.comb-services-col-title.included{color:#27ae60}
.comb-services-col-title.excluded{color:#e74c3c}
.comb-service-item{display:flex;align-items:flex-start;gap:7px;color:#2c3e50;padding:4px 0;border-bottom:1px solid #e8ecef}
.comb-service-item:last-child{border-bottom:none}
.comb-service-item::before{content:'✓';color:#27ae60;font-weight:700;flex-shrink:0}
.comb-service-item.excluded::before{content:'✗';color:#e74c3c}
.comb-stage{display:grid;grid-template-columns:52px 1fr;gap:0;margin-bottom:0}
.comb-stage-day{text-align:center;padding:14px 4px}
.comb-stage-day-num{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1FA3C2,#1989A3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 4px}
.comb-stage-day-line{width:2px;background:#e8ecef;flex:1;margin:0 auto;min-height:20px}
.comb-stage-body{padding:12px 14px 12px 10px;display:flex;gap:10px;align-items:flex-start}
.comb-stage-body-text{flex:1;min-width:0}
.comb-stage-title{font-weight:700;color:#2c3e50;margin-bottom:3px;word-break:break-word;overflow-wrap:anywhere}
.comb-stage-meal{color:#7f8c8d;margin-bottom:6px}
.comb-stage-desc{color:#7f8c8d;line-height:1.4;word-break:break-word;overflow-wrap:anywhere;white-space:normal}
.comb-stage-icons{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.comb-stage-icon{display:flex;align-items:center;gap:3px;color:#7f8c8d;background:#f4f6f9;border-radius:6px;padding:2px 7px}
.comb-stage-img-sm{display:block!important;height:64px!important;width:96px!important;object-fit:cover!important;border-radius:6px!important;flex-shrink:0!important;margin-top:4px!important}
@media(max-width:600px){
  .comb-stage-body{flex-direction:column!important;gap:6px!important;padding:10px 8px!important}
  .comb-stage-img-sm{width:100%!important;height:140px!important;margin-top:0!important}
  .comb-stage{grid-template-columns:40px 1fr!important}
  .comb-stage-day-num{width:28px!important;height:28px!important;}
  .comb-services-grid{grid-template-columns:1fr!important}
}
.comb-itin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.comb-itin-tab{padding:6px 14px;border-radius:20px;border:2px solid #e8ecef;background:#fff;font-weight:600;cursor:pointer;color:#7f8c8d;transition:border-color .2s,color .2s,background .2s}
.comb-itin-tab.active{border-color:#1FA3C2;background:rgba(31,163,194,.08);color:#1FA3C2}
.comb-itin-panel{display:none!important}
.comb-itin-panel.active{display:block!important}
.comb-section-tabs{display:flex;gap:0;border-bottom:2px solid #e8ecef;margin-bottom:18px}
.comb-section-tab{padding:10px 20px;border:none;background:none;font-weight:700;color:#7f8c8d;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:6px}
.comb-section-tab:hover{color:#1FA3C2}
.comb-section-tab.active{color:#1FA3C2;border-bottom-color:#1FA3C2}
.comb-section-panel{display:none}
.comb-section-panel.active{display:block}
@media(max-width:480px){.comb-section-tab{padding:8px 14px;}}
/* ── Ecrã de Reserva inline (mesma página, idêntico aos pacotes) ── */
.comb-book-page{background:transparent;padding:10px 0;margin:0 0 30px;animation:comb-fade-in .4s ease}
.comb-book-page .atc-back-btn{background:#fff;color:#475569;border:1px solid #e2e8f0;padding:8px 18px;border-radius:30px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;margin-bottom:10px}
.comb-book-page .atc-back-btn:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1;transform:translateX(-2px)}
.comb-book-page .atc-price-section{background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%);color:#fff;padding:30px 20px;border-radius:16px;text-align:center;margin:20px 0 30px;box-shadow:0 15px 35px rgba(15,32,39,.25);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}
.comb-book-page .atc-price-section::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}
.comb-book-page .atc-price-label{text-transform:uppercase;letter-spacing:1.5px;opacity:.8;margin-bottom:8px;font-weight:600}
.comb-book-page .atc-price-total{font-weight:800;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.3);margin-bottom:8px}
.comb-book-page .atc-price-per-person{font-weight:500;opacity:.9;background:rgba(255,255,255,.15);display:inline-block;padding:6px 16px;border-radius:30px}
/* Aproveita r-summary, r-section, r-3col-grid, r-pax-form do reservation.css */
.comb-book-page .r-section h4{color:#1e293b!important;font-weight:700!important;margin:0 0 15px!important;padding-bottom:12px!important;border-bottom:2px solid #f1f5f9!important}
.comb-book-page .r-btn-primary,.comb-book-page .r-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:50px;font-weight:700;cursor:pointer;border:none;transition:all .2s;margin-top:10px;margin-right:10px}
.comb-book-page .r-btn-primary{background:linear-gradient(135deg,#1FA3C2,#1989A3);color:#fff;box-shadow:0 4px 15px rgba(31,163,194,.35)}
.comb-book-page .r-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(31,163,194,.45)}
.comb-book-page .r-btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.comb-book-page .r-btn-secondary:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}
.comb-book-page .r-btn-primary:disabled{opacity:.6;cursor:wait;transform:none}
.comb-book-page .r-pax-form label{font-weight:600;color:#475569}
.comb-book-page .r-pax-form input,.comb-book-page .r-pax-form select{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box}
.comb-book-page .r-pax-form input:focus,.comb-book-page .r-pax-form select:focus{outline:none;border-color:#1FA3C2;box-shadow:0 0 0 2px rgba(31,163,194,.2)}
.comb-book-page .r-pax-form input.error{border-color:#e74c3c;background:#fff8f8}
.comb-book-page .cbm-loading{text-align:center;padding:48px 0;color:#666;display:flex;flex-direction:column;align-items:center;gap:12px}
.comb-book-page .cbm-spinner{width:44px;height:44px;border:4px solid #e8ecef;border-top-color:#1FA3C2;border-radius:50%;animation:comb-spin 1s linear infinite}
.comb-book-page .cbm-error{background:#fff0f0;border:1px solid #ffc0c0;border-radius:8px;padding:14px 16px;color:#c0392b;display:flex;align-items:center;gap:8px}
.comb-price-change-alert{border-radius:8px;padding:12px 16px;font-weight:600;margin:-14px 0 20px;line-height:1.5}
.comb-price-change-alert.comb-price-diff-up{background:#fff8e1;border:1px solid #ffe082;color:#7b5800}
.comb-price-change-alert.comb-price-diff-down{background:#eafaf1;border:1px solid #a6e9c7;color:#1a7a4c}
.comb-book-page .cbm-error-expired{background:#fff8e1;border-color:#ffe082;color:#7b5800;}
.comb-book-page .comb-btn-refresh{display:block;width:100%;margin:12px 0 4px;padding:14px;background:#1FA3C2;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;text-align:center;}
.comb-book-page .comb-btn-refresh:hover{filter:brightness(1.1);}
.comb-book-page .cbm-success{text-align:center;padding:32px 20px}
.comb-book-page .cbm-success-icon{margin-bottom:12px;display:block}
.comb-book-page .cbm-success-title{font-weight:800;color:#1b5e20;margin-bottom:8px}
.comb-book-page .cbm-success-ref{color:#333;margin-bottom:6px}
.comb-book-page .cbm-success-ref strong{color:#1FA3C2;}
.comb-book-page .cbm-success-price{font-weight:800;color:#27ae60;margin:10px 0}
.comb-book-page .cbm-success-info{color:#666}
@media(max-width:768px){
  .comb-book-page .r-3col-grid{grid-template-columns:1fr!important}
  .comb-book-page .r-summary-grid{grid-template-columns:1fr!important}
  .comb-book-page .r-summary-includes-grid{grid-template-columns:1fr!important}
  .comb-book-page .r-pax-form .r-pax-col3,.comb-book-page .r-pax-form .r-pax-col2{width:100%!important;flex:0 0 100%!important}
}
.comb-book-page .r-summary-includes{margin-top:14px;padding-top:14px;border-top:1px solid #e8ecef}
.comb-book-page .r-summary-includes-title{font-weight:700;color:#1e293b;margin-bottom:10px}
.comb-book-page .r-summary-includes-grid,.comb-expand-section .r-summary-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.comb-book-page .r-summary-includes-col-title,.comb-expand-section .r-summary-includes-col-title{font-weight:700;text-transform:uppercase;margin-bottom:6px}
.comb-book-page .r-summary-includes-col-title.included,.comb-expand-section .r-summary-includes-col-title.included{color:#27ae60}
.comb-book-page .r-summary-includes-col-title.excluded,.comb-expand-section .r-summary-includes-col-title.excluded{color:#e74c3c}
.comb-book-page .r-summary-include-item,.comb-expand-section .r-summary-include-item{color:#4a5568;margin-bottom:4px;padding-left:16px;position:relative}
.comb-book-page .r-summary-include-item::before,.comb-expand-section .r-summary-include-item::before{content:'\2713';position:absolute;left:0;color:#27ae60}
.comb-book-page .r-summary-include-item.excluded::before,.comb-expand-section .r-summary-include-item.excluded::before{content:'\2717';color:#e74c3c}
@media(max-width:768px){.comb-expand-section .r-summary-includes-grid{grid-template-columns:1fr!important}}
.comb-fp-price{display:block!important;font-weight:700!important;color:#1FA3C2!important;line-height:1!important;margin-top:1px!important;text-align:center!important}
.comb-fp-consult{color:#1FA3C2!important}
.flatpickr-day.selected .comb-fp-price{color:#fff!important}
@keyframes comb-spin{to{transform:rotate(360deg)}}
.comb-spin{display:inline-block;animation:comb-spin 1s linear infinite}
.r-excursions-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.r-excursion-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:2px solid #e8ecef;background:#fff;cursor:pointer;transition:border-color .18s,background .18s;user-select:none}
.r-excursion-item:hover{border-color:#1FA3C2;background:#f0fafd}
.r-excursion-item input[type="checkbox"]{width:18px;height:18px;accent-color:#1FA3C2;flex-shrink:0;cursor:pointer}
.r-excursion-item:has(input:checked){border-color:#27ae60;background:rgba(39,174,96,.06)}
.r-excursion-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.r-excursion-name{font-weight:600;color:#2c3e50;text-align:left}
.r-excursion-price{font-weight:700;white-space:nowrap;padding:3px 10px;border-radius:20px}
.r-excursion-price.extra{color:#1FA3C2;background:rgba(31,163,194,.1);border:1px solid rgba(31,163,194,.3)}
.r-excursion-price.included{color:#27ae60;background:rgba(39,174,96,.1);border:1px solid rgba(39,174,96,.3)}
.r-excursion-price-note{font-weight:400;color:#7f8c8d;margin-left:4px}
.r-2col-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.r-extras-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.r-extras-item{display:none}
.r-extras-item:nth-child(-n+3){display:flex}
.r-extras-list.expanded .r-extras-item{display:flex}
.r-extras-toggle{text-align:center;margin-top:10px}
.r-extras-toggle button{background:#f0fafd;border:1px solid #1FA3C2;color:#1FA3C2;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:600}
.r-extras-toggle button:hover{background:#1FA3C2;color:#fff}
.r-services-list{list-style:none;padding:0;margin:0}
.r-services-list li{padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:13px}
.r-services-list li:before{content:"\2713 ";color:#27ae60;font-weight:700}
.r-services-list li:last-child{border-bottom:0}
.r-excursion-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.r-excursion-name{font-weight:600;color:#2c3e50;font-size:13px}
.r-excursion-price{font-weight:700;font-size:13px;white-space:nowrap;align-self:center;padding:4px 10px;border-radius:6px}
.r-excursion-price.extra{color:#e67e22;background:rgba(230,126,18,.1);border:1px solid rgba(230,126,18,.3)}
.r-excursion-price.included{color:#27ae60;background:rgba(39,174,96,.1);border:1px solid rgba(39,174,96,.3)}
@media(max-width:900px){.r-2col-grid{grid-template-columns:1fr}}

/* ============================================================
 * DETAILS PAGE (anteriormente inline em script.js)
 * Página de detalhes da viagem — botão "Reservar"
 * ============================================================ */
.atc-details-container {
    animation: atc-details-fadeIn 0.4s ease-out !important;
}
@keyframes atc-details-fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.atc-section {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 10px 30px rgba(31, 38, 135, 0.05) !important;
    border-radius: 16px !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s ease !important;
}
.atc-section:hover {
    box-shadow: 0 15px 35px rgba(31, 38, 135, 0.08) !important;
    transform: translateY(-2px) !important;
}
.atc-section-title {

    font-weight: 700 !important;
    color: #1e293b !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.atc-price-section {
    background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%) !important;
    color: white !important;
    padding: 30px 20px !important;
    border-radius: 16px !important;
    text-align: center !important;
    margin: 20px 0 30px 0 !important;
    box-shadow: 0 15px 35px rgba(31,163,194,0.28) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    position: relative !important;
    overflow: hidden !important;
}
.atc-price-section::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%) !important;
    pointer-events: none !important;
}
.atc-price-label { text-transform: uppercase; letter-spacing: 1.5px; opacity: 0.8; margin-bottom: 8px; font-weight: 600; }
.atc-price-total { font-weight: 800; line-height: 1.1; text-shadow: 0 2px 10px rgba(0,0,0,0.3); margin-bottom: 8px; }
.atc-price-per-person { font-weight: 500; opacity: 0.9; background: rgba(255,255,255,0.15); display: inline-block; padding: 6px 16px; border-radius: 30px; backdrop-filter: blur(4px); }

.atc-back-btn {
    background: #ffffff !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    padding: 8px 18px !important;
    border-radius: 30px !important;
    font-weight: 600 !important;

    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02) !important;
}
.atc-back-btn:hover { background: #f8fafc; color: #0f172a; border-color: #cbd5e1; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transform: translateX(-2px); }

.atc-3col-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
    align-items: start !important;
}
.atc-3col-detail-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr minmax(280px, 320px) !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
    align-items: start !important;
}
.atc-3col-detail-grid .atc-hotel-container {
    flex-direction: column !important;
}
.atc-3col-detail-grid .atc-hotel-image {
    width: 100% !important;
    height: 220px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}
.atc-3col-detail-grid .atc-hotel-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.atc-grid-price {
    position: sticky !important;
    top: 20px !important;
}
.atc-save-btn {
    background: #fff !important;
    color: #1FA3C2 !important;
    border: 2px solid #1FA3C2 !important;
    padding: 14px 24px !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 10px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}
.atc-save-btn:hover {
    background: #f0fbfc !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 18px rgba(31,163,194,0.22) !important;
}
.atc-2col-aux-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
    align-items: start !important;
}
.atc-book-btn {
    background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%) !important;
    color: white !important;
    border: none !important;
    padding: 18px 30px !important;
    border-radius: 12px !important;

    font-weight: 700 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(31,163,194,0.28) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.atc-book-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 25px rgba(31,163,194,0.42) !important;
}
.atc-3col-grid .atc-hotel-container {
    flex-direction: column !important;
}
.atc-3col-grid .atc-hotel-image {
    width: 100% !important;
    height: 220px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}
.atc-3col-grid .atc-hotel-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ============================================================
 * LARGURA UNIVERSAL — todos os estados partilham a mesma largura
 * ============================================================ */
#atc_results_list {
    width: 100% !important;
    box-sizing: border-box !important;
}
.atc-details-container,
.r-summary,
.r-section,
.r-3col-grid,
.r-pax-form,
.r-booking-result {
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* Responsive */
@media (max-width: 900px) {
    .atc-3col-grid,
    .r-3col-grid,
    .atc-3col-detail-grid,
    .atc-2col-aux-grid {
        grid-template-columns: 1fr !important;
    }
    .atc-grid-price {
        position: static !important;
    }
}
@media (max-width: 700px) {
    .atc-section,
    .r-summary,
    .r-section {
        padding: 16px !important;
    }
}

/* ============================================================
 * DETAILS PAGE — estilos complementares (voos, hotel, excursões)
 * Movidos de style.css para consolidação
 * ============================================================ */
.atc-details-container,
.atc-details-loaded {
    margin: 0 auto !important;
    padding: 20px 0 !important;
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
    line-height: 1.6 !important;
    color: #333 !important;
}
.atc-details-container *,
.atc-details-loaded * {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}
.atc-details-container h1,.atc-details-container h2,.atc-details-container h3,
.atc-details-container h4,.atc-details-container h5,
.atc-details-loaded h1,.atc-details-loaded h2,.atc-details-loaded h3,
.atc-details-loaded h4,.atc-details-loaded h5,
.atc-details-container .atc-price-total,.atc-details-loaded .atc-price-total,
.atc-details-container .atc-airport-code,.atc-details-loaded .atc-airport-code,
.atc-details-container .atc-arrow-icon,.atc-details-loaded .atc-arrow-icon,
.atc-details-container .atc-hotel-name,.atc-details-loaded .atc-hotel-name,
.atc-details-container .atc-detail-stars,.atc-details-loaded .atc-detail-stars,
.atc-details-container .atc-book-btn,.atc-details-loaded .atc-book-btn,
.atc-details-container .atc-back-btn,.atc-details-loaded .atc-back-btn,
.atc-details-container .atc-price-per-person,.atc-details-loaded .atc-price-per-person,
.atc-details-container .atc-results-count,.atc-details-loaded .atc-results-count,
.atc-details-container .atc-illu-icon,.atc-details-loaded .atc-illu-icon,
.atc-details-container .atc-loading-icon,.atc-details-loaded .atc-loading-icon,
.atc-details-container .atc-total-price,.atc-details-loaded .atc-total-price,
.atc-details-container .atc-hotel-fallback,.atc-details-loaded .atc-hotel-fallback,
.atc-details-container .atc-mf-price,.atc-details-loaded .atc-mf-price,
.atc-details-container .atc-flight-airline,.atc-details-loaded .atc-flight-airline,
.atc-details-container .atc-flight-time,.atc-details-loaded .atc-flight-time,
.atc-details-container .atc-value,.atc-details-loaded .atc-value,
.atc-details-container .atc-cache-expiry-text,.atc-details-loaded .atc-cache-expiry-text,
.atc-details-container .atc-progress-percent,.atc-details-loaded .atc-progress-percent,
.atc-details-container .atc-progress-label,.atc-details-loaded .atc-progress-label,
.atc-details-container .atc-results-sub,.atc-details-loaded .atc-results-sub,
.atc-details-container .atc-sort select,.atc-details-loaded .atc-sort select,
.atc-details-container .atc-field .form-control,.atc-details-loaded .atc-field .form-control,
.atc-details-container .atc-pax-trigger,.atc-details-loaded .atc-pax-trigger,
.atc-details-container .atc-field label,.atc-details-loaded .atc-field label,
.atc-details-container .atc-fp-price,.atc-details-loaded .atc-fp-price,
.atc-details-container .r-excursion-price-note,.atc-details-loaded .r-excursion-price-note,
.atc-details-container .r-section h4,.atc-details-loaded .r-section h4,
.atc-details-container .fo-section h5,.atc-details-loaded .fo-section h5,
.atc-details-container .atc-flight-direction h5,.atc-details-loaded .atc-flight-direction h5,
.atc-details-container .dashicons,.atc-details-loaded .dashicons {
    font-size: inherit !important;
}
.atc-details-container h1,.atc-details-loaded h1 { font-size: 32px !important; }
.atc-details-container h2,.atc-details-loaded h2 { font-size: 24px !important; }
.atc-details-container h3,.atc-details-loaded h3 { font-size: 18px !important; }
.atc-details-container h4,.atc-details-loaded h4,
.atc-details-container .r-section h4,.atc-details-loaded .r-section h4 { font-size: 16px !important; }
.atc-details-container h5,.atc-details-loaded h5,
.atc-details-container .fo-section h5,.atc-details-loaded .fo-section h5,
.atc-details-container .atc-flight-direction h5,.atc-details-loaded .atc-flight-direction h5 { font-size: 14px !important; }
.atc-details-container .atc-price-total,.atc-details-loaded .atc-price-total { font-size: 32px !important; }
.atc-details-container .atc-airport-code,.atc-details-loaded .atc-airport-code,
.atc-details-container .atc-arrow-icon,.atc-details-loaded .atc-arrow-icon { font-size: 20px !important; }
.atc-details-container .atc-hotel-name,.atc-details-loaded .atc-hotel-name { font-size: 16px !important; }
.atc-details-container .atc-detail-stars,.atc-details-loaded .atc-detail-stars { font-size: 16px !important; }
.atc-details-container .atc-book-btn,.atc-details-loaded .atc-book-btn { font-size: 16px !important; }
.atc-details-container .atc-back-btn,.atc-details-loaded .atc-back-btn { font-size: 14px !important; }
.atc-details-container .atc-results-count,.atc-details-loaded .atc-results-count { font-size: 20px !important; }
.atc-details-container .atc-illu-icon,.atc-details-loaded .atc-illu-icon { font-size: 46px !important; }
.atc-details-container .atc-loading-icon,.atc-details-loaded .atc-loading-icon { font-size: 26px !important; }
.atc-details-container .atc-total-price,.atc-details-loaded .atc-total-price { font-size: 16px !important; }
.atc-details-container .atc-hotel-fallback,.atc-details-loaded .atc-hotel-fallback { font-size: 16px !important; }
.atc-details-container .atc-mf-price,.atc-details-loaded .atc-mf-price { font-size: 14px !important; }
.atc-details-container .atc-progress-percent,.atc-details-loaded .atc-progress-percent { font-size: 16px !important; }
.atc-details-container .atc-price-per-person,.atc-details-loaded .atc-price-per-person,
.atc-details-container .atc-cache-expiry-text,.atc-details-loaded .atc-cache-expiry-text,
.atc-details-container .atc-progress-label,.atc-details-loaded .atc-progress-label,
.atc-details-container .atc-results-sub,.atc-details-loaded .atc-results-sub,
.atc-details-container .atc-sort select,.atc-details-loaded .atc-sort select,
.atc-details-container .atc-value,.atc-details-loaded .atc-value,
.atc-details-container .atc-flight-time,.atc-details-loaded .atc-flight-time,
.atc-details-container .atc-flight-airline,.atc-details-loaded .atc-flight-airline { font-size: 13px !important; }
.atc-details-container .atc-field .form-control,.atc-details-loaded .atc-field .form-control,
.atc-details-container .atc-pax-trigger,.atc-details-loaded .atc-pax-trigger { font-size: 14px !important; }
.atc-details-container .atc-field label,.atc-details-loaded .atc-field label { font-size: 11px !important; }
.atc-details-container .atc-fp-price,.atc-details-loaded .atc-fp-price { font-size: 10px !important; }
.atc-details-container .r-excursion-price-note,.atc-details-loaded .r-excursion-price-note { font-size: 11px !important; }
.atc-details-container .dashicons,.atc-details-loaded .dashicons,
.atc-details-container .dashicons::before,.atc-details-loaded .dashicons::before { font-size: inherit !important; }

/* Flights Section */
.atc-flights-container { display: flex; flex-direction: column; gap: 20px; }
.atc-flight-direction h5 { margin: 0 0 5px 0; color: #666; font-weight: 600; }
.atc-flight-date { color: #999; margin-bottom: 15px; }
.atc-flight-route { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.atc-flight-point { flex: 1; text-align: center; }
.atc-airport-code { font-weight: 700; color: #1FA3C2; margin-bottom: 5px; }
.atc-airport-name { color: #666; margin-bottom: 3px; }
.atc-flight-time { font-weight: 600; color: #333; }
.atc-flight-arrow { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.atc-duration { color: #999; }
.atc-arrow-icon { color: #1FA3C2; }
.atc-flight-airline { color: #333; padding: 10px; background: #f5f5f5; border-radius: 4px; }
.atc-baggage { color: #666; margin-top: 5px; }

/* ============================================================
 * Flight Options — cartões de escolha de voos (n opções)
 * ============================================================ */
.atc-flight-options { display: flex; flex-direction: column; gap: 16px; }

.atc-flight-option-card {
    border: 2px solid #e2e8f0;
    border-radius: 14px;
    padding: 18px;
    background: #fff;
    transition: all 0.25s ease;
    position: relative;
}
.atc-flight-option-card.selected {
    border-color: #1FA3C2;
    background: linear-gradient(135deg, rgba(31,163,194,0.05) 0%, rgba(25,137,163,0.03) 100%);
    box-shadow: 0 8px 20px rgba(31,163,194,0.15);
}
.atc-flight-option-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.08); }

.atc-fo-card-label {

    font-weight: 700;
    color: #1FA3C2;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 12px;
}

.atc-fo-leg { margin-bottom: 14px; }
.atc-fo-leg:last-of-type { margin-bottom: 0; }
.atc-fo-leg + .atc-fo-leg {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed #e2e8f0;
}
.atc-fo-leg-header {
    display: flex;
    justify-content: space-between;
    align-items: center;

    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px dashed #e2e8f0;
}
.atc-fo-leg-date { font-weight: 500; color: #94a3b8; text-transform: none; letter-spacing: normal; }

.atc-fo-segment {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 10px;
    margin-bottom: 8px;
}
.atc-fo-segment:last-child { margin-bottom: 0; }

.atc-fo-segment-airline {
    display: flex;
    align-items: center;
    gap: 8px;

    font-weight: 700;
    color: #1e293b;
    flex: 0 0 auto;
}
.atc-fo-airline-name {

    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
}
.atc-fo-airline-icon { color: #1FA3C2; }
.atc-fo-flightnum { color: #94a3b8; font-weight: 500; }

.atc-fo-segment-route {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 260px;
}
.atc-fo-point { text-align: center; min-width: 60px; }
.atc-fo-code { font-weight: 800; color: #1e293b; }
.atc-fo-city { color: #94a3b8; margin-top: 1px; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.atc-fo-time { font-weight: 600; color: #1FA3C2; margin-top: 2px; }

.atc-fo-arrow { flex: 1; text-align: center; min-width: 60px; }
.atc-fo-duration { color: #94a3b8; margin-bottom: 2px; }
.atc-fo-line { color: #1FA3C2; position: relative; }
.atc-fo-line span { display: inline-block; width: 100%; border-top: 1px solid #cbd5e1; position: absolute; top: 50%; left: -50%; z-index: 0; }

.atc-fo-segment-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;

    color: #64748b;
    flex: 0 0 auto;
    margin-left: auto;
}
.atc-fo-meta-item { background: #eef2f7; padding: 3px 8px; border-radius: 8px; white-space: nowrap; }
.atc-fo-class { background: #e0f2fe; color: #0369a1; font-weight: 600; }

.atc-fo-connection {
    text-align: center;

    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 6px 12px;
    margin: 6px auto;
    font-weight: 600;
    display: inline-block;
}

.atc-fo-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
    gap: 12px;
    flex-wrap: wrap;
}
.atc-fo-badge {

    font-weight: 700;
    padding: 5px 12px;
    border-radius: 20px;
}
.atc-fo-badge-inc { background: #dcfce7; color: #15803d; }
.atc-fo-badge-sup { background: #fee2e2; color: #b91c1c; }
.atc-fo-select-btn {
    background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%);
    color: #fff;
    border: none;
    padding: 10px 22px;
    border-radius: 30px;

    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 10px rgba(31,163,194,0.25);
}
.atc-fo-select-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(31,163,194,0.35); }
.atc-flight-option-card.selected .atc-fo-select-btn::before { content: '✓ '; }

@media (max-width: 640px) {
    .atc-fo-segment { flex-direction: column !important; align-items: stretch !important; }
    .atc-fo-segment-airline { flex: none !important; }
    .atc-fo-segment-meta { margin-left: 0 !important; }
}
@media (max-width: 400px) {
    .atc-fo-code { font-size: 13px !important; }
    .atc-fo-arrow { min-width: 34px !important; }
    .atc-fo-duration { display: none !important; }
}

/* ============================================================
 * Logótipos das companhias aéreas
 * ============================================================ */
.atc-fo-airline-logo-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    flex: 0 0 auto !important;
    border-radius: 6px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    padding: 2px 6px !important;
}
.atc-fo-airline-logo {
    height: 28px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    mix-blend-mode: multiply !important;
}
.atc-fo-airline-fallback {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #1FA3C2 !important;
    font-size: 13px !important;
}
.atc-fo-date { font-size: 13px !important; color: #cbd5e1 !important; margin-top: 1px !important; }
.atc-fo-note { background: #fef3c7 !important; color: #92400e !important; font-weight: 600 !important; }

/* ============================================================
 * Bloco "Voo recomendado" — variante read-only do cartão de voo
 * ============================================================ */
.atc-recommended-card { cursor: default !important; }
.atc-recommended-card .atc-fo-card-footer { display: none !important; }

/* ============================================================
 * Bloco "Modificar Voos" — lista de alternativas seleccionáveis
 * ============================================================ */
.atc-modify-flights { margin-top: 20px !important; }
.atc-mf-list { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.atc-mf-row {
    border: 2px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    background: #fff !important;
    transition: all 0.25s ease !important;
}
.atc-mf-row.selected {
    border-color: #1FA3C2 !important;
    background: linear-gradient(135deg, rgba(31,163,194,0.05) 0%, rgba(25,137,163,0.03) 100%) !important;
    box-shadow: 0 8px 20px rgba(31,163,194,0.15) !important;
}
.atc-mf-row:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important; }
.atc-mf-row-body {
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}
.atc-mf-row-flights { flex: 1 1 400px !important; min-width: 280px !important; }
.atc-mf-row-action {
    flex: 0 0 160px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-left: 1px dashed #e2e8f0 !important;
    padding-left: 16px !important;
}
.atc-mf-price { font-weight: 800 !important; text-align: center !important; }
.atc-mf-price-inc { color: #15803d !important; }
.atc-mf-price-sup { color: #b91c1c !important; }
.atc-mf-row.selected .atc-fo-select-btn { background: linear-gradient(135deg, #15803d 0%, #166534 100%) !important; }

@media (max-width: 700px) {
    .atc-mf-row-body { flex-direction: column !important; }
    .atc-mf-row-action {
        border-left: none !important;
        border-top: 1px dashed #e2e8f0 !important;
        padding-left: 0 !important;
        padding-top: 12px !important;
        flex-direction: row !important;
        justify-content: space-between !important;
    }
}

/* Hotel Section */
.atc-hotel-container { display: flex; flex-direction: column; gap: 15px; }
.atc-hotel-image { width: 100%; height: 250px; overflow: hidden; border-radius: 8px; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%); }
.atc-hotel-image img { width: 100%; height: 100%; object-fit: cover; }
.atc-hotel-fallback { color: white; font-weight: 600; text-align: center; padding: 20px; font-style: italic; }

/* Flight Options Cards (selectable) */
.fo-section { margin-bottom: 16px; }
.fo-section h5 { color: #1FA3C2; margin: 0 0 8px; font-weight: 600; }
.fo-options-list { display: flex; flex-direction: column; gap: 8px; max-height: 400px; overflow-y: auto; padding-right: 4px; }
.fo-options-list::-webkit-scrollbar { width: 6px; }
.fo-options-list::-webkit-scrollbar-thumb { background: #b0bec5; border-radius: 3px; }
.fo-options-list::-webkit-scrollbar-track { background: #eceff1; }

.fo-card {
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #fff;
}
.fo-card:hover { border-color: #81d4fa; background: #f1f9fc; }
.fo-card.fo-selected {
    border-color: #1FA3C2;
    background: linear-gradient(135deg, #e8f7fa 0%, #d4f1f7 100%);
    box-shadow: 0 2px 8px rgba(31, 163, 194, 0.15);
}

.fo-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}
.fo-airline { font-weight: 600; color: #333; }
.fo-route { color: #1FA3C2; font-weight: 500; }
.fo-stops { color: #888; background: #f5f5f5; padding: 2px 6px; border-radius: 4px; }

.fo-segments { margin: 4px 0 6px; }
.fo-segment {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;

    border-bottom: 1px dashed #eee;
}
.fo-segment:last-child { border-bottom: none; }
.fo-seg-route { color: #555; font-weight: 500; }
.fo-seg-meta { color: #888; }

.fo-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4px;
}
.fo-class { color: #888; }
.fo-supplement { font-weight: 600; color: #e67e22; }
.fo-no-supplement { color: #27ae60; }

.atc-hotel-info { display: flex; flex-direction: column; gap: 15px; }
.atc-hotel-name { display: flex; align-items: center; gap: 10px; color: #333; }
.atc-detail-stars { color: #ffc107; }
.atc-hotel-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.atc-detail-row { display: flex; flex-direction: column; }
.atc-label { color: #999; font-weight: 600; margin-bottom: 3px; }
.atc-value { color: #333; }

/* Included Services */
.atc-included-list { display: flex; flex-direction: column; gap: 8px; }
.atc-included-item { display: flex; align-items: center; gap: 10px; padding: 10px; background: #f9f9f9; border-radius: 4px; color: #333; }

/* Additional Flights */
.atc-section-additional { border: 2px solid #1FA3C2; }
.atc-section-additional .atc-section-title { border-bottom-color: #1FA3C2; }
.atc-additional-list { display: flex; flex-direction: column; gap: 8px; }
.atc-additional-item { display: flex; justify-content: space-between; align-items: center; padding: 10px; background: #f0f9fa; border-radius: 4px; }
.atc-additional-price { font-weight: 600; color: #1FA3C2; }

/* Excursions */
.atc-excursions-list { display: flex; flex-direction: column; gap: 12px; }
.atc-excursion-item { padding: 12px; background: #f0f9fa; border-radius: 4px; border-left: 3px solid #27ae60; }
.atc-excursion-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.atc-excursion-code { color: #999; }
.atc-excursion-desc { margin: 0 0 8px 0; color: #555; line-height: 1.4; }
.atc-excursion-prices { display: flex; gap: 8px; flex-wrap: wrap; }
.atc-excursion-price { background: #e8f5e9; color: #27ae60; padding: 4px 8px; border-radius: 3px; font-weight: 600; }

/* Payment block */
.atc-payment-block { margin-top: 20px; }
.atc-table { width: 100%; border-collapse: collapse; }
.atc-table th, .atc-table td { padding: 10px; border: 1px solid #e0e0e0; text-align: left; }
.atc-table th { background: #f5f5f5; font-weight: 600; }

/* Responsive — detalhes */
@media (max-width: 768px) {
    .atc-back-btn { padding: 10px 20px; }
    .atc-flight-route { flex-direction: column; gap: 15px; }
    .atc-hotel-image { height: 200px; }
}
@media (min-width: 1200px) {
    .atc-hotel-container { flex-direction: row; gap: 25px; }
    .atc-hotel-image { width: 400px; height: 300px; flex-shrink: 0; }
    .atc-hotel-info { flex: 1; }
}

/* ===== DESTINATION AUTOCOMPLETE ===== */
.atc-autocomplete {
    position: relative !important;
    width: 100% !important;
}
.atc-ac-input {
    padding-right: 36px !important;
    cursor: text !important;
}
.atc-ac-input[readonly] {
    cursor: pointer !important;
}
.atc-ac-arrow {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    color: #7f8c8d !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: transform 0.2s !important;
    font-size: 16px !important;
    line-height: 18px !important;
}
.atc-ac-arrow.atc-ac-arrow-up {
    transform: translateY(-50%) rotate(180deg) !important;
}
.atc-ac-dropdown {
    display: none;
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;
    max-height: 260px !important;
    overflow-y: auto !important;
    background: #fff !important;
    border: 2px solid #e8ecef !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 30px rgba(26,35,50,0.15) !important;
    z-index: 100 !important;
    padding: 4px 0 !important;
}
.atc-ac-item {
    padding: 10px 14px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #2c3e50 !important;
    transition: background 0.15s !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.atc-ac-item:hover,
.atc-ac-item.atc-ac-active {
    background: #f0f9fa !important;
    color: #1FA3C2 !important;
}
.atc-ac-empty {
    padding: 12px 14px !important;
    color: #7f8c8d !important;
    font-size: 13px !important;
    font-style: italic !important;
}
/* Responsive: dropdown full-width on mobile, scrollable */
@media (max-width: 768px) {
    .atc-ac-dropdown {
        max-height: 200px !important;
        border-radius: 8px !important;
    }
    .atc-ac-input {
        font-size: 16px !important;
    }
}
