/* PRUEBA ELIANE 06-06-2026 02:15 */

/* =====================================================
   AIRPORT AUTOCOMPLETE
===================================================== */
.viajalea-airport-wrapper {
    position: relative;
    width: 100%;
}

.viajalea-airport-results{

    position:absolute;

    top:100%;

    left:0;

    width:100%;

    background:var(--vz-white);

    border-radius:var(--vz-radius-lg);

    margin-top:var(--vz-space-md);

    box-shadow:var(--vz-shadow-lg);

    overflow:hidden;

    z-index:9999;

    display:none;

    max-height:420px;

    overflow-y:auto;

}

.viajalea-airport-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:
        var(--vz-space-md)
        var(--vz-card-padding);

    cursor:pointer;

    transition:.2s ease;

    border-bottom:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

}

.viajalea-airport-item:hover{

    background:var(--vz-surface);

}

.viajalea-airport-left{

    display:flex;

    flex-direction:column;

    gap:var(--vz-space-xs);

}

.viajalea-airport-city{

    font-size:var(--vz-font-sm);

    font-weight:700;

    color:var(--vz-text);

}

.viajalea-airport-name{

    font-size:var(--vz-font-xs);

    color:var(--vz-text);

    line-height:1.4;

}

.viajalea-airport-code{

    font-size:var(--vz-font-sm);

    font-weight:700;

    color:var(--vz-purple);

    min-width:55px;

    text-align:right;

}

/* =====================================
   RESULTS CARD V2
===================================== */
.viajalea-flight-card{

    display:block;

    max-width:100%;

    margin: 3px;

}

.flight-card-modern{

    display:grid;

    grid-template-columns:
        120px
        1fr
        180px;

    grid-template-areas:
        "airline routes price"
        "footer footer footer";

    background:var(--vz-white);

    border:var(--vz-border-width)
           var(--vz-border-style)
           var(--vz-border-color);

    border-radius:var(--vz-radius-md);

    overflow:hidden;

    box-shadow:var(--vz-shadow-sm);

}

.flight-card-airline{

    grid-area:airline;

    padding:var(--vz-card-padding);

    border-right:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

}

.flight-card-routes{

    grid-area:routes;

}

.flight-card-price{

    grid-area:price;

}

.flight-payment-options{

    grid-area:footer;

    width:100%;

    margin-top:0;

    border-top:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-blue);

}

.flight-airline-logo{

    width:42px;

    height:42px;

    object-fit:contain;

    margin-bottom:8px;

}

.flight-airline-name{

    font-size:var(--vz-font-md);

    font-weight:700;

    color:var(--vz-text);

    line-height:1.3;

}

.flight-airline-flight{

    font-size:var(--vz-font-xs);

    color:var(--vz-text);

}

.flight-card-route{

    display:flex;

    align-items:center;

    gap:var(--vz-card-gap);

    padding:var(--vz-card-padding);

}

.flight-time-block{

    flex:1;

    min-width:0;

    text-align:center;

}

.flight-main-time{

    font-size:var(--vz-font-2xl);

    font-weight:800;

    line-height:1.1;

    color:var(--vz-text);

    margin-bottom:var(--vz-space-xs);

}

.flight-airport-code{

    font-size:var(--vz-font-md);

    font-weight:600;

    color:var(--vz-text);

    line-height:1.4;

}

.flight-center-block{

    flex:1.2;

    min-width:0;

    text-align:center;

}

.flight-duration{

    font-size:var(--vz-font-xs);

    color:var(--vz-text);

    margin-bottom:var(--vz-space-md);

}

.flight-line-wrapper{

    position:relative;

    margin-bottom:8px;

}

.flight-line{

    height:2px;

    background:var(--vz-border-light);

}

.flight-plane{

    position:absolute;

    left:50%;

    top:-8px;

    transform:translateX(-50%);

}

.flight-stops{

    font-size:var(--vz-font-xs);

    font-weight:700;

    color:var(--vz-turquoise);

}

.flight-card-price{

    padding:var(--vz-card-padding);

    border-left:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

}

