/* ============================================================
   TravelPro - Ultra Premium CSS
   ============================================================ */
/* Fonts loaded locally via lib/localfonts/fonts.css in header.php */

:root {
    --primary:    #13357B;
    --primary-d:  #0d2557;
    --primary-l:  #1a4da6;
    --secondary:  #f5a623;
    --accent:     #e84393;
    --dark:       #080f1e;
    --light-bg:   #f7f9fc;
    --gradient:   linear-gradient(135deg, #13357B 0%, #1a5276 100%);
    --card-shadow: 0 10px 40px rgba(0,0,0,.10);
    --radius:     16px;
    --transition: .35s cubic-bezier(.4,0,.2,1);
}

/* ============================================================
   GLOBAL BASE
   ============================================================ */
body { font-family: 'Poppins', sans-serif; }
h1, h2 { font-family: 'Playfair Display', serif !important; font-weight: 800 !important; }
h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; font-weight: 700 !important; }

/* ============================================================
   SECTION TITLES
   ============================================================ */
.section-title {
    font-size: .78rem !important;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--secondary) !important;
    display: inline-block;
    padding: 6px 20px !important;
    background: rgba(245,166,35,.1);
    border-radius: 30px;
    border: 1px solid rgba(245,166,35,.3);
}
.section-title::before, .section-title::after { display: none !important; }
.section-about-title {
    font-size: .78rem !important;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--secondary) !important;
    display: inline-block;
    padding: 6px 20px !important;
    background: rgba(245,166,35,.1);
    border-radius: 30px;
    border: 1px solid rgba(245,166,35,.3);
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.bg-breadcrumb {
    background: linear-gradient(135deg, rgba(13,31,74,.88), rgba(26,82,118,.78)),
                url('../img/carousel-1.jpg') center/cover fixed !important;
    padding: 130px 0 60px !important;
}
.bg-breadcrumb h1 { font-size: 2.5rem; color: #fff !important; }
.bg-breadcrumb a { color: var(--secondary) !important; text-decoration: none; }
.bg-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.5); }
.bg-breadcrumb .breadcrumb-item.active { color: rgba(255,255,255,.7); }

/* ============================================================
   SPINNER
   ============================================================ */
#spinner.show { background: #fff; visibility: visible; opacity: 1; }
#spinner { opacity: 0; visibility: hidden; transition: opacity .5s ease-out, visibility 0s linear .5s; z-index: 99999; }
#spinner .spinner-border { width: 3.5rem; height: 3.5rem; border-width: 4px; color: var(--primary); }

/* ============================================================
   FLOATING BUTTONS — Minimal Icon-Pill, No Background
   ============================================================ */
/* Base: pill container, transparent, icon + hidden label */
.back-to-top,
.whatsapp-float,
.telegram-float {
    position: fixed;
    left: 16px;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0;
    height: 44px !important;
    min-width: 44px;
    border-radius: 22px !important;
    padding: 0 11px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none;
    z-index: 9999;
    cursor: pointer;
    overflow: hidden;
    transition: min-width .28s cubic-bezier(.4,0,.2,1), background .22s, box-shadow .22s !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
/* Hidden label (expands on hover) */
.back-to-top .fab-label,
.whatsapp-float .fab-label,
.telegram-float .fab-label {
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-width .28s cubic-bezier(.4,0,.2,1), opacity .2s, margin .28s;
    margin-left: 0;
    letter-spacing: .02em;
}
/* Hover state — reveal label + subtle pill BG */
.back-to-top:hover,
.whatsapp-float:hover,
.telegram-float:hover {
    box-shadow: 0 4px 18px rgba(0,0,0,.13) !important;
}
.back-to-top:hover .fab-label,
.whatsapp-float:hover .fab-label,
.telegram-float:hover .fab-label {
    max-width: 120px;
    opacity: 1;
    margin-left: 7px;
}
/* Icon base */
.back-to-top i,
.whatsapp-float i,
.telegram-float i {
    font-size: 1.35rem !important;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.18));
    transition: transform .2s;
}
.back-to-top:hover i,
.whatsapp-float:hover i,
.telegram-float:hover i { transform: scale(1.15); }

/* Back to Top — blue icon */
.back-to-top {
    bottom: 24px;
    color: var(--primary) !important;
}
.back-to-top i { color: var(--primary) !important; }
.back-to-top .fab-label { color: var(--primary); }
.back-to-top:hover { background: rgba(19,53,123,.1) !important; }

/* WhatsApp — green icon */
.whatsapp-float {
    bottom: 80px;
    color: #25d366 !important;
    animation: fabWaPulse 3.5s ease-in-out infinite;
}
.whatsapp-float i { color: #25d366 !important; }
.whatsapp-float .fab-label { color: #25d366; }
.whatsapp-float:hover {
    background: rgba(37,211,102,.1) !important;
    animation: none;
}
@keyframes fabWaPulse {
    0%,100% { filter: drop-shadow(0 0 0px rgba(37,211,102,0)); }
    50%      { filter: drop-shadow(0 0 6px rgba(37,211,102,.55)); }
}

/* Telegram — sky-blue icon */
.telegram-float {
    bottom: 136px;
    color: #229ed9 !important;
}
.telegram-float i { color: #229ed9 !important; }
.telegram-float .fab-label { color: #229ed9; }
.telegram-float:hover { background: rgba(34,158,217,.1) !important; }

@media (max-width: 576px) {
    .back-to-top, .whatsapp-float, .telegram-float { left: 8px; padding: 0 9px !important; }
    .back-to-top  { bottom: 20px; }
    .whatsapp-float { bottom: 74px; }
    .telegram-float { bottom: 128px; }
    /* labels hidden on mobile — too cramped */
    .back-to-top .fab-label,
    .whatsapp-float .fab-label,
    .telegram-float .fab-label { display: none !important; }
}

/* ============================================================
   TOPBAR
   ============================================================ */
.container-fluid.bg-primary.px-5 {
    background: linear-gradient(90deg, #09193d 0%, var(--primary) 100%) !important;
    box-shadow: 0 2px 15px rgba(0,0,0,.18);
}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); min-height: 86px; }
.sticky-top.navbar-light {
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 4px 24px rgba(19,53,123,.12);
}
/* Allow taller logo in navbar */
/* ── Logo: Premium Gold Brand Treatment ── */
@keyframes logoGlow {
    0%, 100% {
        filter:
            drop-shadow(0 3px 10px rgba(234,179,8,.50))
            drop-shadow(0 2px 6px  rgba(0,0,0,.20));
    }
    50% {
        filter:
            drop-shadow(0 5px 22px rgba(253,215,50,.80))
            drop-shadow(0 3px 12px rgba(0,0,0,.22));
    }
}
.logo-glow {
    animation: logoGlow 2.8s ease-in-out infinite;
    border-radius: 14px;
    transition: transform .35s ease, filter .35s ease;
    display: block;
}
.logo-glow:hover {
    transform: scale(1.07) translateY(-2px) !important;
    filter:
        drop-shadow(0 8px 32px rgba(253,215,50,1.0))
        drop-shadow(0 0  22px rgba(234,179,8,.70)) !important;
    animation-play-state: paused;
}

/* Navbar brand: subtle golden halo behind the logo */
.navbar-brand {
    padding: 5px 0 !important;
    position: relative;
}
.navbar-brand::before {
    content: '';
    position: absolute;
    inset: -4px -8px;
    border-radius: 18px;
    background: radial-gradient(ellipse at center, rgba(253,215,50,.13) 0%, transparent 70%);
    pointer-events: none;
    transition: opacity .35s;
    opacity: 0;
}
.navbar-brand:hover::before { opacity: 1; }

.navbar-brand img,
.navbar-light .navbar-brand img {
    height: 64px !important;
    max-height: 64px !important;
    width: auto !important;
    object-fit: contain !important;
}
.sticky-top.navbar-light .navbar-brand img {
    height: 50px !important;
    max-height: 50px !important;
}
.navbar-brand h1 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 800; color: var(--primary); letter-spacing: -0.5px;
    font-size: 1.45rem;
}
.navbar-light .navbar-nav .nav-link {
    font-family: 'Poppins', sans-serif;
    font-weight: 500; font-size: .9rem; letter-spacing: .2px;
    color: #333; padding: 20px 15px; transition: var(--transition);
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active { color: var(--primary); }
@media(min-width:992px) {
    .navbar-light .navbar-nav .nav-link { position: relative; }
    .navbar-light .navbar-nav .nav-link::after {
        content: '';
        position: absolute; bottom: 10px; left: 50%; right: 50%;
        height: 2px; border-radius: 2px;
        background: var(--secondary);
        transition: left .3s, right .3s;
    }
    .navbar-light .navbar-nav .nav-link:hover::after,
    .navbar-light .navbar-nav .nav-link.active::after { left: 15px; right: 15px; }
}
.dropdown-menu {
    border: none; border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,.13);
    padding: 12px;
}
.dropdown-item { border-radius: 8px; font-size: .88rem; font-weight: 500; transition: var(--transition); }
.dropdown-item:hover { background: rgba(19,53,123,.08); color: var(--primary); }

/* ============================================================
   HERO CAROUSEL
   ============================================================ */
.carousel-header .carousel-item img {
    height: 680px; object-fit: cover;
    filter: brightness(.6) saturate(1.1);
    transition: 8s ease;
}
.carousel-caption {
    position: absolute; top: 50%; transform: translateY(-50%);
    bottom: auto; text-align: center; padding: 30px 20px;
    background: linear-gradient(135deg, rgba(13,31,74,.55), rgba(26,82,118,.4));
    border-radius: 20px;
    backdrop-filter: blur(2px);
    left: 0 !important; right: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
    width: 100% !important; max-width: 100% !important;
}
.carousel-caption h4 {
    font-family: 'Poppins', sans-serif !important;
    font-size: .8rem !important; font-weight: 600;
    letter-spacing: 4px; color: var(--secondary) !important;
    background: rgba(245,166,35,.15);
    display: inline-block; padding: 6px 18px;
    border-radius: 30px; border: 1px solid rgba(245,166,35,.35);
    margin-bottom: 18px !important;
}
.carousel-caption h1 {
    font-size: clamp(2rem, 5.5vw, 4.5rem) !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 800; line-height: 1.1;
    text-shadow: 0 4px 30px rgba(0,0,0,.3);
    color: #fff !important;
}
.carousel-caption p { font-size: 1.05rem; opacity: .88; }
.btn-hover-bg { transition: var(--transition) !important; }
.btn-hover-bg:hover { background: #fff !important; color: var(--primary) !important; transform: translateY(-2px); }

/* ============================================================
   SEARCH BAR
   ============================================================ */
.search-bar { z-index: 10; top: -40px !important; }
@media(max-width:768px) { .search-bar { top: 0 !important; transform: none !important; position: static !important; margin-top: -20px; } }

/* ============================================================
   STATS SECTION
   ============================================================ */
.container-fluid.bg-primary.py-4 .counter {
    font-size: 2.8rem; font-weight: 800; line-height: 1;
}
.container-fluid.bg-primary.py-4 > .container > .row > div > div {
    padding: 20px; border-radius: 14px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    transition: var(--transition);
}
.container-fluid.bg-primary.py-4 > .container > .row > div > div:hover {
    background: rgba(255,255,255,.13);
    transform: translateY(-4px);
}

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.about-img { border-radius: 20px !important; box-shadow: var(--card-shadow) !important; }
.about .h-100[style*="border"] {
    border-width: 12px !important;
    border-radius: 20px;
    overflow: hidden;
}
.feature-check {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 0; font-weight: 500; font-size: .9rem;
}

/* ============================================================
   TOUR CARDS
   ============================================================ */
.tour-item {
    border-radius: var(--radius) !important;
    overflow: hidden;
    transition: var(--transition);
    border: none !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.07) !important;
    background: #fff !important;
}
.tour-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(19,53,123,.15) !important;
}
.tour-item .position-relative img { transition: .6s ease; }
.tour-item:hover .position-relative img { transform: scale(1.07); }
.tour-item .p-3 h6 a { color: #1a1a2e; text-decoration: none; transition: var(--transition); }
.tour-item .p-3 h6 a:hover { color: var(--primary); }
.tour-item .text-primary.fs-5 { font-size: 1.25rem !important; font-weight: 800 !important; }

/* Tour filter pills */
#tourTabs .nav-link {
    font-size: .85rem; font-weight: 600; color: #666;
    border-radius: 25px !important; padding: 8px 22px !important;
    border: 1.5px solid #dde3ef !important;
    background: #fff; transition: var(--transition);
}
#tourTabs .nav-link.active, #tourTabs .nav-link:hover {
    background: var(--primary) !important;
    color: #fff !important; border-color: var(--primary) !important;
    box-shadow: 0 6px 18px rgba(19,53,123,.25);
}

/* ============================================================
   DESTINATION CARDS
   ============================================================ */
.destination-card {
    border-radius: 14px; overflow: hidden; position: relative;
    cursor: pointer; transition: var(--transition);
    box-shadow: 0 6px 24px rgba(0,0,0,.10);
}
.destination-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.destination-card img { transition: .6s ease; }
.destination-card:hover img { transform: scale(1.1); }
.destination-card .position-absolute[style*="gradient"] { transition: var(--transition); }
.destination-card:hover .position-absolute[style*="gradient"] {
    background: linear-gradient(transparent, rgba(19,53,123,.80)) !important;
}

