*{margin:0;padding:0;box-sizing: border-box; font-family: "Poppins", sans-serif;}

@font-face {
    font-family: MyFont;
    src: url("/assets/holidays/theme2/fonts/Inter/Inter-VariableFont_opsz\,wght.ttf");
}
:root{
    --dynamic-color: #148dd2;
    --secondary-color: #ff862f;
}
a{text-decoration:none;}

.form-control:focus{box-shadow:none;outline-color:var(--dynamic-color);}

@keyframes slideDown{
    from{
        transform: translateY(-100%);
    }
    to{
        transform: translateY(0);
    }
}

.top_header{
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    background:#fff;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.15);
   
}
.top_header .navbar{
    background:#fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 0px;
}

.top_header.is-sticky{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    animation: slideDown 0.35s ease-out;
}

@media (prefers-reduced-motion: reduce){
    .top_header.is-sticky{
        animation: none;
        transform: none;
    }
}

.top_main_search_btn{
    position: absolute; right: 7px; top: 11%; background: #fa7e2d; border: none; padding: 5px 5px; border-radius: 30px; width: 35px; height: 35px; display: flex; align-items: center; justify-content: center;
}
.main_header_search_box input{height: 45px; border-radius: 30px; width: 450px; padding: 10px 50px 10px 20px;}