.flight-price-value{

    font-size:var(--vz-font-3xl);

    font-weight:700;

    color:var(--vz-text);

    line-height:1.1;

    margin-bottom:var(--vz-space-lg);

}

.flight-details-btn{

    width:100%;

    border:none;

    border-radius:var(--vz-radius-md);

    background:var(--vz-primary);

    color:var(--vz-white);

    padding:var(--vz-space-md);

    font-size:var(--vz-font-sm);

    font-weight:700;

    cursor:pointer;

    margin-bottom:var(--vz-space-md);

}

.flight-price-note{

    font-size:var(--vz-font-xs);

    color:var(--vz-text);

    line-height:1.4;

}

.flight-request-summary{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:var(--vz-space-lg);

    background:var(--vz-white);

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

    border-radius:var(--vz-radius-md);

    padding:
        var(--vz-card-padding)
        var(--vz-space-lg);

}

.flight-request-route{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:var(--vz-space-sm);

    font-size:var(--vz-font-2xl);

    font-weight:600;

    color:var(--vz-text);

}

.flight-request-pax{

    font-size:var(--vz-font-md);

    color:var(--vz-text);

}

.flight-loading{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:var(--vz-space-lg);

    background:var(--vz-white);

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

    border-radius:var(--vz-radius-lg);

    padding:
        calc(var(--vz-space-2xl) * 2)
        var(--vz-space-2xl);

    margin-bottom:var(--vz-space-lg);

}

.flight-loading-spinner{

    width:42px;

    height:42px;

    border-radius:50%;

    border:4px solid var(--vz-border-color);

    border-top-color:var(--vz-purple);

    animation:
        flightSpin .8s linear infinite;

}

.flight-loading-text{

    font-size:var(--vz-font-lg);

    font-weight:600;

    color:var(--vz-text);

}

@keyframes flightSpin{

    to{

        transform:rotate(360deg);

    }

}
.return-route{

    border-top:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-blue);

    margin-top:var(--vz-space-xs);

    padding-top:var(--vz-space-lg);

}

/* =====================================================
   BAGGAGE
===================================================== */

.baggage-inline-list{

    display:flex;

    flex-wrap:wrap;

    gap:var(--vz-space-sm);

}

.baggage-inline-item{

    display:inline-flex;

    align-items:center;

    gap:var(--vz-space-xs);

    padding:
        var(--vz-space-xs)
        var(--vz-space-md);

    border-radius:999px;

    background:var(--vz-surface);

    color:var(--vz-text);

    font-size:var(--vz-font-xs);

    font-weight:600;

}

.baggage-inline-item small{

    color:var(--vz-text);

    font-size:var(--vz-font-xs);

    font-weight:500;

    opacity:.75;

}

.baggage-inline-empty{

    font-size:var(--vz-font-xs);

    color:var(--vz-text);

    opacity:.6;

}

.bag-icon{

    width:13px;

    height:13px;

    object-fit:contain;

    opacity:.9;

}

.flight-baggage-preview{

    margin-top:var(--vz-space-md);

    padding-top:var(--vz-space-sm);

    padding-left:var(--vz-card-padding);

    padding-bottom:var(--vz-space-sm);

    border-top:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

}

.flight-line-wrapper .flight-plane-icon{

    width:25px;

    height:25px;

    object-fit:contain;

    opacity:.9;

    display:block;

    transform:translateY(-4px)

}

.flight-request-route .flight-plane-icon{

    width:25px;

    height:25px;

    object-fit:contain;

    display:block;

    opacity:.9;

}
.filters-sidebar{

    width:280px;

    min-width:280px;

    display:flex;

    flex-direction:column;

    gap:16px;

}

.filter-card{

    background:var(--vz-white) !important;

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color) !important;

    border-radius:var(--vz-radius-lg) !important;

    padding:var(--vz-card-padding) !important;

    overflow:hidden;

    box-sizing:border-box;

    box-shadow:var(--vz-shadow-sm);

}