/* ============================================================
   SERVICES
   ============================================================ */
.service-content-inner {
    border-radius: 14px !important;
    transition: var(--transition) !important;
    border-color: var(--primary) !important;
}
.service-content-inner:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(19,53,123,.15) !important;
    background: var(--primary) !important;
    color: #fff !important;
}
.service-content-inner:hover h5,
.service-content-inner:hover p { color: #fff !important; }
.service-content-inner:hover .text-primary { color: #fff !important; }
.service-icon { flex-shrink: 0; transition: var(--transition); }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.carousel#testimonialCarousel .bg-white {
    border-radius: 20px;
    box-shadow: 0 16px 50px rgba(0,0,0,.15);
    border: 1px solid rgba(255,255,255,.15);
}
.carousel#testimonialCarousel .carousel-control-prev-icon,
.carousel#testimonialCarousel .carousel-control-next-icon {
    filter: none; background-color: var(--secondary) !important;
    border-radius: 50%; padding: 18px; background-size: 50%;
}

/* ============================================================
   BLOG CARDS
   ============================================================ */
.blog-item { border-radius: 14px !important; overflow: hidden; transition: var(--transition); box-shadow: 0 4px 20px rgba(0,0,0,.07); }
.blog-item:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(19,53,123,.14) !important; }
.blog-img-inner { position: relative; overflow: hidden; }
.blog-img-inner img { transition: transform .55s ease; }
.blog-img-inner:hover img { transform: scale(1.07); }
.blog-icon {
    position: absolute; inset: 0;
    background: rgba(19,53,123,.6);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: .3s;
}
.blog-img-inner:hover .blog-icon { opacity: 1; }
.blog-content { background: #fff; }
.blog-content a.h5 { text-decoration: none; color: #1a1a2e; transition: var(--transition); font-weight: 700; }
.blog-content a.h5:hover { color: var(--primary); }

/* ============================================================
   SUBSCRIBE / NEWSLETTER
   ============================================================ */
.container-fluid.subscribe {
    background: linear-gradient(135deg, rgba(9,25,61,.88), rgba(26,82,118,.82)),
                url('../img/subscribe-img.jpg') center/cover !important;
}
.subscribe-title {
    position: relative; display: inline-block; color: rgba(255,255,255,.8);
    font-size: .8rem; letter-spacing: 3px; text-transform: uppercase;
}
.subscribe-title::before, .subscribe-title::after {
    content: ''; position: absolute; top: 50%; width: 35px; height: 1px;
    background: rgba(255,255,255,.6); transform: translateY(-50%);
}
.subscribe-title::before { right: 100%; }
.subscribe-title::after  { left: 100%; }

/* ============================================================
   FOOTER
   ============================================================ */
.container-fluid.footer { background: #06101f !important; }
.footer h4 { font-size: 1rem !important; font-weight: 700; color: #fff !important; letter-spacing: .3px; }
.footer-item a {
    color: rgba(255,255,255,.5) !important; text-decoration: none;
    margin-bottom: 6px; display: block;
    font-size: .85rem; transition: var(--transition);
}
.footer-item a:hover { color: var(--secondary) !important; padding-left: 6px; }
.copyright { background: #030b18 !important; border-top: 1px solid rgba(255,255,255,.05) !important; }
.copyright p, .copyright span { font-size: .82rem; color: rgba(255,255,255,.4); }
.copyright a { color: var(--secondary) !important; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary {
    background: var(--gradient) !important;
    border-color: transparent !important;
    font-weight: 600; letter-spacing: .3px;
    transition: var(--transition) !important;
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(19,53,123,.35) !important;
}
.btn-hover-bg { transition: var(--transition) !important; }
.btn-hover-bg:hover { background: #fff !important; color: var(--primary) !important; }

/* ============================================================
   MISC / UTILITY
   ============================================================ */
.premium-badge {
    position: absolute; top: 14px; right: 14px;
    background: linear-gradient(135deg, var(--secondary), #e67e22);
    color: #fff; padding: 4px 12px; border-radius: 20px;
    font-size: .72rem; font-weight: 700; letter-spacing: 1px;
}
.star-rating .fas.fa-star { color: #ffc107; }
.star-rating .far.fa-star  { color: #dee2e6; }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
.fadeInUp { animation: fadeInUp .6s ease; }

/* ============================================================
   RESPONSIVE — Comprehensive Mobile-First
   ============================================================ */
@media (max-width: 768px) {
    .carousel-header .carousel-item img { height: 380px; }
    .carousel-caption { width: 96%; left: 2%; margin-left: 0; border-radius: 12px; }
    .carousel-caption h1 { font-size: 1.7rem !important; }
    .navbar-brand h1 { font-size: 1.3rem; }
    .section-title::before, .section-title::after { display: none !important; }
}

/* ── Full Site Mobile Responsive ── */
@media (max-width: 991px) {
    /* Topbar hidden on mobile — already .d-none .d-lg-block */
    .navbar { padding: 10px 16px !important; min-height: 90px !important; }
    .navbar-brand img,
    .navbar-light .navbar-brand img { height: 80px !important; max-height: 80px !important; }
    #navbarCollapse { background: #fff; border-radius: 16px; padding: 14px 10px; margin-top: 10px; box-shadow: 0 12px 40px rgba(0,0,0,.13); }
    .navbar-light .navbar-nav .nav-link { padding: 10px 14px !important; border-radius: 10px; font-size: .9rem; }
    .navbar-light .navbar-nav .nav-link::after { display: none !important; }
    .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link.active { background: rgba(19,53,123,.06); }
    .dropdown-menu[style*='500px'] { min-width: 100% !important; }
}
@media (max-width: 767px) {
    /* General spacing */
    .container { padding-left: 16px !important; padding-right: 16px !important; }
    .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
    .py-6 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
    /* Typography */
    h2.display-4, .display-4 { font-size: 1.9rem !important; }
    h2.display-5, .display-5 { font-size: 1.6rem !important; }
    h3 { font-size: 1.3rem !important; }
    /* Hero */
    .hero-wrap { min-height: 580px !important; }
    .hero-inner, .hero-slide { min-height: 580px !important; }
    .hero-caption { top: 38% !important; padding: 0 12px !important; }
    .hero-title { font-size: clamp(1.5rem, 7vw, 2.2rem) !important; margin-bottom: .8rem !important; }
    .hero-sub { font-size: .9rem !important; display: none; }
    .hero-eyebrow { font-size: .75rem !important; padding: 4px 12px !important; }
    .btn-hero-cta, .btn-hero-outline { font-size: .85rem !important; padding: 10px 22px !important; }
    .hero-trust-row { gap: 6px !important; }
    .hero-badge { font-size: .72rem !important; padding: 4px 10px !important; }
    .hero-nav-btn { width: 38px !important; height: 38px !important; margin: 0 6px !important; }
    .hero-search-wrap { position: absolute !important; bottom: 12px !important; left: 8px !important; right: 8px !important; width: auto !important; transform: none !important; max-width: 100% !important; }
    .hero-search-box { border-radius: 14px !important; padding: 14px !important; }
    .hs-tabs { gap: 4px !important; overflow-x: auto; white-space: nowrap; }
    .hs-fields { flex-direction: column !important; gap: 0 !important; }
    .hs-field.hs-divider { border-left: none !important; border-top: 1px solid #e2e8f0 !important; }
    .hs-btn { padding: 14px !important; border-radius: 0 0 12px 12px !important; justify-content: center !important; }
    .hs-popular { display: none !important; }
    .bg-breadcrumb { padding: 90px 0 40px !important; }
    .bg-breadcrumb h1 { font-size: 1.8rem !important; }
    /* Section titles */
    .section-title { font-size: .7rem !important; letter-spacing: 2px !important; }
    /* Stats row */
    .container-fluid.bg-primary.py-4 .counter { font-size: 2rem; }
    /* About section */
    .about .row { text-align: center; }
    /* Tour grid — 1 col on phone */
    .tour-item { margin-bottom: 20px; }
    /* Destination cards */
    .destination-card { margin-bottom: 16px; }
    /* Services */
    .service-content-inner { margin-bottom: 16px; }
    /* Testimonials */
    .carousel#testimonialCarousel .bg-white { border-radius: 14px; padding: 20px !important; }
    /* Blog */
    .blog-item { margin-bottom: 20px; }
    /* Subscribe */
    .subscribe { text-align: center; }
    .subscribe form { flex-direction: column !important; gap: 10px; }
    .subscribe form input { border-radius: 10px !important; }
    .subscribe form .btn { border-radius: 10px !important; width: 100%; }
    /* Footer */
    .site-footer .col-lg-3 { margin-bottom: 28px; }
    .footer-copyright { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
    .footer-newsletter-wrap { padding: 24px 16px !important; }
    /* Book now / contact forms */
    .contact-form, .booking-form { padding: 20px 14px !important; }
    /* Gallery grid */
    .gallery-grid .col-4 { width: 50% !important; }
    /* Blog detail */
    .blog-detail-img { height: 250px !important; }
    /* Destination detail */
    .dest-detail-hero { height: 280px !important; }
    /* Table responsive wrapper */
    .table-responsive-card { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 576px) {
    /* Extra small phones */
    .hero-wrap { min-height: 460px !important; }
    .hero-inner, .hero-slide { min-height: 460px !important; }
    .hero-title { font-size: 1.5rem !important; }
    .btn-hero-cta, .btn-hero-outline { font-size: .8rem !important; padding: 8px 18px !important; }
    .hero-trust-row .hero-badge:nth-child(n+3) { display: none; }
    .hero-search-wrap .hs-tabs { overflow-x: auto; white-space: nowrap; padding-bottom: 4px; }
    .hero-indicators { bottom: 8px !important; }
    h2.display-4, .display-4 { font-size: 1.6rem !important; }
    .bg-breadcrumb h1 { font-size: 1.5rem !important; }
    .btn-primary, .btn-outline-primary, .btn-outline-light { font-size: .82rem !important; }
    /* Gallery — 2 col */
    .gallery-grid .col-md-4, .gallery-grid .col-6 { width: 50% !important; }
    /* Stat cards 1 col */
    .row > [class*='col-sm-6']:nth-child(n+3) { margin-top: 14px; }
    /* Tour cards */
    .tour-item img { height: 200px !important; }
}

/* ============================================================
   DARK / LIGHT THEME SYSTEM
   Full-site dark mode via [data-theme="dark"] on <html>
   ============================================================ */

/* Light mode defaults (no change — already defined) */
[data-theme="light"] body,
body {
    background-color: #f7f9fc;
    color: #1e293b;
}

/* ── Dark Mode ─────────────────────────────────────────────── */
[data-theme="dark"] {
    color-scheme: dark;
}
[data-theme="dark"] body {
    background-color: #0b1120 !important;
    color: #e2e8f0 !important;
}

/* ── Spinner ── */
[data-theme="dark"] #spinner.show { background: #0b1120 !important; }

/* ── Topbar ── */
[data-theme="dark"] .container-fluid.bg-primary.px-5 {
    background: linear-gradient(90deg,#030d1f 0%,#0d2063 100%) !important;
}

/* ── Navbar ── */
[data-theme="dark"] .sticky-top.navbar-light,
[data-theme="dark"] .navbar {
    background: rgba(11,17,32,.96) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.4) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
[data-theme="dark"] .navbar-brand h1 { color: #93c5fd !important; }
[data-theme="dark"] .navbar-light .navbar-nav .nav-link { color: #cbd5e1 !important; }
[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-light .navbar-nav .nav-link.active { color: #60a5fa !important; }
[data-theme="dark"] #navbarCollapse { background: rgba(15,23,42,.98) !important; border: 1px solid rgba(255,255,255,.08) !important; }
[data-theme="dark"] .navbar-toggler-icon { filter: invert(1); }
[data-theme="dark"] .navbar-toggler { border-color: rgba(255,255,255,.2) !important; }
/* Dropdowns (standard) */
[data-theme="dark"] .dropdown-menu {
    background: #1e293b !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.5) !important;
}
[data-theme="dark"] .dropdown-item { color: #cbd5e1 !important; }
[data-theme="dark"] .dropdown-item:hover { background: rgba(37,99,235,.18) !important; color: #93c5fd !important; }
[data-theme="dark"] .dropdown-divider { border-color: rgba(255,255,255,.08) !important; }
/* Mega menus */
[data-theme="dark"] .mega-drop {
    background: #1e293b !important;
    border-top-color: #3b82f6 !important;
    box-shadow: 0 24px 64px rgba(0,0,0,.5) !important;
}
[data-theme="dark"] .mega-link { color: #cbd5e1 !important; }
[data-theme="dark"] .mega-link:hover { background: rgba(37,99,235,.15) !important; color: #93c5fd !important; }
[data-theme="dark"] .mega-section-label { color: #94a3b8 !important; border-bottom-color: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .mega-footer-strip { background: rgba(255,255,255,.05) !important; color: #94a3b8 !important; }
[data-theme="dark"] .mega-drop [style*="border-right"] { border-right-color: rgba(255,255,255,.08) !important; }
/* Colored icon containers in dark mode */
[data-theme="dark"] .bg-blue-soft   { background: rgba(59,130,246,.15) !important; }
[data-theme="dark"] .bg-green-soft  { background: rgba(34,197,94,.12) !important; }
[data-theme="dark"] .bg-yellow-soft { background: rgba(234,179,8,.12) !important; }
[data-theme="dark"] .bg-cyan-soft   { background: rgba(6,182,212,.12) !important; }
[data-theme="dark"] .bg-red-soft    { background: rgba(239,68,68,.12) !important; }
[data-theme="dark"] .bg-purple-soft { background: rgba(124,58,237,.12) !important; }
/* Buttons */
[data-theme="dark"] .btn-outline-primary {
    color: #60a5fa !important; border-color: #3b82f6 !important;
}
[data-theme="dark"] .btn-outline-primary:hover { background: var(--primary) !important; color: #fff !important; }
[data-theme="dark"] .btn-outline-light { color: #e2e8f0 !important; border-color: rgba(255,255,255,.3) !important; }
/* Language picker */
[data-theme="dark"] .lang-picker-dropdown {
    background: #1e293b !important; border-color: rgba(255,255,255,.1) !important;
}
[data-theme="dark"] .lang-opt { color: #cbd5e1 !important; }
[data-theme="dark"] .lang-opt:hover { background: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .lang-search-inp { background: rgba(255,255,255,.07) !important; color: #e2e8f0 !important; border-color: rgba(255,255,255,.12) !important; }
[data-theme="dark"] .lang-group-title { color: #64748b !important; }
[data-theme="dark"] .lang-search-wrap { background: #1e293b !important; }

/* ── Hero Search Box (already dark) ── already fine ── */
/* ── Stats Section ── */
[data-theme="dark"] .container-fluid[style*="background:linear-gradient(135deg,#13357B"] {
    background: linear-gradient(135deg,#0d1f4e 0%,#0f2d6b 100%) !important;
}

/* ── Sections / Containers ── */
[data-theme="dark"] .container-fluid.about,
[data-theme="dark"] .container-fluid.bg-light,
[data-theme="dark"] [style*="background:linear-gradient(rgba(255,255,255"] {
    background: #0f1b33 !important;
}
[data-theme="dark"] .col-lg-7[style*="background:linear-gradient(rgba(255,255,255"] {
    background: rgba(15,27,51,.9) !important;
}
/* About section background image overlay */
[data-theme="dark"] .about .col-lg-7 { background: rgba(11,17,32,.8) !important; }

/* ── Generic text ── */
[data-theme="dark"] h1:not(.text-white):not([class*="text-"]),
[data-theme="dark"] h2:not(.text-white):not([class*="text-"]),
[data-theme="dark"] h3:not(.text-white):not([class*="text-"]),
[data-theme="dark"] h4:not(.text-white):not([class*="text-"]),
[data-theme="dark"] h5:not(.text-white):not([class*="text-"]),
[data-theme="dark"] h6:not(.text-white):not([class*="text-"]) { color: #f1f5f9 !important; }
[data-theme="dark"] p:not(.text-white):not([class*="text-"]) { color: #94a3b8 !important; }
[data-theme="dark"] .text-dark { color: #e2e8f0 !important; }
[data-theme="dark"] .text-muted { color: #64748b !important; }
[data-theme="dark"] .text-body { color: #cbd5e1 !important; }

/* ── Cards ── */
[data-theme="dark"] .card,
[data-theme="dark"] .tour-item,
[data-theme="dark"] .blog-item,
[data-theme="dark"] .service-content-inner {
    background: #1e293b !important;
    border-color: rgba(255,255,255,.07) !important;
    color: #e2e8f0 !important;
}
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer { background: rgba(255,255,255,.03) !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .tour-item .p-3 h6 a { color: #e2e8f0 !important; }
[data-theme="dark"] .tour-item .p-3 h6 a:hover { color: #60a5fa !important; }
[data-theme="dark"] .blog-content { background: #1e293b !important; }
[data-theme="dark"] .blog-content a.h5 { color: #e2e8f0 !important; }
[data-theme="dark"] .blog-content a.h5:hover { color: #60a5fa !important; }
[data-theme="dark"] .blog-content small,
[data-theme="dark"] .blog-content span,
[data-theme="dark"] .blog-content p { color: #94a3b8 !important; }

/* ── Services section ── */
[data-theme="dark"] .service-content-inner {
    border-color: rgba(59,130,246,.3) !important;
}
[data-theme="dark"] .service-content-inner h5 { color: #e2e8f0 !important; }
[data-theme="dark"] .service-content-inner p { color: #94a3b8 !important; }

/* ── About section ── */
[data-theme="dark"] .about { background: #0b1120 !important; }
[data-theme="dark"] .about .h-100[style*="border"] { border-color: #3b82f6 !important; }

/* ── Testimonials ── */
[data-theme="dark"] .carousel#testimonialCarousel .bg-white {
    background: #1e293b !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}
[data-theme="dark"] .carousel#testimonialCarousel .bg-white p { color: #cbd5e1 !important; }
[data-theme="dark"] .carousel#testimonialCarousel .bg-white h5 { color: #f1f5f9 !important; }

/* ── Section backgrounds ── */
[data-theme="dark"] .py-5:not(.hero-wrap):not([style*="background:linear-gradient(135deg,#13"]):not(.subscribe):not(.bg-breadcrumb) {
    background: #0b1120 !important;
}
[data-theme="dark"] .container-fluid.py-5.py-xxl-0,
[data-theme="dark"] [style*="background:rgba(255,255,255,.8)"] { background: rgba(11,17,32,.9) !important; }

/* ── Tables ── */
[data-theme="dark"] .table { color: #cbd5e1 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .table thead th { background: rgba(255,255,255,.05) !important; color: #94a3b8 !important; border-color: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .table tbody tr:hover { background: rgba(255,255,255,.03) !important; }
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.03) !important; }

/* ── Forms ── */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #e2e8f0 !important;
}
[data-theme="dark"] .form-control::placeholder { color: #64748b !important; }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background: rgba(255,255,255,.1) !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59,130,246,.18) !important;
    color: #f1f5f9 !important;
}
[data-theme="dark"] .form-label,
[data-theme="dark"] label { color: #cbd5e1 !important; }
[data-theme="dark"] .input-group-text { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.12) !important; color: #94a3b8 !important; }

/* ── Alerts ── */
[data-theme="dark"] .alert-success { background: rgba(34,197,94,.1) !important; color: #4ade80 !important; border-left-color: #22c55e !important; }
[data-theme="dark"] .alert-danger { background: rgba(239,68,68,.1) !important; color: #f87171 !important; border-left-color: #ef4444 !important; }
[data-theme="dark"] .alert-info { background: rgba(59,130,246,.1) !important; color: #60a5fa !important; border-left-color: #3b82f6 !important; }
[data-theme="dark"] .alert-warning { background: rgba(234,179,8,.1) !important; color: #fbbf24 !important; border-left-color: #eab308 !important; }

/* ── Badges ── */
[data-theme="dark"] .badge { background: rgba(37,99,235,.3) !important; color: #93c5fd !important; }

/* ── Breadcrumb ── */
[data-theme="dark"] .bg-breadcrumb {
    background: linear-gradient(135deg, rgba(0,0,0,.92), rgba(13,31,74,.88)),
                url('../img/carousel-1.jpg') center/cover fixed !important;
}

/* ── Tour filter tabs ── */
[data-theme="dark"] #tourTabs .nav-link {
    background: rgba(255,255,255,.05) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #94a3b8 !important;
}
[data-theme="dark"] #tourTabs .nav-link.active,
[data-theme="dark"] #tourTabs .nav-link:hover {
    background: var(--primary) !important; color: #fff !important; border-color: var(--primary) !important;
}

/* ── Pagination ── */
[data-theme="dark"] .page-item .page-link { background: #1e293b !important; border-color: rgba(255,255,255,.1) !important; color: #94a3b8 !important; }
[data-theme="dark"] .page-item.active .page-link { background: var(--primary) !important; border-color: var(--primary) !important; color: #fff !important; }
[data-theme="dark"] .page-item .page-link:hover { background: rgba(19,53,123,.2) !important; color: #60a5fa !important; }

/* ── Footer ── */
[data-theme="dark"] .container-fluid.footer { background: #030912 !important; }
[data-theme="dark"] .copyright { background: #010608 !important; }

/* ── Contact / Booking forms ── */
[data-theme="dark"] .booking-form,
[data-theme="dark"] .contact-form { background: #1e293b !important; }

/* ── Price / Highlight boxes ── */
[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background: #f8fafc"],
[data-theme="dark"] .bg-light { background: rgba(255,255,255,.05) !important; color: #e2e8f0 !important; }

/* ── Destinations section bg ── */
[data-theme="dark"] .container-fluid.destinations { background: #0b1120 !important; }

/* ── Gallery bg ── */
[data-theme="dark"] .container-fluid.gallery { background: #0b1120 !important; }

/* ── Theme Toggle Button ── */
.theme-toggle-btn {
    width: 36px; height: 36px; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.1);
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .2s; font-size: .9rem;
    flex-shrink: 0;
}
.theme-toggle-btn:hover { background: rgba(255,255,255,.2); transform: rotate(15deg); }
[data-theme="dark"] .sticky-top .theme-toggle-btn {
    border-color: rgba(255,255,255,.15);
    background: rgba(255,255,255,.07);
    color: #fbbf24;
}
[data-theme="dark"] .sticky-top .theme-toggle-btn:hover { background: rgba(251,191,36,.15); }
.sticky-top .theme-toggle-btn {
    border-color: rgba(19,53,123,.2);
    background: rgba(19,53,123,.06);
    color: #13357B;
}
.sticky-top .theme-toggle-btn:hover { background: rgba(19,53,123,.12); }

/* ============================================================
   SUPPLEMENTAL — MOBILE + DARK POLISH  (appended)
   ============================================================ */

/* ── Stats counter responsive font ── */
.counter { font-size: clamp(2rem,5vw,3rem) !important; line-height:1 !important; }
.stats-plus { font-size: clamp(1rem,2.5vw,1.6rem) !important; }
@media(max-width:576px){
    .stats-pill { padding:10px 4px !important; }
    .stats-icon { width:40px !important; height:40px !important; font-size:1rem !important; margin-bottom:8px !important; }
    .counter { font-size:clamp(1.5rem,6.5vw,2rem) !important; }
}

/* ── About section mobile ── */
@media(max-width:991px){
    .about .col-lg-5 { order:2; }
    .about .col-lg-7 { order:1; background:none !important; }
}
@media(max-width:767px){
    .about .col-lg-5 { display:none !important; }
    .about .col-lg-7 { background:none !important; padding-left:0 !important; padding-right:0 !important; }
}

/* ── Dark mode: about inline bg — highest specificity ── */
[data-theme="dark"] .about .col-lg-7,
[data-theme="dark"] .about [class*="col-"][style*="background:linear-gradient(rgba(255,255,255"] {
    background:transparent !important;
}
[data-theme="dark"] .about {
    background:linear-gradient(135deg,#090f22 0%,#0d1a3a 100%) !important;
}
[data-theme="dark"] .about p  { color:#94a3b8 !important; }
[data-theme="dark"] .about li { color:#94a3b8 !important; }
[data-theme="dark"] .about h1,
[data-theme="dark"] .about h2,
[data-theme="dark"] .about h3 { color:#f1f5f9 !important; }

/* ── Hero search box dark override ── */
[data-theme="dark"] .hs-fields { background:#1e293b !important; }
[data-theme="dark"] .hs-label  { color:#94a3b8 !important; }
[data-theme="dark"] .hs-input  { color:#e2e8f0 !important; }
[data-theme="dark"] .hs-field.hs-divider { border-left-color:rgba(255,255,255,.12) !important; border-top-color:rgba(255,255,255,.12) !important; }

/* ── Inline hardcoded colour overrides (main site) ── */
[data-theme="dark"] [style*="color:#1a1a2e"],[data-theme="dark"] [style*="color: #1a1a2e"],
[data-theme="dark"] [style*="color:#1e293b"],[data-theme="dark"] [style*="color: #1e293b"],
[data-theme="dark"] [style*="color:#0f172a"],[data-theme="dark"] [style*="color: #0f172a"],
[data-theme="dark"] [style*="color:#111"]   ,[data-theme="dark"] [style*="color:#222"],
[data-theme="dark"] [style*="color:#333"]   ,[data-theme="dark"] [style*="color:#444"]
{ color:#e2e8f0 !important; }
[data-theme="dark"] [style*="color:#64748b"],[data-theme="dark"] [style*="color: #64748b"],
[data-theme="dark"] [style*="color:#475569"],[data-theme="dark"] [style*="color: #475569"]
{ color:#94a3b8 !important; }
[data-theme="dark"] [style*="background:#f8fafc"],[data-theme="dark"] [style*="background: #f8fafc"],
[data-theme="dark"] [style*="background:#f9fafb"],[data-theme="dark"] [style*="background:#f5f5f5"],
[data-theme="dark"] [style*="background:#ffffff"],[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:#fff"]   ,[data-theme="dark"] [style*="background: #fff"]
{ background:#1e293b !important; color:#e2e8f0 !important; }
[data-theme="dark"] [style*="border-color:#e2e8f0"],[data-theme="dark"] [style*="border-color: #e2e8f0"]
{ border-color:rgba(255,255,255,.1) !important; }

/* ── bg-white / bg-light universal ── */
[data-theme="dark"] .bg-white { background:#1e293b !important; color:#e2e8f0 !important; }
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-body-secondary { background:rgba(255,255,255,.04) !important; }

/* ── Nav tabs (tours/blog/gallery filter tabs) ── */
[data-theme="dark"] .nav-tabs { border-color:rgba(255,255,255,.1) !important; }
[data-theme="dark"] .nav-tabs .nav-link { color:#94a3b8 !important; border-color:rgba(255,255,255,.1) !important; }
[data-theme="dark"] .nav-tabs .nav-link.active {
    background:#1e293b !important; color:#e2e8f0 !important;
    border-bottom-color:#1e293b !important;
}

/* ── Accordion (FAQs page) ── */
[data-theme="dark"] .accordion-item   { background:#1e293b !important; border-color:rgba(255,255,255,.08) !important; }
[data-theme="dark"] .accordion-button { background:#1e2840 !important; color:#e2e8f0 !important; box-shadow:none !important; }
[data-theme="dark"] .accordion-button:not(.collapsed) { background:rgba(37,99,235,.2) !important; color:#93c5fd !important; }
[data-theme="dark"] .accordion-button::after { filter:invert(1) brightness(1.5); }
[data-theme="dark"] .accordion-body   { background:#1e293b !important; color:#94a3b8 !important; }

/* ── List group ── */
[data-theme="dark"] .list-group-item { background:#1e293b !important; border-color:rgba(255,255,255,.07) !important; color:#cbd5e1 !important; }
[data-theme="dark"] .list-group-item.active { background:var(--primary) !important; border-color:var(--primary) !important; color:#fff !important; }

/* ── Modals ── */
[data-theme="dark"] .modal-content { background:#1e293b !important; border-color:rgba(255,255,255,.08) !important; }
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer  { border-color:rgba(255,255,255,.08) !important; }
[data-theme="dark"] .modal-title   { color:#f1f5f9 !important; }
[data-theme="dark"] .btn-close     { filter:invert(1); }

/* ── Offcanvas (mobile nav) ── */
[data-theme="dark"] .offcanvas { background:#0f1b33 !important; }
[data-theme="dark"] .offcanvas-header { border-color:rgba(255,255,255,.08) !important; }
[data-theme="dark"] .offcanvas .nav-link { color:#cbd5e1 !important; }

/* ── HR ── */
[data-theme="dark"] hr { border-color:rgba(255,255,255,.08) !important; opacity:1; }

/* ── Custom scrollbar ── */
[data-theme="dark"] ::-webkit-scrollbar        { width:7px; background:#0b1120; }
[data-theme="dark"] ::-webkit-scrollbar-thumb  { background:#2d3d5e; border-radius:99px; }

/* ── Services section mobile ── */
@media(max-width:767px){
    .service-content-inner { text-align:center !important; }
    .service-content-inner .d-flex.align-items-center { flex-direction:column !important; }
    .service-icon { margin:0 auto 14px !important; }
}

/* ── Tour filter tabs horizontal scroll ── */
@media(max-width:767px){
    #tourTabs { overflow-x:auto; white-space:nowrap; flex-wrap:nowrap !important; padding-bottom:6px; }
    #tourTabs .nav-item { flex-shrink:0; }
}

/* ── Destinations small grid ── */
@media(max-width:576px){
    .destination-card { border-radius:12px; }
    .col-6 .destination-card img { height:150px !important; object-fit:cover; }
}

/* ── Tour detail sidebar ── */
@media(max-width:991px){
    .tour-detail-sidebar { margin-top:30px; }
}

/* ── Contact page ── */
@media(max-width:767px){
    .contact-info-card { margin-bottom:18px; }
    .map-wrapper iframe { height:260px !important; }
}

/* ── Blog sidebar ── */
@media(max-width:991px){
    .blog-sidebar { margin-top:30px; }
}

/* ── Subscribe input stack on mobile ── */
@media(max-width:576px){
    .subscribe .input-group { flex-direction:column !important; }
    .subscribe .input-group .form-control { border-radius:10px !important; margin-bottom:10px; }
    .subscribe .input-group .btn { border-radius:10px !important; width:100%; }
}

/* ── Gallery filter scroll ── */
@media(max-width:767px){
    .gallery-filter-wrap { overflow-x:auto; white-space:nowrap; padding-bottom:6px; }
    .gallery-filter-wrap .btn { flex-shrink:0; }
}

/* ── Dark spinner ── */
[data-theme="dark"] #spinner .spinner-border { color:#3b82f6 !important; }

/* ── Primary color text on dark bg ── */
[data-theme="dark"] [style*="color:#13357B"],[data-theme="dark"] [style*="color: #13357B"],
[data-theme="dark"] [style*="color:#13357b"],[data-theme="dark"] [style*="color: #13357b"]
{ color:#60a5fa !important; }
[data-theme="dark"] [style*="background:#e8f0fe"],[data-theme="dark"] [style*="background: #e8f0fe"],
[data-theme="dark"] [style*="background:#dbeafe"],[data-theme="dark"] [style*="background:#eff6ff"]
{ background:rgba(37,99,235,.18) !important; color:#93c5fd !important; }
[data-theme="dark"] [style*="background:#dcfce7"],[data-theme="dark"] [style*="background:#f0fdf4"]
{ background:rgba(34,197,94,.12) !important; color:#4ade80 !important; }
[data-theme="dark"] [style*="background:#fef3c7"],[data-theme="dark"] [style*="background:#fffbeb"]
{ background:rgba(234,179,8,.12) !important; color:#fbbf24 !important; }
[data-theme="dark"] [style*="background:#fee2e2"],[data-theme="dark"] [style*="background:#fef2f2"]
{ background:rgba(239,68,68,.12) !important; color:#f87171 !important; }
[data-theme="dark"] [style*="background:#f0f9ff"]
{ background:rgba(14,165,233,.12) !important; color:#38bdf8 !important; }

/* ============================================================
   PREMIUM GLOBAL ENHANCEMENTS — Book Now & UI Polish
   ============================================================ */

/* ── Global "Book Now" button (golden gradient) ── */
.btn-book-premium,
a[href*="book.php"].btn-warning,
button.btn-warning[type="submit"] {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: .3px;
    box-shadow: 0 5px 18px rgba(245,158,11,.38) !important;
    transition: transform .2s, box-shadow .2s !important;
}
.btn-book-premium:hover,
a[href*="book.php"].btn-warning:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(245,158,11,.50) !important;
    color: #fff !important;
}

/* ── Floating sticky Book Now bar (shown on tour pages) ── */
#stickyBookBar {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: rgba(10, 20, 50, 0.95);
    backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255,255,255,.1);
    padding: 10px 20px;
    z-index: 9997;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transform: translateY(100%);
    transition: transform .35s ease;
}
#stickyBookBar.visible { transform: translateY(0); }
#stickyBookBar .sbbar-price { color:#fff; font-size:1.1rem; font-weight:800; }
#stickyBookBar .sbbar-sub { color:rgba(255,255,255,.5); font-size:.74rem; }
#stickyBookBar .sbbar-btn {
    background: linear-gradient(135deg,#f59e0b,#d97706);
    color:#fff; border:none; border-radius:99px;
    padding:11px 30px; font-weight:700; font-size:.9rem;
    box-shadow:0 4px 16px rgba(245,158,11,.45);
    text-decoration:none; white-space:nowrap;
    transition:.2s;
}
#stickyBookBar .sbbar-btn:hover { transform:scale(1.04); box-shadow:0 8px 24px rgba(245,158,11,.55); }

/* ── Premium section heading ── */
.section-heading-wrap {
    position: relative;
    display: inline-block;
    margin-bottom: 8px;
}
.section-heading-wrap::after {
    content: '';
    position: absolute;
    bottom: -6px; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #13357B, transparent);
    border-radius: 2px;
}

/* ── Hover lift utility ── */
.hover-lift {
    transition: transform .3s, box-shadow .3s !important;
}
.hover-lift:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 48px rgba(19,53,123,.15) !important;
}

/* ── Premium card ── */
.premium-card {
    border-radius: 20px !important;
    border: none !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
    transition: transform .3s, box-shadow .3s;
    overflow: hidden;
    background: #fff;
}
.premium-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(19,53,123,.14) !important;
}

/* ── Improved form controls globally ── */
.form-control, .form-select {
    font-family: 'Poppins', sans-serif !important;
}
.form-control:focus, .form-select:focus {
    border-color: #13357B !important;
    box-shadow: 0 0 0 3px rgba(19,53,123,.12) !important;
}

/* ── Section backgrounds ── */
.section-bg-dots {
    background-image: radial-gradient(circle, rgba(19,53,123,.06) 1px, transparent 1px);
    background-size: 24px 24px;
}
.section-bg-wave {
    position: relative;
    overflow: hidden;
}

/* ── Breadcrumb improved ── */
.bg-breadcrumb {
    padding: 140px 0 70px !important;
}
.bg-breadcrumb h1, .bg-breadcrumb h3 {
    font-size: clamp(1.8rem, 4vw, 3rem) !important;
    text-shadow: 0 4px 20px rgba(0,0,0,.3);
}

/* ── Pagination custom ── */
.page-item .page-link {
    border-radius: 10px !important;
    margin: 0 3px;
    font-weight: 600;
    font-size: .85rem;
    border: 1.5px solid #e2e8f0 !important;
    color: #13357B;
    padding: 8px 14px;
    transition: all .2s;
}
.page-item .page-link:hover {
    background: #13357B !important;
    color: #fff !important;
    border-color: #13357B !important;
}
.page-item.active .page-link {
    background: linear-gradient(135deg,#13357B,#1a4a9e) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(19,53,123,.35);
}

/* ── Smooth scroll globally ── */
html { scroll-behavior: smooth; }

/* ── Selection color ── */
::selection { background: rgba(19,53,123,.2); color: #13357B; }

/* ── Badge polish ── */
.badge {
    font-family: 'Poppins', sans-serif !important;
    letter-spacing: .3px;
}

/* ── Navbar Book button ── */
.navbar .btn-book-header {
    background: linear-gradient(135deg,#f59e0b,#d97706) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: .82rem !important;
    padding: 8px 18px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(245,158,11,.3) !important;
    transition: transform .2s, box-shadow .2s !important;
    letter-spacing: .3px;
}
.navbar .btn-book-header:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(245,158,11,.45) !important;
}

/* ── Stats section polish ── */
.stats-pill:hover .stats-icon {
    background: rgba(255,255,255,.22) !important;
    transform: scale(1.1);
}
.stats-icon { transition: .3s; }

/* ── Gallery items ── */
.gallery-item {
    border-radius: 14px !important;
    overflow: hidden;
    transition: var(--transition);
    cursor: pointer;
}
.gallery-item:hover { transform: scale(1.03); box-shadow: 0 12px 36px rgba(0,0,0,.2) !important; }
.gallery-item img { transition: .5s; }
.gallery-item:hover img { transform: scale(1.07); }

/* ── Testimonial stars ── */
.testimonial-stars .fas.fa-star { color: #fbbf24; font-size: .85rem; }

/* ── Mobile CTA sticky bottom Book button ── */
@media(max-width: 768px) {
    .mobile-book-btn {
        position: fixed;
        bottom: 72px;
        right: 16px;
        z-index: 9996;
        background: linear-gradient(135deg,#f59e0b,#d97706);
        color: #fff;
        border: none;
        border-radius: 14px;
        padding: 12px 20px;
        font-weight: 700;
        font-size: .85rem;
        box-shadow: 0 6px 20px rgba(245,158,11,.55);
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 7px;
        animation: bookPulse 3s ease-in-out infinite;
    }
    @keyframes bookPulse {
        0%,100% { box-shadow: 0 6px 20px rgba(245,158,11,.55); }
        50% { box-shadow: 0 10px 30px rgba(245,158,11,.75); }
    }
}
@media(min-width: 769px) { .mobile-book-btn { display: none !important; } }
@media(max-width: 768px) {
    /* Hide mobile floating Book Now btn on small screens - sticky bar + WhatsApp already handle it */
    .mobile-book-btn { display: none !important; }
    /* Sticky bar full-width on mobile */
    #stickyBookBar { padding: 8px 14px; }
    #stickyBookBar .sbbar-price { font-size: .92rem; }
    #stickyBookBar .sbbar-btn { padding: 9px 20px; font-size: .82rem; }
    /* Ensure footer copyright is always visible above sticky bar */
    body { padding-bottom: 68px; }
}

/* ── Improved about section features list ── */
.about-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    font-size: .87rem;
    font-weight: 600;
    color: #334155;
    transition: .2s;
}
.about-feature-item:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #13357B;
}
.about-feature-item i { color: #13357B; font-size: .75rem; }

/* ── Dark mode for new elements ── */
[data-theme="dark"] .premium-card { background: #1e293b !important; }
[data-theme="dark"] .premium-card:hover { box-shadow: 0 20px 50px rgba(0,0,0,.4) !important; }
[data-theme="dark"] .tours-filter-card { background: #1e293b !important; border-color: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .about-feature-item { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.08) !important; color: #cbd5e1 !important; }
[data-theme="dark"] .about-feature-item:hover { background: rgba(37,99,235,.12) !important; border-color: rgba(37,99,235,.3) !important; color: #93c5fd !important; }
[data-theme="dark"] .results-bar { background: #1e293b !important; border-color: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .page-item .page-link { background: #1e293b !important; border-color: rgba(255,255,255,.1) !important; color: #94a3b8 !important; }
[data-theme="dark"] .page-item.active .page-link { background: linear-gradient(135deg,var(--primary),#1d4ed8) !important; }

/* ── Responsive tweaks ── */
@media(max-width: 991px) {
    .ptc-actions { flex-direction: column; gap: 6px; }
    .ptc-footer { flex-wrap: wrap; gap: 12px; }
}
@media(max-width: 576px) {
    .results-bar { flex-direction: column; align-items: flex-start; gap: 8px; }
    .tours-filter-card { padding: 18px !important; }
}

/* ── CTA form dark inputs ── */
.cta-dark-input { background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.2) !important; color: #fff !important; }
.cta-dark-input::placeholder { color: rgba(255,255,255,.4) !important; }
.cta-dark-input:focus { border-color: #f59e0b !important; box-shadow: 0 0 0 3px rgba(245,158,11,.2) !important; outline: none !important; }
input[type="month"]::-webkit-calendar-picker-indicator { filter: invert(1) opacity(.5); cursor: pointer; }

/* ── Section spacing mobile fixes ── */
@media(max-width: 768px) {
    .container-fluid.py-5 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
    .container.py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
    .section-title { font-size: .78rem !important; }
    h1.display-3 { font-size: 1.8rem !important; }
}

/* ── Tour card grid: ensure no overflow on mobile ── */
@media(max-width: 575px) {
    .tour-card { min-width: 240px !important; }
    .dest-card-v2[style*="380px"] { height: 200px !important; }
    .dest-card-v2[style*="180px"] { height: 140px !important; }
}

/* ── Stats glass hover on mobile ── */
@media(max-width: 576px) {
    .stat-glass { padding: 12px 8px !important; }
    .stat-glass .display-4 { font-size: 1.4rem !important; }
}

/* ── Blog card main image on mobile ── */
@media(max-width: 768px) {
    .blog-card-v2 [style*="280px"] { height: 200px !important; }
    .blog-card-v2 [style*="180px"] { height: 160px !important; }
}

/* ── Testimonial card on small screens ── */
@media(max-width: 576px) {
    .tst-card { padding: 20px !important; }
    .tst-card p { font-size: .82rem !important; }
}

/* ── Global: smooth images ── */
img { image-rendering: -webkit-optimize-contrast; }
* { -webkit-font-smoothing: antialiased; }

/* ============================================================
   MOBILE-FIRST: Comprehensive Responsive Fixes
   ============================================================ */

/* Prevent horizontal overflow / scrollbar on ALL mobile */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

/* Navbar toggler area */
@media(max-width: 991px) {
    .navbar-collapse { max-height: 80vh; overflow-y: auto; }
    .navbar-toggler { padding: 6px 10px; }
    .navbar-brand h1 { font-size: 1.15rem !important; }
    .navbar-brand img,
    .navbar-light .navbar-brand img { height: 80px !important; max-height: 80px !important; }
    /* Hide topbar completely on mobile */
    .topbar { display: none !important; }
}

/* Hero section: place search below hero on phones, not overlaid */
@media(max-width: 991px) {
    .hero-search-wrap {
        position: relative !important;
        bottom: auto !important; left: auto !important; right: auto !important;
        transform: none !important; width: 100% !important; max-width: 100% !important;
        padding: 0 12px 0 !important;
    }
    .hero-inner, .hero-slide { min-height: min(70vw, 420px) !important; }
    .hero-wrap { min-height: auto !important; padding-bottom: 0 !important; }
    .hero-search-box {
        border-radius: 0 0 16px 16px !important;
        border-top: none !important;
        padding: 14px 16px !important;
        background: #0f172a !important;
    }
    .hs-fields { flex-direction: column !important; }
    .hs-field.hs-divider { border-left: none !important; border-top: 1px solid #e2e8f0 !important; }
    .hs-btn { padding: 14px !important; border-radius: 0 0 12px 12px !important; justify-content: center !important; }
    .hero-indicators { bottom: 14px !important; }
    .hero-scroll-indicator { display: none !important; }
}

@media(max-width: 767px) {
    .hero-inner, .hero-slide { min-height: min(60vw, 360px) !important; }
    .hero-caption { top: 42% !important; padding: 0 14px !important; transform: translateY(-50%) !important; }
    .hero-title { font-size: clamp(1.4rem, 6.5vw, 2rem) !important; margin-bottom: .6rem !important; }
    .hero-sub { display: none !important; }
    .hero-trust-row { display: none !important; }
    .hero-eyebrow { font-size: .72rem !important; padding: 4px 12px !important; }
    .btn-hero-cta, .btn-hero-outline { font-size: .8rem !important; padding: 8px 16px !important; }
    /* Tour filter tabs scroll on mobile */
    #tourTabs { overflow-x: auto !important; flex-wrap: nowrap !important; padding-bottom: 4px !important; -webkit-overflow-scrolling: touch !important; }
    /* Blog grid: main article full width */
    .blog-card-v2 { max-width: 100% !important; }
    /* Why choose us: 2 col */
    .why-item { flex-direction: column; text-align: center; align-items: center !important; gap: 6px !important; }
    .why-item > div:first-child { margin: 0 auto; }
    /* Testimonial bottom CTA row */
    .d-inline-flex.align-items-center.gap-4 { gap: 10px !important; }
}

@media(max-width: 576px) {
    .hero-inner, .hero-slide { min-height: 280px !important; }
    .hero-title { font-size: clamp(1.2rem, 7vw, 1.6rem) !important; }
    /* Ensure no sections break viewport */
    .container-fluid { padding-left: 0 !important; padding-right: 0 !important; }
    .container { padding-left: 14px !important; padding-right: 14px !important; }
    /* Tour scroll wrap: ensure it doesn't cause page horizontal scroll */
    .tours-scroll-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
    /* Destination large card smaller */
    .dest-card-v2[style*="380px"] { height: 180px !important; }
    /* Stats: 2x2 grid */
    .stat-glass { padding: 10px 6px !important; }
    /* Footer: stack everything */
    .footer-links { columns: 1 !important; }
    /* Remove box shadows on mobile for perf */
    .rounded-4.overflow-hidden { box-shadow: 0 2px 12px rgba(0,0,0,.1) !important; }
}

/* Fix About section image on mobile */
@media(max-width: 991px) {
    .about .col-lg-5 img { max-height: 300px !important; width: 100% !important; object-fit: cover !important; }
    .about-badge-bottom { display: none !important; }
    .about-badge-top { display: none !important; }
}

/* Fix services grid on small phones */
@media(max-width: 575px) {
    .col-lg-3.col-md-6 { width: 100% !important; }
}

/* Fix destination tab buttons on small screen */
@media(max-width: 480px) {
    .dest-tab-btn { font-size: .8rem !important; padding: 8px 18px !important; }
    [id^="dest-"] .row { --bs-gutter-x: 8px !important; }
    .dest-card-v2[style*="180px"] { height: 120px !important; }
}

/* ============================================================
   ULTRA-PREMIUM LUXURY ENHANCEMENTS  (Phase 2)
   ============================================================ */

/* ── 1. Section Headings — Gold Gradient Underline ── */
.section-heading-lg {
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
}
.section-heading-lg::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #f5a623 30%, #f5d87a 50%, #f5a623 70%, transparent);
    border-radius: 2px;
    animation: shimmerLine 3s ease-in-out infinite;
}
@keyframes shimmerLine {
    0%, 100% { width: 60px; opacity: .85; }
    50%       { width: 90px; opacity: 1; }
}

/* ── 2. Premium Tour Card Hover Overlay ── */
.tour-item {
    position: relative;
}
.tour-item::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--radius);
    border: 2px solid transparent;
    transition: border-color .35s;
    pointer-events: none;
    z-index: 2;
}
.tour-item:hover::before {
    border-color: rgba(245,166,35,.45);
}

/* Tour card: gold "View Tour" hover overlay ── */
.tour-item .position-relative {
    overflow: hidden;
}
.tour-item .tour-hover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(19,53,123,.65), rgba(245,166,35,.45));
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .35s;
}
.tour-item:hover .tour-hover-overlay {
    opacity: 1;
}
.tour-hover-overlay span {
    color: #fff;
    font-weight: 700;
    font-size: .88rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 10px 24px;
    border: 2px solid rgba(255,255,255,.7);
    border-radius: 30px;
    background: rgba(0,0,0,.18);
    backdrop-filter: blur(6px);
}

/* ── 3. Destination Card Gold Glow ── */
.destination-card:hover {
    box-shadow: 0 20px 56px rgba(245,166,35,.22), 0 8px 28px rgba(0,0,0,.3) !important;
}

/* ── 4. Testimonial Cards — Glass Morphism ── */
.carousel#testimonialCarousel .bg-white {
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.6) !important;
}

/* ── 5. Section Title Eyebrow — animated gold pulse ── */
.section-title {
    animation: goldPulse 3.5s ease-in-out infinite;
}
@keyframes goldPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(245,166,35,0); }
    50%       { box-shadow: 0 0 8px 2px rgba(245,166,35,.2); }
}

/* ── 6. Button Shimmer ── */
.btn-primary,
.btn-secondary {
    position: relative;
    overflow: hidden;
}
.btn-primary::before,
.btn-secondary::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    transform: skewX(-20deg);
    transition: left .55s ease;
}
.btn-primary:hover::before,
.btn-secondary:hover::before {
    left: 160%;
}

/* ── 7. Service Cards — Premium Icon Glow ── */
.service-content-inner .text-primary.fa-3x,
.service-content-inner [class*="fa-"] {
    transition: transform .35s, filter .35s !important;
}
.service-content-inner:hover .text-primary,
.service-content-inner:hover [class*="fa-"] {
    transform: scale(1.2) !important;
    filter: drop-shadow(0 4px 10px rgba(19,53,123,.5)) !important;
}

/* ── 8. Navbar — Gold active indicator pill ── */
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary) !important;
    font-weight: 700 !important;
}

/* ── 9. Footer Stats Strip — Premium Styling ── */
.footer-stats-strip {
    background: linear-gradient(135deg, #06101f 0%, #0d1f4e 50%, #06101f 100%);
    padding: 40px 0;
    position: relative;
    overflow: hidden;
}
.footer-stats-strip::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(245,166,35,.6), transparent);
}
.footer-stats-strip::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(245,166,35,.6), transparent);
}
.fss-item {
    text-align: center;
    padding: 10px 0;
    position: relative;
}
.fss-item + .fss-item::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.12), transparent);
}
.fss-icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: rgba(245,166,35,.12);
    border: 1px solid rgba(245,166,35,.25);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 12px;
    font-size: 1.2rem;
    color: #f5d87a;
    transition: .35s;
}
.fss-item:hover .fss-icon {
    background: rgba(245,166,35,.2);
    border-color: rgba(245,166,35,.5);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(245,166,35,.2);
}
.fss-num {
    font-size: 2.2rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    font-family: 'Playfair Display', serif;
}
.fss-suffix { color: #f5a623; font-size: 1.5rem; }
.fss-label {
    font-size: .78rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-top: 4px;
}
@media(max-width: 576px) {
    .fss-num { font-size: 1.6rem; }
    .fss-icon { width: 42px; height: 42px; font-size: 1rem; }
    .fss-label { font-size: .7rem; letter-spacing: 1px; }
}

/* ── 10. Blog Cards — read-more hover arrow animation ── */
.blog-item .read-more-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: .85rem;
    color: var(--primary);
    text-decoration: none;
    transition: gap .25s;
}
.blog-item:hover .read-more-link { gap: 10px; }
.blog-item .read-more-link i { transition: transform .25s; }
.blog-item:hover .read-more-link i { transform: translateX(4px); }

/* ============================================================
   TRAVEL LUXE — ULTIMATE PREMIUM OVERHAUL  (Phase 3)
   Full dual-theme deep polish — all pages & sections
   ============================================================ */

/* ============================================================
   A. GLOBAL TYPOGRAPHY SYSTEM — Premium Scale
   ============================================================ */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    line-height: 1.75;
}
h1 { letter-spacing: -.02em; }
h2 { letter-spacing: -.015em; }
h3 { letter-spacing: -.01em; }
p { color: #374151; }
.lead { font-size: 1.1rem !important; line-height: 1.85 !important; font-weight: 400 !important; color: #475569 !important; }

/* ============================================================
   B. LIGHT MODE — CORPORATE LUXURY BASE
   ============================================================ */
body { background-color: #f7f8fb; color: #1e293b; }

/* Cards */
.card {
    border: 1px solid rgba(19,53,123,.06) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.05), 0 8px 32px rgba(19,53,123,.04) !important;
    border-radius: var(--radius) !important;
    transition: transform var(--transition), box-shadow var(--transition);
}
.card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(19,53,123,.12), 0 4px 16px rgba(0,0,0,.08) !important;
}

/* Form inputs */
.form-control, .form-select {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    transition: border-color .2s, box-shadow .2s !important;
    background-color: #f8fafc !important;
    color: #1e293b !important;
}
.form-control:focus, .form-select:focus {
    border-color: #13357B !important;
    box-shadow: 0 0 0 3px rgba(19,53,123,.12) !important;
    background-color: #fff !important;
    color: #0f172a !important;
}
.form-control::placeholder { color: #94a3b8 !important; }
.form-label { font-size: .8rem; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: .05em; }

/* Buttons */
.btn { border-radius: 50px !important; font-weight: 600 !important; letter-spacing: .02em !important; }
.btn-primary {
    background: linear-gradient(135deg, #13357B 0%, #1a4da6 100%) !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(19,53,123,.35) !important;
    transition: transform .2s, box-shadow .2s !important;
}
.btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(19,53,123,.48) !important;
    background: linear-gradient(135deg, #1a4da6 0%, #1e5bbf 100%) !important;
}

/* Services section */
.service-content-inner {
    background: #fff !important;
    border-radius: 20px !important;
    border: 1px solid rgba(19,53,123,.07) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.06) !important;
    transition: all var(--transition) !important;
}
.service-content-inner:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 56px rgba(19,53,123,.14) !important;
    border-color: rgba(19,53,123,.18) !important;
}

/* Blog cards */
.blog-card-v2 {
    background: #fff;
    border: 1px solid rgba(19,53,123,.06) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.06) !important;
    border-radius: 20px !important;
    overflow: hidden;
    transition: transform var(--transition), box-shadow var(--transition);
}
.blog-card-v2:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 56px rgba(19,53,123,.14) !important;
}

/* Destination cards */
.destination-card {
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: 0 6px 28px rgba(0,0,0,.1) !important;
    transition: transform var(--transition), box-shadow var(--transition) !important;
}
.destination-card:hover {
    transform: translateY(-6px) scale(1.01) !important;
    box-shadow: 0 20px 56px rgba(0,0,0,.18) !important;
}

/* Team / Expert cards */
.team-item, .team-card {
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07) !important;
    transition: transform var(--transition), box-shadow var(--transition) !important;
}
.team-item:hover, .team-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 48px rgba(19,53,123,.16) !important;
}

/* Gallery items */
.gallery-item {
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.08) !important;
    transition: transform var(--transition), box-shadow var(--transition) !important;
}
.gallery-item:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.2) !important;
}

/* Contact info cards */
.contact-info-card {
    background: #fff;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(19,53,123,.08) !important;
    border: 1px solid rgba(19,53,123,.07) !important;
    transition: transform var(--transition) !important;
}
.contact-info-card:hover { transform: translateY(-4px) !important; }

/* Newsletter heading font premium */
.fn-heading { font-family: 'Playfair Display', serif !important; font-size: 2rem !important; letter-spacing: -.01em !important; }

/* Footer copyright */
.footer-copyright {
    background: rgba(0,0,0,.35) !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    padding: 16px 0 !important;
}
.footer-copyright a { color: rgba(255,255,255,.6) !important; transition: color .2s !important; }
.footer-copyright a:hover { color: #f5a623 !important; text-decoration: none !important; }
.fcp-dev-link { color: #f5a623 !important; font-weight: 600 !important; }
.fcp-dev-link:hover { color: #f5d87a !important; }

/* Footer trust marquee items */
.ft-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.75);
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
    padding: 0 20px;
    letter-spacing: .02em;
}
.ft-item i { color: #f5a623; font-size: .9rem; }

/* Results bar */
.results-bar {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
}

/* Premium tour card light refinement */
.premium-tour-card {
    box-shadow: 0 4px 28px rgba(0,0,0,.08) !important;
    border: 1px solid rgba(19,53,123,.06) !important;
}
.ptc-title a { color: #1e293b !important; }
.ptc-title a:hover { color: #13357B !important; }
.ptc-location, .ptc-route, .ptc-desc { color: #64748b !important; }

/* Mission/Vision/Value cards */
.mission-card, .vision-card, .value-card {
    background: #fff;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(19,53,123,.08) !important;
    border: 1px solid rgba(19,53,123,.07) !important;
    transition: transform var(--transition);
}
.mission-card:hover, .vision-card:hover, .value-card:hover { transform: translateY(-5px) !important; }

/* HR */
hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, #e2e8f0 30%, #e2e8f0 70%, transparent);
    opacity: 1;
}

/* Selection highlight */
::selection { background: rgba(19,53,123,.2); color: inherit; }

/* Focus ring */
:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 4px; }

/* ============================================================
   C. DARK MODE — COMPREHENSIVE FULL-SITE FIX
   ============================================================ */

/* ─── C1. Body & Global ─── */
[data-theme="dark"] body { background-color: #070e1c !important; color: #cbd5e1 !important; }
[data-theme="dark"] p:not(.text-white):not([class*="text-"]) { color: #94a3b8 !important; }
[data-theme="dark"] .lead { color: #94a3b8 !important; }

/* ─── C2. Main content ─── */
[data-theme="dark"] #main-content { background: #070e1c !important; }

/* ─── C3. Section containers ─── */
[data-theme="dark"] .container-fluid.py-5[style*="background:#f7"],
[data-theme="dark"] .container-fluid.py-5[style*="background: #f7"],
[data-theme="dark"] .container-fluid.py-5[style*="background:linear-gradient(180deg,#f7"],
[data-theme="dark"] .container-fluid.py-5[style*="background: linear-gradient(180deg,#f7"] {
    background: #0c1526 !important;
}

/* ─── C4. Tours page ─── */
[data-theme="dark"] .tours-filter-card {
    background: #111827 !important;
    border-color: rgba(255,255,255,.07) !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.5) !important;
}
[data-theme="dark"] .tours-filter-card .form-label { color: #94a3b8 !important; }
[data-theme="dark"] .tours-filter-card h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .tours-filter-card p { color: #64748b !important; }
[data-theme="dark"] .results-bar { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; color: #94a3b8 !important; }
[data-theme="dark"] .results-count strong,
[data-theme="dark"] .results-bar strong { color: #60a5fa !important; }

/* Premium tour card dark */
[data-theme="dark"] .premium-tour-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; box-shadow: 0 4px 32px rgba(0,0,0,.6) !important; }
[data-theme="dark"] .premium-tour-card:hover { box-shadow: 0 20px 60px rgba(0,0,0,.7), 0 0 0 1px rgba(96,165,250,.15) !important; }
[data-theme="dark"] .ptc-title a { color: #e2e8f0 !important; }
[data-theme="dark"] .ptc-title a:hover { color: #60a5fa !important; }
[data-theme="dark"] .ptc-location, [data-theme="dark"] .ptc-route, [data-theme="dark"] .ptc-desc { color: #64748b !important; }
[data-theme="dark"] .ptc-location i, [data-theme="dark"] .ptc-route i { color: #60a5fa !important; }
[data-theme="dark"] .ptc-price-block .price { color: #60a5fa !important; }
[data-theme="dark"] .ptc-price-block .original, [data-theme="dark"] .ptc-price-block .per { color: #475569 !important; }
[data-theme="dark"] .ptc-footer { border-top-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .ptc-inclusions { border-bottom-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .ptc-incl { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.08) !important; color: #94a3b8 !important; }
[data-theme="dark"] .ptc-incl i { color: #60a5fa !important; }
[data-theme="dark"] .btn-details-tour { background: rgba(37,99,235,.15) !important; border-color: rgba(37,99,235,.3) !important; color: #93c5fd !important; }
[data-theme="dark"] .btn-details-tour:hover { background: rgba(37,99,235,.25) !important; }
[data-theme="dark"] .ptc-save-pill { background: rgba(34,197,94,.12) !important; border-color: rgba(34,197,94,.28) !important; color: #4ade80 !important; }
[data-theme="dark"] .ptc-duration-badge { background: rgba(7,14,28,.8) !important; border-color: rgba(255,255,255,.2) !important; }

/* ─── C5. Services dark ─── */
[data-theme="dark"] .service-content-inner { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; box-shadow: 0 4px 32px rgba(0,0,0,.5) !important; }
[data-theme="dark"] .service-content-inner:hover { box-shadow: 0 20px 60px rgba(0,0,0,.65) !important; border-color: rgba(96,165,250,.18) !important; }
[data-theme="dark"] .service-content-inner h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .service-content-inner p { color: #94a3b8 !important; }

/* ─── C6. Destinations dark ─── */
[data-theme="dark"] .destination-card { box-shadow: 0 6px 32px rgba(0,0,0,.6) !important; }
[data-theme="dark"] .dest-tab-btn { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.1) !important; color: #94a3b8 !important; }
[data-theme="dark"] .dest-tab-btn.active, [data-theme="dark"] .dest-tab-btn:hover { background: rgba(37,99,235,.2) !important; border-color: rgba(37,99,235,.4) !important; color: #93c5fd !important; }

/* ─── C7. Gallery dark ─── */
[data-theme="dark"] .gallery-filter-wrap .btn-outline-secondary { border-color: rgba(255,255,255,.15) !important; color: #94a3b8 !important; }
[data-theme="dark"] .gallery-filter-wrap .btn-outline-secondary:hover,
[data-theme="dark"] .gallery-filter-wrap .btn-outline-secondary.active { background: rgba(37,99,235,.2) !important; border-color: rgba(37,99,235,.4) !important; color: #93c5fd !important; }

/* ─── C8. Blog dark ─── */
[data-theme="dark"] .blog-card-v2 { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .blog-card-v2:hover { box-shadow: 0 20px 56px rgba(0,0,0,.6) !important; border-color: rgba(96,165,250,.15) !important; }
[data-theme="dark"] .bc-body { background: #111827 !important; }
[data-theme="dark"] .bc-body a { color: #e2e8f0 !important; }
[data-theme="dark"] .bc-body a:hover { color: #60a5fa !important; }
[data-theme="dark"] .bc-footer { border-top-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .bc-cat-pill { background: rgba(37,99,235,.15) !important; border-color: rgba(37,99,235,.3) !important; color: #93c5fd !important; }

/* ─── C9. About section feature checklist dark ─── */
[data-theme="dark"] [style*="background:#eff6ff"],
[data-theme="dark"] [style*="background: #eff6ff"] { background: rgba(37,99,235,.15) !important; }
[data-theme="dark"] span[style*="color:#334155"] { color: #cbd5e1 !important; }
[data-theme="dark"] p[style*="color:#64748b"] { color: #94a3b8 !important; }

/* ─── C10. Testimonials deeper dark ─── */
[data-theme="dark"] .carousel#testimonialCarousel .bg-white { background: #111827 !important; border: 1px solid rgba(255,255,255,.07) !important; box-shadow: 0 12px 48px rgba(0,0,0,.6) !important; }
[data-theme="dark"] .carousel#testimonialCarousel .text-dark,
[data-theme="dark"] .carousel#testimonialCarousel h5,
[data-theme="dark"] .carousel#testimonialCarousel h6 { color: #e2e8f0 !important; }
[data-theme="dark"] .carousel#testimonialCarousel p { color: #94a3b8 !important; }
[data-theme="dark"] .carousel#testimonialCarousel small { color: #64748b !important; }
[data-theme="dark"] .carousel-indicators button { background-color: rgba(255,255,255,.3) !important; }
[data-theme="dark"] .carousel-indicators button.active { background-color: var(--secondary) !important; }

/* ─── C11. Contact page dark ─── */
[data-theme="dark"] .contact-info-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; box-shadow: 0 4px 32px rgba(0,0,0,.5) !important; }
[data-theme="dark"] .contact-info-card h5, [data-theme="dark"] .contact-info-card h6 { color: #f1f5f9 !important; }
[data-theme="dark"] .contact-info-card p { color: #94a3b8 !important; }
[data-theme="dark"] .contact-form-wrap { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }

/* ─── C12. Forms universal dark ─── */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea.form-control { background: #1e293b !important; border-color: rgba(255,255,255,.1) !important; color: #e2e8f0 !important; }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus { background: #1e2d47 !important; border-color: #3b82f6 !important; box-shadow: 0 0 0 3px rgba(59,130,246,.2) !important; color: #f1f5f9 !important; }
[data-theme="dark"] .form-control::placeholder { color: #475569 !important; }
[data-theme="dark"] .form-label { color: #94a3b8 !important; }
[data-theme="dark"] .form-text { color: #64748b !important; }

/* ─── C13. Partners / Team / Awards dark ─── */
[data-theme="dark"] .partner-item, [data-theme="dark"] .partner-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; filter: brightness(.85) grayscale(.2); transition: filter .3s; }
[data-theme="dark"] .partner-item:hover, [data-theme="dark"] .partner-card:hover { filter: brightness(1) grayscale(0) !important; }
[data-theme="dark"] .team-item, [data-theme="dark"] .team-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .team-item h5, [data-theme="dark"] .team-card h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .team-item p, [data-theme="dark"] .team-card p,
[data-theme="dark"] .team-item small, [data-theme="dark"] .team-card small { color: #94a3b8 !important; }
[data-theme="dark"] .award-item, [data-theme="dark"] .award-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }

/* ─── C14. Generic inline bg overrides ─── */
[data-theme="dark"] [style*="background:#f7f9fc"],
[data-theme="dark"] [style*="background: #f7f9fc"],
[data-theme="dark"] [style*="background:#f7f8fb"],
[data-theme="dark"] [style*="background: #f7f8fb"],
[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background: #f8fafc"],
[data-theme="dark"] [style*="background:#f9fafb"],
[data-theme="dark"] [style*="background: #f9fafb"] { background: #0c1526 !important; color: #cbd5e1 !important; }
[data-theme="dark"] [style*="background:linear-gradient(180deg,#f7f9fc"],
[data-theme="dark"] [style*="background: linear-gradient(180deg,#f7f9fc"],
[data-theme="dark"] [style*="background:linear-gradient(135deg,#f0f4ff"],
[data-theme="dark"] [style*="background: linear-gradient(135deg,#f0f4ff"] { background: #0c1526 !important; }
[data-theme="dark"] [style*="color:#1e293b"], [data-theme="dark"] [style*="color: #1e293b"],
[data-theme="dark"] [style*="color:#334155"], [data-theme="dark"] [style*="color: #334155"],
[data-theme="dark"] [style*="color:#374151"], [data-theme="dark"] [style*="color: #374151"],
[data-theme="dark"] [style*="color:#475569"], [data-theme="dark"] [style*="color: #475569"] { color: #cbd5e1 !important; }
[data-theme="dark"] [style*="border-top:1px solid #f1f5f9"],
[data-theme="dark"] [style*="border-top: 1px solid #f1f5f9"],
[data-theme="dark"] [style*="border-bottom:1px solid #f1f5f9"],
[data-theme="dark"] [style*="border-bottom: 1px solid #f1f5f9"] { border-color: rgba(255,255,255,.08) !important; }

/* ─── C15. Table dark ─── */
[data-theme="dark"] .table { color: #cbd5e1 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .table thead th { background: #1e293b !important; color: #94a3b8 !important; border-color: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .table tbody tr { border-color: rgba(255,255,255,.05) !important; }
[data-theme="dark"] .table-hover tbody tr:hover { background: rgba(255,255,255,.04) !important; }
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.03) !important; }

/* ─── C16. Pagination dark ─── */
[data-theme="dark"] .page-item .page-link { background: #111827 !important; border-color: rgba(255,255,255,.08) !important; color: #94a3b8 !important; }
[data-theme="dark"] .page-item.active .page-link { background: var(--primary) !important; border-color: var(--primary) !important; color: #fff !important; }
[data-theme="dark"] .page-item .page-link:hover { background: #1e293b !important; color: #e2e8f0 !important; }
[data-theme="dark"] .page-item.disabled .page-link { opacity: .4 !important; }

/* ─── C17. Badges dark ─── */
[data-theme="dark"] .badge.bg-primary { background: rgba(37,99,235,.25) !important; color: #93c5fd !important; }
[data-theme="dark"] .badge.bg-success { background: rgba(34,197,94,.2) !important; color: #4ade80 !important; }
[data-theme="dark"] .badge.bg-warning { background: rgba(234,179,8,.2) !important; color: #fbbf24 !important; }
[data-theme="dark"] .badge.bg-danger  { background: rgba(239,68,68,.2) !important; color: #f87171 !important; }
[data-theme="dark"] .badge.bg-info    { background: rgba(6,182,212,.2) !important; color: #22d3ee !important; }
[data-theme="dark"] .badge.bg-secondary { background: rgba(100,116,139,.2) !important; color: #94a3b8 !important; }

/* ─── C18. Tour/Destination detail pages dark ─── */
[data-theme="dark"] .tour-detail-main h5,
[data-theme="dark"] .tour-detail-main h4,
[data-theme="dark"] .tour-detail-main h3 { color: #f1f5f9 !important; }
[data-theme="dark"] .tour-detail-main p,
[data-theme="dark"] .tour-detail-main li { color: #94a3b8 !important; }
[data-theme="dark"] .itinerary-item,
[data-theme="dark"] .itinerary-day { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .itinerary-item:hover,
[data-theme="dark"] .itinerary-day:hover { background: #1a2540 !important; }

/* ─── C19. Honeymoon / Visa / Insurance / Experts dark ─── */
[data-theme="dark"] .honeymoon-feature-card,
[data-theme="dark"] .visa-card,
[data-theme="dark"] .insurance-card,
[data-theme="dark"] .expert-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .honeymoon-feature-card h4, [data-theme="dark"] .honeymoon-feature-card h5,
[data-theme="dark"] .visa-card h4, [data-theme="dark"] .visa-card h5,
[data-theme="dark"] .insurance-card h4, [data-theme="dark"] .insurance-card h5,
[data-theme="dark"] .expert-card h4, [data-theme="dark"] .expert-card h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .honeymoon-feature-card p, [data-theme="dark"] .visa-card p,
[data-theme="dark"] .insurance-card p, [data-theme="dark"] .expert-card p { color: #94a3b8 !important; }

/* ─── C20. Mission / Vision / Value dark ─── */
[data-theme="dark"] .mission-card, [data-theme="dark"] .vision-card, [data-theme="dark"] .value-card {
    background: #111827 !important; border-color: rgba(255,255,255,.07) !important;
}
[data-theme="dark"] .mission-card h4, [data-theme="dark"] .vision-card h4, [data-theme="dark"] .value-card h4,
[data-theme="dark"] .mission-card h5, [data-theme="dark"] .vision-card h5, [data-theme="dark"] .value-card h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .mission-card p, [data-theme="dark"] .vision-card p, [data-theme="dark"] .value-card p { color: #94a3b8 !important; }

/* ─── C21. Alerts in dark ─── */
[data-theme="dark"] .alert-info    { background: rgba(6,182,212,.1) !important; border-color: rgba(6,182,212,.25) !important; color: #67e8f9 !important; }
[data-theme="dark"] .alert-success { background: rgba(34,197,94,.1) !important; border-color: rgba(34,197,94,.25) !important; color: #4ade80 !important; }
[data-theme="dark"] .alert-warning { background: rgba(234,179,8,.1) !important; border-color: rgba(234,179,8,.25) !important; color: #fbbf24 !important; }
[data-theme="dark"] .alert-danger  { background: rgba(239,68,68,.1) !important; border-color: rgba(239,68,68,.25) !important; color: #f87171 !important; }

/* ─── C22. Image brightness softening in dark ─── */
[data-theme="dark"] .ptc-img-wrap img,
[data-theme="dark"] .destination-card img,
[data-theme="dark"] .blog-card-v2 img,
[data-theme="dark"] .team-item img,
[data-theme="dark"] .team-card img { filter: brightness(.88); transition: filter .35s; }
[data-theme="dark"] .premium-tour-card:hover .ptc-img-wrap img,
[data-theme="dark"] .destination-card:hover img,
[data-theme="dark"] .blog-card-v2:hover img,
[data-theme="dark"] .team-item:hover img,
[data-theme="dark"] .team-card:hover img { filter: brightness(1); }

/* ─── C23. HR in dark ─── */
[data-theme="dark"] hr {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.08) 30%, rgba(255,255,255,.08) 70%, transparent) !important;
}

/* ─── C24. Booking / book.php dark ─── */
[data-theme="dark"] .booking-form-card, [data-theme="dark"] .book-card { background: #111827 !important; border-color: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .booking-summary-card { background: #1a2540 !important; border-color: rgba(37,99,235,.2) !important; }
[data-theme="dark"] .booking-summary-card h5, [data-theme="dark"] .booking-summary-card h6 { color: #f1f5f9 !important; }
[data-theme="dark"] .booking-summary-card p, [data-theme="dark"] .booking-summary-card li { color: #94a3b8 !important; }
[data-theme="dark"] .booking-summary-card hr { border-color: rgba(255,255,255,.08) !important; }

/* ─── C25. Sidebar widgets dark ─── */
[data-theme="dark"] .sidebar-widget,
[data-theme="dark"] .tour-detail-sidebar > .card,
[data-theme="dark"] .sticky-sidebar > .card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }

/* ─── C26. User pages dark ─── */
[data-theme="dark"] .user-dash-card, [data-theme="dark"] .booking-card,
[data-theme="dark"] .profile-card, [data-theme="dark"] .wishlist-card { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .chat-window { background: #111827 !important; border-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .chat-msg-bubble { background: #1e293b !important; color: #e2e8f0 !important; }
[data-theme="dark"] .chat-msg-bubble.own { background: rgba(37,99,235,.25) !important; }
[data-theme="dark"] .chat-input-area { background: #0f1b33 !important; border-top-color: rgba(255,255,255,.07) !important; }

/* ─── C27. selection & focus in dark ─── */
[data-theme="dark"] ::selection { background: rgba(96,165,250,.3); }
[data-theme="dark"] :focus-visible { outline-color: #60a5fa; }

/* ─── C28. About section inline bg large gradient ─── */
[data-theme="dark"] .container-fluid.about[style*="background:linear-gradient(180deg,#f7f9fc"],
[data-theme="dark"] .container-fluid.about[style*="background: linear-gradient(180deg,#f7f9fc"] {
    background: linear-gradient(135deg,#090f22 0%,#0d1a3a 100%) !important;
}

/* ─── C29. "Why Choose Us" dark ─── */
[data-theme="dark"] .why-item h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .why-item p  { color: #94a3b8 !important; }

/* ─── C30. Breadcrumb dark refinement ─── */
[data-theme="dark"] .bg-breadcrumb {
    background: linear-gradient(135deg, rgba(6,13,30,.95), rgba(13,37,87,.88)),
                url('../img/carousel-1.jpg') center/cover fixed !important;
}
[data-theme="dark"] .bg-breadcrumb h1 { color: #f1f5f9 !important; }
[data-theme="dark"] .bg-breadcrumb h3 { color: #f1f5f9 !important; }

/* ─── C31. About section deeper text ─── */
[data-theme="dark"] .about h1 span[style*="color:#13357B"],
[data-theme="dark"] .about h1 span[style*="color: #13357B"] { color: #60a5fa !important; }

/* ────────────────────────────────────────────────────────── */
/* ─── PHASE 3 RESPONSIVE Polish ─── */
/* ────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    body { overflow-x: hidden; }
    .premium-tour-card { border-radius: 16px !important; }
    .blog-card-v2 { border-radius: 16px !important; }
    .destination-card { border-radius: 16px !important; }
    .service-content-inner { border-radius: 16px !important; }
    .fn-heading { font-size: 1.5rem !important; }
}
@media (max-width: 576px) {
    .tours-filter-card { padding: 18px 14px !important; border-radius: 14px !important; }
    .results-bar { padding: 10px 12px !important; }
    .card { border-radius: 12px !important; }
    .btn { font-size: .875rem !important; }
}

/* ─── C32. Homepage Tour Cards (.tc-card) dark ─── */
[data-theme="dark"] .tc-card {
    background: #111827 !important;
    border-color: rgba(255,255,255,.07) !important;
    box-shadow: 0 4px 28px rgba(0,0,0,.55) !important;
}
[data-theme="dark"] .tc-card:hover {
    box-shadow: 0 20px 56px rgba(0,0,0,.7) !important;
    border-color: rgba(96,165,250,.18) !important;
}
[data-theme="dark"] .tc-title a { color: #e2e8f0 !important; }
[data-theme="dark"] .tc-title a:hover { color: #60a5fa !important; }
[data-theme="dark"] .tc-location { color: #64748b !important; }
[data-theme="dark"] .tc-location i { color: #60a5fa !important; }
[data-theme="dark"] .tc-tagline { color: #64748b !important; }
[data-theme="dark"] .tc-price { color: #60a5fa !important; }
[data-theme="dark"] .tc-mrp, [data-theme="dark"] .tc-pp, [data-theme="dark"] .tc-rev { color: #475569 !important; }
[data-theme="dark"] .tc-footer { border-top-color: rgba(255,255,255,.07) !important; }
[data-theme="dark"] .tc-icon-pill { filter: brightness(.85) !important; }
[data-theme="dark"] .tc-btn-outline {
    background: rgba(37,99,235,.12) !important;
    border-color: rgba(37,99,235,.3) !important;
    color: #93c5fd !important;
}
[data-theme="dark"] .tc-btn-outline:hover { background: rgba(37,99,235,.22) !important; }

/* ─── C33. Services page cards (.svc-card) dark ─── */
[data-theme="dark"] .svc-card {
    background: #111827 !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    box-shadow: 0 4px 28px rgba(0,0,0,.5) !important;
}
[data-theme="dark"] .svc-card:hover {
    box-shadow: 0 20px 60px rgba(0,0,0,.65) !important;
    border-color: rgba(96,165,250,.18) !important;
}
[data-theme="dark"] .svc-card h5 { color: #f1f5f9 !important; }
[data-theme="dark"] .svc-desc { color: #64748b !important; }
[data-theme="dark"] .svc-bg-alt { background: #0c1526 !important; }

/* ─── C34. Inline background #f8faff (destinations section) ─── */
[data-theme="dark"] [style*="background:#f8faff"],
[data-theme="dark"] [style*="background: #f8faff"] { background: #0c1526 !important; }

/* ─── C35. "bg-light" section (featured tours) dark ─── */
[data-theme="dark"] .container-fluid.bg-light,
[data-theme="dark"] .bg-light { background: #0c1526 !important; }

/* ─── C36. Tour card footer incl icons on homepage dark ─── */
[data-theme="dark"] .tc-card .tc-img-wrap img { filter: brightness(.88); transition: filter .35s; }
[data-theme="dark"] .tc-card:hover .tc-img-wrap img { filter: brightness(1); }

/* ─── C37. Services section inner (svc-icon-wrap) dark ─── */
[data-theme="dark"] .svc-icon-wrap {
    background: rgba(37,99,235,.15) !important;
    border: 1px solid rgba(37,99,235,.25) !important;
}

/* ─── C38. Destinations tab container (#f8faff or #e8f0fe) dark ─── */
[data-theme="dark"] [style*="background:#e8f0fe"],
[data-theme="dark"] [style*="background: #e8f0fe"] {
    background: rgba(37,99,235,.14) !important;
}
[data-theme="dark"] .dest-tab-btn {
    color: #94a3b8 !important;
}

/* ─── C39. About section check icons dark ─── */
[data-theme="dark"] .about .d-flex.align-items-center > div[style*="background:#eff6ff"],
[data-theme="dark"] .about div[style*="border-radius:8px"][style*="background:#eff6ff"] {
    background: rgba(37,99,235,.15) !important;
    border: 1px solid rgba(37,99,235,.2) !important;
}

/* ─── C40. Why-us section dark (used on services/index) ─── */
[data-theme="dark"] .why-item {
    background: #111827 !important;
    border-color: rgba(255,255,255,.07) !important;
}

/* ════════════════════════════════════════════════════════════
   END PHASE 3 OVERHAUL
   ════════════════════════════════════════════════════════════ */

/* ── 11. Tour Price Badge ── */
.tour-price-badge {
    position: absolute;
    bottom: 14px; right: 14px;
    background: linear-gradient(135deg, #13357B, #1a4da6);
    color: #fff;
    padding: 6px 14px;
    border-radius: 20px;
    font-weight: 800;
    font-size: .88rem;
    box-shadow: 0 4px 14px rgba(19,53,123,.4);
    letter-spacing: .2px;
}
.tour-price-badge small {
    font-size: .68rem;
    font-weight: 500;
    opacity: .75;
}

/* ── 12. Partner logos — luxury hover ── */
.partner-logo-item {
    transition: transform .3s, filter .3s;
    filter: grayscale(.5) opacity(.75);
}
.partner-logo-item:hover {
    filter: grayscale(0) opacity(1);
    transform: scale(1.07) translateY(-3px);
}

/* ── 13. Scroll-reveal fade-in for sections ── */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .7s ease, transform .7s ease;
}
.reveal-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── 14. Dark-mode premium extras ── */
[data-theme="dark"] .footer-stats-strip {
    background: linear-gradient(135deg, #020810 0%, #071330 50%, #020810 100%) !important;
}
[data-theme="dark"] .fss-num { color: #f1f5f9 !important; }
[data-theme="dark"] .gallery-item img { filter: brightness(.9); }
[data-theme="dark"] .gallery-item:hover img { filter: brightness(1); }
[data-theme="dark"] .tour-item::before { border-color: rgba(96,165,250,.3) !important; }
[data-theme="dark"] .tour-price-badge {
    background: linear-gradient(135deg,#1d4ed8,#2563eb) !important;
    box-shadow: 0 4px 14px rgba(29,78,216,.35) !important;
}

/* ── 15. Contact / Feature boxes glow ── */
.contact-feature-box {
    border-left: 3px solid var(--secondary) !important;
    transition: border-color .3s, box-shadow .3s;
}
.contact-feature-box:hover {
    border-left-color: var(--primary) !important;
    box-shadow: 0 6px 24px rgba(19,53,123,.1) !important;
}

/* ── 16. Chat profile page styling ── */
.chat-profile-preview {
    background: linear-gradient(135deg, #1e293b, #0f172a);
    border-radius: 20px;
    padding: 24px;
    border: 1px solid rgba(99,102,241,.2);
}
.chat-profile-avatar-ring {
    width: 80px; height: 80px;
    border-radius: 50%;
    border: 3px solid rgba(99,102,241,.5);
    padding: 2px;
    box-shadow: 0 0 20px rgba(99,102,241,.3);
}

/* ════════════════════════════════════════════════════════════
   PHASE 4 — LIGHT MODE PREMIUM POLISH (final layer)
   ════════════════════════════════════════════════════════════ */

/* ── P4-A. Global Premium Depth ─────────────────────────────── */
body {
    background-color: #f4f6fb !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Section alternating bg for visual rhythm */
.py-5, section.py-5 {
    position: relative;
}

/* Luxury gold accent line on section headings */
.section-title::after,
.fn-heading::after {
    content: '';
    display: block;
    width: 52px;
    height: 3px;
    background: linear-gradient(90deg, #f5a623, #f7c566);
    border-radius: 3px;
    margin: 10px auto 0;
}
h2.text-start.section-title::after,
h3.text-start.section-title::after {
    margin: 10px 0 0;
}

/* ── P4-B. Navbar Premium Light ──────────────────────────────── */
.navbar-light .navbar-brand,
.navbar .navbar-brand {
    font-weight: 800;
    letter-spacing: -.02em;
}
.navbar.sticky-top.scrolled,
.navbar.fixed-top.scrolled {
    box-shadow: 0 2px 20px rgba(19,53,123,.10) !important;
    background: rgba(255,255,255,.97) !important;
    backdrop-filter: blur(12px);
}

/* ── P4-C. Premium Card Hover Depth ─────────────────────────── */
.card {
    transition: box-shadow .28s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.4,0,.2,1) !important;
}
.card:hover {
    box-shadow: 0 10px 36px rgba(19,53,123,.12) !important;
    transform: translateY(-2px);
}
/* Don't lift all cards — only standalone content cards */
.navbar .card:hover,
.modal .card:hover,
.fss-item.card:hover,
.table .card:hover { transform: none !important; }

/* ── P4-D. Button Premium Styles ─────────────────────────────── */
.btn-primary {
    background: linear-gradient(135deg,#13357B 0%,#1a4da6 100%) !important;
    border: none !important;
    letter-spacing: .02em;
    box-shadow: 0 4px 16px rgba(19,53,123,.25) !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg,#0e2760 0%,#13357B 100%) !important;
    box-shadow: 0 6px 24px rgba(19,53,123,.35) !important;
    transform: translateY(-1px);
}
.btn-secondary, .btn-outline-primary:hover {
    letter-spacing: .02em;
}
.btn-outline-primary {
    border-color: #13357B !important;
    color: #13357B !important;
}
.btn-outline-primary:hover {
    background: #13357B !important;
    color: #fff !important;
}

/* ── P4-E. Form Focus Premium ────────────────────────────────── */
.form-control:focus,
.form-select:focus {
    border-color: #13357B !important;
    box-shadow: 0 0 0 3px rgba(19,53,123,.10) !important;
    outline: none !important;
}

/* ── P4-F. Tour Card Premium Image Zoom ──────────────────────── */
.premium-tour-card .ptc-img-wrap,
.destination-card .card-img-top-wrap,
.tc-card .tc-img-wrap,
.blog-card-v2 .bc-img-wrap {
    overflow: hidden;
}
.premium-tour-card .ptc-img-wrap img,
.tc-card .tc-img-wrap img,
.blog-card-v2 .bc-img-wrap img {
    transition: transform .55s cubic-bezier(.4,0,.2,1) !important;
}
.premium-tour-card:hover .ptc-img-wrap img,
.tc-card:hover .tc-img-wrap img,
.blog-card-v2:hover .bc-img-wrap img {
    transform: scale(1.06) !important;
}

/* ── P4-G. Price Tags Premium ────────────────────────────────── */
.ptc-price {
    color: #13357B !important;
    font-weight: 800 !important;
}
.ptc-old-price {
    color: #94a3b8 !important;
    text-decoration: line-through;
}
.ptc-badge-hot {
    background: linear-gradient(135deg,#f5a623,#e8860f) !important;
    color: #fff !important;
    font-size: .68rem;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 20px;
}

/* ── P4-H. Stats Glass Strip (homepage) premium ──────────────── */
.stat-glass {
    background: rgba(255,255,255,.85) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(19,53,123,.08) !important;
    box-shadow: 0 4px 24px rgba(19,53,123,.08) !important;
    border-radius: 16px !important;
    transition: box-shadow .3s, transform .3s;
}
.stat-glass:hover {
    box-shadow: 0 8px 32px rgba(19,53,123,.14) !important;
    transform: translateY(-3px);
}

/* ── P4-I. Breadcrumb Premium Light ──────────────────────────── */
.breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255,255,255,.5);
}
.breadcrumb-item a {
    color: rgba(255,255,255,.85);
    text-decoration: none;
    transition: color .2s;
}
.breadcrumb-item a:hover { color: #f5a623; }
.breadcrumb-item.active { color: #fff; font-weight: 600; }

/* ── P4-J. Rating Stars ──────────────────────────────────────── */
.star-rating, .ptc-rating {
    color: #f5a623 !important;
    letter-spacing: .05em;
}

/* ── P4-K. Badges & Pills Premium ───────────────────────────── */
.badge.bg-primary { background: #13357B !important; }
.badge.bg-secondary { background: #64748b !important; }
.badge.bg-success { background: #059669 !important; }

/* ── P4-L. Horizontal Rule Premium ─────────────────────────── */
hr {
    border-color: transparent !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(19,53,123,.12), transparent) !important;
    opacity: 1 !important;
    margin: 1.5rem 0 !important;
}

/* ── P4-M. Table Premium ─────────────────────────────────────── */
.table > :not(caption) > * > th {
    background: #f0f4ff !important;
    color: #1e293b !important;
    font-weight: 700;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-bottom: 2px solid rgba(19,53,123,.1) !important;
}
.table > tbody > tr:hover > td {
    background: #f8faff !important;
}

/* ── P4-N. Page-Loading bar accent ─────────────────────────── */
#nprogress .bar { background: #f5a623 !important; }
#nprogress .peg { box-shadow: 0 0 10px #f5a623 !important; }

/* ── P4-O. Footer Newsletter Area ────────────────────────────── */
.footer-newsletter-wrap .form-control {
    background: rgba(255,255,255,.1) !important;
    border-color: rgba(255,255,255,.2) !important;
    color: #fff !important;
}
.footer-newsletter-wrap .form-control::placeholder { color: rgba(255,255,255,.5) !important; }
.footer-newsletter-wrap .form-control:focus {
    background: rgba(255,255,255,.18) !important;
    box-shadow: 0 0 0 3px rgba(245,166,35,.2) !important;
}

/* ── P4-P. Social Icons Premium Hover ───────────────────────── */
.social-link, .fs-icon a {
    transition: transform .25s, opacity .25s !important;
}
.social-link:hover, .fs-icon a:hover {
    transform: translateY(-3px) scale(1.12) !important;
    opacity: 1 !important;
}

/* ── P4-Q. User Panel Cards Premium Light ────────────────────── */
.u-card, .card.u-card {
    border: 1px solid rgba(19,53,123,.07) !important;
    box-shadow: 0 2px 14px rgba(19,53,123,.07) !important;
}

/* ── P4-R. Process Steps (services page) ────────────────────── */
.process-step {
    transition: box-shadow .3s, transform .3s;
}
.process-step:hover {
    box-shadow: 0 12px 40px rgba(19,53,123,.14) !important;
    transform: translateY(-3px);
}

/* ── P4-S. Selection Color ───────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,#13357B,#3b72f5);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: #13357B; }

/* ── P4-T. Dark mode overrides for new Phase 4 elements ─────── */
[data-theme="dark"] .stat-glass {
    background: rgba(17,24,39,.6) !important;
    border-color: rgba(96,165,250,.12) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] .table > :not(caption) > * > th {
    background: #111827 !important;
    color: #cbd5e1 !important;
    border-bottom-color: rgba(255,255,255,.08) !important;
}
[data-theme="dark"] .table > tbody > tr:hover > td {
    background: #1a2540 !important;
}
[data-theme="dark"] hr {
    background: linear-gradient(90deg, transparent, rgba(96,165,250,.15), transparent) !important;
}
[data-theme="dark"] .btn-outline-primary {
    border-color: #60a5fa !important;
    color: #60a5fa !important;
}
[data-theme="dark"] .btn-outline-primary:hover {
    background: #60a5fa !important;
    color: #0f172a !important;
}
[data-theme="dark"] .section-title::after,
[data-theme="dark"] .fn-heading::after {
    background: linear-gradient(90deg, #f5a623, #fbbf24) !important;
}
[data-theme="dark"] .navbar.sticky-top.scrolled,
[data-theme="dark"] .navbar.fixed-top.scrolled {
    background: rgba(7,14,28,.97) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] ::-webkit-scrollbar-track { background: #0c1526; }
[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,#1e3a8a,#3b82f6);
}

/* ════════════════════════════════════════════════════════════
   END PHASE 4 LIGHT MODE POLISH
   ════════════════════════════════════════════════════════════ */