.top_login,.top_header_user_btn{background: #148dd2; border: none; padding: 9px 18px; border-radius: 5px; color: #fff; font-size: 13px; display: flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer;}
.top_login img,.top_header_user_btn img{width: 15px; height: auto;}

.nav-currency-item .currency_toggle_btn{
    gap: 6px;
    padding: 8px 12px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
    font-weight: 600;
    font-size: 13px;
    color: #1e293b;
    box-shadow: 0 1px 3px rgba(15, 59, 96, .06);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.nav-currency-item.open .currency_toggle_btn{
    border-color: var(--dynamic-color);
    background: #fff;
}

.currency_toggle_ico{
    color: var(--dynamic-color);
    font-size: 14px;
}

.currency_current_sym{
    color: #64748b;
    font-weight: 600;
    font-size: 12px;
    margin-left: 2px;
}

.currency_chev i{
    font-size: 11px;
    color: #94a3b8;
    transition: transform .2s ease;
}

.nav-currency-item.open .currency_chev i{
    transform: rotate(180deg);
    color: var(--dynamic-color);
}

.currency_dropdown_menu{
    min-width: 260px !important;
    max-width: min(300px, 94vw);
    right: 0;
    left: auto;
}

.currency_dropdown_inner{
    padding:10px 10px;
}

.currency_list{
    list-style: none;
    margin: 0;
    padding: 0;
}

.currency_list li{
    margin: 0;
}

.currency_option{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    margin: 2px 0;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: background .2s ease, border-color .2s ease;
}

.currency_option:hover{
    background: #f4f9fc;
}

.currency_option.is-active{
    background: linear-gradient(135deg, #e8f4fc 0%, #f6fbff 100%);
    border-color: #b9ddf3;
}

.currency_opt_code{
    font-weight: 700;
    font-size: 14px;
    color: #0f172a;
    display: block;
}

.currency_opt_name{
    font-size: 11px;
    color: #64748b;
    font-weight: 500;
    margin-top: 2px;
    display: block;
}

.currency_option.is-active .currency_opt_code{
    color: var(--dynamic-color);
}

.navbar-nav .nav-item .nav-link{font-size:14px;}

.nav-dropdown-item{
    position: relative;
}

.dropdown-toggle-btn{
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #1a1a1a;
}

.dropdown-toggle-btn i{
    font-size: 12px;
    transition: transform .2s ease;
}

.nav-dropdown-item.open .dropdown-toggle-btn i{
    transform: rotate(180deg);
}

.custom-dropdown-menu{
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    min-width: 320px;
    background: #fff;
    border: 1px solid #e9eef5;
    border-radius: 14px;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .1);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all .2s ease;
    z-index: 99;
}

.nav-dropdown-item.open .custom-dropdown-menu{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-panel{
    padding: 16px;
}

.main_title{margin-bottom: 20px;}

.menu-overline{
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--dynamic-color);
    font-size: 11px;
    font-weight: 700;
}

.menu-subtext{
    margin: 6px 0 10px;
    color: #5c6773;
    font-size: 11px;
}

.explore-layout{
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.feature-box{
    background: linear-gradient(135deg, #ecf5ff, #f6fbff);
    border: 1px solid #dcecff;
    border-radius: 12px;
    padding: 10px;
}

.feature-box h5{
    margin: 0;
    font-size: 13px;
    color: #1f2a37;
}

.feature-link{
    text-decoration: none;
    color: #000;
    font-size: 11px;
    font-weight: 600;
}

.menu-link-list a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    color: #222;
    font-size: 13px;
    font-weight: 500;
    padding: 9px 0;
    border-bottom: 1px dashed #ebeff4;
}

.menu-link-list a:last-child{
    border-bottom: 0;
}

.menu-link-list a:hover{
    color: var(--dynamic-color);
}

.package-layout{
    width: 320px;
}

.package-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.package-card{
    border: 1px solid #e8edf3;
    border-radius: 10px;
    text-decoration: none;
    background: #fcfdff;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 74px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.package-card strong{
    color: #ffffff; font-size: 14px; position: absolute; bottom: 0; padding: 15px 1px 10px 10px; background: linear-gradient(0deg, black, #00000073, transparent); width: 100%;
}

.package-card small{
    color: #6b7280;
    font-size: 12px;
}

.package-card:hover{
    border-color: #bfd9f5;
    background: #f4f9ff;
}

.second-title{
    margin-top: 14px;
}

.tag-pill{
    background: #fff1de;
    color: #f1912a;
    border-radius: 5px;
    padding: 3px 10px;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600;
    border: 1px solid #f1912a;
}
.package-card img{width: 100%; height: 105px; object-fit: cover; border-bottom: 20px;}
.package-card .tag-pill{position: absolute; top: 7px; right: -5px; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;}

.search-popup-overlay{
    position: fixed;
    inset: 0;
    background: rgb(0 0 0 / 76%);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
    backdrop-filter:blur(4px);
}

.search-popup-overlay.show{
    display: flex;
}

.search_traveller_box{
    padding-top: 10px;
}

.search_traveller_heading{
    margin: 0 0 25px;
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
}

.search_traveller_cards{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.search_trav_card{
    margin: 0;
    padding: 0;
    border: 1px solid #dcdfe5;
    border-radius: 114px 114px 12px 12px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    transition:0.3s;

}

.search_trav_card:hover{
    border-color: var(--secondary-color);
    background: #f7fbfd;
    transform:translateY(-5px);
}

.search_trav_card:focus-visible{
    outline: 2px solid var(--secondary-color);
    outline-offset: 2px;
}

.search_trav_card_photo{
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: #fff;
}
.trip-7query-submit{padding:10px 10px;background:#1657b0;color:#fff;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;display:block;width:100%;border:none;margin-top:5px;}

.search_trav_card_photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.search_trav_card_name{
    display: block;
    padding: 8px 4px 9px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    color: #222;
    border-top: 1px solid #efefef;
}

@media (max-width: 620px){
    .search_traveller_cards{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.search_baggage_box{
    padding-top: 8px;
}

.search_trav_card.search_trav_card--static{
    cursor: default;
}

.search_baggage_title{
    margin: 0 0 14px !important;
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
}

.search_baggage_grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}

@media (max-width: 680px){
    .search_baggage_grid{
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 4px 2px 12px;
        margin: 0 -4px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #d6d3d1 transparent;
    }

    .search_baggage_grid::-webkit-scrollbar{
        height: 4px;
    }

    .search_baggage_grid::-webkit-scrollbar-thumb{
        background: #d6d3d1;
        border-radius: 4px;
    }

    .search_baggage_box .search_trav_card.search_baggage_card{
        flex: 0 0 calc(26% - 8px);
        min-width: 132px;
        max-width: 170px;
        scroll-snap-align: start;
    }
}

.search_baggage_box .search_trav_card.search_baggage_card{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid #d6d3d1;
    background: #fff;
    cursor: pointer;
    text-align: center;
    box-shadow: 2px 2px 0 #e7e5e4;
    transition:
        transform 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.search_baggage_box .search_trav_card.search_baggage_card:hover{
    transform: translate(-1px, -1px);
    border-color: #a8a29e;
    box-shadow: 3px 3px 0 var(--secondary-color);
}

.search_baggage_box .search_trav_card.search_baggage_card:active{
    transform: translate(0, 0);
    box-shadow: 1px 1px 0 #d6d3d1;
}

.search_baggage_box .search_trav_card.search_baggage_card:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
}

.search_baggage_card_mark{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    min-width: 1.25rem;
    padding: 7px 12px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.02em;
    color: var(--dynamic-color);
    background:#fff;
    border-radius: 0 0 4px 0;
}

.search_baggage_card_figure{
    position: relative;
    flex: 1;
    min-height: 108px;
    padding: 18px 8px 12px;
    background: #144467;
    border-bottom: 1px dashed #d6d3d1;
}

.search_baggage_card_figure img{
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 132px;
    margin: 0 auto;
    object-fit: contain;
    display: block;
}

@media (min-width: 681px){
    .search_baggage_card_figure{
        min-height: 118px;
        padding: 20px 10px 14px;
    }
    .search_baggage_card_figure img{
        max-height: 148px;
    }
}

.search_baggage_card_body{
    padding: 8px 6px 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: center;
    background: linear-gradient(180deg, #fafaf9 0%, #fff 100%);
}

.search_baggage_card_ttl{
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #1c1917;
    line-height: 1.25;
}

.search_baggage_card_ttl.search_trav_card_name{
    padding: 0;
    border: 0;
}

.search_baggage_card_sub{
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: #78716c;
    line-height: 1.25;
}

.search_baggage_note{
    margin: 14px 0 0;
    font-size: 12px;
    line-height: 1.5;
    color: #475569;
}

.search_baggage_note strong{
    color: #1e293b;
    font-weight: 600;
}

.airport_traveller_box{
    padding-top: 14px;
}

.airport_traveller_box .search_traveller_heading{
    margin-bottom: 15px;
}

.airport_pick_search_row{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px 0 16px;
    border: 2px solid #ffc8a0;
    border-radius: 10px;
    background: #fff;
}

.airport_pick_search_row:focus-within{
    box-shadow: rgba(0, 0, 0, 0.08) 0 3px 16px 0;
}

.airport_pick_search_ico{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    font-size: 15px;
}

.airport_pick_search{
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 0;
    border: 0;
    background: transparent;
    font-size: 14px;
    color: #222;
    border-radius: 0;
}

.airport_pick_search::placeholder{
    color: #888;
}

.airport_pick_search:focus{
    outline: none;
}

.airport_pick_list{
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    max-height: 250px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.airport_pick_list::-webkit-scrollbar { 
    display: none; 
  }

.airport_pick_list li{
    margin: 0;
    margin-bottom:10px;
}

.airport_pick_list li:last-child{
    border-bottom: none;
}

.airport_pick_opt{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 10px;
    text-align: left;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: inherit;
    border: 1px solid #e9e9e9;
    border-radius: 0px;
    border-top: 1px solid transparent;
    border-left: 1px solid transparent;
    border-right: 1px solid transparent;
}

.airport_pick_opt:hover{
    background: #ffeee2;
    border: 1px solid var(--secondary-color);
    color: var(--secondary-color);
    border-radius: 5px;
}
.airport_pick_opt:hover .airport_pick_line{
    color:var(--secondary-color);
}
.airport_pick_opt:hover .airport_pick_code{
    color:var(--secondary-color);
}

.airport_pick_opt.is-selected{
    background: #ffeee2;
    border: 1px solid var(--secondary-color);
    color: var(--secondary-color);
    border-radius: 5px;
}
.airport_pick_opt.is-selected .airport_pick_line{
    color:var(--secondary-color);
}
.airport_pick_opt.is-selected .airport_pick_code{
    color:var(--secondary-color);
}

.airport_pick_line{
    display: block;
    flex: 1;
    min-width: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #222;
}

.airport_pick_status{
    display: none;
    flex-shrink: 0;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--secondary-color, #c2410c);
}

.airport_pick_status i{
    font-size: 11px;
}

.airport_pick_opt.is-selected .airport_pick_status{
    display: inline-flex;
}

.airport_pick_city{
    font-weight: 500;
}

.airport_pick_mid{
    font-weight: 400;
    color: #555;
}

.airport_pick_code{
    font-weight: 400;
    color: #555;
}

.airport_pick_opt.is-selected .airport_pick_city{
    font-weight: 600;
}

.airport_pick_opt:focus-visible{
    outline: 1px dotted #333;
    outline-offset: 1px;
}

.date_calendar_box{
    padding-top: 14px;
}

.date_calendar_box .search_traveller_heading{
    margin-bottom: 10px;
}

.trip_cal{
    border: 1px solid #e5e9ef;
    border-radius: 12px;
    background: #fff;
    padding: 12px 12px 14px;
}

.trip_cal_toolbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.trip_cal_nav{
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #dce3eb;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.trip_cal_nav:hover:not(:disabled){
    background: #eef6fb;
    border-color: var(--dynamic-color);
    color: var(--dynamic-color);
}

.trip_cal_nav:disabled{
    opacity: 0.35;
    cursor: not-allowed;
}

.trip_cal_range{
    margin: 0;
    flex: 1;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
}

.trip_cal_months{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
}

@media (max-width: 560px){
    .trip_cal_months{
        grid-template-columns: 1fr;
    }
}

.trip_cal_month_title{
    margin: 0 0 8px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.trip_cal_weekdays{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 4px;
}

.trip_cal_weekdays span{
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.trip_cal_grid{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.trip_cal_pad{
    min-height: 34px;
}

.trip_cal_day{
    position: relative;
    min-height: 34px;
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 30px;
    background: transparent;
    font-size: 12px;
    width: 35px;
    font-weight: 600;
    color: #1e293b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.trip_cal_day:hover:not(:disabled):not(.is-selected){
    background: #f1f5f9;
}
.trip_cal_day.is-selected{
    border-color: var(--dynamic-color);
    background: var(--dynamic-color);
    color: #fff;
}

.trip_cal_day.is-today:not(.is-selected){
    background: #ffebde;
    border-color: var(--secondary-color);
    color: #e97c34;
}

.trip_cal_day.is-disabled{
    opacity: 0.35;
    cursor: not-allowed;
    color: #94a3b8;
}

.trip_cal_day.is-selected.trip_cal_day--low,
.trip_cal_day.is-selected.trip_cal_day--high{
    border-color: var(--secondary-color);
    background: var(--secondary-color);
}

.trip_cal_day:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 1px;
}

.trip_cal_legend{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 20px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

.trip_cal_legend_item{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 500;
    color: #64748b;
}

.trip_cal_legend_dot{
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
}

.trip_cal_legend_dot--low{
    background: rgb(220 252 231);
    border-color: rgb(34 197 94 / 45%);
}

.trip_cal_legend_dot--high{
    background: rgb(255 237 213);
    border-color: rgb(251 146 60 / 50%);
}

.login_box_destin{
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #eceff3;
}

.destin_login_shell{
    display:flex;
    flex-direction: row-reverse;
    max-width: 100%;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 8px 24px rgb(15 23 42 / 6%);
}

@media (max-width: 640px){
    .destin_login_shell{
        grid-template-columns: 1fr;
    }
}

.destin_login_hero{
    margin: 0;
    padding: 22px 20px 24px;
    background: url(/assets/holidays/theme2/images/login_right.jpg),linear-gradient(155deg, #0f172a 0%, #1e3a8a 42%, var(--dynamic-color) 100%);
    color: #fff;
    position: relative;
    width:40%;
    height: 440px;
    background-size: cover;
    background-position: center;
}

.destin_login_hero::after{
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 10px;
    pointer-events: none;
}

.destin_login_eyebrow{
    margin: 0 0 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.88;
}

.destin_login_hero_title{
    margin: 0 0 10px;
    font-size: clamp(1.15rem, 2.8vw, 1.45rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.destin_login_hero_title em{
    font-style: normal;
    color: var(--secondary-color);
}

.destin_login_hero_desc{
    margin: 0 0 14px;
    font-size: 12px;
    line-height: 1.5;
    opacity: 0.92;
}

.destin_login_points{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 11px;
    line-height: 1.4;
    opacity: 0.95;
}

.destin_login_points li{
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.destin_login_points .fa-circle-check{
    margin-top: 2px;
    opacity: 0.9;
    color: #86efac;
    font-size: 12px;
}

.destin_login_panel{
    padding: 22px 20px 24px;
    background: #f8fafc;
    width:60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid #e8ecf1;
    padding:90px;
}

@media (max-width: 640px){
    .destin_login_panel{
        border-left: none;
        border-top: 1px solid #e8ecf1;
    }
}

.destin_login_panel_title{
    margin: 0 0 14px;
    font-size: 22px;
    font-weight: 400;
    color: #0f172a;
    line-height: 1.35;
}

.destin_login_form{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.destin_login_field{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.destin_login_label{
    display: block;
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
}

.destin_login_phone{
    display: flex;
    align-items: center;
    min-height: 46px;
    border: 1px solid #c8c8c8;
    border-radius: 6px;
    background: #fff;
    transition: border-color 0.15s ease;
}

.destin_login_phone:focus-within{
    border-color: var(--secondary-color);
}

.destin_login_cc{
    flex-shrink: 0;
    padding: 0 12px 0 14px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    border-right: 1px solid #e0e0e0;
    line-height: 1;
}

.destin_login_input{
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 12px 14px 12px 12px;
    border: 0;
    font-size: 15px;
    color: #171717;
    background-color: transparent !important;
    letter-spacing: 0.03em;
}

.destin_login_input::placeholder{
    color: #a3a3a3;
}

.destin_login_input:focus{
    outline: none;
    background:transparent !important;
    background-color:transparent !important;
}

.destin_login_hint{
    margin: 7px 0 0;
    font-size: 11px;
    line-height: 1.4;
    color: #78716c;
}

.destin_login_cta{
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: var(--secondary-color);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, opacity 0.15s ease;
}

.destin_login_cta:hover:not(:disabled){
    background: #ea6f1f;
}

.destin_login_cta:active:not(:disabled){
    opacity: 0.92;
}

.destin_login_cta:disabled{
    background: #fff3eb;
    color: #78716c;
    border: 1px dashed var(--secondary-color);
    cursor: not-allowed;
    opacity: 1;
    color: var(--secondary-color);
}

.destin_login_step{
    width: 100%;
}

.destin_login_otp_lead{
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.45;
    color: #64748b;
}

.destin_login_phone_row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 18px;
    padding-bottom: 2px;
}

.destin_login_phone_display{
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    letter-spacing: 0.02em;
}

.destin_login_edit_phone{
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.destin_login_edit_phone:hover{
    border-color: var(--secondary-color);
    color: var(--secondary-color);
    background: #fff7ed;
}

.destin_login_otp_inputs{
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.destin_login_otp_digit{
    width: 100%;
    min-width: 0;
    max-width: 75px;
    aspect-ratio: 1;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: #0f172a;
    border: 1px solid #c8c8c8;
    border-radius: 8px;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    height: 50px;
}

.destin_login_otp_digit:focus{
    outline: none;
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 2px rgb(234 88 12 / 18%);
}

.destin_login_otp_resend{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 16px;
    min-height: 1.5em;
}

.destin_login_resend_status{
    margin: 0;
    font-size: 13px;
    color: #64748b;
}

.destin_login_resend_muted{
    color: #94a3b8;
    font-weight: 500;
}

.destin_login_resend_link{
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--secondary-color);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.destin_login_resend_link:hover{
    color: #ea6f1f;
}

#destinLoginStepOtp .destin_login_cta{
    margin-top: 0;
}

.room_select_box{
    padding-top: 20px;
    padding-bottom: 30px;

}

.room_select_head{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 12px;
    margin-bottom: 10px;
}

.room_select_box .room_select_title{
    margin: 0 0 15px;
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
}

.room_select_lead{
    margin: 0;
    font-size: 11px;
    line-height: 1.35;
    color: #64748b;
    flex: 1 1 auto;
    text-align: right;
    min-width: 12em;
}

.room_select_list{
    display: flex;
    flex-direction: column;
    gap: 20px;
    width:70%;
}

.room_select_card{
    position: relative;
    border: 1px solid var(--dynamic-color);
    border-radius: 12px;
    background: #fafbfc;
    overflow: hidden;
}

.room_select_remove{
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #94a3b8;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.room_select_remove:hover{
    border-color: #fecaca;
    background: #fef2f2;
    color: #dc2626;
}

.room_select_card--has-remove .room_select_fields{
    padding-right: 55px;
}

.room_select_card_inner{
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 0;
    align-items: stretch;
    min-height: 0;
 
}

@media (max-width: 420px){
    .room_select_card_inner{
        grid-template-columns: 1fr;
    }
    .room_select_meta{
        flex-direction: row;
        justify-content: flex-start;
        border-right: none;
        border-bottom: 1px solid #e8ecf1;
    }
}

.room_select_meta{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 6px;
    background: #e4f5ff;
    border-right: 1px solid #e8ecf1;
}

.room_select_meta_num{
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    color: var(--dynamic-color);
}

.room_select_meta_txt{
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #64748b;
}

.room_select_fields{
    padding: 15px 15px 15px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.room_select_counters{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
}

@media (max-width: 360px){
    .room_select_counters{
        grid-template-columns: 1fr;
    }
}

.room_select_counter{
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: space-between;
    padding: 8px 10px;
    border: 1px solid #e8ecf1;
    border-radius: 8px;
    background: #e4f5ff;
}

.room_select_counter_label{
    font-size: 11px;
    font-weight: 700;
    color: #1e293b;
}

.room_select_counter_label em{
    margin-top: 2px;
    font-style: normal;
    font-size: 10px;
    font-weight: 500;
    color: #94a3b8;
}

.room_select_counter .room_select_stepper{
    align-self: center;
}

.room_select_stepper{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-shrink: 0;
}

.room_select_step_btn{
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 1px solid #cbd5e1;
    background: #fff;
    border-radius: 999px;
    font-size: 15px;
    line-height: 1;
    color: #334155;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.room_select_step_btn:hover:not(:disabled){
    border-color: var(--dynamic-color);
    color: var(--dynamic-color);
    background: #f0f9ff;
}

.room_select_step_btn:disabled{
    opacity: 0.35;
    cursor: not-allowed;
}

.room_select_step_val{
    min-width: 24px;
    padding: 0 8px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    color: #0f172a;
}

.room_select_ages{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #cbd5e1;
}

.room_select_ages[hidden]{
    display: none !important;
}

.room_select_age_item{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.room_select_age_item label{
    font-size: 10px;
    font-weight: 600;
    color: #64748b;
}

.room_select_age_input{
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 6px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.room_select_age_input:focus{
    outline: none;
    border-color: var(--dynamic-color);
    box-shadow: 0 0 0 2px rgb(20 141 210 / 18%);
}

.room_select_actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.room_select_btn{
    min-width: 0;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 9px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.room_select_btn--outline{
    border: 1px solid var(--secondary-color);
    background: #fff0e6;
    color: var(--secondary-color);
}

.room_select_btn--outline:hover:not(:disabled){
    background:#fff4ec;
}

.room_select_btn--primary{
    border: 1px solid var(--dynamic-color);
    background: var(--dynamic-color);
    color: #fff;
}

.room_select_btn--primary:hover:not(:disabled){
    filter: brightness(1.05);
}

.room_select_btn:disabled{
    opacity: 0.5;
    cursor: not-allowed;
}

.trip-sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.trip-query-overlay{
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: max(12px, env(safe-area-inset-top)) 12px 12px;
    background: rgba(15, 23, 42, .55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity .35s ease;
}

.trip-query-overlay.is-open{
    display: flex;
    opacity: 1;
}

body.trip-query-open{
    overflow: hidden;
}

.trip-query-dialog{
    width: min(800px, 100%);
    max-height: min(92vh, 640px);
    border-radius: clamp(20px, 4vw, 36px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.trip-query-split{
    display: flex;
    flex: 1;
    min-height: 0;
    align-items: stretch;
}
.main_left_form_box{margin:30px 0px;flex: 0 0 40%;margin:auto;width:50px;}

.trip-query-banner-frame{
    position: relative;
    height: 440px;
    overflow: hidden;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
.inner_banner_slide_media{height:440px;}


.inner_banner_slide_media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.inner_banner_slide_shade{
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(12, 55, 72, .5) 0%, rgba(15, 30, 45, .78) 42%, rgba(6, 14, 24, .92) 100%);
}

.inner_banner_content--slide{
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: clamp(14px, 3.5vw, 22px) clamp(12px, 3vw, 18px) 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: transparent;
}

.inner_banner_slick{
    width: 100%;
    height: 100%;
}

.inner_banner_slick .slick-list{
    margin: 0;
    height: 440px !important;
}

.inner_banner_slick .slick-track{
    height: 100% !important;
}

.inner_banner_slide{
    position: relative;
    height: 440px;
    outline: none;
}

.inner_banner_slick .slick-slide{
    height: 440px;
    width:400px;
}



.inner_banner_slide_inner{
    width: 100%;
    max-width: 288px;
    margin: 0 auto;
    padding: 6px 0 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.inner_banner_slide_inner--left{
    align-items: flex-start;
    text-align: left;
    max-width: 100%;
    padding-left: 2px;
    padding-right: 6px;
}

.inner_banner_slide_head{
    margin: 0 0 4px;
    font-family: Outfit, "Poppins", sans-serif;
    font-size: clamp(0.95rem, 2.2vw, 1.12rem);
    font-weight: 700;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .4);
    line-height: 1.3;
    width: 100%;
}

.inner_banner_perks--sep li{
    border-bottom: 1px solid rgba(255, 255, 255, .22);
    padding-bottom: 11px;
    margin-bottom: 11px;
}

.inner_banner_perks--sep li:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.inner_banner_perks--strong li{
    font-weight: 600;
}

.trip-banner-dots-mount{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 36px;
    pointer-events: auto;
}

.trip-query-banner .trip-banner-dots-mount .slick-dots{
    position: static;
    bottom: auto;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin: 0;
}

.trip-query-banner .trip-banner-dots-mount .slick-dots li{
    margin: 0;
    width: auto !important;
    height: auto !important;
}

.trip-query-banner .trip-banner-dots-mount .slick-dots li button{
    width: 7px !important;
    height: 7px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, .35) !important;
    transition: background .2s ease, transform .2s ease !important;
}

.trip-query-banner .trip-banner-dots-mount .slick-dots li button:before{
    display: none;
}

.trip-query-banner .trip-banner-dots-mount .slick-dots li.slick-active button{
    background: #fff !important;
    transform: scale(1.2) !important;
}

.inner_banner_icons{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 10px;
    margin-bottom: 2px;
}

.inner_banner_icon-ring{
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .32);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #fff;
    font-size: 15px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .22);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.inner_banner_icon-ring:hover{
    transform: translateY(-2px);
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .5);
}

.inner_banner_badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    font-family: Outfit, "Poppins", sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .96);
    background: rgba(91, 110, 234, .42);
    border: 1px solid rgba(255, 255, 255, .28);
    margin-bottom: 2px;
}

.inner_banner_badge i{
    font-size: 10px;
    opacity: .9;
}

.inner_banner_perks{
    list-style: none;
    margin: 4px 0 6px;
    padding: 0;
    width: 100%;
    max-width: 268px;
    text-align: left;
}

.inner_banner_perks li{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255, 255, 255, .9);
    margin-bottom: 7px;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
}

.inner_banner_perks li:last-child{
    margin-bottom: 0;
}

.inner_banner_perks i{
    flex-shrink: 0;
    margin-top: 2px;
    color: #a5b4fc;
    font-size: 13px;
    width: 1.15em;
    text-align: center;
}

.inner_banner_subline{
    margin: 0;
    font-size: 11px;
    line-height: 1.45;
    color: rgba(255, 255, 255, .78);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    font-family: "Poppins", sans-serif;
    max-width: 280px;
}

.inner_banner_subline i{
    color: #fde047;
    font-size: 13px;
    flex-shrink: 0;
}

.trip-query-banner{
    position: relative;
    color: #fff;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    overflow: hidden;
}


.trip-query-banner-top,
.trip-query-banner-bottom{
    position: relative;
    z-index: 1;
    font-family: Outfit, "Poppins", sans-serif;
    font-weight: 700;
    text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}

.trip-query-banner-top{
    margin: 0;
    font-size: clamp(1.05rem, 2.4vw, 1.35rem);
    line-height: 1.35;
    letter-spacing: .02em;
}

.trip-query-banner-bottom{
    margin: 8px 0 0;
    font-size: clamp(1.2rem, 2.8vw, 1.55rem);
    letter-spacing: .04em;
}

.trip-query-right{
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background:#fff;
    border-radius:20px;
    overflow: hidden;
}

.trip-query-card{
    position: relative;
    flex: 1;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    overflow: hidden;
    overflow-y: auto;
    box-shadow: 0 1px 7px rgb(0 0 0 / 40%);
    font-family: "Poppins", sans-serif;
}

.trip-query-close{
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748b;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.trip-query-close:hover{
    background: #e2e8f0;
    color: var(--tq-text);
    transform: scale(1.05);
}

.trip-query-card-head{
    margin: 0 20px 20px 0;
}

.trip-query-card-title{
    margin: 0 0 8px;
    font-family: Outfit, sans-serif;
    font-size: clamp(1.1rem, 2.5vw, 1.35rem);
    font-weight: 700;
    color: var(--tq-text);
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.trip-query-card-lead{
    margin: 0 auto;
    max-width: 34em;
    font-size: 13px;
    line-height: 1.55;
    color: var(--tq-muted, #64748b);
}

.trip-query-card-lead em{
    font-style: italic;
    font-weight: 500;
    color: #475569;
}

.trip-query-form{
    display: flex;
    flex-direction: column;
}

.trip-query-grid{
    display: grid;
    gap: 0 20px;
    margin-bottom: 4px;
}

.trip-query-grid-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trip-query-grid-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trip-query-grid-selects{
    margin-top: 8px;
    margin-bottom: 8px;
}

.trip-field{
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}

.trip-field-float,
.trip-field-outline{
    position: relative;
    display: block;
    border: 1px solid #c9d1dc;
    border-radius: 10px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.trip-field-outline{
    padding: 16px 12px 10px;
}

.trip-field-float:focus-within,
.trip-field-outline:focus-within{
    border-color: var(--dynamic-color, #5b6eea);
    box-shadow: 0 0 0 3px rgba(91, 110, 234, 0.14);
}

.trip-field-float .trip-float-label{
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    transform-origin: left center;
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    line-height: 1.25;
    pointer-events: none;
    transition: top .2s ease, transform .2s ease, color .2s ease, font-size .2s ease;
    background: #fff;
    padding: 0 5px;
    z-index: 2;
    max-width: calc(100% - 32px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.trip-field-float .trip-float-label abbr{
    color: var(--tq-accent);
    text-decoration: none;
}

.trip-field-float .trip-float-optional{
    font-weight: 500;
    color: #94a3b8;
    font-size: .95em;
}

.trip-field-float input:not(.flatpickr-input),
.trip-field-float textarea,
.trip-field-float .flatpickr-alt-input.trip-flatpickr-display{
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: none;
    border-radius: 10px;
    background: transparent;
    font-size: 14px;
    outline: none;
    padding: 10px;
    min-height: 40px;
}

.trip-field-float textarea{
    min-height: 96px;
    resize: vertical;
    padding-top: 20px;
    line-height: 1.5;
}

.trip-field-float input::placeholder,
.trip-field-float textarea::placeholder{
    color: transparent;
}

.trip-field-float input:not(.flatpickr-input):focus ~ .trip-float-label,
.trip-field-float input:not(.flatpickr-input):not(:placeholder-shown) ~ .trip-float-label,
.trip-field-float textarea:focus ~ .trip-float-label,
.trip-field-float textarea:not(:placeholder-shown) ~ .trip-float-label,
.trip-field-float .trip-date-native:not(:placeholder-shown) ~ .trip-float-label,
.trip-field-float .flatpickr-alt-input.trip-flatpickr-display:focus ~ .trip-float-label,
.trip-field-float .flatpickr-alt-input:not(:placeholder-shown) ~ .trip-float-label,
.trip-field-float.trip-field-date .trip-float-label{
    top: 0;
    transform: translateY(-50%) scale(0.88);
    font-size: 12px;
    font-weight: 600;
    color: #334155;
}

.trip-field-float.trip-field-date .flatpickr-alt-input.trip-flatpickr-display::placeholder{
    color: transparent;
    opacity: 0;
}

.trip-field-date .trip-date-input-hint{
    position: absolute;
    left: 12px;
    top: 24px;
    right: 44px;
    font-size: 14px;
    line-height: 1.35;
    color: #94a3b8;
    pointer-events: none;
    z-index: 3;
    transition: opacity .15s ease;
}

.trip-field-date.trip-field-date--has-value .trip-date-input-hint{
    opacity: 0;
    visibility: hidden;
}

.trip-field-float .flatpickr-alt-input.trip-flatpickr-display{
    cursor: pointer;
    padding-right: 40px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6eea' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='17' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") no-repeat right 12px center / 16px 16px;
}

.trip-field-outline .trip-outline-label{
    position: absolute;
    top: 0;
    left: 10px;
    transform: translateY(-50%);
    padding: 0 6px;
    background: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tq-muted);
    z-index: 1;
}

.trip-field-outline .trip-outline-label abbr{
    color: var(--tq-accent);
    text-decoration: none;
}

.trip-field-outline select{
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: none;
    padding: 2px 24px 4px 2px;
    font-size: 14px;
    color: var(--tq-text);
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%235b6eea' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 2px center / 12px 8px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
}

.trip-query-message-title{
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #475569;
}

.trip-field-message-area{
    display: block;
    margin: 0;
}

.trip-field-message-area textarea{
    width: 100%;
    box-sizing: border-box;
    min-height: 104px;
    margin: 0;
    padding: 14px 16px;
    border: 1px dashed #b8c0cc;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--tq-text);
    background: #fff;
    resize: vertical;
    transition: border-color .2s ease, border-style .2s ease, box-shadow .2s ease;
}

.trip-field-message-area textarea::placeholder{
    color: #94a3b8;
}

.trip-field-message-area textarea:hover{
    border-color: #94a3b8;
}

.trip-field-message-area textarea:focus{
    outline: none;
    border-style: solid;
    border-color: var(--dynamic-color, #5b6eea);
    box-shadow: 0 0 0 3px rgba(91, 110, 234, 0.12);
}

@media (prefers-reduced-motion: reduce){
    .trip-field-float,
    .trip-field-float .trip-float-label,
    .trip-field-outline,
    .trip-field-message-area textarea{
        transition: none;
    }
}

.trip-query-submit{
    width: 100%;
    margin-top: 6px;
    padding: 14px 22px;
    border: none;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    color: #fff;
    background: var(--dynamic-color);
    box-shadow: 0 8px 24px rgba(91, 110, 234, .35);
    transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}


.trip-query-submit:active{
    transform: translateY(0);
}

.flatpickr-calendar{
    z-index: 10100 !important;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
    font-family: "Poppins", sans-serif;
    background: #fff;
    overflow: hidden;
}

.flatpickr-months .flatpickr-month{
    background: #f8fafc;
    color: var(--tq-text);
    fill: var(--tq-text);
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
    font-weight: 600;
    color: var(--tq-text);
}

.flatpickr-weekdays{
    background: #fff;
}

span.flatpickr-weekday{
    color: var(--tq-muted);
    font-weight: 600;
    font-size: 11px;
}

.flatpickr-day{
    border-radius: 8px;
    color: var(--tq-text);
}

.flatpickr-day:hover,
.flatpickr-day:focus{
    background: rgba(91, 110, 234, .12);
    border-color: transparent;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange{
    background: var(--tq-accent);
    border-color: var(--tq-accent);
    color: #fff;
}

.flatpickr-day.today{
    border-color: var(--tq-accent);
    color: var(--tq-accent);
}

.flatpickr-day.today.selected{
    color: #fff;
    background: var(--tq-accent);
}

.flatpickr-day.flatpickr-disabled{
    color: #d1d5db;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay{
    color: #9ca3af;
}

.flatpickr-arrow{
    fill: var(--tq-text);
}

@media (max-width: 767px){
    .trip-query-dialog{
        max-height: min(94vh, 900px);
    }

    .trip-query-split{
        flex-direction: column;
    }

    .trip-query-banner{
        flex: none;
    }

    .trip-query-banner-frame,
    .inner_banner_slick .slick-list,
    .inner_banner_slide,
    .inner_banner_slick .slick-slide{
        height: 220px !important;
    }

    .trip-query-right{
        flex: 1;
        padding: 16px 14px 18px;
    }

    .trip-query-card{
        max-width: none;
    }

    .trip-query-grid-2,
    .trip-query-grid-3{
        grid-template-columns: 1fr;
    }
}

.common_search-view_box{
    background: #fff;
    width: min(900px, 100%);
    border-radius: 18px;
    padding: 25px;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .2);
    overflow-y: auto;
}

.trip_flow_summary{
    margin: -25px -25px 18px -25px;
    padding: 0;
    background: linear-gradient(180deg, #f4f7fb 0%, #fafcfd 48%, #ffffff 100%);
    border-radius: 18px 18px 0 0;
    border-bottom: 1px solid #e8edf3;
    box-shadow: inset 0 -1px 0 rgb(255 255 255 / 0.85);
}

.trip_flow_summary_row{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 14px;
}

.trip_flow_summary_track{
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 2px;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgb(148 163 184 / 0.35) transparent;
}

.trip_flow_summary .trip_flow_close{
    flex-shrink: 0;
    align-self: center;
}

.trip_flow_summary_track::-webkit-scrollbar{
    height: 3px;
}

.trip_flow_summary_track::-webkit-scrollbar-thumb{
    background: rgb(20 141 210 / 0.25);
    border-radius: 3px;
}

button.trip_flow_summary_item{
    margin: 0;
    padding: 7px 11px 8px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
    color: #64748b;
    background: transparent;
    border: 1px solid transparent;
    white-space: nowrap;
    transition:
        color 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    text-align: center;
    position: relative;
}

button.trip_flow_summary_item:focus-visible{
    outline: 2px solid rgb(20 141 210 / 0.45);
    outline-offset: 2px;
}

button.trip_flow_summary_item:disabled{
    opacity: 0.48;
    cursor: not-allowed;
    color: #94a3b8 !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}


.trip_flow_summary_inner{
    display: inline-block;
    max-width: 28vw;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 640px){
   
    .trip_flow_summary_inner{
        max-width: none;
    }
}

.trip_flow_summary_item.is-filled:not(.is-active){
    color: #0f172a;
    font-weight: 600;
    background: rgb(255 255 255 / 0.65);
    border-color:var(--dynamic-color);
    border-top-color: transparent; border-left-color: transparent; border-right-color: transparent;
}

.trip_flow_summary_item.is-active{
    color:#000;
    font-weight: 600;
    background:transparent;
    border-color:var(--dynamic-color);
    border-top-color: transparent; border-left-color: transparent; border-right-color: transparent;
}

.trip_flow_summary_item.is-upcoming:not(.is-filled){
    color: #94a3b8;
    border-color: transparent;
    background: transparent;
    font-weight: 500;
    box-shadow: none;
}

.trip_flow_summary_sep{
    flex-shrink: 0;
    align-self: center;
    width: 1px;
    height: 18px;
    margin: 0 4px;
    border-radius: 1px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgb(203 213 225 / 0.95) 22%,
        rgb(203 213 225 / 0.95) 78%,
        transparent 100%
    );
}

.trip_flow_topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0px 0 5px;
}

.trip_flow_topbar.trip_flow_topbar--no-back{
    justify-content: flex-start;
    margin: 0;
    min-height: 0;
}

.trip_flow_topbar.trip_flow_topbar--no-back .trip_flow_topbar_start{
    display: none;
}

.trip_flow_back{
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f3f6fb;
    cursor: pointer;
    color: var(--dynamic-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: background 0.15s ease, color 0.15s ease;
    border: 1px solid;
}

.trip_flow_back:hover{
    border-color: var(--dynamic-color);
    color: var(--dynamic-color);
}

.trip_flow_close{
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f3f6fb;
    cursor: pointer;
    color: var(--dynamic-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background 0.15s ease, color 0.15s ease;
    border: 1px solid;  
}

/* .trip_flow_close:hover{
    background: #e8eef5;
    color: #0f172a;
} */

.search-popup-top{
    border: 1px solid #e4e8ef;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
}
.search-popup-top i{color:var(--dynamic-color);}

.search-popup-top input{
    border: 0;
    width: 100%;
    outline: none;
}

.search-popup-top button{
    border: 0;
    background: #f3f6fb;
    width: 28px;
    height: 28px;
    border-radius: 50%;
}

.search-popup-box h6{
    margin: 16px 0 10px;
    font-size: 18px;
}

.search-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.search-card{
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    border: 1px solid #ddd;
    padding: 5px;
    border-radius: 10px;
    margin-bottom: 10px;
}
.search-card:last-child{
    margin-bottom: 0px;
}
.search-card span{font-size: 11px; font-weight: 500;}

.search-card img{
    width: 50px;
    height: 50px;
    border-radius: 10px;
    object-fit: cover;
}

.search-card strong{
    color: #202939;
    display: block;
}


.hero_banner_box{
    position: relative;
    background: linear-gradient(180deg, #062a45 0%, #0d4a73 38%, #fff 38%);
    overflow: hidden;
}
.section_padding{padding:50px 0px;}


.trending_header{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
}
.trending_header h2{color:#fff !important;}
.main_title h2{
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    color: #000;
}

.budget_box .main_title{
    margin-bottom: 18px;
}

.budget_box .main_title h2{
    color: #1f2a37;
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    letter-spacing: .01em;
}

.budget_box .main_title p{
    margin: 8px 0 0;
    color: #5b6775;
    font-size: 14px;
}

.trend_tabs{
    position: relative;
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, .18);
    overflow: hidden;
}

.trend_tabs button{
    position: relative;
    z-index: 2;
    border: 0;
    background: transparent;
    border-radius: 999px;
    padding: 8px 18px;
    font-size: 13px;
    color: rgba(255, 255, 255, .85);
    transition: color .25s ease;
}

.trend_tabs button.active{
    color: var(--dynamic-color);
    font-weight:500;
}

.tab_slider_indicator{
    position: absolute;
    top: 4px;
    left: 0px;
    height: calc(100% - 8px);
    width: 50%;
    border-radius: 999px;
    background: #fff;
    z-index: 1;
    transition: transform .3s ease, width .3s ease;
}

.tab_slider{
    display: none;
}

.tab_slider.active{
    display: block;
    animation: tabContentSlide .35s ease;
}

@keyframes tabContentSlide{
    from{
        opacity: 0;
        transform: translateY(10px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

.trending_slider{
    position: relative;
    z-index: 1;
}

.destination_card{
    display: block;
    padding: 0 10px;
    text-decoration: none;
    color: inherit;
    outline: none;
}



.dest_card_inner{
    border-radius: 20px;
    overflow: hidden;
    border:1px solid #ddd;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    margin-bottom:10px;
    background: linear-gradient(0deg, #ffffff, #062d49, #0a3a5c);
}


.dest_card_head{
    padding:15px 10px 15px;
    text-align: center;
}

.dest_card_head h5{
    margin: 0;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .02em;
}

.dest_card_media{
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 16px;
}

.dest_card_media img{
    width: 100%;
    height: 210px;
    object-fit: cover;
    border-radius: 0;
    display: block;
    transform: scale(1) translate3d(0, 0, 0);
    transform-origin: 50% 42%;
    transition: transform 0.3s cubic-bezier(.25, .46, .45, .94);
}

.destination_card:hover .dest_card_media img{
    transform: scale(1.1) translate3d(-2.5%, -4%, 0);
}

.dest_card_foot{
    margin-top: -33px;
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 20px 16px 16px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10px;
    border:none;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    border-radius: 1px 30px 20px 15px;
}

.dest_card_meta{
    min-width: 0;
}

.dest_count{
    display: block;
    font-size: 13px;
    color: #4b5563;
    font-weight: 500;
}

.dest_price{
    display: block;
    margin-top: 4px;
    font-family: "Pacifico", cursive;
    font-size: 22px;
    color: #148dd2;
    line-height: 1.2;
}

.dest_go{
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #ff822c;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, transform .2s ease;
    transition:0.3s;
}
.dest_go svg path{fill:#fff;}
.dest_card_inner:hover .dest_go{border-radius:30px;}

.dest_card_inner:hover{background:#fff;}


.dest_card_inner:hover .dest_card_head h5{color:#000;}


.destination_card:hover .dest_go{
    transform: translateX(2px);
    background: #ff822c;
}

 .slick-prev,
 .slick-next{
    z-index: 3;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #0f5cb0 !important;
    
}
.slick-prev:before, .slick-next:before{display: none;}

.slick-prev:hover,
.slick-next:hover{
    background: #0c4b90;
}
.custom-slick-arrow:focus{background:var(--dynamic-color);}

.trending_slider .slick-prev{
    left: -12px;
}

.trending_slider .slick-next{
    right: -12px;
}

@media (max-width: 767px){
    .hero_banner_box{
        padding-top: 32px;
        background: linear-gradient(180deg, #062a45 0%, #0d4a73 28%, #fff 28%);
    }
    .trending_header{
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding-bottom: 40px;
    }
    .trending_header h2{
        font-size: 28px;
    }
}

.home_baner_box{
    background: linear-gradient(180deg, #ffffff, #f4f9ff);
}

.inner_home_slide{
    width: 100%;
    height: 520px;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 18px 35px rgba(6, 37, 70, .2);
}

.inner_home_slide video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Bootstrap modals above floating WhatsApp (widget uses z-index 9998) */
.modal{
    z-index: 10050;
}

.modal-backdrop{
    z-index: 10040;
}

.hero_overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(95deg, rgba(4, 22, 40, .74) 0%, rgba(4, 22, 40, .4) 45%, rgba(4, 22, 40, .2) 100%);
}

.hero_content{
    position: absolute;
    left: 48px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    max-width: 560px;
    color: #fff;
}

.hero_badge{
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .35);
}

.hero_content h1{
    margin: 14px 0 10px;
    font-size: 52px;
    line-height: 1.08;
    font-weight: 700;
}

.hero_content p{
    margin: 0;
    max-width: 520px;
    color: #eaf2ff;
}

.hero_cta_group{
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.hero_btn_primary,
.hero_btn_outline{
    text-decoration: none;
    border-radius: 999px;
    padding: 11px 20px;
    font-weight: 600;
    font-size: 14px;
}

.hero_btn_primary{
    background: linear-gradient(135deg, #ff9c4b, #ff7a22);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 5px;
}

.hero_btn_outline{
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .08);
}

.hero_stats{
    margin-top: 18px;
    display: flex;
    gap: 20px;
}

.hero_stats div{
    display: flex;
    flex-direction: column;
}

.hero_stats strong{
    font-size: 22px;
    line-height: 1;
}

.hero_stats span{
    font-size: 12px;
    color: #d6e5ff;
}

.hero_floating_card{
    position: absolute;
    z-index: 2;
    background: rgba(255, 255, 255, .92);
    border-radius: 14px;
    padding: 10px 14px;
    min-width: 210px;
    box-shadow: 0 12px 22px rgba(4, 22, 40, .2);
}

.hero_floating_card p{
    margin: 0;
    color: #61707f;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.hero_floating_card h6{
    margin: 4px 0;
    font-size: 16px;
}

.hero_floating_card span{
    font-size: 12px;
    color: var(--dynamic-color);
    font-weight: 600;
}

.left_card{
    left: 48px;
    bottom: 36px;
}

.right_card{
    right: 38px;
    top: 36px;
}

@media (max-width: 991px){
    .inner_home_slide{height: 500px;}
    .hero_content{left: 24px; max-width: 92%;}
    .hero_content h1{font-size: 38px;}
    .hero_floating_card{display: none;}
}

@media (max-width: 575px){
    .inner_home_slide{height: 430px; border-radius: 16px;}
    .hero_content h1{font-size: 30px;}
    .hero_cta_group{flex-wrap: wrap;}
    .hero_stats{gap: 12px; flex-wrap: wrap;}
}

.bottom_cut{position: absolute; left: 0; width: 100%; top: 25%;}
.bottom_cut img{width: 100%; height: auto;}


.budget_slider{
    margin: 0 -8px;
}

.budget_card{
    display: block;
    padding: 0 8px 10px;
    text-decoration: none;
    color: inherit;
}

.budget_media{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 260px;
}

.budget_media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform-origin: right center;
    transition: transform 1s cubic-bezier(.22,.61,.36,1);
}

.budget_card:hover .budget_media img{
    transform:translateX(50px) scale(1.20);
}

.budget_media::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, .45) 100%);
}

.budget_location{
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 2;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.budget_location i{
    font-size: 14px;
}

.budget_info{
    margin-top: 8px;
    border: 1px solid #d7dde6;
    border-radius: 999px;
    background: #eef2f6;
    min-height: 44px;
    padding: 8px 8px 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    position: relative;
}

.budget_info p{
    margin: 0;
    color: #606b78;
    font-size: 15px;
}

.budget_info p span{
    font-family: "Pacifico", cursive;
    color: var(--secondary-color);
    font-size: 24px;
    line-height: 1;
}

.budget_info::after{
    content: "Explore More";
    position: absolute;
    right: 10px;
    bottom: 4px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 35px;
    width: 35px;
    border-radius: 100px;
    background: url(/assets/holidays/theme2/images/arrow-up-right-dark.svg) no-repeat center center var(--dynamic-color);
    background-size: 20px;
    overflow: hidden;
    white-space: nowrap;
    color: transparent;
    font-size: 0;
    padding: 0;
    transition: 0.3s;
    font-size: 11px !important;
    font-weight: 600;
}
 .budget_card:hover .budget_info::after{
    width: auto;
    padding-left: 14px;
    padding-right: 36px;
    justify-content: flex-start;
    background: url(/assets/holidays/theme2/images/arrow-up-right-dark.svg) no-repeat  right 10px center var(--dynamic-color);
    background-size: 20px;
    color: #fff;
    font-size: 13px;
    transform: translateX(0);
}


.slick-dots{
   bottom:-40px !important;
}

.slick-dots li{
    width: 20px !important;
    height: 8px !important;
    border-radius: 999px;
    background: #e4e8ee;
    margin: 0 4px;
}
 .slick-dots li button{
    width: 100%;
    height: 100%;
    padding: 0;
}

.slick-dots li button:before{
    display: none;
}
 .slick-dots li.slick-active{
    background: var(--dynamic-color);
    width:40px !important ;
}
.budget_box{padding: 80px; background: url('/assets/holidays/theme2/images/budget/budget-bg.jpg') #000000db no-repeat; border-radius: 20px; background-position: center; background-size: cover; background-blend-mode: multiply; background-attachment: fixed;}


.travel_card_media{
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 230px;
}

.travel_card_media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}



.travel_nav_btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0;
    background: rgba(255, 255, 255, .94);
    color: #121212;
}

.travel_nav_btn.left{left: 12px;}
.travel_nav_btn.right{right: 12px;}

.travel_card_body{padding-top: 14px;}

.travel_top_meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.meta_chip{
    border: 1px solid #e1e6ef;
    background: #f4f6fa;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 11px;
    color: #1e4b8e;
    font-weight: 600;
}

.travel_rating{
    margin-left: auto;
    color: #1f2937;
    font-size: 15px;
    font-weight: 700;
}

.travel_rating i{color: #f4b322; font-size: 14px;}
.travel_rating small{font-size: 12px; font-weight: 500; color: #677587;}

.travel_package_card h3{
    margin: 14px 0 10px;
    font-size: 18px;
    color: #1b2634;
    font-weight: 600;
}

.travel_route{
    margin: 0 0 12px;
    color: #5d6775;
    font-size: 13px;
}

.travel_route strong{color: #1e5bb7;}

.travel_includes{
    display: flex;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px dashed #cfd7e3;
    padding-bottom: 12px;
}

.travel_includes span{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: #1f2937;
    font-size: 12px;
}

.travel_includes i{
    color: #f27f24;
    font-size: 23px;
}

.travel_price_row{
    margin-top: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.old_price_row{
    display: flex;
    align-items: center;
    gap: 8px;
}

.old_price_row del{
    color: #7d8591;
    font-size: 13px;
}

.off_badge{
    background: #ff7f2a;
    color: #fff;
    padding: 2px 4px;
    border-radius: 6px;
    font-size: 9px;
    font-weight: 600;
}

.travel_price p{
    margin: 4px 0 0;
    color: #4d5969;
    font-size: 13px;
}

.travel_price p strong{
    color: #121826;
    font-size: 22px;
}
.travel_price span{display: block;font-size:10px;}

.travel_details_btn{
    background: #1657b0;
    color: #fff;
    text-decoration: none;
    border-radius: 999px;
    padding: 8px 15px;
    font-weight: 600;
    white-space: nowrap;
    font-size: 14px;
}

/* Refined single package card style */

.travel_package_card{
    border: 1.5px solid var(--dynamic-color);
    border-radius: 35px;
    background: #f8fbff;
    position: relative;
    padding: 10px;
}
.package_header_box{padding: 15px 0px 0px 20px;}

.travel_card_body{
    padding: 12px 10px;
    margin-top: -37px;
    z-index: 1;
    position: relative;
    background: #f3f3f3;
    border-radius: 0px 49px 35px 35px;
    transition: background-color .6s ease, border-radius .6s ease, box-shadow .6s ease, transform .6s ease;
    will-change: background-color, transform;
}

.travel_place{
    margin: 0 0 4px;
    color: #5a626f;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.travel_place i{
    color: var(--dynamic-color);
}

.travel_package_card h3{
    margin: 0 0 12px;
    font-size: 22px;
    font-weight: 700;
    color: #0f3b60;
    line-height: 1.12;
   
}
.travel_package_card:hover .travel_card_body{
  background:var(--dynamic-color);border: none;
}
.travel_package_card:hover .travel_amount{
    color: #fff;
}
.travel_package_card:hover .travel_amount span{
    color: #fff;
}
.travel_package_card:hover .travel_rating_pill{
    background: #fff;
    color: var(--dynamic-color);
}
.travel_package_card:hover .travel_rating_pill i{
color:var(--dynamic-color);
}
.travel_package_card:hover .duration_icon{color:#fff;}
.travel_package_card:hover .duration_text small{color:#fff;}
.travel_package_card:hover .duration_text p{color:#fff;}
.travel_package_card:hover .duration_arrow_btn{background: #ffffff; color: #0f3b60;border-radius:30px;}

.travel_package_card .travel_card_media img{
    transform: scale(1) translate3d(0, 0, 0);
    transform-origin: 50% 42%;
    transition: transform 1.05s cubic-bezier(.25, .46, .45, .94);
}

.travel_package_card:hover .travel_card_media img{
    transform: scale(1.13) translate3d(-3.5%, -5%, 0);
}

.travel_card_media{
    height: 220px;
    position: relative;
    display: block;
    overflow: hidden;
    background-color: #edf2f5;
    border-radius: 20px 20px 0px 0px;
}

.travel_price_top{
    padding: 5px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.travel_amount{
    margin: 0;
    color: var(--dynamic-color);
    font-family: "Pacifico", cursive;
    font-size: 22px;
    line-height: 1;
}

.travel_amount span{
    font-family: "Poppins", sans-serif;
    color: #5d6672;
    font-size: 13px;
}

.travel_rating_pill{
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: var(--dynamic-color);
    border-radius: 30px;
    padding: 2px 10px;
    font-size: 13px;
    line-height: 20px;
    color: #fff;
}

.travel_rating_pill i{
    font-size: 9px;
}

.travel_duration_row{
    margin-top: 12px;
    border-top: 1px solid #d8dde6;
    padding-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.duration_icon{
    width: 45px;
    height: 45px;
    border: 1px solid #d6dce6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dynamic-color);
    font-size: 18px;
    flex-shrink: 0;
}

.duration_text{
    flex: 1;
}

.duration_text small{
    display: block;
    color: #616d7d;
    font-size: 12px;
}

.duration_text p{
    margin: 1px 0 0;
    color: #0f3b60;
    font-size: 15px;
    font-weight: 600;
}

.duration_arrow_btn{
    width: 45px;
    height: 45px;
    border-radius: 12px 30px 30px 12px;
    background: var(--dynamic-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 18px;
    transition:0.3s;
}


@media (max-width: 767px){
    .travel_package_card{
        padding: 14px;
        border-radius: 18px;
    }
    .travel_card_media{
        height: 240px;
        border-radius: 18px;
    }
    .travel_package_card h3{
        font-size: 32px;
    }
    .travel_place{
        font-size: 14px;
    }
    .travel_amount{
        font-size: 32px;
    }
    .travel_amount span{
        font-size: 13px;
    }
    .travel_rating_pill{
        font-size: 16px;
        padding: 5px 12px;
    }
    .travel_duration_row{
        gap: 8px;
    }
    .duration_icon{
        width: 46px;
        height: 46px;
        font-size: 18px;
    }
    .duration_text small{
        font-size: 12px;
    }
    .duration_text p{
        font-size: 16px;
    }
    .duration_arrow_btn{
        width: 46px;
        height: 46px;
        font-size: 18px;
    }
}

.testimonial_main_box{
    position: relative;
    background: #f5f8fb;
    border-radius: 24px;
    padding: 90px 0px 90px 193px;
    overflow: hidden;
    z-index:1;
}

.testimonial_main_box::before{
    content: "";
    position: absolute;
    right: 0px;
    bottom: 0;
    width: 230px;
    height: 280px;
    background: linear-gradient(180deg, #dce9f5, #c6d8ea);
    border-radius: 120px 120px 0 0;
    opacity: .55;
}

.testimonial_head{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-right: 70px;
    padding-left: 120px;
}

.testimonial_label{
    margin: 0 0 6px;
    color: var(--dynamic-color);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
}

/* Section eyebrow (avoid reusing .testimonial_label on non-testimonial blocks) */
.t2_eyebrow{
    margin: 0 0 6px;
    color: var(--dynamic-color);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.t2_eyebrow--on_dark{
    color: rgba(255, 255, 255, 0.92);
}

.testimonial_head h2{
    margin: 0;
    color: #0f3b60;
    font-size: 52px;
    font-weight: 700;
}

.all_testimonials{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 2px 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .01em;
    color: #0f3b60;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background-image: linear-gradient(var(--dynamic-color), var(--dynamic-color));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: color .22s ease, background-size .32s cubic-bezier(.22, 1, .36, 1);
    flex-shrink: 0;
}

.all_testimonials i{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 11px;
    color: var(--dynamic-color);
    background: rgba(20, 141, 210, .12);
    transition: transform .24s ease, background .22s ease, color .22s ease;
}

.all_testimonials:hover{
    color: var(--dynamic-color);
    background-size: 100% 2px;
}

.all_testimonials:hover i{
    transform: translateX(3px);
    background: rgba(20, 141, 210, .2);
}

.all_testimonials:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 3px;
    border-radius: 2px;
}

.testimonial_slider{
    margin: 0 -10px;
    position: relative; right: -120px;
}

.testimonial_card{
    background: #e9f0f4;
    border-radius: 14px;
    padding: 18px;
    margin: 0 10px;
    min-height: 210px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    margin-bottom:10px;
}

.quote_mark{
    color: var(--dynamic-color);
    font-size: 20px;
}

.testimonial_card p{
    margin: 8px 0 14px;
    color: #2f3d4c;
    font-size: 17px;
    line-height: 1.45;
}

.testimonial_bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.rating_badge{
    background: #f3f7fa;
    border-radius: 999px;
    border: 1px solid #dbe3ea;
    padding: 8px 12px;
    color: #2a3847;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rating_badge i{
    color: var(--dynamic-color);
}

.author_box{
    display: flex;
    align-items: center;
    gap: 10px;
}

.author_box img{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}
.author_box small{font-size:11px !important;}

.author_box h6{
    margin: 0;
    color: #0f3b60;
    font-size: 16px;
}

.author_box small{
    color: var(--dynamic-color);
    font-size: 13px;
}
.left_bg_person{position: absolute; left: 0px; top: 0;z-index:-1;}


.desti_view_head{
    margin-bottom: 28px;
}

.desti_view_head h2{
    margin: 0 0 12px;
    font-size: 28px;
    font-weight: 700;
    color: #1a2b3d;
    line-height: 1.25;
}

.desti_view_desc{
    margin: 0 0 10px;
    color: #4a5568;
    font-size: 15px;
    line-height: 1.55;
    max-width: 900px;
}

.desti_read_more{
    color: var(--dynamic-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.desti_read_more i{
    font-size: 11px;
}

.desti_view_layout{
    display: grid;
    grid-template-columns: minmax(240px, 300px) 1fr;
    gap: 0;
    border-top: 1px solid #e4e9f0;
    padding-top: 24px;
}

.desti_side_nav{
    display: flex;
    flex-direction: column;
    border-right: 1px solid #e4e9f0;
    padding-right: 20px;
    margin-right: 24px;
}

.desti_nav_item{
    text-align: left;
    border: 0;
    background: transparent;
    padding: 14px 14px 14px 16px;
    font-size: 14px;
    color: #2d3e50;
    font-weight: 500;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
    line-height: 1.35;
}

.desti_nav_item:hover{
    background: #f6f8fb;
    color: var(--dynamic-color);
}

.desti_nav_item.active{
    border-left-color: var(--dynamic-color);
    color: var(--dynamic-color);
    font-weight: 600;
    background: #f0f6fb;
}

.desti_tags_col{
    min-height: 200px;
}

.desti_tag_panel{
    display: none;
    flex-wrap: wrap;
    gap: 10px;
    align-content: flex-start;
}

.desti_tag_panel.active{
    display: flex;
}

.desti_tag_panel a{
    display: inline-block;
    padding: 10px 16px;
    border: 1px solid #1077b1;
    border-radius: 8px;
    background: #fff;
    color: #1077b1;
    font-size: 14px;
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.desti_tag_panel a:hover{
    border-color: var(--dynamic-color);
    color:#fff;
    background:var(--dynamic-color);
    box-shadow: 0 2px 8px rgba(20, 141, 210, .12);
}

@media (max-width: 991px){
    .desti_view_layout{
        grid-template-columns: 1fr;
    }
    .desti_side_nav{
        flex-direction: row;
        flex-wrap: wrap;
        border-right: 0;
        border-bottom: 1px solid #e4e9f0;
        padding-right: 0;
        margin-right: 0;
        padding-bottom: 12px;
        margin-bottom: 16px;
        gap: 6px;
    }
    .desti_nav_item{
        border-left: 0;
        border-bottom: 3px solid transparent;
        padding: 10px 12px;
    }
    .desti_nav_item.active{
        border-left: 0;
        border-bottom-color: var(--dynamic-color);
        background: transparent;
    }
}

.site_footer{
    margin-top: 0;
    background:url('/assets/holidays/theme2/images/footer_bg.png') ,linear-gradient(180deg, #0a2740 0%, #061a2a 100%);
    color: #e8eef4;
    margin-top: 120px;
    background-size: cover;
}

.footer_mega{
    padding: 40px 0 36px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    margin-top: -60px;
}


.footer_mega_head{
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    padding-left: 16px;
    border-left: 4px solid var(--dynamic-color);
}

.footer_mega_label{
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
}

.footer_mega_title{
    margin: 0 0 12px;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.footer_mega_sub{
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(255, 255, 255, .62);
    max-width: 58ch;
}

.footer_destinations{
    padding: 40px 0 32px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.footer_section_title{
    margin: 0 0 22px;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    letter-spacing: .02em;
}

.footer_dest_grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px 28px;
}

.footer_dest_grid ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer_dest_grid li{
    margin-bottom: 10px;
}

.footer_dest_grid a{
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
    position: relative;
    padding: 5px 6px 5px 6px;
    margin: 0 -6px;
    border-radius: 8px;
    transition: color .28s ease, padding-left .28s ease, background-color .28s ease;
}

.footer_dest_grid a::before{
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    width: 12px;
    height: 2px;
    margin-top: -1px;
    border-radius: 2px;
    background: var(--dynamic-color);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .28s cubic-bezier(.22, 1, .36, 1);
}

.footer_dest_grid a:hover{
    color: #fff;
    padding-left: 22px;
    background: rgba(255, 255, 255, .07);
}

.footer_dest_grid a:hover::before{
    transform: scaleX(1);
}

.footer_trust_bar{
    position: relative;
    top:-60px;
}

.footer_trust_kicker{
    margin: 0 0 6px;
    padding-top: 22px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
}

.footer_trust_metro{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    text-align: left;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    padding: 15px;
}

.footer_trust_metro li{
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 18px 22px;
    position: relative;
    min-width: 0;
}

.footer_trust_metro li:not(:last-child){
    border-right: 1px solid #f0eeec;
}

.footer_trust_icon_top{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 9px;
    background: #f4f7fb;
    border: 1px solid #e8edf3;
}

.footer_trust_icon_top img{
    width: 26px;
    height: auto;
    display: block;
    object-fit: contain;
}

.footer_trust_icon_top i{
    color: var(--dynamic-color);
}

.footer_trust_copy{
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 1px;
}

.footer_trust_metro strong{
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-transform: none;
    color: #1c1917;
    line-height: 1.25;
    margin: 0;
}

.footer_trust_sub{
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #78716c;
    line-height: 1.4;
    max-width: none;
    margin: 0;
}

@media (max-width: 991px){
    .footer_trust_metro{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .footer_trust_metro li{
        border-right: 1px solid #f0eeec;
        border-bottom: 1px solid #f0eeec;
    }
    .footer_trust_metro li:nth-child(2n){
        border-right: 0;
    }
    .footer_trust_metro li:nth-last-child(-n+2){
        border-bottom: 0;
    }
}

@media (max-width: 575px){
    .footer_trust_metro{
        grid-template-columns: 1fr;
    }
    .footer_trust_metro li{
        border-right: 0 !important;
        padding: 16px 16px 18px;
        border-bottom: 1px solid #f0eeec !important;
    }
    .footer_trust_metro li:last-child{
        border-bottom: none !important;
    }
}

.footer_main{
    padding: 44px 0 36px;
}

.footer_main_layout{
    display: grid;
    grid-template-columns: minmax(240px, 1.05fr) minmax(280px, 1.35fr) auto;
    gap: 40px 48px;
    align-items: start;
}

.footer_brand_block{
    min-width: 0;
}

.footer_links_cluster{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 28px;
    min-width: 0;
}

.footer_link_col{
    min-width: 0;
}

.footer_link_col .footer_col_title{
    display: block;
    width: fit-content;
    padding: 0px 30px 8px 0px;
}

.footer_app_block{
    padding-top: 4px;
    min-width: 200px;
}

.footer_app_title{
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .85);
    padding-bottom: 8px;
    border-bottom: 2px solid var(--dynamic-color);
}

.footer_app_btns{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
}

.footer_store_btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.footer_store_btn:hover{
    background: rgba(255, 255, 255, .16);
    border-color: var(--dynamic-color);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .06);
}

.footer_store_btn i{
    font-size: 18px;
    opacity: .95;
}

.footer_qr_wrap{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer_qr_label{
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
    padding-bottom: 6px;
    border-bottom: 2px solid var(--dynamic-color);
    align-self: flex-start;
}

.footer_qr_placeholder{
    width: 112px;
    height: 112px;
    border-radius: 10px;
    border: 2px dashed rgba(255, 255, 255, .2);
    background: repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, .03),
        rgba(255, 255, 255, .03) 8px,
        rgba(255, 255, 255, .06) 8px,
        rgba(255, 255, 255, .06) 16px
    );
}

.footer_brand{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    text-decoration: none;
    transition: transform .28s ease;
}

.footer_brand img{
    width: 100px;
    object-fit: cover;
    border-radius: 10px;
    transition: box-shadow .28s ease, transform .28s ease;
}

.footer_brand:hover{
    transform: translateY(-2px);
}

.footer_brand:hover img{
    transform: scale(1.04);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.footer_brand span{
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    transition: color .28s ease;
}

.footer_brand:hover span{
    color: var(--dynamic-color);
}

.footer_about{
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 1.65;
    max-width: 340px;
}

.footer_social{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer_social a{
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.footer_social a svg {width:20px;height:20px;}
.footer_social a svg path{fill:#fff;}

.footer_social a:hover{
    background: var(--dynamic-color);
    color: #fff;
    transform: translateY(-2px);
}

.footer_col_title{
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--dynamic-color);
    display: inline-block;
}

.footer_links{
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer_links li{
    margin-bottom: 10px;
}

.footer_links a{
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
    position: relative;
    padding: 4px 0 4px 4px;
    transition: color .28s ease, padding-left .28s ease;
}

.footer_links a::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 12px;
    height: 2px;
    margin-top: -1px;
    border-radius: 2px;
    background: var(--dynamic-color);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .28s cubic-bezier(.22, 1, .36, 1);
}

.footer_links a:hover{
    color: #fff;
    padding-left: 18px;
}

.footer_links a:hover::before{
    transform: scaleX(1);
}

.footer_contact{
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer_contact p{
    margin: 0 0 10px;
    font-size: 14px;
    color: rgba(255, 255, 255, .85);
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer_contact i{
    color: var(--dynamic-color);
    width: 18px;
}

.footer_contact a{
    color: rgba(255, 255, 255, .9);
    text-decoration: none;
    background-image: linear-gradient(var(--dynamic-color), var(--dynamic-color));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    padding-bottom: 2px;
    transition: color .25s ease, background-size .28s cubic-bezier(.22, 1, .36, 1);
}

.footer_contact a:hover{
    color: #fff;
    background-size: 100% 2px;
}

.footer_bottom_bar{
    padding: 16px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    text-align: center;
}

.footer_bottom_bar p{
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, .5);
}

@media (max-width: 991px){
    .footer_mega_inner{
        padding: 22px 20px 26px;
    }
    .footer_mega_head{
        padding-left: 14px;
    }
    .footer_dest_grid{
        grid-template-columns: repeat(2, 1fr);
    }
    .footer_main_layout{
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .footer_links_cluster{
        grid-template-columns: repeat(2, 1fr);
    }
    .footer_link_col--legal{
        grid-column: 1 / -1;
    }
    .footer_app_block{
        min-width: 0;
    }
    .footer_app_btns{
        flex-direction: row;
        flex-wrap: wrap;
    }
    .footer_store_btn{
        flex: 1 1 140px;
    }
}

@media (max-width: 575px){
    .footer_dest_grid{
        grid-template-columns: 1fr;
    }
    .footer_links_cluster{
        grid-template-columns: 1fr;
    }
    .footer_link_col--legal{
        grid-column: auto;
    }
}

/* ========== Global mobile / tablet polish ========== */
html{
    overflow-x: hidden;
}

body{
    overflow-x: hidden;
    max-width: 100vw;
}

@media (max-width: 991px){
    .navbar-collapse{
        padding-top: 14px;
        margin-top: 10px;
        border-top: 1px solid #eee;
    }

    .navbar-collapse .main_header_search_box{
        width: 100%;
        max-width: 100%;
        margin-bottom: 10px;
    }

    .navbar-nav{
        width: 100%;
        align-items: stretch !important;
    }

    .navbar-nav .nav-item{
        width: 100%;
    }

    .nav-currency-item .currency_toggle_btn{
        width: 100%;
        justify-content: space-between;
        box-sizing: border-box;
    }

    .currency_dropdown_menu{
        min-width: 0 !important;
        width: 100%;
    }

    .navbar-nav .top_login{
        width: 100%;
        justify-content: center;
    }

    .main_header_search_box input{
        width: 100%;
        max-width: 100%;
    }

    .custom-dropdown-menu{
        position: static;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-top: 8px;
        transform: none !important;
        opacity: 1;
        visibility: visible;
        box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    }
    .bottom_cut{display:none;}

    .nav-dropdown-item:not(.open) .custom-dropdown-menu{
        display: none;
    }

    .nav-dropdown-item.open .custom-dropdown-menu{
        display: block;
    }

    .package-layout{
        width: 100%;
    }

    .homeslide_main_box.py-4{
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    .section_padding{
        padding: 40px 0;
    }

    .budget_box{
        padding: 32px 20px !important;
        background-attachment: scroll !important;
        border-radius: 16px !important;
    }

     .main_title h2{
        font-size: 20px;
    }
    .main_title p{font-size:12px !important;}

    .left_bg_person img{display:none;}
    .author_box h6{font-size:12px;}

    .testimonial_main_box{
        padding: 40px 20px 44px !important;
        margin-left: 0;
        margin-right: 0;
    }
    .all_testimonials{font-size:12px;}
    .all_testimonials i{width: 23px;
        height: 23px;}
    .testimonial_main_box::before{
        right: -80px;
  top: -80px;
    }

    .budget_location{font-size:16px;}
    .budget_info p span{font-size:16px;}

    .testimonial_head{
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .testimonial_head h2{
        font-size: 20px;
    }

    .testimonial_slider{
        margin: 0 !important;
        right: 0 !important;
    }

    .left_bg_person img{
        max-width: 140px;
        height: auto;
        opacity: .35;
    }

    .site_footer{
        margin-top: 64px !important;
    }

    .footer_mega{
        margin-top: -48px !important;
    }

    .travel_package_card h3{
        font-size: 22px !important;
    }

    .travel_amount{
        font-size: 22px !important;
    }

    .travel_packages_box .slick-prev{
        left: 2px !important;
    }

    .travel_packages_box .slick-next{
        right: 2px !important;
    }

    .travel_package_card.ms-3.me-3{
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }

    .desti_view_head h2{
        font-size: clamp(22px, 5vw, 28px);
    }

    .desti_tag_panel a{
        font-size: 13px;
        padding: 8px 12px;
    }
}

@media (max-width: 767px){
    .trend_tabs button{
        padding: 7px 14px;
        font-size: 12px;
    }

    .trending_slider .slick-prev{
        left: 2px !important;
    }

    .trending_slider .slick-next{
        right: 2px !important;
    }

    .budget_media{
        height: 220px;
    }

    .search-grid{
        grid-template-columns: 1fr;
    }

    .search-popup-box{
        padding: 14px;
        max-height: 90vh;
        overflow-y: auto;
    }

    .hero_content{
        left: 20px !important;
        right: 16px;
        max-width: none;
    }

    .navbar-toggler{
        border: 1px solid rgba(0, 0, 0, .12);
        padding: 0.4rem 0.55rem;
    }
}

@media (max-width: 575px){
    .section_padding{
        padding: 32px 0;
    }

    .inner_home_slide{
        height: 380px !important;
    }

    .hero_content h1{
        font-size: 22px !important;
        line-height: 1.12;
    }
    .hero_content p{font-size:12px;}
    .hero_btn_primary, .hero_btn_outline{font-size:12px;    padding: 8px 15px;}

    .hero_badge{
        font-size: 11px;
        padding: 6px 10px;
    }

    .hero_stats strong{
        font-size: 18px;
    }

    .budget_box{
        padding: 24px 14px !important;
    }

    .testimonial_main_box{
        padding: 28px 14px 36px !important;
        border-radius: 16px !important;
    }

    .testimonial_card{
        margin-left: 4px;
        margin-right: 4px;
    }

    .testimonial_card p{
        font-size: 13px;
    }

    .rating_badge{
        flex-wrap: wrap;
        font-size: 11px;
        padding: 5px 8px;
    }

    .travel_package_card h3{
        font-size: 18px !important;
    }

    .package_header_box{
        padding-left: 14px !important;
        padding-right: 10px !important;
    }
}

/* Holiday details — quick facts grid (under header info) */
.pkg-quick-facts{
    position: relative;
    margin-top: 20px;
    padding: 18px 16px 18px 20px;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.pkg-quick-facts__accent{
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(180deg, #0e7490 0%, var(--dynamic-color) 100%);
}

.pkg-quick-facts__grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pkg-quick-facts__item{
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pkg-quick-facts__ico{
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-top: 2px;
    font-size: 15px;
    color: #0d9488;
    color: var(--dynamic-color);
}

.pkg-quick-facts__line{
    font-size: 14px;
    line-height: 1.45;
    color: #999999;
}

.pkg-quick-facts__lbl{
    font-weight: 600;
    color: #111827;
}

.pkg-quick-facts__sep{
    font-weight: 600;
    color: #6b7280;
}

.pkg-quick-facts__val{
    font-weight: 400;
    font-size: 13px;
    color: #3e3e3e;
}

.pkg-quick-facts__val--accent{
    color: var(--dynamic-color);
    font-weight: 700;
}

@media (max-width: 991px){
    .pkg-quick-facts__grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 20px;
    }
}

@media (max-width: 575px){
    .pkg-quick-facts{
        padding: 16px 12px 16px 18px;
    }

    .pkg-quick-facts__grid{
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* Holiday details — stacked sections (no tabs) */
.pkg-detail-stack{
    max-width: 100%;
}

.pkg-detail-block{
    padding: 22px 0 26px;
    border-bottom: 1px solid #e5e7eb;
}

.pkg-detail-block--last{
    border-bottom: none;
    padding-bottom: 8px;
}

.pkg-detail-block__heading{
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    color: var(--dynamic-color);
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.pkg-detail-block__sub{
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 600;
    color: #0f172a;
}

.pkg-detail-block__itinerary{
    margin: 0;
    padding: 0 0 0 1.15rem;
    color: #334155;
    font-size: 14px;
    line-height: 1.65;
}

.pkg-detail-block__itinerary li{
    margin-bottom: 10px;
}

.pkg-detail-block__itinerary li strong{
    color: #1e293b;
}

.pkg-detail-block__list{
    margin: 0;
    padding-left: 1.1rem;
    color: #334155;
    font-size: 14px;
    line-height: 1.6;
}

.pkg-detail-block__list li{
    margin-bottom: 8px;
}

.pkg-detail-block__para{
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.65;
    color: #475569;
    max-width: 52rem;
}

.pkg-detail-block__para:last-child{
    margin-bottom: 0;
}

.pkg-detail-block__para a{
    color: var(--dynamic-color);
    font-weight: 600;
    text-decoration: none;
}

.pkg-detail-block__para a:hover{
    text-decoration: underline;
}

.pkg-detail-block__map{
    margin-top: 16px;
    padding: 36px 16px;
    text-align: center;
    background: repeating-linear-gradient(
        -12deg,
        #f8fafc,
        #f8fafc 8px,
        #f1f5f9 8px,
        #f1f5f9 16px
    );
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #64748b;
}

.pkg-detail-block__map span{
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.pkg-detail-block__map small{
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #94a3b8;
}

@media (max-width: 575px){
    .pkg-detail-block{
        padding: 18px 0 22px;
    }
}

/* Holiday details — day-wise accordion (itinerary) */
.pkg-day-acc{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pkg-day-acc__item{
    margin-bottom: 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.pkg-day-acc__item:last-child{
    margin-bottom: 0;
}

.pkg-day-acc__head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 16px 18px;
    border: none;
    background: #fff;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease;
}

.pkg-day-acc__head:hover{
    background: #fafafa;
}

.pkg-day-acc__head:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: -2px;
}

.pkg-day-acc__title{
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    letter-spacing: -0.01em;
}

.pkg-day-acc__item.is-open .pkg-day-acc__title{
    color: var(--secondary-color);
}

.pkg-day-acc__num{
    font-weight: 700;
    margin-right: 2px;
}

.pkg-day-acc__toggle{
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    color: #64748b;
    font-size: 13px;
}

.pkg-day-acc__toggle .pkg-day-acc__ico{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}

.pkg-day-acc__ico--open{
    display: none;
    font-size: 15px;
}

.pkg-day-acc__item.is-open .pkg-day-acc__toggle{
    color: var(--dynamic-color);
}

.pkg-day-acc__item .pkg-day-acc__ico--open{display:none;}

.pkg-day-acc__item.is-open .pkg-day-acc__ico--closed{
    display: none;
}

.pkg-day-acc__ico--open{
    display: none;
}

.pkg-day-acc__item.is-open .pkg-day-acc__ico--open{
    display: block;
}

.pkg-day-acc__body{
    padding: 0 14px 16px;
    border-top: 1px solid #f1f5f9;
}

.pkg-day-acc__body[hidden]{
    display: none !important;
}

/* Day stack: multiple itinerary cards inside one accordion */
.pkg-day-stack{
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-top: 14px;
}

/* Day timeline (reference-style rail + segment headers + transfer strip + hotel gallery) */
.pkg-day-timeline{
    padding-left: 22px;
    margin-left: 6px;
    border-left: 3px solid #e6e6e6;
    margin-top: 20px;
}

.pkg-tl-seg{
    position: relative;
    margin-bottom: 22px;
}

.pkg-tl-seg:last-child{
    margin-bottom: 0;
}

.pkg-tl-seg::before{
    content: "";
    position: absolute;
    left: -29px;
    top: 0px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--dynamic-color);
    box-shadow: 0 0 0 3px #fff;
    z-index: 1;
}

.pkg-tl-seg__head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding: 10px 0 12px;
    padding-top:0px;
    border-bottom: 1px solid #f1f5f9;
}

.pkg-tl-seg__label{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #475569;
}

.pkg-tl-seg__label i{
    font-size: 14px;
    color: var(--dynamic-color);
    opacity: 0.9;
}

.pkg-tl-seg__pill{
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--secondary-color);
    padding: 4px 10px;
    border-radius: 999px;
    background: rgb(255 240 230);
    border: 1px solid #ff862f;
}

.pkg-tl-seg__body{
    padding-top: 14px;
}

.pkg-tl-transfer{
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

.pkg-tl-transfer__thumb{
    flex-shrink: 0;
    width: 140px;
    border-radius: 10px;
    overflow: hidden;
    background: #f4f4f5;
    border: 1px solid #e5e7eb;
}

.pkg-tl-transfer__thumb img{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
}

.pkg-tl-transfer__main{
    min-width: 0;
    flex: 1;
}

.pkg-tl-transfer__title{
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.pkg-tl-transfer__lead{
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.55;
    color: #475569;
}

.pkg-tl-details{
    margin: 0 0 10px;
}

.pkg-tl-details__summary{
    list-style: none;
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: var(--dynamic-color);
    margin-bottom: 4px;
}

.pkg-tl-details__summary::-webkit-details-marker{
    display: none;
}

.pkg-tl-details__more{
    padding-top: 8px;
}

.pkg-tl-details__more p{
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.55;
    color: #64748b;
}

.pkg-tl-transfer__facts{
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    line-height: 1.5;
    color: #475569;
}

.pkg-tl-transfer__facts li{
    padding: 4px 0;
    border-top: 1px solid #f1f5f9;
}

.pkg-tl-transfer__facts li:first-child{
    border-top: none;
    padding-top: 0;
}

.pkg-tl-transfer__loc{
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.pkg-tl-transfer__loc i{
    color: var(--dynamic-color);
}

/* Hotel gallery card (hero + thumbs + detail) — day timeline */
.pkg-tl-hotel{
    display: grid;
    grid-template-columns: minmax(200px, 44%) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

.pkg-tl-hotel__gallery{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pkg-tl-hotel__hero{
    width: 100%;
    display: block;
    border-radius: 12px;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    background: #e2e8f0;
}

.pkg-tl-hotel__thumbs{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.pkg-tl-hotel__thumbs > img{
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    background: #f1f5f9;
}

.pkg-tl-hotel__thumb-more{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 0;
    aspect-ratio: 1;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0.82) 100%);
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: opacity 0.2s ease;
}

.pkg-tl-hotel__thumb-more:hover{
    opacity: 0.92;
    color: #fff;
}

.pkg-tl-hotel__thumb-more-n{
    font-size: 15px;
    font-weight: 800;
}

.pkg-tl-hotel__thumb-more-t{
    font-size: 9px;
    letter-spacing: 0.08em;
}

.pkg-tl-hotel__detail{
    min-width: 0;
}

.pkg-tl-hotel__score{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-bottom: 12px;
}

.pkg-tl-hotel__score-num{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    padding: 6px 10px;
    border-radius: 8px 8px 8px 2px;
    background: var(--dynamic-color);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

.pkg-tl-hotel__score-txt{
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.pkg-tl-hotel__score-sub{
    font-size: 12px;
    color: #94a3b8;
}

.pkg-tl-hotel__title-row{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 14px;
    margin-bottom: 6px;
}

.pkg-tl-hotel__name{
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.pkg-tl-hotel__stars{
    color: #ca8a04;
    font-size: 14px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.pkg-tl-hotel__stars-dim{
    color: #e2e8f0;
}

.pkg-tl-hotel__loc{
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.5;
    color: #64748b;
}

.pkg-tl-hotel__meta{
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
}

.pkg-tl-hotel__meta li{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: #334155;
    line-height: 1.45;
    padding: 6px 0;
    border-top: 1px solid #f1f5f9;
}

.pkg-tl-hotel__meta li:first-child{
    border-top: none;
    padding-top: 0;
}

.pkg-tl-hotel__meta i{
    margin-top: 2px;
    width: 18px;
    text-align: center;
    color: var(--dynamic-color);
    opacity: 0.85;
}

.pkg-tl-hotel__meta-note{
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
}

.pkg-tl-hotel__quote{
    margin: 0 0 16px;
    padding: 12px 14px 12px 40px;
    position: relative;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 10px;
}

.pkg-tl-hotel__quote-ico{
    position: absolute;
    left: 14px;
    top: 12px;
    color: #6366f1;
    font-size: 16px;
    opacity: 0.7;
}

.pkg-tl-hotel__quote p{
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.55;
    color: #475569;
}

.pkg-tl-hotel__quote footer{
    margin: 0;
}

.pkg-tl-hotel__quote-link{
    font-size: 12px;
    font-weight: 700;
    color: var(--dynamic-color);
    text-decoration: none;
}

.pkg-tl-hotel__quote-link:hover{
    text-decoration: underline;
}

.pkg-tl-hotel__room-head{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.pkg-tl-hotel__room-name{
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
}

.pkg-tl-hotel__room-hint{
    font-size: 12px;
    font-weight: 600;
    color: var(--dynamic-color);
}

.pkg-tl-hotel__room-spec{
    margin: 0 0 12px;
    font-size: 12px;
    line-height: 1.5;
    color: #64748b;
}

.pkg-tl-hotel__meal-title{
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.pkg-tl-hotel__meal-title i{
    color: var(--dynamic-color);
}

.pkg-tl-hotel__checks{
    margin: 0;
    padding: 0;
    list-style: none;
}

.pkg-tl-hotel__checks li{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.45;
    color: #334155;
    padding: 5px 0;
}

.pkg-tl-hotel__checks i{
    flex-shrink: 0;
    margin-top: 3px;
    color: #16a34a;
    font-size: 12px;
}

@media (max-width: 767px){
    .pkg-day-timeline{
        padding-left: 18px;
        margin-left: 4px;
    }

    .pkg-tl-seg::before{
        left: -27px;
    }

    .pkg-tl-transfer{
        flex-direction: column;
    }

    .pkg-tl-transfer__thumb{
        width: 100%;
        max-width: 200px;
    }

    .pkg-tl-hotel{
        grid-template-columns: 1fr;
    }
}

/* Itinerary inner cards — transfer / hotel / sightseeing (distinct layouts) */
.it-card{
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.it-card__split{
    display: grid;
    grid-template-columns: minmax(160px, 36%) minmax(0, 1fr);
    align-items: stretch;
}

.it-card__split--hotel{
    grid-template-columns: minmax(160px, 34%) minmax(0, 1fr);
}

.it-card__pic{
    background: #f1f5f9;
    min-height: 200px;
}

.it-card__pic img{
    display: block;
    width: 100%;
    height: 100%;
    min-height: 200px;
    object-fit: contain;
}

.it-card__pic--soft{
    padding: 12px;
    background: #f8fafc;
    min-height: 0;
}

.it-card__pic--soft img{
    min-height: 220px;
    height: auto;
    border-radius: 12px;
}

.it-card__pic--sight{
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: #fafafa;
    min-height: 0;
}

.it-card__sight-hero{
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

.it-card__sight-pair{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.it-card__sight-pair img{
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    min-height: 0;
}

.it-card__core{
    padding: 16px 18px 14px;
}

.it-card__topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 10px;
}

.it-chip{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.it-chip--transfer{
    background: #eef2ff;
    color: #3730a3;
}

.it-chip--road{
    background: #f1f5f9;
    color: #334155;
}

.it-chip--hotel{
    background: rgba(20, 141, 210, 0.12);
    color: #0b5a87;
}

.it-chip--sight{
    background: rgba(255, 134, 47, 0.14);
    color: #9a3412;
}

.it-card__pin{
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.it-card__h{
    margin: 0 0 14px;
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.it-kv{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.it-kv__cell{
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 2px;
    padding: 10px 11px;
    background: #f8fafc;
    border: 1px solid #eef2f6;
    border-radius: 10px;
    align-items: start;
}

.it-kv__ico{
    grid-row: 1 / -1;
    align-self: start;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #e0e7ff;
    color: #4338ca;
    font-size: 13px;
}

.it-kv--sight .it-kv__ico{
    background: #ffedd5;
    color: #c2410c;
}

.it-kv--road .it-kv__ico{
    background: #e2e8f0;
    color: #475569;
}

.it-kv__k{
    grid-column: 2;
    display: block;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #94a3b8;
}

.it-kv__v{
    grid-column: 2;
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.35;
}

.it-card__note{
    margin: 0;
    padding: 14px 18px 16px;
    font-size: 13px;
    line-height: 1.6;
    color: #475569;
    background: #fafafa;
    border-top: 1px solid #f1f5f9;
}

.it-card__addr{
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.5;
    color: #64748b;
}

.it-card__when{
    margin: 0 0 14px;
    font-size: 13px;
    color: #334155;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    line-height: 1.45;
}

.it-card__when i{
    margin-top: 2px;
    color: var(--dynamic-color);
}

.it-room{
    border-left: 4px solid var(--dynamic-color);
    padding: 12px 14px 12px 16px;
    background: #f8fafc;
    border-radius: 0 10px 10px 0;
}

.it-room__type{
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.it-room__tag{
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    background: var(--secondary-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 5px;
}

.it-room__fine{
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #64748b;
}

/* Simple polish: transfer image in a light frame; hotel chip spacing */
.it-card__pic--transfer{
    padding: 12px;
    background: #f4f4f5;
    min-height: 0;
}

.it-card__pic--transfer img{
    display: block;
    width: 100%;
    min-height: 200px;
    height: 100%;
    max-height: 280px;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
}

.it-card--hotel .it-card__core > .it-chip{
    margin-bottom: 8px;
}

.it-card__pic--soft img{
    object-fit: cover;
}

.it-card--hotel-compact .it-card__core{
    padding-bottom: 16px;
}

.it-card__rate{
    margin: 0 0 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    font-size: 13px;
}

.it-stars{
    color: #ca8a04;
    letter-spacing: 2px;
    font-size: 13px;
}

.it-stars--soft{
    color: #94a3b8;
}

.it-card__rate-num{
    font-weight: 800;
    color: #0f172a;
}

.it-muted{
    color: #94a3b8;
    font-size: 12px;
}

@media (max-width: 767px){
    .it-card__split,
    .it-card__split--hotel{
        grid-template-columns: 1fr;
    }

    .it-card__pic--transfer img{
        max-height: 220px;
    }

    .it-card__pic{
        min-height: 200px;
        max-height: 260px;
    }

    .it-card__pic img{
        max-height: 260px;
    }

    .it-kv{
        grid-template-columns: 1fr;
    }

    .pkg-day-acc__head{
        padding: 14px 14px;
    }

    .pkg-day-acc__title{
        font-size: 14px;
    }
}

.hl-gallery-thumbs{
    display: flex;
    gap: 10px;
    flex-direction: column;
    margin-bottom: 12px;
}

.hl-gallery-thumb{
    border: 2px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    background: #e2e8f0;
    width: 110px;
    height: 100px;
}

.hl-gallery-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all 0.4s;
}

.hl-gallery-thumb:hover img{
    transform: scale(1.2);
}


.elementor-icon-list-text{display: flex; gap: 10px; flex-wrap: wrap;    margin: 15px 0px;}
.thim-header-info{padding-left:0px;padding-left: 0px; display: flex; align-items: center; gap: 15px; flex-wrap: wrap;}
.thim-header-info li{list-style: none; font-size: 14px; color: #555;}

.hl-gallery-thumb.is-active{
    border-color: var(--dynamic-color, #5b6eea);
}

.hl-gallery-hero{
    position: relative;
    height: 430px;
    border-radius: 20px;
    overflow: hidden;
}

.hl-gallery-hero__trigger{
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: inherit;
    cursor: zoom-in;
    background: #111;
    text-align: left;
    overflow: hidden;
}

.hl-gallery-hero__trigger:focus-visible{
    outline: 3px solid var(--dynamic-color);
    outline-offset: 2px;
}

.hl-gallery-hero__trigger:hover .hl-gallery-hero__img{
    opacity: 0.94;
}

 .term-river-cruise{background: #148dd2; color: #fff; padding: 5px 5px; border-radius: 5px; font-size: 12px; display: flex; align-items: center; width: fit-content;}

.pkg-details_content{padding:20px 0px;}

.pkg-details_title{font-size: 28px; font-weight: 600; line-height: 1.4em;}

.term-rail-tour{background: var(--secondary-color); color: #fff; padding: 5px 5px; border-radius: 5px; font-size: 12px; display: flex; align-items: center; width: fit-content;}


.hl-gallery{height:500px;display: flex; gap: 10px;}

.holiday-list-main_box{height:500px;position: relative;}

.hl-gallery-hero__img{
    width: 100%;
    height:100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.hl-gallery-open{
    position: absolute;
    bottom: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 13px;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
}

.hl-gallery-open:hover{
    background: #f8fafc;
}

.hl-gallery-modal{
    position: fixed;
    inset: 0;
    z-index: 20050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    box-sizing: border-box;
}

.hl-gallery-modal.is-open{
    display: flex;
}

.hl-gallery-modal:fullscreen{
    padding: 0;
    background: #0a0a0a;
}

.hl-gallery-modal:fullscreen .hl-gallery-modal__backdrop{
    display: none;
}

.hl-gallery-modal__backdrop{
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.92);
    cursor: pointer;
}

.hl-gallery-modal__box{
    position: relative;
    z-index: 1;
    width: min(1020px, 100%);
    max-height: min(92vh, 900px);
}

.hl-gallery-modal__chrome{
    background: #161616;
    border: 1px solid #2d2d2d;
    border-radius: 6px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: min(92vh, 900px);
}

.hl-gallery-modal:fullscreen .hl-gallery-modal__box{
    width: 100%;
    max-height: 100vh;
    border-radius: 0;
    border: none;
}

.hl-gallery-modal:fullscreen .hl-gallery-modal__chrome{
    max-height: none;
    height: 100vh;
    height: 100dvh;
    border-radius: 0;
}

.hl-gallery-modal__head{
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 10px 12px 10px 14px;
    border-bottom: 1px solid #2a2a2a;
    background: #1c1c1c;
}

.hl-gallery-modal__label{
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8c8c8c;
}

.hl-gallery-modal__count{
    flex: 1;
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: #e8e8e8;
    text-align: center;
}

.hl-gallery-modal__head_btns{
    display: flex;
    align-items: center;
    gap: 4px;
}

.hl-gallery-modal__iconbtn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #3a3a3a;
    border-radius: 4px;
    background: #242424;
    color: #e5e5e5;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.hl-gallery-modal__iconbtn:hover{
    background: #2e2e2e;
    border-color: #4a4a4a;
    color: #fff;
}

.hl-gallery-modal__iconbtn:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
}

.hl-gallery-modal__stage{
    position: relative;
    flex: 1 1 auto;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 12px 8px;
    background: #0d0d0d;
}

.hl-gallery-modal__frame{
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: min(58vh, 520px);
    max-height: min(58vh, 520px);
}

.hl-gallery-modal:fullscreen .hl-gallery-modal__stage{
    flex: 1 1 auto;
    align-self: stretch;
    min-height: 0;
    padding: 6px 4px;
}

.hl-gallery-modal:fullscreen .hl-gallery-modal__frame{
    flex: 1 1 auto;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    position: relative;
    overflow: hidden;
}

.hl-gallery-modal__img{
    max-width: 100%;
    max-height: min(58vh, 520px);
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
    border-radius: 2px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
}

/* Fullscreen (browser): fill stage with image — cover, not letterboxed contain */
.hl-gallery-modal:fullscreen .hl-gallery-modal__img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    box-shadow: none;
}

/* Safari older fullscreen pseudo */
.hl-gallery-modal:-webkit-full-screen .hl-gallery-modal__stage{
    flex: 1 1 auto;
    align-self: stretch;
    min-height: 0;
    padding: 6px 4px;
}

.hl-gallery-modal:-webkit-full-screen .hl-gallery-modal__frame{
    flex: 1 1 auto;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    position: relative;
    overflow: hidden;
}

.hl-gallery-modal:-webkit-full-screen .hl-gallery-modal__img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    box-shadow: none;
}

.hl-gallery-modal:-webkit-full-screen .hl-gallery-modal__chrome{
    max-height: none;
    height: 100vh;
    height: 100dvh;
    border-radius: 0;
}

.hl-gallery-modal__nav{
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid #333;
    border-radius: 4px;
    background: #222;
    color: #ddd;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    align-self: center;
}

.hl-gallery-modal__nav:hover{
    background: #2c2c2c;
    color: #fff;
}

.hl-gallery-modal__nav:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
}

.hl-gallery-modal__cap{
    flex-shrink: 0;
    margin: 0;
    padding: 8px 14px 4px;
    font-size: 13px;
    line-height: 1.45;
    color: #b0b0b0;
    text-align: center;
    min-height: 1.45em;
}

.hl-gallery-modal__strip{
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    padding: 8px 12px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid #2a2a2a;
    background: #141414;
    scrollbar-width: thin;
    scrollbar-color: #444 #1a1a1a;
}

.hl-gallery-modal__strip-item{
    flex: 0 0 auto;
    width: 64px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 3px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 0.15s ease, border-color 0.15s ease;
    background: #000;
}

.hl-gallery-modal__strip-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hl-gallery-modal__strip-item:hover{
    opacity: 0.9;
}

.hl-gallery-modal__strip-item.is-active{
    opacity: 1;
    border-color: #f5f5f5;
}

.hl-gallery-modal__strip-item:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
}

.hl-gallery-modal__hint{
    flex-shrink: 0;
    margin: 0;
    padding: 6px 12px 10px;
    font-size: 11px;
    color: #5c5c5c;
    text-align: center;
    letter-spacing: 0.02em;
}

.hl-gallery-modal__hint kbd{
    display: inline-block;
    margin: 0 2px;
    padding: 2px 5px;
    font-size: 10px;
    font-family: ui-monospace, monospace;
    color: #8a8a8a;
    background: #222;
    border: 1px solid #333;
    border-radius: 3px;
}

@media (max-width: 576px){
    .hl-gallery-modal__nav{
        width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .hl-gallery-modal__frame{
        min-height: 42vh;
        max-height: 50vh;
    }

    .hl-gallery-modal__img{
        max-height: 50vh;
    }

    .hl-gallery-modal__head{
        flex-wrap: wrap;
    }

    .hl-gallery-modal__count{
        order: 3;
        flex: 0 0 100%;
        text-align: left;
        padding-top: 2px;
    }
}

@media (max-width: 576px){
    .hl-gallery-thumbs{
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
        padding-bottom: 4px;
    }

    .hl-gallery-thumb{
        flex: 0 0 26%;
    }
}
.home_list_banner{width:100%;background:url(../images/holiday-list/home-bg-list.jpg);background-size: cover;background-position: center;    height: 400px;}
.home_list_banner{    margin-top: 70px;padding: 120px 0px;}
.list_sarch_style{width:fit-content;margin:auto;}
.holi_list_home_search{width:fit-content;margin:auto;}
.holi_list_home_search h2{margin-bottom: 20px; color: #fff; font-size: 36px; font-weight: 600;}
.list_sarch_style input{height:53px;}
.list_sarch_style .top_main_search_btn{top:17% !important;}

/* Holiday list — package card */
.main_package_list_card{
    max-width: 100%;
}

.list_pkg_card{
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 28px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

.list_pkg_card__media::before{
    content: "";
    width: 91%;
    height: 90%;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 10%;
    bottom: 0;
    border: 0.1rem solid #ffffff;
    background: rgba(247, 247, 247, 0.1);
    box-shadow: 0rem 0rem 0.4rem 0rem rgba(0, 0, 0, 0.15);
    z-index: 1;
    opacity: 0;
}
.list_pkg_card:hover .list_pkg_card__media::before{opacity:1;}

.list_pkg_card__media{
    position: relative;
    background: #fff;
    overflow: hidden;
}

.list_pkg_card__media img{
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;

}
.list_pkg_card:hover .list_pkg_card__media img{
    transform: scale(1.2);
    border-radius: 0.8rem 0.8rem 0rem 0rem;
}

.list_pkg_card__floatbar{
    position: absolute;
    left: 22px;
    right: 22px;
    top: -45px;
    transform: translateY(50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: #fff;
    box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.15);
    z-index: 2;
}

.list_pkg_card__floatitem{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--secondary-color);    
}
.list_pkg_card__floatitem svg path{fill:var(--secondary-color);}

.list_pkg_card__floatitem i{
    font-size: 15px;
    opacity: 0.95;
}

.list_pkg_card__body{
    padding: 33px 20px 20px;
    position: relative;
}

.list_pkg_card__title{
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #111;
    line-height: 1.25;
    padding-top: 20px;
}

.list_pkg_card__route{
    margin: 0 0 14px;
    font-size: 13px;
    color: #757575;
    line-height: 1.4;
}

.list_pkg_card__divider{
    height: 1px;
    background: #e8e8e8;
    margin: 0 0 14px;
}

.list_pkg_card__icons + .list_pkg_card__divider{
    margin-top: 14px;
    margin-bottom: 0;
}

.list_pkg_card__icons{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    text-align: center;
}

.list_pkg_card__iconitem{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #757575;
    font-weight: 500;
    line-height: 1.2;
}

.list_pkg_card__iconwrap{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #5c6c7d;
    font-size: 17px;
}

.list_pkg_card__footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 16px;
}

.list_pkg_card__price{
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.list_pkg_card__from{
    font-size: 12px;
    color: #9e9e9e;
}

.list_pkg_card__price_row{
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
}

.list_pkg_card__amount{
    font-size: 22px;
    font-weight: 800;
    color: var(--secondary-color);
    line-height: 1;
}

.list_pkg_card__per{
    font-size: 12px;
    color: #9e9e9e;
    font-weight: 500;
}

.list_pkg_card__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 700;
    color: #fff !important;
    background: var(--secondary-color);
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
}

.list_pkg_card__btn:hover{
    background: #ef7822;
    color: #fff !important;
}

@media (max-width: 576px){
    .list_pkg_card__floatbar{
        align-items: stretch;
        gap: 8px;
    }

    .list_pkg_card__floatitem{
        justify-content: center;
        font-size: 11px;
    }
    .list_pkg_card__floatitem svg{width: 20px; height: 20px;}

    .list_pkg_card__icons{
        flex-wrap: wrap;
        row-gap: 12px;
    }

    .list_pkg_card__iconitem{
        flex: 0 0 20%;
        max-width: 20%;
        font-size: 9px;
    }
}

.main_package_list_card{width: 100%; display: grid; grid-template-columns: 1fr 1fr; flex-wrap: wrap; gap: 20px;}

.list_pkg_card{width:100%;}

/* Holiday list — breadcrumbs */
.new_bredcrums__list{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.5;
}

.new_bredcrums__item{
    display: inline-flex;
    align-items: center;
    color: #757575;
}

.new_bredcrums__item:not(:last-child)::after{
    content: "/";
    margin: 0 10px;
    color: #bdbdbd;
    font-weight: 400;
    pointer-events: none;
}

.new_bredcrums__item a{
    color: var(--dynamic-color);
    text-decoration: none;
    font-weight: 500;
}

.new_bredcrums__item a:hover{
    text-decoration: underline;
}

.new_bredcrums__item--current{
    color: #333;
    font-weight: 600;
}

/* Holiday list — compact support strip (tight, no card chrome) */
.hl_list_cta{
   padding:10px;
   border-bottom: 1px solid #ddd;
}

.hl_list_cta__row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    flex-wrap: wrap;
    padding: 10px 0px;
}

.hl_list_cta__line{
    margin: 0;
    flex: 1 1 220px;
    font-size: 12px;
    line-height: 1.5;
    color: #3d4852;
}

.hl_list_cta__lead{
    display: block;
    margin-bottom: 0px;
    color: #000000;
    font-weight: 500;
    font-size: 18px;
}

.hl_list_cta__telrow{
    display: inline-block;
    margin-top: 6px;
    white-space: nowrap;
}

.hl_list_cta__phone{
    color: var(--dynamic-color);
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.02em;
}

.hl_list_cta__phone:hover{
    text-decoration: underline;
}

.hl_list_cta__phone:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
    border-radius: 2px;
}

.hl_list_cta__sep{
    margin: 0 6px;
    color: #9ca3af;
    font-weight: 400;
}

.hl_list_cta__hours{
    color: #6b7280;
    font-size: 13px;
    font-weight: 500;
}

.hl_list_cta__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 0 0 auto;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: #fff !important;
    background: var(--dynamic-color);
    border-radius: 5px;
    text-decoration: none;
    border: 1px solid var(--dynamic-color);
    transition: background 0.15s ease;
}

.hl_list_cta__btn:hover{
    background: #0a2a44;
    color: #fff !important;
}

.hl_list_cta__btn:focus-visible{
    outline: 2px solid #0f3b60;
    outline-offset: 2px;
}

.hl_list_cta__btn i{
    font-size: 12px;
    opacity: 0.95;
}

@media (max-width: 480px){
    .hl_list_cta__telrow{
        white-space: normal;
    }

    .hl_list_cta__row{
        align-items: flex-start;
    }

    .hl_list_cta__btn{
        width: 100%;
        padding: 9px 14px;
    }
}

/* Holiday list — sidebar filters (panel header + grouped cards + list stack + segment track) */
@media (min-width: 992px){
    .main_packge-list_view_box .row > .hl_filters_col,
    .main_packge-list_view_box .row > .col-lg-3{
        align-self: flex-start;
        position: sticky;
        top: 96px;
        z-index: 4;
    }
}

.hl_filters{
    padding: 0;
    background: #fff;
    border: 1px solid #b8c5d4;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(15, 59, 96, 0.08);
}

.hl_filters__mclose{
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.hl_filters__mclose:hover{
    background: #e2e8f0;
    color: #000;
}

.hl_filters__mclose:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
}

.hl_filters__head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 14px 14px 14px 16px;
    background:#fff;
    border-bottom: 1px solid var(--secondary-color);
}

.hl_filters__head_main{
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.hl_filters__head_ico{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    background: #fff6f0;
    color: var(--secondary-color);
    font-size: 13px;
    border: 1px solid var(--secondary-color);
}

.hl_filters__title{
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #000000;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.hl_filters__reset{
    flex-shrink: 0;
    padding: 7px 12px;
    border: 1px solid var(--secondary-color);
    border-radius: 6px;
    background: var(--secondary-color);
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff !important;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.hl_filters__reset:hover{
    background: var(--secondary-color);
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff !important;
}

.hl_filters__body{
    padding: 12px;
}

.hl_filters__body::-webkit-scrollbar{
    width: 7px;
}

.hl_filters__body::-webkit-scrollbar-thumb{
    background: var(--secondary-color);
    border-radius: 4px;
}

.hl_filters__body::-webkit-scrollbar-track{
    background: #fff;
    border-radius: 4px;
}

.hl_filters__sect{
    margin: 0 0 10px;
    padding: 12px 12px 14px;
    border: none;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #d0dae4;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.hl_filters__sect:last-child{
    margin-bottom: 0;
}

.hl_filters__label{
    float: none;
    width: auto;
    display: block;
    padding: 0 0 2px;
    margin: 0 0 9px;
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.01em;
    color: #000000;
    border-bottom: 1px dashed #c5d0dc;
}

.hl_filters__hint{
    margin: -4px 0 10px;
    font-size: 11px;
    line-height: 1.45;
    color: #64748b;
}

.hl_filters__budget{
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #dfe7ee;
    border-radius: 6px;
    overflow: hidden;
    background: #f7fafc;
}

.hl_filters__budget li + li{
    border-top: 1px solid #e8edf2;
}

.hl_filters__pick{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 9px 10px 9px 12px;
    border-radius: 0;
    border-left: 3px solid transparent;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.hl_filters__pick:hover{
    background: #fff;
}

.hl_filters__pick:has(input:checked){
    border-left-color: var(--secondary-color);
    background: #ffecdf;
}

.hl_filters__pick input[type="radio"],
.hl_filters__pick input[type="checkbox"]{
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin: 0;
    accent-color: #d17432;
    cursor: pointer;
}

.hl_filters__sr{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.hl_filters__select{
    display: block;
    width: 100%;
    margin-top: 2px;
    padding: 9px 11px;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    color: #1e293b;
    background: #f7fafc;
    border: 1px solid #c5d0dc;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hl_filters__select:focus{
    outline: none;
    border-color: var(--dynamic-color);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(20, 141, 210, 0.2);
}

.hl_filters__pick_txt{
    font-size: 13px;
    font-weight: 500;
    color: #334155;
    line-height: 1.35;
}

/* Segmented control — grey track, white active pill */
.hl_filters__seg{
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 4px;
    background: #e2e8f0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
}

.hl_filters__seg--3 .hl_filters__seg_item{
    flex: 1 1 calc(33.333% - 0px);
    min-width: 0;
}

.hl_filters__seg--3 .hl_filters__seg_face{
    font-size: 10px;
    padding: 8px 3px;
    line-height: 1.2;
}

.hl_filters__seg_item{
    position: relative;
    flex: 1 1 calc(25% - 0px);
    min-width: 44px;
    cursor: pointer;
}

.hl_filters__seg_item input[type="radio"]{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.hl_filters__seg_face{
    display: block;
    text-align: center;
    padding: 8px 5px;
    font-size: 11px;
    font-weight: 800;
    color: #475569;
    background: transparent;
    border: none;
    border-radius: 6px;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    pointer-events: none;
}

.hl_filters__seg_item:hover .hl_filters__seg_face{
    color: #0f3b60;
}

.hl_filters__seg_item:has(input:checked) .hl_filters__seg_face{
    background: #fff;
    color: #0f3b60;
    box-shadow: 0 1px 3px rgba(15, 59, 96, 0.18);
}

.hl_filters__seg_item:has(input:focus-visible) .hl_filters__seg_face{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 1px;
}

@media (max-width: 991px){
    body.hl-mfilter-on{
        overflow: hidden;
    }

    .hl_filters_col{
        display: none !important;
    }

    .hl_filters_col.hl_filters_col--open{
        display: block !important;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        height: 100vh;
        height: 100dvh;
        z-index: 1050;
        margin: 0 !important;
        padding: 0;
        padding-top: env(safe-area-inset-top, 0);
        padding-bottom: env(safe-area-inset-bottom, 0);
        overflow: hidden;
        background: #e8eef4;
    }

    .hl_filters_col.hl_filters_col--open .hl_filters{
        position: relative;
        display: flex;
        flex-direction: column;
        min-height: 100%;
        max-height: none;
        height: 100%;
        border-radius: 0;
        border: none;
        box-shadow: none;
        overflow: hidden;
    }

    .hl_filters{
        position: static;
    }

    .hl_filters__mclose{
        display: inline-flex;
    }

    .hl_filters__head{
        flex-wrap: nowrap;
        flex-shrink: 0;
    }

    .hl_filters__body{
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        max-height: none;
    }
}

.mobile_filter_box{
    display: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--secondary-color);
    border-radius: 30px;
    background: #fff;
    color: var(--secondary-color);
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    z-index: 1040;
}

.mobile_filter_box i{
    font-size: 18px;
    line-height: 1;
}

@media (max-width: 991px){
    .mobile_filter_box{
        display: flex;
        position: fixed;
        right: max(16px, env(safe-area-inset-right, 0px));
        bottom: max(88px, calc(22vh + env(safe-area-inset-bottom, 0px)));
    }

    body.hl-mfilter-on .mobile_filter_box{
        visibility: hidden;
        pointer-events: none;
    }
}

/* Holiday list — destination picker (compact list, no marketing chrome) */
.search-popup--dest-only{
    align-items: flex-end;
    justify-content: center;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
}

@media (min-width: 576px){
    .search-popup--dest-only{
        align-items: center;
        padding: 20px;
    }
}

.search-popup_dest_modal{
    position: relative;
    width: min(100%, 460px);
    max-height: min(90vh, 620px);
    display: flex;
    flex-direction: column;
    background: #fafaf8;
    border: 1px solid #cfcfc7;
    border-radius: 20px;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

/* Holiday-list destination popup: close control — mobile only (desktop: backdrop tap still closes) */
.search-popup_dest_mclose{
    display: none;
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 6;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.06);
    color: #2c2c2c;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.search-popup_dest_mclose:hover{
    background: rgba(0, 0, 0, 0.1);
    color: #111;
}

.search-popup_dest_mclose:focus-visible{
    outline: 2px solid var(--dynamic-color);
    outline-offset: 2px;
}

@media (min-width: 576px){
    .search-popup_dest_modal{
        border-radius: 20px;
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
    }
    .holi_list_home_search h2{text-align:center;}
}

.search-popup_dest_field{
    background: #fff;
    flex-shrink: 0;
}

.search-popup_dest_sr{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.search-popup_dest_pill{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 10px 10px 20px;
    background: #fff;
    border-bottom: 1px solid #ddd;
    /* border-radius: 14px; */
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}


.search-popup_dest_pill_ico{
    flex-shrink: 0;
    color: #7a7d76;
    font-size: 14px;
}

.search-popup_dest_input{
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 9px 4px;
    font: inherit;
    font-size: 15px;
    color: #1a1d21;
    background: transparent;
    border: none;
}

.search-popup_dest_input::placeholder{
    color: #8a8d85;
}

.search-popup_dest_input:focus{
    outline: none;
}

.search-popup_dest_inp_clear{
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #e8e8e3;
    color: #4a4d45;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.search-popup_dest_inp_clear:hover{
    background: #dddcd6;
    color: #1a1d21;
}

.search-popup_dest_ul{
    list-style: none;
    margin: 0;
    padding: 6px 0 4px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
    background:#fff;
    padding:10px;
}
.search-popup_dest_ul::-webkit-scrollbar{
    display: none;
}

.search-popup_dest_ul .search-card{
    transition: background 0.12s ease;
}


.search-popup_dest_row{
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 5px;
    border: none;
    background: #fff;
    font: inherit;
    text-align: left;
    cursor: pointer;
    border-radius: 10px;
    margin-bottom: 5px;
    transition: 0.3s;
}
.search-popup_dest_row:hover{
    background: #ffe4d2;
    box-shadow: rgb(0 0 0 / 13%) 0px 3px 8px;
}

.search-popup_dest_row:focus-within,
.search-popup_dest_row:focus{
    outline: none;
}


.search-popup_dest_thumb{
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid #e8e8e4;
}

.search-popup_dest_meta{
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.search-popup_dest_name{
    font-size: 15px;
    font-weight: 500;
    color: #2c2c2c;
    line-height: 1.25;
}

.search-popup_dest_hit{
    padding: 0;
    margin: 0;
    background: transparent;
    color: var(--secondary-color);
    font-weight: 500;
}

.search-popup_dest_country{
    font-size: 11px !important;
    font-weight: 400;
    color:  #515151 !important;
}
@media only screen and (max-width: 600px) {
    .holi_list_home_search h2{text-align:center;font-size: 22px;}
    .search-popup--dest-only{width: 100%;   height: 100%;   top: 0;  background: #fff;}
    .mobile_search_popup{
        position: fixed;
        top: 0;
        box-shadow: none;
        border: none;
        border-radius: 0px;
    }
    .search-popup--dest-only .search-popup_dest_mclose{
        display: inline-flex;
    }
    .mobile_search_popup .search-popup_dest_field{
        padding-top: 48px;
    }
    .mobile_search_popup .search-card{margin-bottom:10px;padding: 0px;
        border: none;}
        .main_package_list_card{grid-template-columns: 1fr;}
    .list_pkg_card__title{font-size: 15px;}
    .list_pkg_card__iconwrap{font-size:16px;}
    .list_pkg_card__amount{font-size: 18px;}
    .list_pkg_card__btn{font-size: 12px;min-width: 80px;padding: 8px 18px;}
}
.pkg_breadcrumbs_list{margin:20px 0px;}
.pkg_breadcrumbs_list ul{padding-left: 0px; display: flex; align-items: center; gap: 10px;}
.pkg_breadcrumbs_list ul li{list-style: none;}
.pkg_breadcrumbs_list ul li a{text-decoration: none; color: #555; font-size: 14px;}
.pkg_breadcrumbs_list ul li a:hover{text-decoration: underline; color: var(--dynamic-color);}
.pkg_breadcrumbs_list ul li svg{width: 12px; height: 12px;}
.pkg_breadcrumbs_list ul li svg path{fill: #555;}
.pkg_breadcrumbs_list ul li svg path:hover{fill: var(--dynamic-color);}
.pkg_breadcrumbs_list ul li svg path:focus{fill: var(--dynamic-color);}
.pkg_breadcrumbs_list ul li svg path:active{fill: var(--dynamic-color);}
.pkg_breadcrumbs_list ul li svg path:visited{fill: var(--dynamic-color);}
.pkg_breadcrumbs_list ul li svg path:focus-within{fill: var(--dynamic-color);}


/* Index page mobile css  */
@media only screen and (max-width: 600px) {
    .main_left_form_box{
        display:none;
    }
    .trip-query-right{padding:0px;}
    .trip-query-overlay{align-items:flex-start !important;}
    .trip-query-form{overflow-y: auto;}
}

/* —— Header login modal (mobile + OTP) —— */
.auth-login-overlay{
    position: fixed;
    inset: 0;
    z-index: 9999999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: max(16px, env(safe-area-inset-top)) 16px 16px;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.auth-login-overlay.is-open{
    display: flex;
}

body.auth-login-noscroll{
    overflow: hidden;
}

.auth-login-backdrop{
    position: absolute;
    inset: 0;
    cursor: pointer;
}

.auth-login-dialog{
    position: relative;
    z-index: 1;
    width: min(400px, 100%);
    padding: 28px 24px 22px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18);
}

.auth-login-close{
    position: absolute;
    top: -14px;
    right: -14px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #52525b;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    transition: background 0.2s ease, transform 0.15s ease;
}

.auth-login-close:hover{
    background: #3f3f46;
}

.auth-login-title{
    margin: 0 0 22px;
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.auth-float-field{
    position: relative;
    margin-top: 10px;
}

.auth-float-input{
    width: 100%;
    padding: 16px 14px 12px;
    font-size: 15px;
    color: #0f172a;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-float-input:focus{
    border-color: var(--dynamic-color);
    box-shadow: 0 0 0 3px rgba(20, 141, 210, 0.15);
}

.auth-float-input::placeholder{
    color: #94a3b8;
}

.auth-float-label{
    position: absolute;
    left: 12px;
    top: 0;
    transform: translateY(-50%);
    padding: 0 5px;
    font-size: 12px;
    font-weight: 500;
    color: var(--dynamic-color);
    background: #fff;
    pointer-events: none;
    letter-spacing: 0.02em;
}

.auth-login-hint{
    margin: 8px 0 0;
    font-size: 12px;
    color: #94a3b8;
}

.auth-login-error{
    margin: 8px 0 0;
    font-size: 13px;
    color: #dc2626;
    font-weight: 600;
}

.auth-login-continue{
    width: 100%;
    margin-top: 18px;
    padding: 14px 16px;
    border: none;
    border-radius: 10px;
    background: var(--dynamic-color);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: filter 0.2s ease, transform 0.1s ease;
}

.auth-login-continue:hover{
    filter: brightness(1.05);
}

.auth-login-continue:active{
    transform: scale(0.99);
}

.auth-login-divider{
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 22px 0 16px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.auth-login-divider::before,
.auth-login-divider::after{
    content: "";
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

.auth-login-social{
    display: flex;
    justify-content: center;
    gap: 14px;
}

.auth-login-social-btn{
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    color: #334155;
    font-size: 20px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.auth-login-social-btn:hover{
    background: #f8fafc;
    border-color: #cbd5e1;
}

.auth-otp-sent{
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.5;
    color: #475569;
}

.auth-otp-sent strong{
    color: #0f172a;
}

.auth-otp-row{
    display: flex;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 6px;
}

.auth-otp-digit{
    width: 100%;
    min-width: 0;
    aspect-ratio: 1;
    max-width: 48px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-otp-digit:focus{
    border-color: var(--dynamic-color);
    box-shadow: 0 0 0 3px rgba(20, 141, 210, 0.15);
}

.auth-login-back{
    display: block;
    width: 100%;
    margin-top: 14px;
    padding: 0;
    border: none;
    background: none;
    color: var(--dynamic-color);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.auth-login-back:hover{
    color: #0b5a87;
}

@media (max-width: 400px){
    .auth-otp-digit{
        max-width: 42px;
        font-size: 16px;
    }
}