.filter-card h2,
.filter-card h3,
.filter-card .elementor-heading-title{

    font-size:var(--vz-font-lg);

    font-weight:700;

    color:var(--vz-text);

    margin-bottom:var(--vz-space-lg);

}

.filter-option{

    display:flex;

    align-items:center;

    gap:var(--vz-space-lg);

    padding:
        var(--vz-space-sm)
        var(--vz-space-xs);

    font-size:var(--vz-font-lg);

    color:var(--vz-text);

    cursor:pointer;

    transition:.2s ease;

    border-radius:var(--vz-radius-md);

}

.filter-option input{

    width:16px;

    height:16px;

    accent-color:var(--vz-accent);

}

.filter-option:hover{

    background:var(--vz-bg-soft);

}


.price-value{

    margin-top:var(--vz-space-xl);

    font-size:var(--vz-font-md);

    font-weight:800;

    color:var(--vz-text-dark);

}

.no-results{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:var(--vz-space-lg);

    background:var(--vz-white);

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

    border-radius:var(--vz-radius-lg);

    padding:
        calc(var(--vz-space-2xl) * 2)
        calc(var(--vz-space-2xl) * 1.5);

    margin-top:var(--vz-space-lg);

    text-align:center;

    min-height:320px;

    box-shadow:var(--vz-shadow-sm);

}

.no-results-icon{

    display:flex;

    align-items:center;

    justify-content:center;

}

.no-results-plane{

    width:82px;

    height:82px;

    object-fit:contain;

    opacity:.95;

}

.no-results-title{

    font-size:var(--vz-font-3xl);

    font-weight:800;

    color:var(--vz-text);

    line-height:1.2;

}

.no-results-text{

    max-width:420px;

    font-size:var(--vz-font-lg);

    line-height:1.6;

    color:var(--vz-text);

}

.results-count-text{

    font-size:var(--vz-font-3xl);

    font-weight:700;

    color:var(--vz-text);

}

/* =====================================================
   ACTIVE FILTER CHIPS
===================================================== */

#active-filters{

    display:flex;

    flex-wrap:wrap;

    gap:var(--vz-space-md);

    margin:
        var(--vz-space-sm)
        0
        var(--vz-space-xl);

}

.active-filter-chip{

    display:inline-flex;

    align-items:center;

    gap:var(--vz-space-md);

    border:none;

    border-radius:999px;

    background:var(--vz-accent);

    color:var(--vz-text);

    padding:
        var(--vz-space-md)
        var(--vz-space-xl);

    font-size:var(--vz-font-lg);

    font-weight:700;

    line-height:1;

    cursor:pointer;

    transition:all .18s ease;

    box-shadow:var(--vz-shadow-sm);

}

.active-filter-chip:hover{

    background:var(--vz-accent);

    transform:translateY(-1px);

    box-shadow:var(--vz-shadow-md);

}

.active-filter-chip span{

    display:flex;

    align-items:center;

    justify-content:center;

    width:18px;

    height:18px;

    border-radius:50%;

    background:rgba(0,0,0,.08);

    font-size:var(--vz-font-sm);

    font-weight:900;

    line-height:1;

}


/* ========================================
   OTA SORT TABS
======================================== */

.flight-sort-tabs{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:0;

    overflow:hidden;

    border-radius:var(--vz-radius-lg);

    background:var(--vz-white);

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

}


/* ========================================
   BUTTON
======================================== */

.flight-sort-btn{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:center;

    gap:var(--vz-space-sm);

    padding:
        var(--vz-space-2xl)
        var(--vz-space-2xl);

    border:none;

    background:var(--vz-white);

    cursor:pointer;

    transition:all .18s ease;

    position:relative;

    text-align:left;

    min-height:92px;

    color:var(--vz-text);

}


/* ========================================
   DIVIDERS
======================================== */

.flight-sort-btn:not(:last-child){

    border-right:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

}

/* ========================================
   HOVER
======================================== */

.flight-sort-btn:hover{

    background:var(--vz-accent);

    color:var(--vz-text);

}

/* ========================================
   ACTIVE
======================================== */

.flight-sort-btn.active{

    background:var(--vz-primary);

    color:var(--vz-white);

}

