/* ================================================================
   NINA SAFARIS — HOMEPAGE STYLES
   Specific to /index.php — loaded via $page_css variable in front_header.php
   Do NOT use on other pages.
================================================================ */

/* ── HERO ──────────────────────────────────────────────────────── */
.hero::before{content:'';position:absolute;top:0;left:0;right:0;height:220px;background:linear-gradient(to bottom,rgba(14,13,11,.72) 0%,rgba(14,13,11,.3) 60%,transparent 100%);z-index:2;pointer-events:none;}
.hero-search-wrap{position:relative;margin-top:32px;max-width:620px;z-index:9999;}
.hero-search-bar{display:flex;align-items:center;background:rgba(255,255,255,.97);border-radius:50px;padding:6px 6px 6px 22px;box-shadow:0 8px 40px rgba(0,0,0,.35);gap:10px;}
.hero-search-bar i.search-icon-lead{color:#B8860B;font-size:1.1rem;flex-shrink:0;}
.hero-search-bar input{flex:1;border:none;outline:none;font-size:.95rem;font-family:inherit;color:#1a1a1a;background:transparent;padding:8px 0;}
.hero-search-bar input::placeholder{color:#999;}
.hero-search-btn{background:#D4AF37;color:#000;border:none;border-radius:40px;padding:11px 24px;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0;transition:background .2s;}
.hero-search-btn:hover{background:#b8962e;}
.search-dropdown{background:#fff;border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.18);overflow:hidden;display:none;z-index:9999;max-height:440px;overflow-y:auto;}
.hero-content { z-index: 20 !important; }
.search-dropdown.open{display:block;}
.search-group-label{padding:10px 18px 6px;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#B8860B;border-top:1px solid #F0EAE0;}
.search-group-label:first-child{border-top:none;}
.search-result-item{display:flex;align-items:center;gap:13px;padding:10px 18px;cursor:pointer;transition:background .15s;text-decoration:none;color:#1a1a1a;}
.search-result-item:hover{background:#FFFBF0;}
.search-result-img{width:48px;height:38px;border-radius:7px;flex-shrink:0;background:linear-gradient(135deg,#1C1A17,#3D2B1F);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.search-result-img img{width:100%;height:100%;object-fit:cover;}
.search-result-img i{color:rgba(212,175,55,.5);font-size:.9rem;}
.search-result-text{flex:1;min-width:0;}
.search-result-title{font-weight:700;font-size:.87rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-result-sub{font-size:.75rem;color:#777;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-result-badge{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:10px;flex-shrink:0;}
.badge-package{background:rgba(212,175,55,.12);color:#8B6914;}
.badge-destination{background:rgba(16,185,129,.1);color:#065f46;}
.badge-lodge{background:rgba(59,130,246,.1);color:#1e40af;}
.badge-category{background:rgba(139,92,246,.1);color:#5b21b6;}
.search-no-results{padding:24px 18px;text-align:center;color:#999;font-size:.88rem;}
.search-loading{padding:16px 18px;text-align:center;color:#B8860B;}
@keyframes spin{to{transform:rotate(360deg);}}
.search-loading i{animation:spin .7s linear infinite;margin-right:6px;}
.search-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.search-tag{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.8);padding:5px 14px;border-radius:20px;font-size:.76rem;font-weight:600;cursor:pointer;transition:.2s;backdrop-filter:blur(6px);}
.search-tag:hover{background:rgba(212,175,55,.25);border-color:rgba(212,175,55,.4);color:#fff;}

/* ── PACKAGES SLIDER ────────────────────────────────────────────── */
.pkgs-section{background:#fff;padding:96px 0;}
.pkgs-outer{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;}
.pkgs-intro{position:sticky;top:120px;}
.pkgs-intro .eyebrow{display:block;margin-bottom:12px;}
.pkgs-intro h2{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:16px;color:#1a1a1a;}
.pkgs-intro p{font-size:.92rem;color:#6B6355;line-height:1.75;margin-bottom:28px;}
.pkgs-nav-row{display:flex;align-items:center;gap:10px;margin-top:4px;}
.pkg-arrow{width:42px;height:42px;border-radius:50%;border:2px solid #E8DCC8;background:#fff;color:#1a1a1a;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:.2s;}
.pkg-arrow:hover{background:#D4AF37;border-color:#D4AF37;color:#000;}
.pkg-arrow:disabled{opacity:.35;cursor:not-allowed;}
.pkgs-explore-link{font-size:.82rem;font-weight:700;color:#B8860B;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px;text-decoration:none;transition:.2s;margin-left:4px;}
.pkgs-explore-link:hover{gap:10px;}
.pkgs-slider-outer{overflow:hidden;}
.pkgs-track{display:flex;gap:18px;transition:transform .42s cubic-bezier(.4,0,.2,1);will-change:transform;}
.pkg-new-card{flex:0 0 calc((100% - 54px) / 4);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.07);border:1px solid #F0EAE0;transition:box-shadow .3s,transform .3s;display:flex;flex-direction:column;}
.pkg-new-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.13);transform:translateY(-4px);}
.pkg-new-img{position:relative;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,#1C1A17,#3D2B1F);}
.pkg-new-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.pkg-new-card:hover .pkg-new-img img{transform:scale(1.06);}
.pkg-new-body{padding:14px 16px 8px;flex:1;}
.pkg-new-title{font-size:.9rem;font-weight:800;line-height:1.3;color:#1a1a1a;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pkg-new-price{font-size:.8rem;font-weight:700;color:#059669;margin-bottom:0;}
.pkg-new-price span{font-weight:400;color:#999;font-size:.72rem;}
.pkg-new-footer{padding:10px 16px 14px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #F5F0E8;margin-top:8px;}
.pkg-new-explore{display:inline-flex;align-items:center;gap:6px;background:#0E0D0B;color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-decoration:none;transition:background .2s;}
.pkg-new-explore:hover{background:#D4AF37;color:#000;}
.pkg-new-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
.pkg-new-meta-item{display:flex;align-items:center;gap:4px;font-size:.68rem;color:#888;font-weight:600;}
.pkg-new-meta-item i{color:#D4AF37;font-size:.7rem;}
.pkgs-dots{display:flex;gap:6px;margin-top:16px;}
.pkgs-dot{width:6px;height:6px;border-radius:50%;background:#E8DCC8;transition:.3s;}
.pkgs-dot.active{width:22px;border-radius:3px;background:#D4AF37;}

/* ── REVIEWS — Packages-style split layout, no dark panel ──────── */
.reviews-section{background:var(--ivory-2,#F5F0E8);padding:96px 0;}
.reviews-outer{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;}
.reviews-intro{position:sticky;top:120px;}
.reviews-intro .eyebrow{display:block;margin-bottom:12px;}
.reviews-intro h2{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:16px;color:#1a1a1a;}
.reviews-intro p{font-size:.92rem;color:#6B6355;line-height:1.75;margin-bottom:28px;}
.reviews-nav{display:flex;align-items:center;gap:10px;margin-top:4px;}
.rev-arrow{width:42px;height:42px;border-radius:50%;border:2px solid #E8DCC8;background:#fff;color:#1a1a1a;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:.2s;}
.rev-arrow:hover{background:#D4AF37;border-color:#D4AF37;color:#000;}
.reviews-slider-outer{overflow:hidden;}
.reviews-track{display:flex;gap:18px;transition:transform .42s cubic-bezier(.4,0,.2,1);will-change:transform;align-items:stretch;}
.review-new-card{flex:0 0 calc((100% - 18px) / 2);background:#fff;border-radius:14px;padding:28px;position:relative;display:flex;flex-direction:column;box-shadow:0 2px 14px rgba(0,0,0,.06);border:1px solid #F0EAE0;transition:box-shadow .3s,transform .3s;}
.review-new-card:hover{box-shadow:0 10px 36px rgba(0,0,0,.1);transform:translateY(-3px);}
.review-new-card::before{content:'\201C';position:absolute;top:-4px;left:22px;font-size:5rem;color:#D4AF37;font-family:Georgia,serif;line-height:1;opacity:.18;}
.review-stars-new{color:#D4AF37;font-size:.9rem;letter-spacing:2px;margin-bottom:12px;}
.review-text-new{font-size:.88rem;line-height:1.85;color:#444;flex:1;font-style:italic;}
.review-author-new{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #F0EAE0;}
.rev-avatar{width:42px;height:42px;border-radius:50%;background:#D4AF37;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:#000;flex-shrink:0;}
.rev-name{font-weight:700;font-size:.86rem;color:#1a1a1a;}
.rev-country{font-size:.74rem;color:#888;display:flex;align-items:center;gap:4px;margin-top:2px;}
.rev-platform{margin-left:auto;font-size:1.15rem;color:#ccc;}
.reviews-dots{display:flex;gap:6px;margin-top:16px;}
.rev-dot{width:6px;height:6px;border-radius:50%;background:#E8DCC8;transition:.3s;border:none;cursor:pointer;padding:0;}
.rev-dot.active{width:22px;border-radius:3px;background:#D4AF37;}

/* ── PARTNERS SLIDER ─────────────────────────────────────────────── */
.partners-section{background:var(--ivory,#FAF8F3);padding:52px 0;border-top:1px solid var(--sand,#E8DCC8);}
.partners-header{text-align:center;margin-bottom:28px;}
.partners-header .eyebrow{margin-bottom:8px;}
.partners-header h2{font-size:1.25rem;font-weight:700;color:var(--dark,#0E0D0B);}
.partners-track-wrap{overflow:hidden;position:relative;}
.partners-track-wrap::before,.partners-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.partners-track-wrap::before{left:0;background:linear-gradient(to right,var(--ivory,#FAF8F3),transparent);}
.partners-track-wrap::after{right:0;background:linear-gradient(to left,var(--ivory,#FAF8F3),transparent);}
.partners-track{display:flex;gap:0;animation:partnersScroll 28s linear infinite;}
.partners-track:hover,.partners-track:focus-within{animation-play-state:paused;}
.partner-logo-item{flex:0 0 auto;padding:0 32px;display:flex;align-items:center;justify-content:center;height:70px;}
.partner-logo-item a{display:flex;align-items:center;justify-content:center;height:70px;width:auto;}
.partner-logo-item img{height:52px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(100%);opacity:.55;transition:filter .3s,opacity .3s,transform .3s;}
.partner-logo-item:hover img{filter:none;opacity:1;transform:scale(1.06);}
@keyframes partnersScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── DEST MOSAIC ─────────────────────────────────────────────────── */
.dest-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;}
.dest-item{position:relative;overflow:hidden;border-radius:10px;display:flex;align-items:flex-end;text-decoration:none;}
.dest-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.dest-item:hover img{transform:scale(1.06);}
.dest-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.08) 60%);}
.dest-content{position:relative;z-index:1;padding:14px 16px;width:100%;}
.dest-name{font-size:.95rem;font-weight:700;color:#fff;margin-bottom:3px;}
.dest-count{font-size:.72rem;color:rgba(212,175,55,.9);font-weight:600;}
.dest-desc{font-size:.72rem;color:rgba(255,255,255,.65);line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dest-large{grid-column:span 2;grid-row:span 2;}
.dest-tall{grid-row:span 2;}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media(max-width:1200px){.pkg-new-card{flex:0 0 calc((100% - 36px) / 3);}}
@media(max-width:900px){
    .pkgs-outer{grid-template-columns:1fr;gap:24px;}.pkgs-intro{position:static;}
    .pkg-new-card{flex:0 0 calc((100% - 18px) / 2);}
    .reviews-outer{grid-template-columns:1fr;gap:24px;}.reviews-intro{position:static;}
    .review-new-card{flex:0 0 100%;}
    .dest-mosaic{grid-template-columns:repeat(2,1fr);}.dest-large{grid-column:span 2;}.dest-tall{grid-row:span 1;}
}
@media(max-width:560px){
    .pkg-new-card{flex:0 0 100%;}.pkgs-section{padding:64px 0;}
    .review-new-card{flex:0 0 100%;}.reviews-section{padding:64px 0;}
    .dest-mosaic{grid-template-columns:1fr;}.dest-large,.dest-tall{grid-column:span 1;grid-row:span 1;}
}
/* ── COMPREHENSIVE MOBILE TEXT & OVERLAP FIX ── */
@media (max-width: 768px) {
    /* 1. Allow the hero to grow dynamically instead of trapping/squishing the text */
    .hero {
        height: auto !important;
        min-height: 100vh;
        padding-bottom: 60px;
    }
    .hero-content {
        padding-top: 100px; /* Give text more breathing room at the top */
    }

    /* 2. Fix the Hero Text Line-Heights so wrapping words don't crash into each other */
    .heading-xl.hero-title {
        font-size: 2.2rem !important;
        line-height: 1.25 !important;
        margin-bottom: 16px;
    }
    .hero-sub {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
        margin-bottom: 24px;
    }

    /* 3. Stop the Search Bar text and button from overlapping horizontally */
    .hero-search-bar {
        padding: 5px !important;
    }
    .hero-search-bar i.search-icon-lead {
        display: none; /* Hide the extra left icon to save space on small screens */
    }
    .hero-search-bar input {
        font-size: 0.85rem !important;
        padding-left: 12px !important;
        min-width: 0; /* Critical flexbox fix to stop the input from pushing the button */
        text-overflow: ellipsis;
    }
    .hero-search-btn {
        padding: 10px 16px !important;
        font-size: 0.75rem !important;
    }

    /* 4. Ensure search tags wrap perfectly without overlapping the search bar */
    .search-tags {
        margin-top: 20px;
        gap: 6px;
    }
    .search-tag {
        font-size: 0.7rem !important;
        padding: 4px 10px !important;
    }
}
/* ── MOBILE SEARCH & DROPDOWN ALIGNMENT FIX ── */
@media (max-width: 768px) {
    /* 1. Center the tags and reduce their size */
    .search-tags {
        justify-content: center; /* Centers the tags beautifully */
        gap: 6px;
    }
    .search-tag {
        font-size: 0.65rem !important; /* Smaller, cleaner text */
        padding: 4px 10px !important;
    }

    /* 2. Compact the Dropdown Results to fit better on phones */
    .search-result-item {
        padding: 8px 12px !important;
        gap: 10px !important;
    }
    .search-result-img {
        width: 38px !important; /* Smaller thumbnail */
        height: 30px !important;
    }
    .search-result-img i {
        font-size: 0.75rem !important;
    }
    .search-result-title {
        font-size: 0.78rem !important; /* Reduce result title size */
    }
    .search-result-sub {
        font-size: 0.65rem !important; /* Reduce subtitle size */
    }
    .search-group-label {
        font-size: 0.6rem !important; /* Reduce category header size */
        padding: 8px 12px 4px !important;
    }
    
    /* 3. Reduce the badge size (e.g., 'PACKAGE', 'CATEGORY') */
    .search-result-badge {
        font-size: 0.55rem !important;
        padding: 2px 6px !important;
    }
}