.flight-sort-btn.active
.sort-duration{

    color:
        rgba(255,255,255,.75);

}

/* ========================================
   TITLE
======================================== */

.sort-title{

    font-size:var(--vz-font-lg);

    font-weight:700;

    line-height:1.3;

    margin-bottom:var(--vz-space-sm);

}

/* ========================================
   PRICE
======================================== */

.sort-price{

    font-size:var(--vz-font-2xl);

    font-weight:800;

    line-height:1.2;

    margin-bottom:var(--vz-space-xs);

}

/* ========================================
   DURATION
======================================== */

.sort-duration{

    font-size:var(--vz-font-md);

    font-weight:500;

    color:var(--vz-text);

    opacity:.75;

    line-height:1;

}

/* ========================================
   ADVANCED SELECT
======================================== */

.flight-sort-advanced{

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:var(--vz-space-sm);

    padding:
        var(--vz-space-xl)
        var(--vz-space-2xl);

    min-height:92px;

    border-left:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-color);

    background:var(--vz-white);

}


.flight-sort-advanced select{

    width:100%;

    border:none;

    background:transparent;

    font-size:var(--vz-font-lg);

    font-weight:600;

    cursor:pointer;

    outline:none;

}

/* ========================================
   DETAILS BTN
======================================== */


.flight-details-btn:hover{

    background:var(--vz-primary) !important;

    color:var(--vz-white) !important;

    transform:translateY(-1px);

}

/* ========================================
   FLATPICKR OTA
======================================== */

.flatpickr-calendar{

    width:360px !important;

    border:none !important;

    border-radius:var(--vz-radius-lg) !important;

    overflow:hidden;

    box-shadow:var(--vz-shadow-lg) !important;

    font-family:'Montserrat',sans-serif;

    padding-bottom:var(--vz-space-lg);

}

/* ========================================
   HEADER
======================================== */

.flatpickr-months{

    background:var(--vz-white);

    padding:
        var(--vz-space-xl)
        var(--vz-space-xl)
        var(--vz-space-lg);

    border-bottom:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-blue);

}

.flatpickr-current-month{

    display:flex !important;

    align-items:center;

    justify-content:center;

    gap:var(--vz-space-lg);

    color:var(--vz-purple);

    font-size:var(--vz-font-3xl);

    font-weight:700;

    padding:0;

    height:auto;

}

.flatpickr-current-month
.flatpickr-monthDropdown-months{

    background:var(--vz-white);

    color:var(--vz-text-dark);

    font-weight:700;

    border:none;

    border-radius:var(--vz-radius-md);

    padding:
        var(--vz-space-xs)
        var(--vz-space-md);

}

.flatpickr-current-month
.numInputWrapper{

    color:var(--vz-white);

}

.flatpickr-current-month
.numInput{

    color:var(--vz-text-dark) !important;

    font-weight:700;

    font-size:var(--vz-font-3xl);

}

/* ========================================
   ARROWS
======================================== */

.flatpickr-prev-month svg,
.flatpickr-next-month svg{

    fill:var(--vz-text-dark) !important;

}

/* ========================================
   WEEK DAYS
======================================== */

span.flatpickr-weekday{

    color:var(--vz-text-light);

    font-weight:700;

}

/* ========================================
   DAYS
======================================== */

.flatpickr-day{

    border-radius:var(--vz-radius-md);

    font-weight:600;

}

.flatpickr-day.selected{

    background:var(--vz-accent) !important;

    border-color:var(--vz-accent) !important;

    color:var(--vz-text-dark) !important;

}

.flatpickr-day:hover{

    background:var(--vz-border-blue);

    border-color:var(--vz-border-blue);

}

/* ========================================
   TODAY
======================================== */

.flatpickr-day.today{

    border-color:var(--vz-primary);

}

/* ========================================
   DAYS SPACING
======================================== */

.flatpickr-days{

    width:100% !important;

}

.dayContainer{

    width:100% !important;

    min-width:100% !important;

    max-width:100% !important;

    padding:
        var(--vz-space-lg)
        var(--vz-space-xl);

}

.flatpickr-day{

    height:42px;

    line-height:42px;

    width:42px;

    max-width:42px;

    font-size:var(--vz-font-lg);

}

/* ========================================
   MONTH DROPDOWN
======================================== */

.flatpickr-monthDropdown-months{

    box-shadow:var(--vz-shadow-md);

}

/* =====================================================
   PAYMENT CHIPS
===================================================== */

.flight-payment-chip{

    display:flex;

    align-items:center;

    gap:var(--vz-space-md);

    padding:
        var(--vz-space-md)
        var(--vz-space-lg);

}

.flight-payment-chip-icon{

    width:22px;

    height:22px;

    flex-shrink:0;

}

.flight-payment-text{

    display:flex;

    flex-direction:column;

}

.flight-payment-title{

    font-size:var(--vz-font-lg);

    font-weight:600;

}

.flight-payment-date{

    font-size:var(--vz-font-sm);

    margin-top:var(--vz-space-xs);

    opacity:.8;

}

.flight-payment-chip.hold{

    background:var(--vz-surface);

    color:var(--vz-turquoise);

}

.flight-payment-chip.instant{

    background:var(--vz-surface);

    color:var(--vz-accent);

}

.flight-payment-chip.credits{

    background:var(--vz-surface);

    color:var(--vz-turquoise);

}

/* =====================================================
   LOAD MORE
===================================================== */

.load-more-wrapper{

    display:flex;

    justify-content:center;

    margin:
        calc(var(--vz-space-2xl) * 1.5)
        0;

}

.load-more-btn{

    background:var(--vz-primary);

    color:var(--vz-white);

    border:none;

    border-radius:var(--vz-radius-lg);

    padding:
        var(--vz-space-lg)
        calc(var(--vz-space-2xl) + var(--vz-space-lg));

    font-size:var(--vz-font-lg);

    font-weight:600;

    cursor:pointer;

    transition:all .2s ease;

}

.load-more-btn:hover{

    opacity:.9;

}

/* =====================================================
   FILTER TIME
===================================================== */

.filter-time-labels{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:var(--vz-space-lg);

    margin-bottom:var(--vz-space-md);

    font-size:var(--vz-font-sm);

    font-weight:600;

    color:var(--vz-text-light);

}

.filter-time-selects{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:var(--vz-space-lg);

}

.filter-time-selects select{

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-border-light) !important;

    border-radius:var(--vz-radius-md);

    background:var(--vz-white);

    color:var(--vz-text-dark);

    font-size:var(--vz-font-lg);

    font-weight:500;

    padding:
        var(--vz-space-md)
        var(--vz-space-lg);

    height:var(--vz-input-height);

    box-shadow:none;

    transition:all .2s ease;

}

.filter-time-selects select:hover{

    border-color:var(--vz-turquoise);

}

.filter-time-selects select:focus{

    border-color:var(--vz-turquoise);

    outline:none;

    box-shadow:
        0 0 0 3px
        rgba(0,188,212,.15);

}

/* ==================================
   SLIDERS VIAJALEA
================================== */

#max-price-filter,
#max-duration-outbound-filter,
#max-duration-inbound-filter{

    width:100%;

    margin-top:var(--vz-space-md);

    appearance:none;

    -webkit-appearance:none;

    background:transparent;

    cursor:pointer;

}

/* Barra */

#max-price-filter::-webkit-slider-runnable-track,
#max-duration-outbound-filter::-webkit-slider-runnable-track,
#max-duration-inbound-filter::-webkit-slider-runnable-track{

    height:6px;

    background:var(--vz-turquoise);

    border-radius:var(--vz-radius-pill);

}

#max-price-filter::-moz-range-track,
#max-duration-outbound-filter::-moz-range-track,
#max-duration-inbound-filter::-moz-range-track{

    height:6px;

    background:var(--vz-turquoise);

    border-radius:var(--vz-radius-pill);

}

/* Thumb */

#max-price-filter::-webkit-slider-thumb,
#max-duration-outbound-filter::-webkit-slider-thumb,
#max-duration-inbound-filter::-webkit-slider-thumb{

    appearance:none;

    -webkit-appearance:none;

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--vz-purple);

    border:2px solid var(--vz-white);

    margin-top:-6px;

    box-shadow:var(--vz-shadow-sm);

    cursor:pointer;

}

#max-price-filter::-moz-range-thumb,
#max-duration-outbound-filter::-moz-range-thumb,
#max-duration-inbound-filter::-moz-range-thumb{

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--vz-purple);

    border:2px solid var(--vz-white);

    box-shadow:var(--vz-shadow-sm);

    cursor:pointer;

}

/* =====================================================
   MOBILE FILTER CHIPS
===================================================== */

.mobile-filter-chips{

    display:flex;

    gap:var(--vz-space-lg);

    overflow-x:auto;

    overflow-y:hidden;

    white-space:nowrap;

    width:100%;

    max-width:100%;

    min-width:0;

    padding:
        var(--vz-space-lg)
        0;

    scrollbar-width:none;

}

.mobile-filter-chips::-webkit-scrollbar{

    display:none;

}

button.mobile-filter-chip{

    display:flex;

    align-items:center;

    gap:var(--vz-space-sm);

    flex:0 0 auto;

    background:var(--vz-accent);

    color:var(--vz-text);

    border:
        var(--vz-border-width)
        var(--vz-border-style)
        var(--vz-accent);

    border-radius:var(--vz-radius-pill);

    padding:
        var(--vz-space-lg)
        var(--vz-space-2xl);

    font-size:var(--vz-font-md);

    font-weight:600;

    line-height:1;

    white-space:nowrap;

    cursor:pointer;

    transition:all .2s ease;

}

button.mobile-filter-chip:hover{

    transform:translateY(-1px);

}

button.mobile-filter-chip.active{

    background:var(--vz-primary) !important;

    color:var(--vz-white);

    border-color:var(--vz-primary) !important;
}

button.mobile-filter-chip.active:hover,
button.mobile-filter-chip.active:focus{

    background:var(--vz-primary) !important;

    color:var(--vz-white) !important;

    border-color:var(--vz-primary) !important;

}


.mobile-filter-icon{

    width:14px;

    height:14px;

}

/* ========================================
   MOBILE FILTER MODAL
======================================== */

#mobile-filter-modal{

    position:fixed;

    inset:0;

    z-index:999999;

    display:none;

}

#mobile-filter-modal.active{

    display:block;

}

.mobile-filter-backdrop{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.55);

}

.mobile-filter-panel{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    background:#FFFFFF;

    border-radius:24px 24px 0 0;

    max-height:85vh;

    overflow:auto;

    padding:20px;

}

.mobile-filter-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:16px;

}

#mobile-filter-title{

    margin:0 !important;

    color:var(--vz-text-dark) !important;

    font-size:var(--vz-font-3xl) !important;

    font-weight:500 !important;

    line-height:1.1 !important;

}

#mobile-filter-close{

    border:none;

    background:none;

    color:var(--vz-primary);

    font-size:var(--vz-font-xl);

    font-weight:300;

    cursor:pointer;

}


#mobile-filter-content h4{

    font-size:var(--vz-font-lg);

    font-weight:700;

    color:var(--vz-primary);

    margin-bottom:var(--vz-space-lg);

}

#mobile-filter-content hr{

    border:none !important;

    border-top:1px solid var(--vz-border-color) !important;

    margin:16px 0 !important;

}

#mobile-filter-content .filter-option{

    display:flex;

    align-items:center;

    gap:var(--vz-space-lg);

    padding:
        var(--vz-space-sm)
        var(--vz-space-xs);

    font-size:var(--vz-font-lg);

    color:var(--vz-text);

    cursor:pointer;

    border-radius:var(--vz-radius-md);

}

#mobile-filter-content .filter-option input{

    width:16px !important;

    height:16px !important;

    accent-color:var(--vz-accent) !important;

}




/* ==================================================
   TABLET
================================================== */

@media (max-width:1024px){

    .flight-card-modern{

        grid-template-columns:1fr;

        grid-template-areas:
            "airline"
            "routes"
            "price"
            "footer";

    }

    .flight-card-airline{

        border-right:none;

        border-bottom:
            var(--vz-border-width)
            var(--vz-border-style)
            var(--vz-border-blue);

        padding:var(--vz-card-padding);

    }

    .flight-card-price{

        border-left:none;

        border-top:
            var(--vz-border-width)
            var(--vz-border-style)
            var(--vz-border-blue);

    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width:768px){

    /* Airport Search */

    .viajalea-airport-item{

        padding:
            var(--vz-space-md)
            var(--vz-card-padding);

    }

    .viajalea-airport-city{

        font-size:var(--vz-font-sm);

    }

    .viajalea-airport-name{

        font-size:var(--vz-font-xs);

    }

    .viajalea-airport-code{

        font-size:var(--vz-font-sm);

    }

    /* Request Summary */

    .flight-request-summary{

        flex-direction:column;

        align-items:flex-start;

        gap:var(--vz-space-sm);

        padding:
            var(--vz-space-md)
            0;

    }

    .flight-request-route{

        font-size:var(--vz-font-lg);

        gap:var(--vz-space-xs);

    }

    .flight-request-pax{

        font-size:var(--vz-font-sm);

    }

    /* Flight Cards */

    .flight-card-route{

        padding:
            var(--vz-space-md)
            var(--vz-space-lg);

        gap:var(--vz-space-lg);

    }

    .flight-card-airline{

        padding:var(--vz-space-lg);

    }

    .flight-airline-logo{

        width:32px;

        height:32px;

        margin-bottom:var(--vz-space-xs);

    }

    .flight-airline-name{

        font-size:var(--vz-font-sm);

    }

    .flight-airline-flight{

        font-size:var(--vz-font-xs);

    }

    .flight-main-time{

        font-size:var(--vz-font-xl);

    }

    .flight-airport-code{

        font-size:var(--vz-font-xs);

    }

    .flight-duration{

        font-size:var(--vz-font-xs);

    }

    .flight-stops{

        font-size:var(--vz-font-xs);

    }

    .flight-price-value{

        font-size:var(--vz-font-3xl);

    }

    .flight-price-note{

        font-size:var(--vz-font-xs);

    }

    .flight-details-btn{

        font-size:var(--vz-font-xs);

        padding:
            var(--vz-space-md)
            var(--vz-space-lg);

    }

    .flight-payment-chip{

        padding:
            var(--vz-space-lg)
            var(--vz-card-padding);

    }

    .flight-payment-title{

        font-size:var(--vz-font-sm);

    }

    .flight-payment-date{

        font-size:var(--vz-font-xs);

    }

    /* Filters */

    .filters-sidebar{

        width:100%;

        min-width:100%;

    }

    .filter-card{

        padding:var(--vz-card-padding) !important;

    }

    .filter-card h2,
    .filter-card h3,
    .filter-card .elementor-heading-title{

        font-size:var(--vz-font-lg);

    }

    .filter-option{

        font-size:var(--vz-font-sm);

    }

    /* No Results */

    .no-results{

        padding:
            calc(var(--vz-space-2xl) * 1.5)
            var(--vz-space-2xl);

        min-height:220px;

    }

    .no-results-title{

        font-size:var(--vz-font-3xl);

    }

    .no-results-text{

        font-size:var(--vz-font-sm);

    }

    .publicity-sidebar{

        display:none !important;

    }

}

@media (max-width:480px){

    .flight-sort-btn{

        padding:
            var(--vz-space-md)
            var(--vz-space-lg);

        min-height:72px;

        gap:var(--vz-space-xs);

    }

    .sort-title{

        font-size:var(--vz-font-sm);

    }

    .sort-price{

        font-size:var(--vz-font-xl);

    }

    .sort-duration{

        font-size:var(--vz-font-xs);

    }

    .flight-sort-advanced{

        padding:
            var(--vz-space-md)
            var(--vz-space-lg);

        min-height:72px;

    }

}