/* ============================================================
   HAJJ & UMRAH PLATFORM — PREMIUM DESIGN SYSTEM v2.0
   Deep Forest Green #0A4A35 × Luxury Gold #CCA55B
   Bootstrap 5 RTL + Cairo/Tajawal — RTL/LTR Safe
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800;900&family=Tajawal:wght@300;400;500;700;800;900&display=swap');

/* ─── CSS Variables ─────────────────────────────────────── */
:root {
    --primary:        #0A4A35;
    --primary-dark:   #062B1F;
    --primary-mid:    #0D5E44;
    --primary-light:  #10664A;
    --primary-glass:  rgba(10,74,53,0.12);

    --gold:           #CCA55B;
    --gold-dark:      #A88647;
    --gold-light:     #E0BC75;
    --gold-pale:      #F5EDDA;
    --gold-glass:     rgba(204,165,91,0.15);

    --bg-body:        #F4F1EB;
    --bg-white:       #FFFFFF;
    --bg-off:         #FAF8F3;
    --bg-dark:        #061a11;

    --text-head:      #062B1F;
    --text-body:      #1E3D2F;
    --text-muted:     #6B8078;
    --text-light:     rgba(255,255,255,0.82);

    --border-light:   rgba(10,74,53,0.09);
    --border-gold:    rgba(204,165,91,0.35);

    --shadow-xs:      0 2px 8px rgba(10,74,53,0.07);
    --shadow-sm:      0 4px 16px rgba(10,74,53,0.09);
    --shadow-md:      0 8px 30px rgba(10,74,53,0.12);
    --shadow-lg:      0 16px 50px rgba(10,74,53,0.16);
    --shadow-xl:      0 24px 70px rgba(10,74,53,0.20);
    --shadow-gold:    0 6px 24px rgba(204,165,91,0.30);
    --shadow-gold-lg: 0 12px 40px rgba(204,165,91,0.40);

    --grad-hero:      linear-gradient(155deg,#041810 0%,#0A3D2B 55%,#0F5C40 100%);
    --grad-green:     linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
    --grad-gold:      linear-gradient(135deg,var(--gold-dark) 0%,var(--gold-light) 100%);
    --grad-card:      linear-gradient(145deg,#0A4A35 0%,#0d5e44 100%);

    --r-sm:  8px;
    --r-md:  14px;
    --r-lg:  20px;
    --r-xl:  28px;
    --r-2xl: 40px;

    --font:       'Cairo','Tajawal',sans-serif;
    --ease:       cubic-bezier(0.25,0.8,0.25,1);
    --transition: all 0.35s var(--ease);
}

/* ─── Reset ──────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;font-size:16px}
body{
    font-family:var(--font);
    background:var(--bg-body);
    color:var(--text-body);
    line-height:1.8;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;transition:var(--transition)}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--gold);color:#fff}
::-webkit-scrollbar{width:7px}
::-webkit-scrollbar-track{background:var(--bg-body)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px}

/* ─── Fixed Bg Pattern ───────────────────────────────────── */
.bg-pattern{
    position:fixed;inset:0;pointer-events:none;z-index:0;
    background:
        radial-gradient(ellipse 60% 40% at 10% 60%, rgba(204,165,91,0.04) 0%,transparent 60%),
        radial-gradient(ellipse 50% 50% at 90% 10%, rgba(10,74,53,0.03) 0%,transparent 60%);
}

/* ═══════════════════════════════════════════════════════════
   PRELOADER
═══════════════════════════════════════════════════════════ */
#preloader{
    position:fixed;inset:0;z-index:99999;
    background:var(--bg-dark);
    display:flex;align-items:center;justify-content:center;flex-direction:column;
    gap:1.8rem;
    transition:opacity 0.7s ease,visibility 0.7s ease;
}
#preloader.loaded{opacity:0;visibility:hidden;pointer-events:none}

.preloader-ring{
    position:relative;width:90px;height:90px;
}
.preloader-ring::before,.preloader-ring::after{
    content:'';position:absolute;inset:0;
    border-radius:50%;
    border:3px solid transparent;
}
.preloader-ring::before{
    border-top-color:var(--gold);
    border-right-color:rgba(204,165,91,0.3);
    animation:spin 1.1s linear infinite;
}
.preloader-ring::after{
    inset:10px;
    border-bottom-color:var(--primary-light);
    border-left-color:rgba(10,74,53,0.3);
    animation:spin 0.8s linear infinite reverse;
}
.preloader-icon-inner{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);font-size:1.6rem;
}
.preloader-text{
    font-size:0.88rem;color:rgba(255,255,255,0.55);
    font-weight:600;letter-spacing:3px;text-transform:uppercase;
}
.preloader-dots{display:flex;gap:6px;margin-top:-8px}
.preloader-dots span{
    width:6px;height:6px;border-radius:50%;background:var(--gold);
    animation:dotPulse 1.2s ease-in-out infinite;
}
.preloader-dots span:nth-child(2){animation-delay:0.2s}
.preloader-dots span:nth-child(3){animation-delay:0.4s}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dotPulse{0%,80%,100%{transform:scale(0.6);opacity:0.4}40%{transform:scale(1);opacity:1}}

/* ═══════════════════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════════════════ */
.navbar-custom{
    padding:0.85rem 0;
    /* Solid dark from start — no light bleed */
    background:rgba(4,20,12,0.82);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    border-bottom:1px solid rgba(204,165,91,0.14);
    transition:padding .35s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease;
    z-index:1050;
}
.navbar-custom.scrolled{
    padding:0.5rem 0;
    background:rgba(3,14,8,0.98);
    backdrop-filter:blur(32px);
    -webkit-backdrop-filter:blur(32px);
    border-bottom-color:rgba(204,165,91,0.28);
    box-shadow:0 4px 30px rgba(0,0,0,0.40), 0 1px 0 rgba(204,165,91,0.15);
}

/* Brand */
.navbar-brand-custom{
    display:flex;align-items:center;gap:0.8rem;
    text-decoration:none!important;flex-shrink:0;
}
.brand-icon{
    width:44px;height:44px;border-radius:12px;
    background:var(--grad-gold);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    box-shadow:0 4px 16px rgba(204,165,91,0.42);
    transition:transform .3s ease,box-shadow .3s ease;
    position:relative;overflow:hidden;
}
.brand-icon::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,0.18) 0%,transparent 60%);
    border-radius:inherit;
}
.navbar-brand-custom:hover .brand-icon{
    transform:rotate(-6deg) scale(1.08);
    box-shadow:0 8px 24px rgba(204,165,91,0.58);
}
.brand-icon i{color:#04180e;font-size:1.3rem;position:relative;z-index:1}
.brand-info{display:flex;flex-direction:column;line-height:1}
.brand-name{font-size:1.08rem;font-weight:800;color:#fff;white-space:nowrap}
.brand-subtitle{font-size:0.65rem;color:rgba(224,188,117,0.70);font-weight:500;margin-top:3px;white-space:nowrap}

/* Toggler */
.navbar-toggler-custom{
    width:40px;height:40px;border-radius:9px!important;
    border:1px solid rgba(204,165,91,0.35)!important;
    background:rgba(204,165,91,0.06)!important;
    padding:6px!important;transition:background .22s,border-color .22s;
}
.navbar-toggler-custom:hover{background:rgba(204,165,91,0.14)!important;border-color:var(--gold)!important}
.navbar-toggler-custom:focus{box-shadow:none!important}
.navbar-toggler-custom .navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(204,165,91,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    width:20px;height:20px;
}

/* Nav links */
.navbar-custom .nav-link{
    position:relative;padding:0.5rem 1rem;
    color:rgba(255,255,255,0.80)!important;
    font-weight:600;font-size:0.88rem;
    border-radius:50px;transition:color .22s,background .22s;
    white-space:nowrap;
}
.navbar-custom .nav-link::after{
    content:'';position:absolute;
    bottom:5px;left:50%;
    transform:translateX(-50%) scaleX(0);
    transform-origin:center;
    width:calc(100% - 2rem);height:2px;
    background:var(--grad-gold);border-radius:2px;
    transition:transform .28s ease;
}
.navbar-custom .nav-link:hover,.navbar-custom .nav-link.active{color:var(--gold)!important}
.navbar-custom .nav-link:hover::after,.navbar-custom .nav-link.active::after{transform:translateX(-50%) scaleX(1)}
.navbar-custom .nav-link.active{background:rgba(204,165,91,0.09)}

/* Lang button */
.lang-toggle-btn{
    padding:0.35rem 0.85rem!important;border-radius:50px!important;
    border:1px solid rgba(204,165,91,0.40)!important;
    background:transparent!important;
    color:rgba(224,188,117,0.88)!important;
    font-weight:700;font-size:0.78rem;letter-spacing:0.05em;
    transition:background .22s,border-color .22s,color .22s;
}
.lang-toggle-btn:hover{background:rgba(204,165,91,0.15)!important;border-color:var(--gold)!important;color:var(--gold)!important}

/* CTA button */
.nav-cta-btn{
    padding:0.46rem 1.25rem!important;border-radius:50px!important;
    background:var(--grad-gold)!important;border:none!important;
    color:#04180e!important;font-weight:700;font-size:0.85rem;
    box-shadow:0 4px 14px rgba(204,165,91,0.38);
    transition:transform .22s,box-shadow .22s;white-space:nowrap;
}
.nav-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(204,165,91,0.55);color:#04180e!important}

/* TravelHub booking button */
.nav-travel-btn{
    padding:0.42rem 1.1rem!important;border-radius:50px!important;
    background:rgba(25,135,84,0.18)!important;
    border:1px solid rgba(25,135,84,0.55)!important;
    color:rgba(180,255,210,0.92)!important;font-weight:700;font-size:0.83rem;
    transition:all .2s;white-space:nowrap;
}
.nav-travel-btn:hover{
    background:rgba(25,135,84,0.35)!important;
    border-color:rgba(32,197,116,0.8)!important;
    color:#fff!important;transform:translateY(-1px);
}

/* Auth buttons */
.nav-auth-btn{
    padding:0.42rem 1rem!important;border-radius:50px!important;
    border:1px solid rgba(255,255,255,0.18)!important;
    background:transparent!important;color:rgba(255,255,255,0.80)!important;
    font-weight:600;font-size:0.83rem;transition:background .22s,border-color .22s,color .22s;
}
.nav-auth-btn:hover{background:rgba(255,255,255,0.08)!important;border-color:rgba(255,255,255,0.38)!important;color:#fff!important}
.nav-register-btn{background:rgba(204,165,91,0.10)!important;border-color:rgba(204,165,91,0.45)!important;color:var(--gold)!important}
.nav-register-btn:hover{background:rgba(204,165,91,0.22)!important;border-color:var(--gold)!important;color:var(--gold-light)!important}

/* Pilgrim auth modal */
.pilgrim-auth-dialog{
    max-width:980px;
}
.pilgrim-auth-modal{
    border:1px solid rgba(10,74,53,0.10)!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,#ffffff 0%, #f6fbf8 100%);
    box-shadow:0 24px 70px rgba(4,24,16,0.28)!important;
    overflow:hidden;
}
.pilgrim-auth-badge{
    display:inline-flex;
    align-items:center;
    gap:0.45rem;
    padding:0.36rem 0.9rem;
    border-radius:999px;
    font-size:0.76rem;
    font-weight:800;
    color:var(--gold-dark);
    border:1px solid rgba(204,165,91,0.30);
    background:rgba(204,165,91,0.12);
}
.pilgrim-auth-modal .modal-title{
    color:var(--text-head);
    font-weight:900;
    font-size:1.22rem;
}
.pilgrim-auth-tabs{
    background:#fff;
    padding:5px;
    border:1px solid var(--border-light);
    border-radius:999px;
    width:fit-content;
}
.pilgrim-auth-tabs .nav-link{
    border-radius:999px!important;
    padding:0.52rem 1.15rem;
    font-size:0.84rem;
    font-weight:800;
    color:var(--text-muted);
}
.pilgrim-auth-tabs .nav-link.active{
    background:var(--grad-green)!important;
    color:#fff!important;
    box-shadow:0 6px 20px rgba(10,74,53,0.24);
}
.pilgrim-auth-form .form-label{
    color:var(--primary);
    font-size:0.79rem;
    font-weight:800;
    margin-bottom:0.4rem;
}
.pilgrim-auth-form .form-control{
    border-radius:14px;
    border:1.4px solid #e1ebdf;
    min-height:46px;
    background:#fff;
    font-size:0.9rem;
}
.pilgrim-auth-form .form-control:focus{
    border-color:rgba(10,74,53,0.45);
    box-shadow:0 0 0 4px rgba(10,74,53,0.10);
}
.pilgrim-register-embed-wrap{
    border:1px solid var(--border-light);
    border-radius:18px;
    overflow:hidden;
    background:#fff;
}
.pilgrim-register-embed{
    width:100%;
    min-height:76vh;
    border:0;
    display:block;
}
.pilgrim-auth-submit{
    border:none!important;
    border-radius:14px!important;
    min-height:46px;
    background:var(--grad-gold)!important;
    color:#04180e!important;
    font-size:0.9rem;
    font-weight:800!important;
    transition:transform .2s ease, box-shadow .2s ease;
    box-shadow:0 10px 24px rgba(204,165,91,0.26);
}
.pilgrim-auth-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(204,165,91,0.34);
}
[dir="ltr"] .pilgrim-auth-submit i{
    transform:scaleX(-1);
}

/* Pilgrim login popup */
.pilgrim-login-dialog{
    max-width:960px;
}
.pilgrim-login-modal{
    border:1px solid rgba(255,255,255,0.28)!important;
    border-radius:26px!important;
    overflow:hidden;
    background:rgba(255,255,255,0.95);
    box-shadow:0 30px 90px rgba(0,0,0,0.28)!important;
}
.pilgrim-login-grid{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
}
.pilgrim-login-aside{
    padding:1.8rem 1.4rem;
    background:
        linear-gradient(180deg, rgba(6,40,31,.96), rgba(16,90,67,.92)),
        linear-gradient(135deg, rgba(214,173,96,.12), transparent 55%);
    color:#fff;
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.pilgrim-login-badge{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    width:fit-content;
    border-radius:999px;
    padding:.35rem .8rem;
    font-size:.75rem;
    font-weight:800;
    color:var(--gold-light);
    border:1px solid rgba(204,165,91,.35);
    background:rgba(204,165,91,.12);
}
.pilgrim-login-aside h4{
    margin:0;
    font-size:1.4rem;
    font-weight:900;
    line-height:1.4;
}
.pilgrim-login-aside p{
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:.9rem;
    line-height:1.9;
}
.pilgrim-login-points{
    list-style:none;
    margin:.25rem 0 0;
    padding:0;
    display:grid;
    gap:.55rem;
}
.pilgrim-login-points li{
    display:flex;
    align-items:center;
    gap:.55rem;
    font-size:.84rem;
    font-weight:600;
    color:rgba(255,255,255,.9);
    padding:.55rem .65rem;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.08);
}
.pilgrim-login-points i{
    color:var(--gold-light);
    width:16px;
    text-align:center;
}
.pilgrim-login-register-link{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    width:fit-content;
    padding:.55rem .9rem;
    border-radius:999px;
    color:#fff!important;
    font-size:.82rem;
    font-weight:700;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.1);
}
.pilgrim-login-register-link:hover{
    background:rgba(255,255,255,.2);
}
.pilgrim-login-main{
    padding:1.5rem;
    background:linear-gradient(180deg, rgba(248,253,251,.98), rgba(241,248,244,.95));
}
.pilgrim-login-main h5{
    color:var(--text-head);
    font-weight:900;
    font-size:1.2rem;
}
.pilgrim-login-form .form-label{
    color:var(--primary);
    font-size:.8rem;
    font-weight:800;
    margin-bottom:.35rem;
}
.pilgrim-login-form .form-control{
    border-radius:14px;
    min-height:48px;
    border:1.4px solid #dfebe3;
    background:#fff;
}
.pilgrim-login-form .form-control:focus{
    border-color:rgba(10,74,53,.46);
    box-shadow:0 0 0 4px rgba(10,74,53,.1);
}
.pilgrim-login-submit{
    border:none!important;
    border-radius:14px!important;
    min-height:48px;
    font-size:.92rem;
    font-weight:800!important;
    color:#fff!important;
    background:linear-gradient(135deg, #d6ad60, #c59034)!important;
    box-shadow:0 12px 28px rgba(197,144,52,.28);
}
.pilgrim-login-submit:hover{
    filter:brightness(1.03);
}
[dir="ltr"] .pilgrim-login-submit i{
    transform:scaleX(-1);
}

/* Social login buttons inside modal */
.modal-social-btns{
    display:flex;flex-direction:column;gap:10px;
}
.modal-social-btn{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;padding:11px 18px;border-radius:12px;
    font-weight:700;font-size:.88rem;border:1.5px solid;
    text-decoration:none;transition:.18s ease;
}
.modal-social-btn:hover{
    filter:brightness(.93);transform:translateY(-1px);
}
.modal-social-btn svg{flex-shrink:0;}
.modal-social-divider{
    display:flex;align-items:center;gap:10px;
    color:#94a3b8;font-size:.8rem;font-weight:700;
    margin:14px 0 10px;
}
.modal-social-divider::before,.modal-social-divider::after{
    content:"";flex:1;height:1px;background:#e2e8f0;
}

/* User dropdown */
.nav-user-btn{
    display:inline-flex!important;align-items:center;
    gap:0.45rem;padding:0.3rem 0.8rem 0.3rem 0.38rem!important;
    border-radius:50px!important;background:rgba(255,255,255,0.06)!important;
    border:1px solid rgba(204,165,91,0.35)!important;
    color:rgba(255,255,255,0.88)!important;
    font-weight:600;font-size:0.83rem;white-space:nowrap;box-shadow:none!important;
}
.nav-user-btn:hover,.nav-user-btn:focus,.nav-user-btn.show{
    background:rgba(204,165,91,0.13)!important;
    border-color:rgba(204,165,91,0.58)!important;
    color:var(--gold-light)!important;box-shadow:none!important;
}
.nav-avatar{
    width:28px;height:28px;border-radius:50%;
    background:var(--grad-gold);color:#04180e;
    font-weight:800;font-size:0.75rem;
    display:inline-flex;align-items:center;justify-content:center;
    flex-shrink:0;line-height:1;
}
.nav-avatar-lg{width:36px;height:36px;font-size:0.88rem}
.nav-user-menu{
    min-width:240px!important;padding:8px!important;
    border:1px solid rgba(10,74,53,0.10)!important;
    border-radius:16px!important;
    box-shadow:0 16px 50px rgba(10,74,53,0.18),0 4px 16px rgba(0,0,0,0.08)!important;
    background:#fff!important;overflow:hidden;
    right:0!important;left:auto!important;
}
[dir="ltr"] .nav-user-menu{right:auto!important;left:0!important}
.nav-user-menu .dropdown-item{border-radius:9px;font-size:0.86rem;font-weight:600;padding:0.6rem 0.9rem;transition:background .18s}
.nav-user-menu .dropdown-item:hover{background:rgba(10,74,53,0.07)}
.nav-auth-dropdown-btn{
    background:rgba(204,165,91,0.08)!important;
    border-color:rgba(204,165,91,0.44)!important;
    color:var(--gold-light)!important;
}
.nav-auth-dropdown-btn:hover,.nav-auth-dropdown-btn:focus,.nav-auth-dropdown-btn.show{
    background:rgba(204,165,91,0.18)!important;
    border-color:rgba(204,165,91,0.62)!important;
    color:var(--gold-light)!important;
}
.nav-auth-menu{
    min-width:250px!important;
    padding:8px!important;
}
.nav-auth-menu .dropdown-item{
    border:1px solid transparent;
}
.nav-auth-menu .dropdown-item:hover{
    border-color:rgba(204,165,91,0.24);
    background:rgba(204,165,91,0.09);
}

/* ─── Mobile Nav ────────────────────────────────────────── */
@media(max-width:991.98px){
    .navbar-custom{ padding:0.65rem 0 }

    /* ── Collapsed Panel ── */
    #navbarContent{
        background:linear-gradient(160deg,rgba(3,14,8,0.99) 0%,rgba(6,26,14,0.99) 100%);
        backdrop-filter:blur(28px);
        -webkit-backdrop-filter:blur(28px);
        border-top:1px solid rgba(204,165,91,0.16);
        border-radius:0 0 22px 22px;
        margin-top:0.6rem;
        padding:0.5rem 0 1.4rem;
        box-shadow:0 20px 50px rgba(0,0,0,0.55);
        overflow:hidden;
    }

    /* ── Nav Links List ── */
    .navbar-custom .navbar-nav{
        padding:0.6rem 0.75rem 0;
    }
    .navbar-custom .nav-link{
        display:flex;align-items:center;gap:0.75rem;
        padding:0.78rem 1rem;
        border-radius:12px;
        font-size:0.92rem;
        font-weight:600;
        color:rgba(255,255,255,0.82)!important;
        border:none;
        margin-bottom:2px;
        transition:background .2s, color .2s, transform .2s;
    }
    .navbar-custom .nav-link .nav-icon{
        width:34px;height:34px;border-radius:10px;
        background:rgba(255,255,255,0.06);
        border:1px solid rgba(255,255,255,0.08);
        display:flex;align-items:center;justify-content:center;
        font-size:0.85rem;flex-shrink:0;
        transition:background .2s, border-color .2s;
    }
    .navbar-custom .nav-link:hover{
        background:rgba(204,165,91,0.08);
        color:var(--gold)!important;
        transform:translateX(-3px);
    }
    [dir="ltr"] .navbar-custom .nav-link:hover{ transform:translateX(3px) }
    .navbar-custom .nav-link:hover .nav-icon{
        background:rgba(204,165,91,0.15);
        border-color:rgba(204,165,91,0.30);
        color:var(--gold);
    }
    .navbar-custom .nav-link.active{
        background:rgba(204,165,91,0.11);
        color:var(--gold)!important;
    }
    .navbar-custom .nav-link.active .nav-icon{
        background:rgba(204,165,91,0.20);
        border-color:rgba(204,165,91,0.40);
        color:var(--gold);
    }
    .navbar-custom .nav-link::after{ display:none }

    /* ── Mobile Actions ── */
    .nav-actions{
        margin:0.8rem 0.75rem 0;
        padding-top:1rem;
        border-top:1px solid rgba(255,255,255,0.07);
        flex-wrap:wrap;gap:0.5rem;
        justify-content:stretch;
    }
    .nav-cta-btn{
        width:100%;
        justify-content:center;
        padding:0.75rem 1.5rem!important;
        font-size:0.95rem!important;
        border-radius:14px!important;
    }
    .nav-auth-btn{
        flex:1;justify-content:center;
        padding:0.65rem 1rem!important;
        border-radius:12px!important;
        font-size:0.88rem!important;
    }
    .nav-auth-dropdown{
        width:100%;
    }
    .nav-auth-dropdown .nav-auth-dropdown-btn{
        width:100%;
        justify-content:center;
    }
    .lang-toggle-btn{
        border-radius:12px!important;
        padding:0.65rem 1.2rem!important;
    }
    .nav-user-menu{
        right:0!important;left:0!important;
        min-width:unset!important;width:100%;
    }

    .pilgrim-auth-tabs{
        width:100%;
    }
    .pilgrim-auth-tabs .nav-item{
        flex:1 1 0;
    }
    .pilgrim-auth-tabs .nav-link{
        width:100%;
        text-align:center;
    }
    .pilgrim-register-embed{
        min-height:72vh;
    }
}

/* ─── Inner pages top offset (no video hero) ────────────── */
.inner-page-main{
    padding-top:82px; /* exact navbar height */
}

/* ═══════════════════════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════════════════════ */
.hero-section{
    position:relative;
    min-height:100vh;
    display:flex;align-items:center;
    padding:10rem 0 7rem;
    background:var(--grad-hero);
    color:#fff;overflow:hidden;
}
.video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}
.bg-video{
    width:100%;height:100%;object-fit:cover;object-position:center;
    filter:brightness(0.55);opacity:0.88;
    transition:opacity .55s ease,transform 1.2s ease;
}
.hero-section.hero-video-ready .bg-video{opacity:1}

/* Gradient overlay — richer blend */
.video-overlay{
    position:absolute;inset:0;
    background:
        linear-gradient(160deg,rgba(4,24,16,0.92) 0%,rgba(10,60,42,0.72) 50%,rgba(10,74,53,0.55) 100%);
    z-index:1;
}
/* Bottom fade to body */
.hero-section::after{
    content:'';position:absolute;bottom:0;left:0;right:0;height:140px;
    background:linear-gradient(to bottom,transparent,var(--bg-body));
    z-index:3;pointer-events:none;
}

.z-index-2{z-index:2}
.hero-content{position:relative;z-index:4}

/* Islamic geo pattern overlay */
.hero-geo-pattern{
    position:absolute;inset:0;z-index:2;opacity:0.04;pointer-events:none;
    background-image:
        repeating-linear-gradient(60deg,var(--gold) 0,var(--gold) 1px,transparent 0,transparent 50%),
        repeating-linear-gradient(-60deg,var(--gold) 0,var(--gold) 1px,transparent 0,transparent 50%);
    background-size:40px 70px;
}

.hero-badge{
    display:inline-flex;align-items:center;gap:0.65rem;
    padding:0.5rem 1.3rem;border-radius:50px;
    background:rgba(204,165,91,0.13);
    border:1px solid rgba(204,165,91,0.28);
    color:var(--gold);font-size:0.84rem;font-weight:700;
    margin-bottom:1.6rem;
    backdrop-filter:blur(8px);
}

.hero-title{
    font-size:clamp(2.2rem,4.5vw,3.2rem);
    font-weight:900;line-height:1.35;
    margin-bottom:1.2rem;color:#fff;
    max-width:580px;
}
.hero-title .text-gradient{
    background:var(--grad-gold);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;display:block;
}
.hero-text{
    font-size:1.05rem;color:rgba(255,255,255,0.78);
    line-height:2;max-width:540px;margin-bottom:2.4rem;
}

/* Buttons */
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.2rem}

.btn-primary-custom{
    background:var(--grad-gold);
    color:var(--primary-dark)!important;
    font-weight:700;padding:0.9rem 2.2rem;
    border-radius:50px;border:none;
    font-size:1rem;
    box-shadow:var(--shadow-gold);
    transition:var(--transition);
    display:inline-flex;align-items:center;gap:0.65rem;
    position:relative;overflow:hidden;
}
.btn-primary-custom::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,0.18) 0%,transparent 60%);
    border-radius:inherit;
}
.btn-primary-custom:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-gold-lg);
    color:var(--primary-dark)!important;
}

.btn-outline-custom{
    background:transparent;color:var(--gold);
    font-weight:600;padding:0.9rem 2.2rem;
    border-radius:50px;border:1.5px solid var(--gold);
    font-size:1rem;transition:var(--transition);
    display:inline-flex;align-items:center;gap:0.65rem;
}
.btn-outline-custom:hover{
    background:rgba(204,165,91,0.12);transform:translateY(-3px);
    box-shadow:0 6px 20px rgba(204,165,91,0.22);
}

/* Stats row */
.hero-stats-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;
}
.hero-stat-item{
    padding:1.2rem 1rem;border-radius:var(--r-md);
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.10);
    text-align:center;
    backdrop-filter:blur(6px);
    transition:background .3s,transform .3s;
}
.hero-stat-item:hover{background:rgba(255,255,255,0.10);transform:translateY(-3px)}
.hero-stat-item .stat-number{
    font-size:1.9rem;font-weight:900;
    background:var(--grad-gold);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;display:block;line-height:1.2;
}
.hero-stat-item .stat-label{
    font-size:0.82rem;color:rgba(255,255,255,0.68);font-weight:500;
    margin-top:0.25rem;
}

/* Hero Visual (right col) */
.hero-visual-wrapper{
    position:relative;width:fit-content;
    display:flex;justify-content:center;align-items:center;
}
.kaaba-art{
    position:relative;width:300px;height:420px;
    border-radius:var(--r-xl);overflow:hidden;
    background:linear-gradient(160deg,#041810 0%,#0a3020 60%,#0f4a30 100%);
    border:1px solid rgba(204,165,91,0.35);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 30px 70px rgba(0,0,0,0.55),0 0 0 1px rgba(204,165,91,0.12);
}
.kaaba-art::before{
    content:'';position:absolute;inset:0;
    background:
        repeating-linear-gradient(60deg,rgba(204,165,91,0.03) 0,rgba(204,165,91,0.03) 1px,transparent 0,transparent 40px),
        repeating-linear-gradient(-60deg,rgba(204,165,91,0.03) 0,rgba(204,165,91,0.03) 1px,transparent 0,transparent 40px);
}
.kaaba-bg{
    position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(204,165,91,0.18) 0%,transparent 60%);
}
.kaaba-structure{
    position:relative;z-index:2;
    width:140px;height:150px;
    background:linear-gradient(160deg,#111 0%,#0a0a0a 100%);
    border-radius:4px;
    box-shadow:0 20px 50px rgba(0,0,0,0.7),0 0 0 1px rgba(204,165,91,0.3);
}
.kaaba-structure::before{
    content:'';position:absolute;
    inset-inline:0;top:36px;height:12px;
    background:var(--grad-gold);
    box-shadow:0 0 20px rgba(204,165,91,0.5);
}
.kaaba-structure::after{
    content:'';position:absolute;
    bottom:0;left:50%;transform:translateX(-50%);
    width:30px;height:50px;
    background:linear-gradient(to top,rgba(204,165,91,0.5),transparent);
    border-radius:4px 4px 0 0;
}
.kaaba-glow{
    position:absolute;bottom:0;
    width:200px;height:80px;
    background:radial-gradient(ellipse,rgba(204,165,91,0.25) 0%,transparent 70%);
    z-index:1;
}

.floating-card{
    position:absolute;padding:1rem 1.5rem;
    border-radius:var(--r-md);
    background:rgba(4,24,16,0.88);
    border:1px solid rgba(204,165,91,0.25);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    color:#fff;box-shadow:var(--shadow-lg);
    z-index:10;animation:floatAnim 6s ease-in-out infinite;
    white-space:nowrap;
}
.floating-card.card-1{top:30px;right:-95px;animation-delay:0s}
.floating-card.card-2{bottom:50px;left:-95px;animation-delay:-3s}
.floating-card small{color:rgba(255,255,255,0.60);font-size:0.75rem;display:block;margin-bottom:0.2rem}
.floating-card strong{
    background:var(--grad-gold);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;font-size:1.05rem;font-weight:800;
}
@keyframes floatAnim{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ─── Particles ──────────────────────────────────────────── */
.hero-particles{
    position:absolute;inset:0;z-index:2;
    overflow:hidden;pointer-events:none;
}
.particle{
    position:absolute;bottom:-10%;border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 10px rgba(204,165,91,0.8),0 0 20px rgba(204,165,91,0.3);
    opacity:0;animation:fireflyFloat linear infinite;pointer-events:none;
}
.particle::after{
    content:'';position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);width:30%;height:30%;
    border-radius:50%;background:#fff;
}
@keyframes fireflyFloat{
    0%{transform:translateY(0) translateX(0) scale(0);opacity:0}
    10%{opacity:0.75;transform:translateY(-10vh) translateX(20px) scale(1)}
    50%{opacity:1;transform:translateY(-50vh) translateX(-20px) scale(1.2)}
    90%{opacity:0.5;transform:translateY(-90vh) translateX(15px) scale(0.8)}
    100%{transform:translateY(-110vh) translateX(-10px) scale(0);opacity:0}
}

/* ─── Hero Responsive ────────────────────────────────────── */
@media(max-width:991.98px){
    .hero-section{
        padding:8.4rem 0 5rem;
        min-height:100vh;
        min-height:100svh;
    }
    .bg-video{
        object-position:center top;
        filter:brightness(0.68) saturate(1.14) contrast(1.04);
        transform:scale(1.04);
    }
    .video-overlay{
        background:
            radial-gradient(circle at 74% 18%,rgba(204,165,91,0.22) 0%,rgba(204,165,91,0.08) 28%,transparent 48%),
            linear-gradient(180deg,rgba(4,18,13,0.88) 0%,rgba(4,24,16,0.62) 42%,rgba(4,24,16,0.88) 100%),
            linear-gradient(110deg,rgba(4,24,16,0.82) 0%,rgba(10,74,53,0.38) 58%,rgba(4,24,16,0.70) 100%);
    }
    .hero-geo-pattern{opacity:0.07;background-size:34px 58px}
    .hero-particles{opacity:0.72}
    .hero-content{
        padding-top:1rem;
        text-shadow:0 2px 20px rgba(0,0,0,0.32);
    }
    .hero-badge{
        background:rgba(4,24,16,0.48);
        border-color:rgba(204,165,91,0.38);
        box-shadow:0 10px 30px rgba(0,0,0,0.18);
    }
    .hero-text{color:rgba(255,255,255,0.86)}
    .hero-stat-item{
        background:rgba(4,24,16,0.42);
        border-color:rgba(204,165,91,0.18);
        box-shadow:0 12px 28px rgba(0,0,0,0.14);
    }
    .floating-card.card-1,.floating-card.card-2{display:none}
}
@media(max-width:575.98px){
    .hero-section{padding:7.7rem 0 4.35rem}
    .hero-badge{
        max-width:100%;
        margin-bottom:1.15rem;
        padding:0.48rem 1rem;
        line-height:1.6;
    }
    .hero-stats-row{grid-template-columns:repeat(3,1fr);gap:0.7rem}
    .hero-stat-item .stat-number{font-size:1.5rem}
    .hero-stat-item .stat-label{font-size:0.68rem;line-height:1.45}
    .hero-title{font-size:2.05rem;line-height:1.45;margin-bottom:0.95rem}
    .hero-text{font-size:0.98rem;line-height:1.9;margin-bottom:1.65rem}
    .hero-buttons{gap:0.85rem;margin-bottom:1.9rem}
    .hero-buttons .btn-primary-custom,
    .hero-buttons .btn-outline-custom{
        width:100%;
        min-height:3.35rem;
        justify-content:center;
        padding:0.82rem 1rem;
    }
    .hero-stat-item{padding:0.75rem 0.42rem}
}
@media(prefers-reduced-motion:reduce){
    .bg-video{transform:none!important;transition:none!important}
}

/* ═══════════════════════════════════════════════════════════
   TRUST / CERTIFICATION BAND
═══════════════════════════════════════════════════════════ */
.trust-band{
    background:var(--bg-white);
    border-bottom:1px solid var(--border-light);
    padding:1.6rem 0;
    position:relative;z-index:5;
}
.trust-item{
    display:flex;align-items:center;gap:0.75rem;
    padding:0 2rem;
    border-inline-end:1px solid var(--border-light);
    white-space:nowrap;
}
.trust-item:last-child{border-inline-end:none}
.trust-item i{font-size:1.5rem;color:var(--gold)}
.trust-item-text strong{display:block;font-size:0.9rem;font-weight:800;color:var(--primary)}
.trust-item-text span{display:block;font-size:0.75rem;color:var(--text-muted);font-weight:500}

/* ═══════════════════════════════════════════════════════════
   PLANNER
═══════════════════════════════════════════════════════════ */
.planner-section{padding:0 0 0;position:relative;z-index:6}
.planner-card{
    padding:2.8rem;border-radius:var(--r-xl);
    background:var(--bg-white);
    box-shadow:var(--shadow-xl);
    position:relative;
    overflow-x:clip;
    overflow-y:visible;
}
.planner-card::before{
    content:'';position:absolute;
    top:0;inset-inline-start:0;
    width:100%;height:5px;
    background:var(--grad-gold);
}
.planner-tabs{
    margin-bottom:1.25rem;
}
.planner-tabs.planner-tabs--segmented{
    display:flex;
    flex-wrap:wrap;
    gap:0.35rem;
    padding:0.4rem;
    background:linear-gradient(180deg,#f6f3ec 0%,#eef4f0 100%);
    border:1px solid rgba(10,74,53,.12);
    border-radius:999px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.planner-tabs .custom-tab{
    min-height:auto;
    flex:1 1 auto;
    justify-content:center;
    white-space:nowrap;
    font-size:0.84rem;
    padding:0.55rem 1rem;
}
.planner-tabs .custom-tab.active{
    background:linear-gradient(135deg,var(--primary) 0%,#0c5c40 100%);
    color:#fff!important;
    box-shadow:0 4px 14px rgba(10,74,53,.28);
}
.planner-tabs .custom-tab:not(.active):hover{
    background:rgba(255,255,255,.72);
}
.planner-field-icon{
    font-size:0.72rem;
    margin-inline-end:0.35rem;
    opacity:0.85;
    color:var(--gold);
}
.planner-criteria-bar{
    margin-top:0.25rem;
    padding:1.15rem 1.2rem 1.05rem;
    border-radius:20px;
    border:1px solid rgba(10,74,53,.09);
    background:linear-gradient(160deg,rgba(255,255,255,.95) 0%,rgba(247,250,248,.98) 100%);
    box-shadow:0 10px 28px rgba(10,74,53,.06);
}
.planner-criteria-head{
    display:flex;
    align-items:flex-start;
    gap:0.75rem;
    margin-bottom:0.85rem;
}
.planner-criteria-head i{
    color:var(--gold);
    font-size:1.05rem;
    margin-top:0.15rem;
}
.planner-criteria-head strong{
    display:block;
    font-size:0.88rem;
    font-weight:900;
    color:var(--text-head);
}
.planner-criteria-head span{
    display:block;
    font-size:0.76rem;
    color:var(--text-muted);
    font-weight:600;
    line-height:1.55;
    margin-top:0.2rem;
}
.planner-criteria-grid .planner-label{
    display:flex;
    align-items:center;
}
.planner-mode-hotels .planner-smart-helper{
    border-inline-start:3px solid var(--gold);
    padding-inline-start:0.75rem;
}
.planner-submit-btn{
    min-width:min(100%,280px);
    padding-inline:2rem!important;
    font-weight:800!important;
    letter-spacing:0.02em;
    border-radius:999px!important;
    box-shadow:0 8px 24px rgba(212,175,55,.35),0 2px 0 rgba(255,255,255,.25) inset!important;
}
.planner-submit-btn:hover{
    transform:translateY(-2px);
}
.planner-preset-chip{
    box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
}
.planner-preset-chip:hover{
    box-shadow:0 2px 8px rgba(10,74,53,.12);
}
.planner-label{
    font-size:0.82rem;color:var(--primary);
    font-weight:700;margin-bottom:0.5rem;display:block;
}
.planner-control{
    position:relative;
}
.planner-control-search .planner-search-icon{
    position:absolute;
    inset-inline-end:1rem;
    top:50%;
    transform:translateY(-50%);
    color:var(--text-muted);
    pointer-events:none;
}
.planner-input{
    background:var(--bg-off)!important;
    border:1.5px solid #E8E3D8!important;
    color:var(--text-body)!important;
    padding:0.75rem 1rem!important;
    border-radius:var(--r-md)!important;
    font-weight:500!important;
    font-size:0.9rem;
    transition:border-color .22s,box-shadow .22s,background .22s;
}
.planner-input-search{
    padding-inline-end:2.8rem!important;
}
.planner-autocomplete{
    position:absolute;
    inset-inline-start:0;
    inset-inline-end:0;
    top:calc(100% + 8px);
    z-index:30;
    background:#fff;
    border:1px solid rgba(10,74,53,.10);
    border-radius:18px;
    box-shadow:0 16px 30px rgba(10,74,53,.10);
    overflow:hidden;
}
.planner-suggestion{
    width:100%;
    border:none;
    background:#fff;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:.9rem 1rem;
    text-align:start;
    transition:background .2s ease;
}
.planner-suggestion:hover{
    background:rgba(10,74,53,.05);
}
.planner-suggestion + .planner-suggestion{
    border-top:1px solid rgba(10,74,53,.06);
}
.planner-suggestion-content{
    display:flex;
    flex-direction:column;
    gap:.22rem;
    min-width:0;
}
.planner-suggestion-main{
    color:var(--text-head);
    font-weight:800;
}
.planner-suggestion-meta{
    color:var(--text-muted);
    font-size:.78rem;
}
.planner-suggestion-type{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:74px;
    padding:.3rem .65rem;
    border-radius:999px;
    background:rgba(10,74,53,.06);
    border:1px solid rgba(10,74,53,.09);
    color:var(--primary);
    font-size:.7rem;
    font-weight:900;
    white-space:nowrap;
}
.planner-suggestion-empty{
    justify-content:center;
    color:var(--text-muted);
    cursor:default;
}
.planner-preset-wrap{
    width:100%;
    min-width:0;
    margin-top:.85rem;
}
.planner-preset-label{
    display:block;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:var(--text-muted);
    margin-bottom:.45rem;
}
.planner-smart-presets{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem .55rem;
    align-items:flex-start;
    width:100%;
    min-width:0;
}
.planner-preset-chip{
    border:1px solid rgba(10,74,53,.10);
    background:rgba(10,74,53,.05);
    color:var(--primary);
    border-radius:999px;
    padding:.4rem .95rem;
    font-size:.78rem;
    font-weight:800;
    line-height:1.35;
    white-space:normal;
    max-width:100%;
    flex:0 1 auto;
    text-align:center;
    transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.planner-intent-radar{
    margin-top:.75rem;
    padding:.75rem .9rem;
    border-radius:16px;
    border:1px solid rgba(10,74,53,.09);
    background:linear-gradient(135deg,rgba(10,74,53,.04) 0%,rgba(212,175,55,.06) 100%);
}
.planner-intent-radar-head{
    display:flex;
    align-items:flex-start;
    gap:.65rem;
    margin-bottom:.55rem;
}
.planner-intent-radar-head i{
    color:var(--gold);
    font-size:1.05rem;
    margin-top:.12rem;
}
.planner-intent-radar-head strong{
    display:block;
    font-size:.82rem;
    color:var(--text-head);
    font-weight:900;
    line-height:1.35;
}
.planner-intent-radar-hint{
    display:block;
    font-size:.7rem;
    color:var(--text-muted);
    font-weight:600;
    margin-top:.15rem;
    line-height:1.45;
}
.planner-intent-tags{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem .45rem;
    align-items:flex-start;
    width:100%;
    min-width:0;
}
.planner-intent-tag{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.28rem .65rem;
    border-radius:999px;
    font-size:.74rem;
    font-weight:800;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(10,74,53,.12);
    color:var(--primary);
    max-width:100%;
    line-height:1.3;
}
.planner-intent-tag i{
    font-size:.68rem;
    opacity:.85;
}
.planner-preset-chip:hover{
    background:rgba(10,74,53,.10);
    border-color:rgba(10,74,53,.18);
    transform:translateY(-1px);
}
.planner-smart-helper{
    margin-top:.7rem;
    color:var(--text-muted);
    font-size:.82rem;
    line-height:1.8;
}
.planner-input:focus{
    border-color:var(--primary)!important;
    box-shadow:0 0 0 3px rgba(10,74,53,0.09)!important;
    background:var(--bg-white)!important;
}
.planner-actions{
    margin-top:0.5rem;
}
.planner-result-box{
    margin-top:1.2rem;padding:1rem 1.5rem;
    border-radius:var(--r-md);
    border:1px solid var(--border-light);
    color:var(--primary);
    font-size:0.9rem;display:none;
    box-shadow:none;
}
.planner-result-box.show{display:block}
.planner-result-neutral{
    background:rgba(10,74,53,0.04);
}
.planner-result-success{
    background:rgba(10,74,53,0.06);
    border-color:var(--border-light);
}
.planner-result-error{
    background:rgba(181,52,52,0.05);
    border-color:rgba(181,52,52,0.20);
}
.planner-result-head{
    display:flex;
    align-items:flex-start;
    gap:0.95rem;
}
.planner-result-icon{
    width:40px;
    height:40px;
    min-width:40px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    background:rgba(255,255,255,0.85);
    box-shadow:none;
}
.planner-result-success .planner-result-icon{color:var(--primary)}
.planner-result-error .planner-result-icon{color:#b53434}
.planner-result-head strong{
    display:block;
    margin-bottom:0.25rem;
    color:var(--text-head);
    font-size:1rem;
}
.planner-result-head p{
    margin:0;
    color:var(--text-muted);
    line-height:1.8;
}
.planner-result-meta{
    display:flex;
    gap:0.75rem;
    flex-wrap:wrap;
    margin-top:0.85rem;
    align-items:center;
}
.planner-result-count{
    display:inline-flex;
    align-items:center;
    padding:0.3rem 0.8rem;
    border-radius:999px;
    background:rgba(10,74,53,0.10);
    color:var(--primary);
    font-weight:700;
}
.planner-result-helper{
    color:var(--text-muted);
    font-weight:600;
}
.planner-result-chips{
    display:flex;
    flex-wrap:wrap;
    gap:0.55rem;
    margin-top:0.95rem;
}
.planner-result-chip{
    display:inline-flex;
    align-items:center;
    padding:0.35rem 0.75rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(10,74,53,0.10);
    color:var(--text-body);
    font-weight:600;
    font-size:0.78rem;
}
@media (max-width: 991.98px){
    .planner-card{padding:2rem}
}
@media (max-width: 767.98px){
    .planner-card{
        padding:1.5rem;
    }
    .planner-tabs{
        margin-bottom:1.2rem;
    }
    .planner-tabs .custom-tab{
        flex:1 1 auto;
    }
    .planner-submit-btn{
        width:100%;
    }
    .planner-result-head{
        flex-direction:column;
    }
}

/* ═══════════════════════════════════════════════════════════
   SECTION SYSTEM
═══════════════════════════════════════════════════════════ */
.section-padding{padding:6rem 0;position:relative;background:var(--bg-body)}
.section-alt{background:var(--bg-white)}
.section-dark{background:var(--primary-dark);color:#fff}

.section-green{
    background:var(--primary);color:#fff;
    position:relative;overflow:hidden;
}
.section-green::before{
    content:'';position:absolute;inset:0;
    background:
        radial-gradient(ellipse 60% 80% at 10% 50%,rgba(204,165,91,0.06) 0%,transparent 60%),
        radial-gradient(ellipse 50% 60% at 90% 50%,rgba(255,255,255,0.03) 0%,transparent 60%);
    pointer-events:none;
}
.section-header{margin-bottom:3.5rem}

.section-badge{
    display:inline-flex;align-items:center;gap:0.5rem;
    padding:0.42rem 1.1rem;border-radius:50px;
    background:rgba(10,74,53,0.08);
    color:var(--primary);font-size:0.8rem;font-weight:700;
    margin-bottom:1rem;
    border:1px solid rgba(10,74,53,0.10);
}
.section-green .section-badge{
    background:rgba(204,165,91,0.15);color:var(--gold);
    border-color:rgba(204,165,91,0.25);
}

.section-title{
    font-size:clamp(1.7rem,3.2vw,2.1rem);
    font-weight:900;line-height:1.35;
    margin-bottom:0.9rem;color:var(--text-head);
}
.section-green .section-title{color:#fff}
.section-text{font-size:1rem;color:var(--text-muted);line-height:1.9}
.section-green .section-text{color:rgba(255,255,255,0.75)}

/* Divider */
.section-divider{
    width:60px;height:4px;border-radius:2px;
    background:var(--grad-gold);margin:1rem 0;
}

/* ═══════════════════════════════════════════════════════════
   CARDS — Glass / Solid
═══════════════════════════════════════════════════════════ */
.glass-card{
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-sm);
    transition:box-shadow .35s var(--ease),transform .35s var(--ease);
    overflow:hidden;
}
.glass-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}

/* Feature Cards */
.feature-card{padding:2.5rem 1.6rem;text-align:center}
.feature-icon{
    width:66px;height:66px;border-radius:18px;
    background:linear-gradient(145deg,rgba(10,74,53,0.08),rgba(10,74,53,0.04));
    border:1px solid rgba(10,74,53,0.08);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 1.4rem;
    transition:background .3s,transform .3s;
}
.glass-card:hover .feature-icon{background:linear-gradient(145deg,var(--primary),var(--primary-mid));transform:scale(1.1) rotate(-5deg)}
.feature-icon i{font-size:1.6rem;color:var(--primary);transition:color .3s}
.glass-card:hover .feature-icon i{color:#fff}
.feature-card h3{font-size:1.05rem;font-weight:800;color:var(--text-head);margin-bottom:0.7rem}
.feature-card p{font-size:0.88rem;color:var(--text-muted);line-height:1.75}

/* ─── Offer Cards ─────────────────────────────────────── */
.offer-card-cover{
    height:240px;
    border-radius:var(--r-lg) var(--r-lg) 0 0;
    position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
}
.offer-cover-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:1;
    transition:transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.glass-card:hover .offer-cover-image{transform:scale(1.07)}
.offer-card-cover.has-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(6,12,20,0.70) 0%, rgba(6,12,20,0.30) 45%, rgba(6,12,20,0.06) 100%);
    z-index:2;
}
/* Umrah */
.offer-card-cover.cover-umrah{
    background:linear-gradient(145deg,#062B1F 0%,#0A4A35 60%,#0F6046 100%);
}
/* Hajj */
.offer-card-cover.cover-hajj{
    background:linear-gradient(145deg,#3D2A06 0%,#6B4A10 60%,#A88647 100%);
}
/* VIP */
.offer-card-cover.cover-vip{
    background:linear-gradient(145deg,#0D1B2A 0%,#1B2B3D 60%,#283F55 100%);
}
.offer-card-cover::before{
    content:'';position:absolute;inset:0;
    background:
        repeating-linear-gradient(45deg,rgba(255,255,255,0.025) 0,rgba(255,255,255,0.025) 1px,transparent 0,transparent 20px);
}
.cover-icon{
    position:relative;z-index:2;
    width:72px;height:72px;border-radius:50%;
    background:rgba(255,255,255,0.08);
    border:1.5px solid rgba(255,255,255,0.15);
    display:flex;align-items:center;justify-content:center;
    transition:transform .3s,background .3s;
}
.offer-card-cover.has-image .cover-icon.cover-icon--fallback{
    position:absolute;
    bottom:0.9rem;
    inset-inline-start:1rem;
    z-index:4;
    width:36px;height:36px;
    border-radius:10px;
    background:rgba(7,16,28,0.45);
    border:1px solid rgba(255,255,255,0.28);
    backdrop-filter:blur(4px);
    box-shadow:0 6px 14px rgba(0,0,0,0.2);
}
.offer-card-cover.has-image .cover-icon.cover-icon--fallback i{font-size:1rem}
.glass-card:hover .cover-icon{transform:scale(1.12);background:rgba(255,255,255,0.14)}
.cover-icon i{font-size:2rem;color:rgba(255,255,255,0.75)}
.cover-umrah .cover-icon i{color:rgba(224,188,117,0.85)}
.cover-hajj .cover-icon i{color:rgba(240,210,140,0.90)}
.cover-vip .cover-icon i{color:rgba(180,200,255,0.85)}

.offer-type-badge{
    position:absolute;top:1rem;
    inset-inline-end:1rem;
    padding:0.28rem 0.85rem;
    border-radius:50px;
    font-size:0.72rem;font-weight:700;
    letter-spacing:0.03em;
    z-index:4;
}
.badge-umrah{background:var(--grad-gold);color:#04180e}
.badge-hajj{background:linear-gradient(135deg,#B8943A,#E0C070);color:#2A1A00}
.badge-vip{background:linear-gradient(135deg,#4A6380,#6080A0);color:#fff}

.offer-card-body{padding:1.6rem}
.offer-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.9rem}
.offer-tag{
    padding:0.22rem 0.7rem;border-radius:50px;
    font-size:0.70rem;font-weight:700;
    background:rgba(10,74,53,0.07);color:var(--primary);
    border:1px solid rgba(10,74,53,0.09);
}
.offer-card-body h3{font-size:1.1rem;font-weight:800;color:var(--text-head);margin-bottom:0.5rem;line-height:1.4}
.offer-card-body p{font-size:0.87rem;color:var(--text-muted);line-height:1.8;margin-bottom:0.9rem}

/* ══ Offer Card Footer — New Design ══ */
.offer-footer-new{
    margin-top:.75rem;
    border-top:1px solid rgba(10,74,53,.09);
    padding-top:.75rem;
    display:flex;
    flex-direction:column;
    gap:.55rem;
}
.offer-company-bar{
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.42rem .65rem;
    border-radius:10px;
    background:rgba(10,74,53,.04);
    border:1px solid rgba(10,74,53,.09);
    text-decoration:none;
    transition:background .2s,border-color .2s;
    min-width:0;
}
a.offer-company-bar:hover{
    background:rgba(10,74,53,.09);
    border-color:rgba(10,74,53,.2);
}
.offer-company-bar--plain{ cursor:default; }
.offer-company-logo-sm{
    height:28px;
    width:auto;
    max-width:72px;
    object-fit:contain;
    border-radius:5px;
    flex-shrink:0;
}
.offer-company-bar__icon{ font-size:.78rem; color:var(--primary); flex-shrink:0; }
.offer-company-bar__name{
    font-size:.75rem;
    font-weight:700;
    color:#2a4a3a;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    flex:1;
    min-width:0;
}
.offer-company-bar__arrow{ font-size:.62rem; color:rgba(10,74,53,.35); flex-shrink:0; margin-inline-start:auto; }
.offer-footer-new__price-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
}
.offer-price-box{ display:flex; align-items:baseline; gap:.3rem; flex-wrap:wrap; }
.offer-price-box__amount{ font-size:1.45rem; font-weight:900; color:var(--gold-dark); line-height:1; }
.offer-price-box__meta{ display:flex; flex-direction:column; gap:.05rem; }
.offer-price-box__currency{ font-size:.68rem; font-weight:700; color:var(--gold-dark); opacity:.8; line-height:1; }
.offer-price-box__label{ font-size:.62rem; font-weight:600; color:var(--text-muted); line-height:1; }
.offer-book-cta{
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.38rem .85rem; border-radius:999px;
    background:linear-gradient(135deg,#0A4A35,#16805A);
    color:#fff; font-size:.78rem; font-weight:800; white-space:nowrap;
    box-shadow:0 4px 14px rgba(10,74,53,.28);
    transition:box-shadow .2s,transform .2s;
    border:none; cursor:pointer; text-decoration:none;
}
.offer-book-cta:hover{ box-shadow:0 6px 20px rgba(10,74,53,.38); transform:translateY(-1px); color:#fff; }
.offer-book-cta:active{ transform:scale(.97); }
.offer-book-cta i{ font-size:.72rem; }
.offer-detail-btn{
    display:inline-flex; align-items:center; gap:.35rem;
    padding:.38rem .9rem; border-radius:999px;
    border:1.5px solid rgba(10,74,53,.22);
    color:var(--primary); font-size:.78rem; font-weight:700;
    text-decoration:none; white-space:nowrap; background:#fff;
    transition:all .2s; flex-shrink:0;
}
.offer-detail-btn:hover{ background:var(--primary); color:#fff; border-color:var(--primary); }

/* ── Agency CTA block inside service card ── */
.agency-cta{
    display:flex;align-items:center;gap:.7rem;
    background:linear-gradient(135deg,rgba(10,74,53,.06),rgba(183,134,51,.07));
    border:1px solid rgba(10,74,53,.13);
    border-radius:12px;padding:.7rem .9rem;
    margin:.4rem 0;
}
.agency-cta-icon{
    width:36px;height:36px;flex-shrink:0;
    background:linear-gradient(135deg,var(--primary,#0a4a35),#1a6644);
    color:#fff;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:.82rem;box-shadow:0 2px 8px rgba(10,74,53,.25);
}
.agency-cta-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.agency-cta-title{
    font-size:.88rem;font-weight:900;
    color:var(--gold-dark,#9a6f28);line-height:1.3;
}
.agency-cta-sub{
    font-size:.72rem;color:var(--text-muted);
    line-height:1.45;font-weight:500;
}

.rating-display{display:flex;align-items:center;gap:0.4rem}
.star-rating .fa-star,.star-rating .fa-star-half-stroke{color:#D4C5A5;font-size:0.82rem}
.star-rating .filled{color:var(--gold)}
.rating-count{font-size:0.78rem;color:var(--text-muted)}
.rating-number{font-size:0.9rem;font-weight:700;color:var(--text-body)}

/* ─── Service Cards ───────────────────────────────────── */
.service-card-cover{
    height:165px;display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
}
.service-cover-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:1;
    transition:transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.glass-card:hover .service-cover-image{transform:scale(1.07)}
.service-card-cover.has-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(6,12,20,.45),rgba(6,12,20,.15));
    z-index:2;
}
.cover-agency {background:linear-gradient(145deg,#0A4A35,#10664A)}
.cover-hotel  {background:linear-gradient(145deg,#1A3A5C,#24527A)}
.cover-bus    {background:linear-gradient(145deg,#2D4A1E,#3D6428)}
.cover-guide  {background:linear-gradient(145deg,#4A2D0A,#6B4010)}
.cover-pilgrim{background:linear-gradient(145deg,#0A3A4A,#105A6A)}
.cover-ziyarat{background:linear-gradient(145deg,#3A0A4A,#551066)}
.cover-airline{background:linear-gradient(145deg,#0A254A,#103A6A)}
.service-card-cover::before{
    content:'';position:absolute;inset:0;
    background:repeating-linear-gradient(45deg,rgba(255,255,255,0.025) 0,rgba(255,255,255,0.025) 1px,transparent 0,transparent 20px);
}
.service-card-cover i{font-size:2.4rem;color:rgba(255,255,255,0.72);position:relative;z-index:1}
.service-card-cover.has-image i.service-cover-icon--fallback{
    position:absolute;
    top:10px;
    inset-inline-end:10px;
    z-index:4;
    width:34px;
    height:34px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.95rem;
    color:#fff;
    background:rgba(7,16,28,.45);
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(3px);
    box-shadow:0 6px 14px rgba(0,0,0,.2);
}
.service-card-body{padding:1.5rem}
.service-card-body h3{color:var(--text-head);font-weight:800;font-size:1.05rem;margin-bottom:0.5rem}
.service-card-body p{font-size:0.87rem;color:var(--text-muted);line-height:1.8;margin-bottom:0.8rem}
.service-meta{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;margin-top:0.5rem}
.service-meta-item{color:var(--text-muted);font-size:0.80rem;font-weight:500}
.service-meta-item i{color:var(--gold);margin-inline-end:0.3rem}

/* ─── Rating Cards ────────────────────────────────────── */
.rating-overview-card{padding:2rem 1.5rem;text-align:center}
.rating-category{
    font-size:0.82rem;font-weight:700;color:var(--primary);
    padding:0.3rem 1rem;border-radius:50px;
    background:rgba(10,74,53,0.08);
    border:1px solid rgba(10,74,53,0.08);
    display:inline-block;margin-bottom:1rem;
}
.rating-score{font-size:2.8rem;font-weight:900;color:var(--text-head)}
.rating-score span{font-size:1rem;color:var(--text-muted)}
.rating-bar{width:100%;height:7px;background:#EAE5DE;border-radius:10px;margin:1rem 0 0.5rem}
.rating-bar-fill{height:100%;background:var(--grad-gold);border-radius:10px;width:0;transition:width 1.5s ease}
.rating-reviews-count{font-size:0.82rem;color:var(--text-muted);font-weight:500}
.rating-reviews-count i{margin-inline-end:0.3rem;color:var(--gold)}

/* ─── Partner Cards ───────────────────────────────────── */
.partner-card{padding:2rem 1.5rem;text-align:center}
.partner-metric{
    display:inline-block;padding:0.4rem 1.1rem;
    border-radius:50px;background:var(--primary);color:#fff;
    font-weight:700;font-size:0.85rem;margin-bottom:1rem;
}
.partner-card h3{color:var(--text-head);font-weight:800;font-size:1.1rem;margin-bottom:0.5rem}
.partner-card p{font-size:0.87rem;color:var(--text-muted);line-height:1.8}

/* ═══════════════════════════════════════════════════════════
   FILTER / TABS
═══════════════════════════════════════════════════════════ */
.filter-bar{
    padding:1.6rem;border-radius:var(--r-lg);
    background:var(--bg-white);
    border:1px solid var(--border-light);
    box-shadow:var(--shadow-sm);margin-bottom:2rem;
}
.filter-bar .form-control,
.filter-bar .form-select{
    background:var(--bg-off);border:1.5px solid #E8E3D8;
    color:var(--text-body);padding:0.75rem 1rem;
    border-radius:var(--r-md);font-weight:500;
}
.filter-bar .form-control:focus,
.filter-bar .form-select:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(10,74,53,0.09);
    background:var(--bg-white);
}
.search-input-wrapper{position:relative}
.search-input-wrapper i{
    position:absolute;inset-inline-end:1rem;top:50%;transform:translateY(-50%);
    color:var(--text-muted);pointer-events:none;
}

.custom-tabs{
    display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:1.5rem;
    background:var(--bg-off);padding:5px;
    border-radius:50px;
    box-shadow:var(--shadow-xs);
    border:1px solid var(--border-light);
}
.custom-tab{
    padding:0.55rem 1.3rem;border-radius:50px;border:none;
    background:transparent;color:var(--text-muted);
    font-weight:700;font-size:0.88rem;cursor:pointer;
    transition:var(--transition);
}
.custom-tab:hover{color:var(--primary);background:rgba(10,74,53,0.06)}
.custom-tab.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}

/* ═══════════════════════════════════════════════════════════
   ROUTES / TIMELINE
═══════════════════════════════════════════════════════════ */
.route-card,.timeline-card{padding:2rem}
.route-item,.timeline-item{
    display:flex;align-items:flex-start;gap:1rem;
    padding:1rem 1.1rem;
    background:var(--bg-off);
    border-radius:var(--r-md);
    margin-bottom:0.75rem;
    border:1px solid var(--border-light);
    transition:background .22s,transform .22s;
}
.route-item:hover,.timeline-item:hover{background:var(--gold-pale);transform:translateX(4px)}
[dir="ltr"] .route-item:hover,[dir="ltr"] .timeline-item:hover{transform:translateX(-4px)}
.route-number,.timeline-number{
    width:36px;height:36px;min-width:36px;border-radius:50%;
    background:var(--grad-gold);color:#04180e;
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:0.85rem;flex-shrink:0;
}
.route-text,.timeline-text{color:var(--text-body);font-weight:600;font-size:0.93rem;margin-top:0.3rem;line-height:1.6}

/* ═══════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════════════════════════ */
.page-hero{
    padding:9rem 0 4.5rem;
    background:var(--grad-hero);
    color:#fff;position:relative;overflow:hidden;
}
.page-hero::after{
    content:'';position:absolute;bottom:0;left:0;right:0;height:80px;
    background:linear-gradient(to bottom,transparent,var(--bg-body));
    pointer-events:none;
}
.page-hero .section-badge{background:rgba(204,165,91,0.15);color:var(--gold);border-color:rgba(204,165,91,0.25)}

/* ═══════════════════════════════════════════════════════════
   STATS BOX
═══════════════════════════════════════════════════════════ */
.stat-box{
    padding:1.8rem 1.2rem;border-radius:var(--r-lg);
    background:var(--bg-white);border:1px solid var(--border-light);
    text-align:center;box-shadow:var(--shadow-xs);
    transition:var(--transition);
}
.stat-box:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.stat-box strong{
    font-size:2.2rem;font-weight:900;display:block;margin-bottom:0.3rem;
    background:var(--grad-green);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-box span{color:var(--text-muted);font-size:0.88rem;font-weight:600}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════ */
.testimonial-card{
    padding:2rem;border-radius:var(--r-lg);
    background:var(--bg-white);border:1px solid var(--border-light);
    box-shadow:var(--shadow-sm);
    transition:box-shadow .35s,transform .35s;
}
.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}
.testimonial-text{
    font-size:0.95rem;color:var(--text-body);
    line-height:1.9;margin-bottom:1.5rem;
    position:relative;padding-top:1.5rem;
}
.testimonial-text::before{
    content:'\201C';position:absolute;
    top:-10px;inset-inline-start:0;
    font-size:4rem;line-height:1;
    color:var(--gold);opacity:0.4;
    font-family:Georgia,serif;
}
.testimonial-author{display:flex;align-items:center;gap:0.8rem}
.testimonial-avatar{
    width:46px;height:46px;border-radius:50%;
    background:var(--grad-gold);color:#04180e;
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.1rem;flex-shrink:0;
}
.testimonial-info strong{display:block;font-size:0.9rem;font-weight:800;color:var(--text-head)}
.testimonial-info span{font-size:0.78rem;color:var(--text-muted)}

/* ═══════════════════════════════════════════════════════════
   PARTNER REGISTRATION — أعلى النشرة البريدية (نبض / Pulse)
═══════════════════════════════════════════════════════════ */
.footer-partner-pulse-section{
    position:relative;
    padding:2.85rem 0 2.15rem;
    overflow:hidden;
    background:linear-gradient(165deg,#050f0c 0%,#0d3d30 38%,#082820 100%);
}
.footer-partner-pulse-section + .newsletter-section{
    padding-top:4rem;
}
.footer-partner-pulse-bg{
    position:absolute;
    inset:0;
    background:
        radial-gradient(ellipse 90% 120% at 50% -10%,rgba(204,165,91,.18),transparent 58%),
        radial-gradient(ellipse 55% 70% at 85% 45%,rgba(22,128,90,.14),transparent 52%),
        radial-gradient(ellipse 45% 60% at 15% 60%,rgba(99,102,241,.06),transparent 50%);
    animation:footerPartnerBgBreath 10s ease-in-out infinite alternate;
    pointer-events:none;
}
@keyframes footerPartnerBgBreath{
    from{opacity:.88;transform:scale(1);}
    to{opacity:1;transform:scale(1.02);}
}
.footer-partner-pulse-wrap{
    position:relative;
    max-width:920px;
    margin:0 auto;
    padding:4px;
    border-radius:22px;
}
.footer-partner-pulse-ring{
    position:absolute;
    inset:-1px;
    border-radius:24px;
    border:2px solid rgba(204,165,91,.42);
    animation:footerPartnerRipple 3s cubic-bezier(.35,.01,.25,1) infinite;
    pointer-events:none;
    z-index:0;
}
.footer-partner-pulse-ring--delay{
    animation-delay:1.5s;
}
@keyframes footerPartnerRipple{
    0%{transform:scale(1);opacity:.5;}
    65%{opacity:.08;}
    100%{transform:scale(1.03);opacity:0;}
}
.footer-tor-register-cta--pulse{
    position:relative;
    z-index:2;
    animation:footerPartnerCardGlow 2.75s ease-in-out infinite;
}
@keyframes footerPartnerCardGlow{
    0%,100%{
        box-shadow:
            0 14px 42px rgba(0,0,0,.24),
            0 0 0 0 rgba(204,165,91,.28),
            inset 0 1px 0 rgba(255,255,255,.07);
    }
    50%{
        box-shadow:
            0 22px 56px rgba(0,0,0,.3),
            0 0 36px 6px rgba(204,165,91,.2),
            inset 0 1px 0 rgba(255,255,255,.12);
    }
}
.footer-tor-register-cta--pulse .footer-tor-register-cta__icon{
    animation:footerPartnerIconBeat 2.75s ease-in-out infinite;
}
@keyframes footerPartnerIconBeat{
    0%,100%{transform:scale(1);}
    18%{transform:scale(1.09);}
    36%{transform:scale(1);}
}
.footer-tor-register-cta--pulse:hover{
    animation-play-state:paused;
}
.footer-partner-pulse-section:hover .footer-partner-pulse-ring,
.footer-partner-pulse-section:hover .footer-partner-pulse-ring--delay{
    animation-play-state:paused;
}
@media (prefers-reduced-motion:reduce){
    .footer-partner-pulse-bg,
    .footer-partner-pulse-ring,
    .footer-partner-pulse-ring--delay,
    .footer-tor-register-cta--pulse,
    .footer-tor-register-cta--pulse .footer-tor-register-cta__icon{
        animation:none!important;
    }
    .footer-partner-pulse-ring,
    .footer-partner-pulse-ring--delay{display:none;}
}

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER CTA
═══════════════════════════════════════════════════════════ */
.newsletter-section{
    padding:5rem 0;
    background:var(--primary-dark);
    position:relative;overflow:hidden;
}
.newsletter-section::before{
    content:'';position:absolute;inset:0;
    background:
        radial-gradient(ellipse 60% 120% at 50% 50%,rgba(204,165,91,0.06) 0%,transparent 70%);
    pointer-events:none;
}
.newsletter-card{
    text-align:center;position:relative;z-index:2;
    max-width:600px;margin:0 auto;
}
.newsletter-badge{
    display:inline-flex;align-items:center;gap:0.5rem;
    padding:0.4rem 1.1rem;border-radius:50px;
    background:rgba(204,165,91,0.12);
    border:1px solid rgba(204,165,91,0.22);
    color:var(--gold);font-size:0.8rem;font-weight:700;margin-bottom:1.2rem;
}
.newsletter-title{
    font-size:clamp(1.6rem,3vw,2rem);font-weight:900;
    color:#fff;margin-bottom:0.8rem;
}
.newsletter-text{color:rgba(255,255,255,0.68);margin-bottom:2rem;font-size:0.95rem}
.newsletter-form{display:flex;gap:0.75rem;max-width:480px;margin:0 auto;flex-wrap:wrap}
.newsletter-form .form-control{
    flex:1;background:rgba(255,255,255,0.08);
    border:1.5px solid rgba(255,255,255,0.15);
    color:#fff;border-radius:50px;padding:0.85rem 1.4rem;
    font-size:0.9rem;
    transition:border-color .22s,box-shadow .22s;
    min-width:200px;
}
.newsletter-form .form-control::placeholder{color:rgba(255,255,255,0.45)}
.newsletter-form .form-control:focus{
    outline:none;border-color:rgba(204,165,91,0.55);
    box-shadow:0 0 0 3px rgba(204,165,91,0.12);
    background:rgba(255,255,255,0.10);
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.footer-section{
    padding:5rem 0 0;
    background:var(--bg-dark);
    color:rgba(255,255,255,0.72);
    position:relative;overflow:hidden;
}
.footer-section::before{
    content:'';position:absolute;
    top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(204,165,91,0.4),transparent);
}

/* Footer brand */
.footer-brand{display:flex;align-items:center;gap:0.8rem;margin-bottom:1.2rem}
.footer-brand .brand-icon{width:48px;height:48px;border-radius:14px;flex-shrink:0}
.footer-brand .brand-name{font-size:1.1rem;font-weight:800;color:#fff}
.footer-brand .brand-subtitle{font-size:0.65rem;color:rgba(224,188,117,0.65)}
.footer-text{font-size:0.88rem;line-height:1.9;margin-bottom:1.5rem;color:rgba(255,255,255,0.58)}

/* Social */
.footer-social{display:flex;gap:0.6rem;flex-wrap:wrap}
.footer-social a{
    width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.10);
    display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,0.60);font-size:0.9rem;
    transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.footer-social a:hover{
    background:var(--gold);border-color:var(--gold);
    color:#04180e;transform:translateY(-3px);
}

/* Links */
.footer-links-title{
    color:#fff;font-weight:800;margin-bottom:1.4rem;
    font-size:0.95rem;position:relative;padding-bottom:0.8rem;
}
.footer-links-title::after{
    content:'';position:absolute;
    bottom:0;inset-inline-start:0;
    width:30px;height:2px;
    background:var(--grad-gold);border-radius:2px;
}
.footer-links-list{list-style:none;padding:0}
.footer-links-list li{margin-bottom:0.7rem}
.footer-links-list a{
    color:rgba(255,255,255,0.58);font-size:0.87rem;font-weight:500;
    transition:color .22s,padding-inline-start .22s;
    display:inline-flex;align-items:center;gap:0.4rem;
}
.footer-links-list a:hover{color:var(--gold);padding-inline-start:4px}
.footer-links-list i{font-size:0.6rem;color:var(--gold);opacity:0.7}

/* Footer contact items */
.footer-contact-item{
    display:flex;align-items:flex-start;gap:0.75rem;
    margin-bottom:0.9rem;
}
.footer-contact-icon{
    width:34px;height:34px;border-radius:9px;
    background:rgba(204,165,91,0.12);
    border:1px solid rgba(204,165,91,0.18);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);font-size:0.85rem;flex-shrink:0;margin-top:2px;
}
.footer-contact-item span{font-size:0.85rem;color:rgba(255,255,255,0.60);line-height:1.6}

/* Divider */
.footer-divider{border-color:rgba(255,255,255,0.07);margin:3.5rem 0 0}

/* Bottom bar */
.footer-bottom{
    background:rgba(0,0,0,0.25);
    padding:1.4rem 0;margin-top:0;
}
.footer-copyright{font-size:0.82rem;color:rgba(255,255,255,0.42);margin:0;line-height:1.8}
.footer-partners{font-size:0.82rem;color:rgba(255,255,255,0.42);margin:0}
.footer-partners a{color:var(--gold);font-weight:700}

/* Partner registration CTA (tour-operator-registration plugin) */
.footer-tor-register-cta{
    display:flex;align-items:center;gap:1rem;
    padding:1rem 1.15rem;
    border-radius:16px;
    text-decoration:none;
    background:linear-gradient(135deg,rgba(204,165,91,.14),rgba(10,74,53,.22));
    border:1px solid rgba(204,165,91,.38);
    box-shadow:0 12px 36px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06);
    transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;
}
.footer-tor-register-cta:hover{
    transform:translateY(-2px);
    border-color:rgba(204,165,91,.55);
    box-shadow:0 16px 44px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1);
    background:linear-gradient(135deg,rgba(204,165,91,.2),rgba(10,74,53,.28));
}
.footer-tor-register-cta:focus-visible{
    outline:2px solid rgba(204,165,91,.65);
    outline-offset:3px;
}
.footer-tor-register-cta__icon{
    flex-shrink:0;width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:var(--grad-gold);
    color:#04180e;font-size:1.35rem;
    box-shadow:var(--shadow-gold);
}
.footer-tor-register-cta__body{
    flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem;
}
.footer-tor-register-cta__title-row{
    display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;
}
.footer-tor-register-cta__title{
    font-size:0.98rem;font-weight:800;color:#fff;line-height:1.35;
}
.footer-tor-register-cta__badge{
    display:inline-flex;align-items:center;
    padding:.2rem .65rem;border-radius:999px;
    font-size:.68rem;font-weight:800;letter-spacing:.04em;
    text-transform:uppercase;
    background:rgba(204,165,91,.22);
    border:1px solid rgba(204,165,91,.45);
    color:#f0d898;
}
.footer-tor-register-cta__sub{
    font-size:.82rem;font-weight:500;line-height:1.65;
    color:rgba(255,255,255,.62);
}
.footer-tor-register-cta__arrow{
    flex-shrink:0;color:var(--gold);font-size:.85rem;opacity:.85;
}
@media (max-width:575.98px){
    .footer-tor-register-cta{flex-wrap:wrap;padding:.9rem 1rem;}
    .footer-tor-register-cta__icon{width:46px;height:46px;font-size:1.15rem;}
    .footer-tor-register-cta__title{font-size:.9rem;}
    .footer-tor-register-cta__sub{font-size:.78rem;}
}

/* ═══════════════════════════════════════════════════════════
   FLOATING ACTION BUTTONS (WhatsApp → Bot → Back-to-top)
═══════════════════════════════════════════════════════════ */
:root{
    --fab-inset:1.6rem;
    --fab-gap:12px;
    --fab-lg:56px;
    --fab-sm:44px;
    --fab-z-base:998;
    --fab-z-mid:999;
    --fab-z-top:1000;
    --fab-z-panel:1065;
}
.site-fab-btn{
    position:relative;
    width:var(--fab-lg);height:var(--fab-lg);
    border-radius:50%;
    border:0;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    cursor:pointer;
    text-decoration:none;
    transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease;
    box-shadow:0 8px 24px rgba(15,23,42,.18), inset 0 0 0 1.5px rgba(255,255,255,.22);
}
.site-fab-btn:hover{transform:translateY(-3px) scale(1.05);color:#fff}
.site-fab-btn--sm{width:var(--fab-sm);height:var(--fab-sm);font-size:.92rem}

/* ── Back to top (top of stack) ── */
.back-to-top{
    position:fixed;
    inset-inline-end:var(--fab-inset);
    width:var(--fab-sm);height:var(--fab-sm);border-radius:50%;
    background:linear-gradient(145deg,#f5dfae,#c9a052 58%,#a67c2a);
    border:1px solid rgba(255,255,255,.35);
    color:#1a1206;
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease, visibility .22s ease, bottom .22s ease;
    z-index:var(--fab-z-top);cursor:pointer;
    box-shadow:0 8px 22px rgba(166,124,42,.35), inset 0 1px 0 rgba(255,255,255,.35);
    font-size:.92rem;
}
.back-to-top.visible{opacity:1;visibility:visible;pointer-events:auto}
.back-to-top:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 28px rgba(166,124,42,.45)}

/* ── WhatsApp (bottom of stack) ── */
.whatsapp-float{
    position:fixed;
    inset-inline-end:var(--fab-inset);
    bottom:var(--fab-inset);
    width:var(--fab-lg);height:var(--fab-lg);border-radius:50%;
    background:radial-gradient(circle at 30% 30%,#36e07a,#1ebf5d 62%,#159f4b);
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.45rem;
    box-shadow:0 8px 26px rgba(37,211,102,.42), inset 0 0 0 1.5px rgba(255,255,255,.25);
    z-index:var(--fab-z-base);
    transition:transform .22s ease, box-shadow .22s ease, bottom .22s ease;
    animation:waPulse 2.8s ease-in-out infinite;
}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 34px rgba(37,211,102,.62);color:#fff}

/* ── Chatbot widget anchor ── */
.support-chat-widget{
    position:fixed;
    inset-inline-end:var(--fab-inset);
    bottom:var(--fab-inset);
    z-index:var(--fab-z-mid);
    transition:bottom .22s ease;
}
.support-chat-toggle{position:relative;display:block}

/* Stack: WhatsApp + Bot + Back-to-top */
body.has-wa-float.has-umrah-chatbot .whatsapp-float{bottom:var(--fab-inset)}
body.has-wa-float.has-umrah-chatbot .umrah-chatbot-widget{bottom:calc(var(--fab-inset) + var(--fab-lg) + var(--fab-gap))}
body.has-wa-float.has-umrah-chatbot .back-to-top{bottom:calc(var(--fab-inset) + (var(--fab-lg) + var(--fab-gap)) * 2)}

body.has-wa-float:not(.has-umrah-chatbot) .whatsapp-float{bottom:var(--fab-inset)}
body.has-wa-float:not(.has-umrah-chatbot) .back-to-top{bottom:calc(var(--fab-inset) + var(--fab-lg) + var(--fab-gap))}

body.has-umrah-chatbot:not(.has-wa-float) .umrah-chatbot-widget{bottom:var(--fab-inset)}
body.has-umrah-chatbot:not(.has-wa-float) .back-to-top{bottom:calc(var(--fab-inset) + var(--fab-lg) + var(--fab-gap))}

body:not(.has-wa-float):not(.has-umrah-chatbot) .back-to-top{bottom:var(--fab-inset)}

@keyframes waPulse{
    0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45)}
    50%{box-shadow:0 6px 24px rgba(37,211,102,.45),0 0 0 12px rgba(37,211,102,.10)}
}
.wa-float-ping{
    position:absolute;inset:-5px;border-radius:50%;
    border:2px solid rgba(37,211,102,.35);
    animation:waPing 1.9s ease-out infinite;
}
@keyframes waPing{
    0%{transform:scale(1);opacity:1}
    100%{transform:scale(1.28);opacity:0}
}
.support-chat-panel{
    position:fixed;
    bottom:calc(var(--fab-inset) + var(--fab-lg) + 18px);
    inset-inline-end:calc(var(--fab-inset) - .15rem);
    z-index:var(--fab-z-panel);
    width:min(360px,calc(100vw - 1.2rem));
    max-height:min(74vh,560px);
    background:#fff;
    border:1px solid rgba(15,23,42,.1);
    border-radius:18px;
    box-shadow:0 20px 52px rgba(15,23,42,.24);
    overflow:hidden;
    transform:translateY(14px) scale(.96);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .22s ease,opacity .2s ease,visibility .2s ease;
}
.support-chat-panel.is-open{
    transform:translateY(0) scale(1);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.support-chat-panel::after{
    content:'';
    position:absolute;
    bottom:-8px;
    inset-inline-end:22px;
    width:16px;height:16px;
    background:#fff;
    border-right:1px solid rgba(15,23,42,.1);
    border-bottom:1px solid rgba(15,23,42,.1);
    transform:rotate(45deg);
}
.support-chat-head{
    background:linear-gradient(145deg,#25D366,#1EBF5D);
    color:#fff;
    display:flex;align-items:center;justify-content:space-between;
    padding:.78rem .92rem;
    font-size:.92rem;
}
.support-chat-head-meta{
    display:flex;
    flex-direction:column;
    line-height:1.2;
}
.support-chat-head-meta strong{
    font-size:.9rem;
    font-weight:800;
}
.support-chat-head-meta span{
    font-size:.72rem;
    opacity:.9;
}
.support-chat-close{
    border:0;background:transparent;color:#fff;
    font-size:1.25rem;line-height:1;cursor:pointer;opacity:.88;
    width:30px;height:30px;border-radius:50%;
}
.support-chat-close:hover{background:rgba(255,255,255,.18)}
.support-chat-body{padding:.86rem;background:#fff}
.support-quick-replies{
    display:flex;gap:.45rem;flex-wrap:wrap;
}
.support-quick-btn{
    border:1px solid #d7e7dd;
    background:#f7fffa;
    color:#166534;
    border-radius:999px;
    font-size:.74rem;
    font-weight:700;
    padding:.3rem .68rem;
}
.support-quick-btn:hover{
    background:#ecfdf3;
    border-color:#9ad9b0;
}
.support-chat-label{display:block;font-size:.78rem;color:#475569;margin-bottom:.35rem;font-weight:700}
.support-chat-input{
    width:100%;
    border:1px solid #dbe4ef;
    border-radius:10px;
    padding:.6rem .7rem;
    resize:none;
    min-height:108px;
    outline:0;
}
.support-chat-input:focus{border-color:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.14)}
.support-chat-send{
    margin-top:.55rem;
    width:100%;
    border:0;
    border-radius:10px;
    background:#25D366;
    color:#fff;
    font-weight:700;
    padding:.55rem .75rem;
}
.support-chat-send:hover{background:#1cae54}
body.has-wa-float.has-umrah-chatbot .umrah-chatbot-panel{
    bottom:calc(var(--fab-inset) + (var(--fab-lg) + var(--fab-gap)) + var(--fab-lg) + 14px);
}
body.has-umrah-chatbot:not(.has-wa-float) .umrah-chatbot-panel{
    bottom:calc(var(--fab-inset) + var(--fab-lg) + 14px);
}
@media(max-width:575.98px){
    :root{--fab-inset:1rem;--fab-gap:10px;--fab-lg:52px;--fab-sm:42px}
    .support-chat-panel{
        inset-inline-end:.55rem;
        width:calc(100vw - 1.1rem);
        max-height:68vh;
        border-radius:14px;
    }
    .support-chat-panel::after{
        inset-inline-end:20px;
    }
    #umrahChatbotPanel{
        position:fixed!important;
        inset:0!important;
        left:0!important;
        right:0!important;
        top:0!important;
        bottom:0!important;
        width:100%!important;
        max-width:100%!important;
        height:100dvh!important;
        max-height:100dvh!important;
        margin:0!important;
        border-radius:0!important;
        border:0!important;
        box-shadow:none!important;
        z-index:1065!important;
        padding-top:env(safe-area-inset-top,0px);
        padding-bottom:env(safe-area-inset-bottom,0px);
        overflow:hidden!important;
    }
    #umrahChatbotPanel:not(.is-open){
        transform:translateY(100%)!important;
    }
    #umrahChatbotPanel.is-open{
        transform:translateY(0)!important;
    }
    #umrahChatbotPanel::after{display:none!important}
}
@media(min-width:576px) and (max-width:991.98px){
    #umrahChatbotPanel{
        width:min(420px,calc(100vw - 2rem))!important;
        max-width:calc(100vw - 2rem)!important;
        max-height:min(82dvh,720px)!important;
        z-index:1065!important;
    }
}

/* ═══════════════════════════════════════════════════════════
   PAGE HERO — UPGRADED
═══════════════════════════════════════════════════════════ */
.page-hero{
    padding:7rem 0 5rem;
    background:var(--grad-hero);
    color:#fff;
    position:relative;overflow:hidden;
}
.page-hero-glow{
    position:absolute;
    top:-30%;left:50%;transform:translateX(-50%);
    width:80%;height:180%;
    background:radial-gradient(ellipse,rgba(204,165,91,0.07) 0%,transparent 65%);
    pointer-events:none;
}

/* Breadcrumb */
.page-hero-breadcrumb{margin-bottom:1.8rem}
.page-hero-breadcrumb .breadcrumb{
    margin:0;padding:0;background:none;
    display:flex;align-items:center;flex-wrap:wrap;gap:0;
}
.page-hero-breadcrumb .breadcrumb-item{
    font-size:0.80rem;font-weight:600;color:rgba(255,255,255,0.50);
    display:flex;align-items:center;
}
.page-hero-breadcrumb .breadcrumb-item a{
    color:rgba(255,255,255,0.55);
    transition:color .22s;
}
.page-hero-breadcrumb .breadcrumb-item a:hover{color:var(--gold)}
.page-hero-breadcrumb .breadcrumb-item.active{color:var(--gold)}
.page-hero-breadcrumb .breadcrumb-item+.breadcrumb-item::before{
    content:'›';
    color:rgba(255,255,255,0.25);
    padding:0 0.5rem;font-size:0.9rem;
}

/* Badge */
.page-hero-badge{
    display:inline-flex;align-items:center;gap:0.6rem;
    padding:0.45rem 1.2rem;border-radius:50px;
    background:rgba(204,165,91,0.14);
    border:1px solid rgba(204,165,91,0.28);
    color:var(--gold);font-size:0.82rem;font-weight:700;
    margin-bottom:1.2rem;
    backdrop-filter:blur(6px);
}
/* Title */
.page-hero-title{
    font-size:clamp(1.9rem,4vw,2.8rem);
    font-weight:900;line-height:1.3;color:#fff;
    margin-bottom:0;max-width:720px;
}
/* Gold Divider */
.page-hero-divider{
    width:55px;height:4px;border-radius:2px;
    background:var(--grad-gold);
    margin:1.2rem 0;
}
/* Subtitle */
.page-hero-subtitle{
    font-size:1rem;color:rgba(255,255,255,0.72);
    max-width:620px;line-height:1.85;margin:0;
}
/* Inline stats */
.page-hero-stats{
    display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;
}
.page-hero-stat{
    display:flex;align-items:center;gap:0.6rem;
    padding:0.55rem 1.1rem;
    border-radius:50px;
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.12);
    backdrop-filter:blur(6px);
}
.page-hero-stat i{color:var(--gold);font-size:0.95rem}
.page-hero-stat span{
    font-size:1rem;font-weight:800;color:#fff;
    background:var(--grad-gold);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.page-hero-stat small{font-size:0.75rem;color:rgba(255,255,255,0.55);font-weight:500}

/* Wave */
.page-hero-wave{
    position:absolute;bottom:-1px;left:0;right:0;
    line-height:0;pointer-events:none;
}
.page-hero-wave svg{display:block;width:100%;height:60px}

@media(max-width:767.98px){
    .page-hero{padding:5.5rem 0 4.5rem}
    .page-hero-stats{gap:0.6rem}
    .page-hero-stat{padding:0.45rem 0.85rem}
    .page-hero-stat span{font-size:0.9rem}
}

/* ═══════════════════════════════════════════════════════════
   FILTER CARD (Offers & Services pages)
═══════════════════════════════════════════════════════════ */
.filter-card{
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:var(--r-xl);
    box-shadow:var(--shadow-md);
    padding:1.8rem 2rem;
    margin-bottom:1.8rem;
    position:relative;overflow:hidden;
}
.filter-card::before{
    content:'';position:absolute;
    top:0;inset-inline-start:0;
    width:100%;height:4px;
    background:var(--grad-gold);
}
.filter-label{
    display:flex;align-items:center;gap:0.4rem;
    font-size:0.80rem;font-weight:700;
    color:var(--primary);margin-bottom:0.5rem;
    text-transform:uppercase;letter-spacing:0.04em;
}
.filter-label i{color:var(--gold);font-size:0.75rem}
.filter-input,.filter-select{
    background:var(--bg-off)!important;
    border:1.5px solid #E8E3D8!important;
    color:var(--text-body)!important;
    padding:0.75rem 1rem!important;
    border-radius:var(--r-md)!important;
    font-weight:500!important;font-size:0.9rem!important;
    transition:border-color .22s,box-shadow .22s!important;
}
.filter-input:focus,.filter-select:focus{
    border-color:var(--primary)!important;
    box-shadow:0 0 0 3px rgba(10,74,53,0.09)!important;
    background:var(--bg-white)!important;
}

/* Results summary */
.results-summary{
    font-size:0.88rem;font-weight:600;
    color:var(--text-muted);
    margin-bottom:1.5rem;
    padding:0.7rem 1.2rem;
    background:var(--bg-white);
    border-radius:var(--r-md);
    border:1px solid var(--border-light);
    display:inline-flex;
    align-items:center;
    gap:0.7rem;
    flex-wrap:wrap;
}
.results-summary-text{
    color:var(--text-muted);
}
.results-summary-chips{
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    flex-wrap:wrap;
}
.results-summary-chip{
    display:inline-flex;
    align-items:center;
    padding:0.3rem 0.7rem;
    border-radius:999px;
    background:rgba(10,74,53,0.07);
    border:1px solid rgba(10,74,53,0.08);
    color:var(--primary);
    font-size:0.78rem;
    font-weight:800;
}

/* ─── Services Tabs ─────────────────────────────────────── */
.services-tabs-wrapper{
    overflow-x:auto;padding-bottom:0.5rem;margin-bottom:1.5rem;
    scrollbar-width:none;
}
.services-tabs-wrapper::-webkit-scrollbar{display:none}
.services-tab-list{
    display:flex;gap:0.5rem;flex-wrap:nowrap;
    background:var(--bg-white);
    padding:6px;border-radius:var(--r-xl);
    box-shadow:var(--shadow-sm);
    border:1px solid var(--border-light);
    width:max-content;min-width:100%;
}
.custom-tab{
    padding:0.6rem 1.3rem;border-radius:50px;border:none;
    background:transparent;color:var(--text-muted);
    font-weight:700;font-size:0.86rem;cursor:pointer;
    white-space:nowrap;
    transition:var(--transition);
    display:flex;align-items:center;gap:0.4rem;
}
.custom-tab i{font-size:0.85rem}
.custom-tab:hover{color:var(--primary);background:rgba(10,74,53,0.06)}
.custom-tab.active{
    background:var(--primary);color:#fff;
    box-shadow:var(--shadow-sm);
}

/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════════════════════════════ */
/* Mission/Vision cards */
.about-card{
    padding:2.5rem;border-radius:var(--r-xl);
    background:var(--bg-white);
    border:1px solid var(--border-light);
    box-shadow:var(--shadow-sm);
    position:relative;overflow:hidden;
    transition:box-shadow .35s,transform .35s;
}
.about-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.about-card::before{
    content:'';position:absolute;
    top:0;inset-inline-start:0;width:100%;height:5px;
}
.about-card--mission::before{background:var(--grad-green)}
.about-card--vision::before{background:var(--grad-gold)}
.about-card-icon{
    position:absolute;top:1.5rem;inset-inline-end:1.5rem;
    width:50px;height:50px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;opacity:0.10;
}
.about-card--mission .about-card-icon{background:var(--primary);color:var(--primary)}
.about-card--vision .about-card-icon{background:var(--gold);color:var(--gold)}
.about-card-title{font-size:1.2rem;font-weight:800;color:var(--text-head);margin-bottom:1rem}

/* Value cards */
.value-card{
    padding:2rem 1.6rem;border-radius:var(--r-lg);
    background:var(--bg-white);
    border:1px solid var(--border-light);
    box-shadow:var(--shadow-xs);
    text-align:center;
    transition:box-shadow .35s,transform .35s;
}
.value-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}
.value-card-icon{
    width:64px;height:64px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 1.3rem;font-size:1.5rem;
    transition:transform .3s;
}
.value-card:hover .value-card-icon{transform:scale(1.1) rotate(-5deg)}
.value-card--green  .value-card-icon{background:rgba(10,74,53,0.09);color:var(--primary)}
.value-card--gold   .value-card-icon{background:rgba(204,165,91,0.12);color:var(--gold-dark)}
.value-card--blue   .value-card-icon{background:rgba(30,90,170,0.09);color:#1E5AAA}
.value-card--purple .value-card-icon{background:rgba(100,60,150,0.09);color:#64409A}
.value-card-title{font-size:1rem;font-weight:800;color:var(--text-head);margin-bottom:0.6rem}
.value-card-text{font-size:0.87rem;color:var(--text-muted);line-height:1.75;margin:0}

/* Modern Timeline */
.timeline-modern{padding-inline-start:0;list-style:none}
.timeline-modern-item{
    display:grid;
    grid-template-columns:70px 20px 1fr;
    gap:0 1.2rem;
    align-items:start;
    padding-bottom:2rem;
    position:relative;
}
.timeline-modern-item:not(:last-child) .timeline-modern-dot::after{
    content:'';position:absolute;
    top:20px;inset-inline-start:calc(70px + 1.2rem + 9px);
    width:2px;height:calc(100% - 20px);
    background:linear-gradient(to bottom,var(--gold),transparent);
}
.timeline-modern-year{
    font-size:0.95rem;font-weight:900;
    color:var(--gold);text-align:end;
    padding-top:3px;
}
.timeline-modern-dot{
    width:18px;height:18px;border-radius:50%;
    background:var(--grad-gold);
    box-shadow:0 0 0 4px rgba(204,165,91,0.18);
    margin-top:3px;flex-shrink:0;
    position:relative;
}
.timeline-modern-content h5{font-size:0.97rem;font-weight:800;color:var(--text-head);margin-bottom:0.3rem}
.timeline-modern-content p{font-size:0.86rem;color:var(--text-muted);line-height:1.7;margin:0}

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════════════════════════════ */
/* Info cards */
.contact-info-card{
    padding:1.8rem 1.2rem;border-radius:var(--r-lg);
    background:var(--bg-white);
    border:1px solid var(--border-light);
    box-shadow:var(--shadow-xs);
    transition:box-shadow .35s,transform .35s;
}
.contact-info-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.contact-info-icon{
    width:52px;height:52px;border-radius:15px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;margin:0 auto 1rem;
    transition:transform .3s;
}
.contact-info-card:hover .contact-info-icon{transform:scale(1.12)}
.contact-info-card--green  .contact-info-icon{background:rgba(10,74,53,0.09); color:var(--primary)}
.contact-info-card--gold   .contact-info-icon{background:rgba(204,165,91,0.12);color:var(--gold-dark)}
.contact-info-card--wa     .contact-info-icon{background:rgba(37,211,102,0.10);color:#1EBF5D}
.contact-info-card--red    .contact-info-icon{background:rgba(220,38,38,0.09); color:#DC2626}
.contact-info-title{font-size:0.80rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.4rem}
.contact-info-value{font-size:0.92rem;font-weight:700;color:var(--text-head);margin-bottom:0.2rem;word-break:break-all}
.contact-info-sub{font-size:0.75rem;color:var(--text-muted)}

/* Contact form inputs */
.form-floating-custom{display:flex;flex-direction:column;gap:0.4rem}
.form-floating-custom label{font-size:0.80rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:0.04em}
.contact-input{
    background:var(--bg-off)!important;
    border:1.5px solid #E8E3D8!important;
    color:var(--text-body)!important;
    padding:0.8rem 1.1rem!important;
    border-radius:var(--r-md)!important;
    font-size:0.92rem!important;font-weight:500!important;
    transition:border-color .22s,box-shadow .22s!important;
}
.contact-input:focus{
    border-color:var(--primary)!important;
    box-shadow:0 0 0 3px rgba(10,74,53,0.09)!important;
    background:var(--bg-white)!important;
}
.contact-success-alert{
    display:flex;align-items:center;gap:0.75rem;
    padding:1rem 1.4rem;border-radius:var(--r-md);
    background:rgba(10,74,53,0.08);
    border:1px solid rgba(10,74,53,0.18);
    color:var(--primary);font-weight:600;font-size:0.9rem;
}
.contact-success-alert i{font-size:1.2rem;color:var(--primary)}

/* Map placeholder */
.contact-map-card{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm)}
.contact-map-placeholder{
    height:220px;
    background:linear-gradient(145deg,var(--primary-dark),var(--primary));
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:0.75rem;color:rgba(255,255,255,0.7);
}
.contact-map-placeholder i{font-size:2.5rem;color:var(--gold)}
.contact-map-placeholder span{font-size:0.9rem;font-weight:600}

/* Working hours */
.working-hours-list{display:flex;flex-direction:column;gap:0.5rem}
.working-hours-item{
    display:flex;justify-content:space-between;align-items:center;
    padding:0.7rem 1rem;border-radius:var(--r-md);
    background:var(--bg-off);border:1px solid var(--border-light);
    font-size:0.85rem;
}
.working-hours-item.closed{opacity:0.5}
.working-hours-day{font-weight:700;color:var(--text-head)}
.working-hours-time{font-weight:600;color:var(--primary)}
.working-hours-item.closed .working-hours-time{color:var(--text-muted)}

/* ═══════════════════════════════════════════════════════════
   EMPTY STATE
═══════════════════════════════════════════════════════════ */
.empty-state{
    text-align:center;padding:4rem 2rem;
    color:var(--text-muted);
}
.empty-state i{font-size:3.5rem;color:#D4C5A5;display:block;margin-bottom:1.2rem}
.empty-state p{font-size:0.95rem;font-weight:500}

/* ═══════════════════════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════════════════════ */
.text-on-dark{color:#fff!important}
.text-muted-on-dark{color:rgba(255,255,255,0.68)!important}
.text-gold{color:var(--gold)!important}
.bg-primary-custom{background:var(--primary)!important}

/* Gradient text */
.text-gradient-gold{
    background:var(--grad-gold);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.text-gradient-green{
    background:var(--grad-green);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media(max-width:991.98px){
    .planner-card{padding:2rem}
    .trust-item{padding:0 1rem}
}
@media(max-width:767.98px){
    .section-padding{padding:4.5rem 0}
    .hero-buttons{flex-direction:column}
    .btn-primary-custom,.btn-outline-custom{justify-content:center;text-align:center}
    .hero-stats-row{gap:0.75rem}
    .newsletter-form{flex-direction:column}
    .newsletter-form .form-control{border-radius:var(--r-md)}
    .newsletter-form .btn-primary-custom{border-radius:var(--r-md);justify-content:center}
}
@media(max-width:575.98px){
    .trust-band .row{flex-direction:column;gap:1rem}
    .trust-item{border-inline-end:none;border-bottom:1px solid var(--border-light);padding-bottom:1rem}
    .trust-item:last-child{border-bottom:none;padding-bottom:0}
    .floating-card{display:none}
    .pilgrim-auth-dialog{
        margin:0;
        max-width:100%;
    }
    .pilgrim-auth-modal{
        border-radius:0!important;
        min-height:100vh;
    }
    .pilgrim-register-embed{
        min-height:calc(100vh - 220px);
    }
}

@media(max-width:991.98px){
    .pilgrim-login-grid{
        grid-template-columns:1fr;
    }
    .pilgrim-login-main{
        padding:1.2rem;
    }
}

@media(max-width:575.98px){
    .pilgrim-login-dialog{
        margin:0;
        max-width:100%;
    }
    .pilgrim-login-modal{
        border-radius:0!important;
        min-height:100vh;
    }
}

/* ─── Success Partners Marquee ───────────────────────────── */
.success-partners-section{
    padding:1.5rem 0 5rem;
    background:
        radial-gradient(circle at top, rgba(204,165,91,0.10), transparent 45%),
        linear-gradient(180deg, #fcfaf6 0%, #f6f1e8 100%);
    overflow:hidden;
}
.partners-marquee{
    position:relative;
    overflow:hidden;
    padding:0.75rem 0;
    mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.partners-marquee-track{
    display:flex;
    align-items:center;
    width:max-content;
    gap:1.25rem;
    animation:partners-marquee 24s linear infinite;
    will-change:transform;
}
.partners-marquee-group{
    display:flex;
    align-items:center;
    gap:1.25rem;
    min-width:max-content;
    flex-shrink:0;
}
.partner-logo-pill{
    width:clamp(132px, 14vw, 180px);
    height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1rem 1.2rem;
    background:rgba(255,255,255,0.86);
    border:1px solid rgba(10,74,53,0.08);
    border-radius:22px;
    box-shadow:0 12px 30px rgba(10,74,53,0.08);
    flex-shrink:0;
}
.partner-logo-pill img{
    max-width:100%;
    max-height:52px;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:saturate(1.02) contrast(1.02);
}
@keyframes partners-marquee{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-50% - 0.625rem))}
}

/* ══ Quick Booking Modal ══ */
.qbm-content{ border-radius:1.1rem; overflow:hidden; border:none; box-shadow:0 24px 64px rgba(10,74,53,.22); }
.qbm-header{ background:linear-gradient(135deg,var(--primary,#0a4a35) 0%,#16805a 100%); color:#fff; padding:1.25rem 1.5rem; border:none; align-items:flex-start; gap:1rem; }
.qbm-header-info{ flex:1; min-width:0; }
.qbm-subtitle{ font-size:.72rem; opacity:.82; margin-bottom:.18rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.qbm-title{ font-size:1rem; font-weight:800; color:#fff; margin:0; line-height:1.35; }
.qbm-body{ padding:1.4rem 1.5rem; background:#fff; }
.qbm-price-row{ display:flex; align-items:baseline; gap:.35rem; margin-bottom:1.2rem; padding:.7rem 1rem; background:rgba(10,74,53,.06); border-radius:.6rem; border-inline-start:3px solid var(--primary,#0a4a35); }
.qbm-price-amt{ font-size:1.65rem; font-weight:900; color:var(--primary,#0a4a35); line-height:1; }
.qbm-price-cur{ font-size:.72rem; font-weight:800; color:var(--primary,#0a4a35); margin-inline-end:auto; }
.qbm-price-lbl{ font-size:.68rem; color:#777; }
.qbm-price-contact{ font-size:.88rem; font-weight:600; color:#888; display:flex; align-items:center; gap:.4rem; }
.qbm-field{ margin-bottom:1rem; }
.qbm-label{ display:block; font-size:.76rem; font-weight:700; color:#444; margin-bottom:.4rem; }
.qbm-input{ width:100%; border:1.5px solid #e0e0e0; border-radius:.55rem; padding:.55rem .8rem; font-size:.88rem; transition:border-color .2s; background:#fafafa; resize:none; font-family:inherit; }
.qbm-input:focus{ outline:none; border-color:var(--primary,#0a4a35); background:#fff; box-shadow:0 0 0 3px rgba(10,74,53,.08); }
.qbm-seats-ctrl{ display:inline-flex; align-items:center; border:1.5px solid #e0e0e0; border-radius:.55rem; overflow:hidden; background:#fff; }
.qbm-seats-ctrl button{ background:#f5f5f5; border:none; width:2.4rem; height:2.4rem; font-size:1.1rem; cursor:pointer; color:var(--primary,#0a4a35); font-weight:700; transition:background .15s; line-height:1; }
.qbm-seats-ctrl button:hover{ background:rgba(10,74,53,.1); }
.qbm-seats-ctrl span{ min-width:2.8rem; text-align:center; font-size:1rem; font-weight:700; color:#222; }
.qbm-payment-opts{ display:flex; gap:.6rem; flex-wrap:wrap; }
.qbm-pay-opt{ display:flex; align-items:center; gap:.4rem; cursor:pointer; font-size:.82rem; font-weight:600; color:#555; padding:.42rem .85rem; border:1.5px solid #ddd; border-radius:.5rem; transition:all .18s; user-select:none; }
.qbm-pay-opt:has(input:checked){ border-color:var(--primary,#0a4a35); color:var(--primary,#0a4a35); background:rgba(10,74,53,.06); }
.qbm-pay-opt input{ accent-color:var(--primary,#0a4a35); }
.qbm-footer{ border:none; padding:1rem 1.5rem 1.3rem; background:#fff; gap:.5rem; display:flex; }
.qbm-cancel-btn{ background:#f0f0f0; color:#555; border:none; border-radius:.5rem; padding:.55rem 1.1rem; font-size:.85rem; font-weight:600; }
.qbm-cancel-btn:hover{ background:#e4e4e4; color:#333; }
.qbm-submit-btn{ background:linear-gradient(135deg,var(--primary,#0a4a35) 0%,#16805a 100%); color:#fff; border:none; border-radius:.5rem; padding:.55rem 1.4rem; font-weight:800; font-size:.88rem; display:flex; align-items:center; gap:.5rem; flex:1; justify-content:center; transition:opacity .2s; }
.qbm-submit-btn:hover{ opacity:.88; color:#fff; }
.qbm-submit-btn:disabled{ opacity:.55; cursor:not-allowed; }
.qbm-alert{ padding:.6rem .9rem; border-radius:.5rem; font-size:.82rem; font-weight:600; margin-top:.4rem; }
.qbm-alert--success{ background:rgba(10,74,53,.1); color:var(--primary,#0a4a35); border:1px solid rgba(10,74,53,.2); }
.qbm-alert--error{ background:rgba(220,53,69,.08); color:#c82333; border:1px solid rgba(220,53,69,.18); }

/* ── Quick modal: member login strip (guests only) ── */
.qbm-member-rail{
  margin-top:.85rem;
  padding:.85rem .95rem;
  border-radius:.65rem;
  background:linear-gradient(135deg,rgba(10,74,53,.06),rgba(22,128,90,.04));
  border:1px solid rgba(10,74,53,.12);
}
.qbm-member-rail__text{
  margin:0 0 .55rem;
  font-size:.78rem;
  line-height:1.55;
  color:#5a6573;
  font-weight:600;
}
.qbm-member-rail__btns{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .85rem;
  align-items:center;
}
.qbm-member-rail__a{
  font-size:.78rem;
  font-weight:800;
  color:var(--primary,#0a4a35);
  text-decoration:none;
  padding:.35rem .55rem;
  border-radius:.4rem;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(10,74,53,.18);
  transition:background .15s ease;
}
.qbm-member-rail__a:hover{ background:#fff; color:var(--primary,#0a4a35); }
.qbm-member-rail__a--muted{
  font-weight:700;
  background:transparent;
  border-style:dashed;
  opacity:.92;
}

/* ── Offer detail: booking gateway (single primary path) ── */
.booking-gateway-simple{
  margin-top:1.75rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(10,74,53,.12);
}
.booking-gateway-simple__main{ text-align:center; max-width:28rem; margin-inline:auto; }
.booking-gateway-simple__eyebrow{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--primary,#0a4a35);
  opacity:.85;
  margin:0 0 .35rem;
}
.booking-gateway-simple__title{
  font-size:1.05rem;
  font-weight:800;
  color:var(--secondary,#1e3a2f);
  margin:0 0 .5rem;
  line-height:1.35;
}
.booking-gateway-simple__hint{
  font-size:.88rem;
  line-height:1.65;
  color:#64748b;
  margin:0 0 1rem;
}
.booking-gateway-simple__cta{
  width:100%;
  max-width:22rem;
  margin-inline:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  border:none;
  border-radius:.85rem;
  padding:.85rem 1.15rem;
  font-size:1rem;
  font-weight:800;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 55%,var(--primary,#0a4a35) 100%);
  box-shadow:0 12px 32px rgba(34,197,94,.35);
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.booking-gateway-simple__cta:hover{ opacity:.95; transform:translateY(-1px); color:#fff; }
.booking-gateway-simple__divider{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin:1.35rem auto 1rem;
  max-width:22rem;
  color:#94a3b8;
  font-size:.72rem;
  font-weight:700;
}
.booking-gateway-simple__divider::before,
.booking-gateway-simple__divider::after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(10,74,53,.15);
}
.booking-gateway-simple__member{
  text-align:center;
  max-width:26rem;
  margin-inline:auto;
  padding:.95rem 1rem;
  border-radius:.85rem;
  background:rgba(250,250,249,.95);
  border:1px dashed rgba(10,74,53,.2);
}
.booking-gateway-simple__member-title{
  margin:0 0 .35rem;
  font-size:.82rem;
  font-weight:800;
  color:#334155;
  line-height:1.45;
}
.booking-gateway-simple__member-desc{
  margin:0 0 .75rem;
  font-size:.78rem;
  color:#64748b;
  line-height:1.5;
}
.booking-gateway-simple__member-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.35rem .65rem;
}
.booking-gateway-simple__link{
  font-size:.82rem;
  font-weight:700;
  color:var(--primary,#0a4a35);
  text-decoration:none;
}
.booking-gateway-simple__link:hover{ text-decoration:underline; }
.booking-gateway-simple__link--strong{ font-weight:800; }
.booking-gateway-simple__dot{
  width:4px;height:4px;border-radius:50%;
  background:#cbd5e1;
  display:inline-block;
}

/* ── بانر مكتملة في صفحة التفاصيل ──────────────────────────── */
.detail-soldout-banner{
    display:flex;align-items:flex-start;gap:.9rem;
    background:linear-gradient(135deg,#fef2f2,#fff5f5);
    border:2px solid #fca5a5;
    border-radius:16px;
    padding:1rem 1.2rem;
    color:#991b1b;
    font-size:.9rem;
    line-height:1.5;
    width:100%;
}
.detail-soldout-banner i{ font-size:1.5rem;color:#dc2626;flex-shrink:0;margin-top:.1rem; }
.detail-soldout-banner strong{ display:block;font-size:1rem;font-weight:800;margin-bottom:.2rem; }
.detail-soldout-banner span{ opacity:.85; }

/* ── شارة العرض المكتمل (offer cards) ──────────────────────── */
.offer-card--full{ opacity:.88; }
.offer-card--full .offer-card-cover{ position:relative; }
.offer-card--full .offer-card-cover::after{
    content:'';
    position:absolute;inset:0;
    background:rgba(0,0,0,.35);
    z-index:3;
    pointer-events:none;
    border-radius:inherit;
}
.offer-full-badge{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    z-index:5;
    background:rgba(220,38,38,.92);
    color:#fff;
    font-size:.82rem;
    font-weight:800;
    padding:.45rem 1rem;
    border-radius:999px;
    display:flex;align-items:center;gap:.4rem;
    white-space:nowrap;
    box-shadow:0 4px 14px rgba(220,38,38,.45);
    letter-spacing:.3px;
    backdrop-filter:blur(4px);
    border:1.5px solid rgba(255,255,255,.25);
    pointer-events:none;
}
.offer-full-badge i{ font-size:.85rem; }
.offer-soldout-box{
    display:flex;align-items:center;gap:.5rem;
    background:rgba(220,38,38,.1);
    border:1.5px solid rgba(220,38,38,.3);
    color:#dc2626;
    font-weight:800;
    font-size:.85rem;
    padding:.5rem .9rem;
    border-radius:10px;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE NAVIGATION DRAWER
   Professional off-canvas replacing Bootstrap collapse on mobile
   ═══════════════════════════════════════════════════════════ */

/* ─── Drawer shell ──────────────────────────────────────── */
.mobile-nav-drawer{
    width:min(340px,88vw)!important;
    background:linear-gradient(170deg,#041810 0%,#061e13 45%,#041810 100%)!important;
    border-inline-start:1px solid rgba(204,165,91,0.18)!important;
    display:flex;flex-direction:column;
    z-index:1060!important;
}

/* ─── Drawer header ─────────────────────────────────────── */
.mobile-drawer-hd{
    display:flex;align-items:center;justify-content:space-between;
    padding:1.1rem 1.1rem 1rem;gap:0.5rem;
    border-bottom:1px solid rgba(204,165,91,0.13);
    background:linear-gradient(180deg,rgba(10,74,53,0.35) 0%,transparent 100%);
    flex-shrink:0;
}
.mobile-drawer-brand{
    display:flex;align-items:center;gap:0.65rem;
    text-decoration:none;min-width:0;
}
.mobile-drawer-logo-img{
    height:44px;width:auto;max-width:140px;object-fit:contain;display:block;
    filter:drop-shadow(0 2px 8px rgba(204,165,91,0.30));
}
.mobile-drawer-brand-icon{
    width:42px;height:42px;border-radius:12px;flex-shrink:0;
    background:linear-gradient(135deg,#0A4A35,#0D5E44);
    border:1.5px solid rgba(204,165,91,0.32);
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;color:var(--gold);
    box-shadow:0 4px 14px rgba(10,74,53,0.45);
}
.mobile-drawer-brand-name{
    font-size:1.05rem;font-weight:800;line-height:1.25;
    background:linear-gradient(130deg,var(--gold-dark),var(--gold-light));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.mobile-drawer-brand-sub{
    font-size:0.67rem;color:rgba(255,255,255,0.40);line-height:1;margin-top:2px;
}
.mobile-drawer-close{
    width:34px;height:34px;border-radius:50%;flex-shrink:0;
    background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);
    color:rgba(255,255,255,0.60);cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:0.88rem;
    transition:background .18s,color .18s,transform .22s;
}
.mobile-drawer-close:hover{
    background:rgba(204,165,91,0.14);border-color:rgba(204,165,91,0.32);
    color:var(--gold);transform:rotate(90deg);
}

/* ─── Drawer body (scrollable) ──────────────────────────── */
.mobile-drawer-body{
    flex:1;overflow-y:auto;overflow-x:hidden;
    padding:0.75rem;overscroll-behavior:contain;
}
.mobile-drawer-body::-webkit-scrollbar{width:3px}
.mobile-drawer-body::-webkit-scrollbar-thumb{
    background:rgba(204,165,91,0.28);border-radius:3px;
}

/* ─── Nav links ─────────────────────────────────────────── */
.mobile-drawer-nav{display:flex;flex-direction:column;gap:1px;margin-bottom:0.5rem}
.mobile-drawer-link{
    display:flex;align-items:center;gap:0.8rem;
    padding:0.75rem 0.85rem;border-radius:12px;
    color:rgba(255,255,255,0.78);font-size:0.91rem;font-weight:600;
    text-decoration:none;border:1px solid transparent;
    transition:background .16s,color .16s,transform .15s;
}
.mobile-drawer-link:hover{
    background:rgba(204,165,91,0.08);color:var(--gold-light);
    transform:translateX(-4px);
}
[dir="ltr"] .mobile-drawer-link:hover{transform:translateX(4px)}
.mobile-drawer-link.active{
    background:linear-gradient(135deg,rgba(10,74,53,0.55),rgba(13,94,68,0.35));
    color:var(--gold);border-color:rgba(204,165,91,0.20);
}
.mobile-drawer-link-icon{
    width:35px;height:35px;border-radius:10px;flex-shrink:0;
    background:rgba(255,255,255,0.055);border:1px solid rgba(255,255,255,0.08);
    display:flex;align-items:center;justify-content:center;font-size:0.84rem;
    transition:background .16s,border-color .16s,color .16s;
}
.mobile-drawer-link.active .mobile-drawer-link-icon{
    background:rgba(204,165,91,0.16);border-color:rgba(204,165,91,0.32);color:var(--gold);
}
.mobile-drawer-active-dot{
    width:6px;height:6px;border-radius:50%;background:var(--gold);
    margin-inline-start:auto;flex-shrink:0;
    box-shadow:0 0 6px rgba(204,165,91,0.55);
}

/* ─── Separator ─────────────────────────────────────────── */
.mobile-drawer-sep{height:1px;background:rgba(255,255,255,0.07);margin:0.55rem 0}

/* ─── CTA (Travel) ──────────────────────────────────────── */
.mobile-drawer-cta{
    display:flex;align-items:center;gap:0.75rem;
    padding:0.72rem 0.85rem;border-radius:12px;
    background:linear-gradient(135deg,rgba(10,74,53,0.50),rgba(13,94,68,0.30));
    border:1px solid rgba(10,74,53,0.38);
    color:rgba(255,255,255,0.82);font-size:0.89rem;font-weight:600;
    text-decoration:none;margin-bottom:0.4rem;
    transition:background .2s,transform .15s;
}
.mobile-drawer-cta:hover{
    background:linear-gradient(135deg,rgba(10,74,53,0.70),rgba(13,94,68,0.50));
    color:#fff;transform:translateX(-2px);
}
[dir="ltr"] .mobile-drawer-cta:hover{transform:translateX(2px)}
.mobile-drawer-cta-arrow{margin-inline-start:auto;opacity:0.50;font-size:0.78rem}

/* ─── Language toggle ───────────────────────────────────── */
.mobile-drawer-lang{
    display:flex;align-items:center;gap:0.75rem;
    padding:0.72rem 0.85rem;border-radius:12px;
    background:rgba(255,255,255,0.038);border:1px solid rgba(255,255,255,0.07);
    color:rgba(255,255,255,0.60);font-size:0.87rem;font-weight:600;
    text-decoration:none;
    transition:background .18s,color .18s;
}
.mobile-drawer-lang:hover{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.88)}

/* ─── Auth box (guest) ──────────────────────────────────── */
.mobile-drawer-auth-box{
    display:flex;flex-direction:column;gap:0.45rem;
    padding:0.85rem;margin-top:0.3rem;
    background:rgba(10,74,53,0.20);
    border-radius:14px;border:1px solid rgba(204,165,91,0.14);
}
.mobile-drawer-auth-title{
    font-size:0.77rem;font-weight:700;
    color:rgba(204,165,91,0.65);
    text-transform:uppercase;letter-spacing:0.06em;
    margin:0 0 0.15rem;
}
.mobile-drawer-btn-login{
    display:flex;align-items:center;justify-content:center;
    width:100%;padding:0.72rem 1rem;border-radius:11px;
    background:rgba(204,165,91,0.12);border:1.5px solid rgba(204,165,91,0.42);
    color:var(--gold-light);font-size:0.89rem;font-weight:700;
    cursor:pointer;font-family:var(--font);
    transition:background .18s,border-color .18s,transform .14s;
}
.mobile-drawer-btn-login:hover{
    background:rgba(204,165,91,0.22);border-color:rgba(204,165,91,0.65);
    color:var(--gold-light);transform:translateY(-1px);
}
.mobile-drawer-btn-register{
    display:flex;align-items:center;justify-content:center;
    width:100%;padding:0.72rem 1rem;border-radius:11px;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));
    border:none;color:#041810;font-size:0.89rem;font-weight:800;
    text-decoration:none;
    box-shadow:0 4px 16px rgba(204,165,91,0.28);
    transition:opacity .18s,transform .14s,box-shadow .18s;
}
.mobile-drawer-btn-register:hover{
    opacity:0.91;transform:translateY(-1px);color:#041810;
    box-shadow:0 6px 22px rgba(204,165,91,0.42);
}

/* ─── Logged-in user card ───────────────────────────────── */
.mobile-drawer-user-card{
    display:flex;align-items:center;gap:0.8rem;
    padding:0.8rem;margin-bottom:0.4rem;
    background:rgba(10,74,53,0.28);
    border-radius:13px;border:1px solid rgba(204,165,91,0.15);
}
.mobile-drawer-user-avatar{
    width:42px;height:42px;border-radius:50%;flex-shrink:0;
    background:var(--grad-gold);color:#04180e;
    font-weight:800;font-size:1rem;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 3px 10px rgba(204,165,91,0.28);
}
.mobile-drawer-user-name{font-size:0.88rem;font-weight:700;color:#fff;line-height:1.3}
.mobile-drawer-user-meta{font-size:0.71rem;color:rgba(255,255,255,0.40);line-height:1}
.mobile-drawer-logout{
    display:flex;align-items:center;justify-content:center;
    width:100%;padding:0.65rem 1rem;border-radius:11px;
    background:rgba(220,53,69,0.09);border:1px solid rgba(220,53,69,0.22);
    color:rgba(220,53,69,0.82);font-size:0.87rem;font-weight:600;
    cursor:pointer;font-family:var(--font);
    transition:background .18s,border-color .18s;
}
.mobile-drawer-logout:hover{
    background:rgba(220,53,69,0.16);border-color:rgba(220,53,69,0.40);
    color:rgba(220,53,69,1);
}

/* ─── Drawer footer ─────────────────────────────────────── */
.mobile-drawer-footer{
    padding:0.85rem 1.1rem;flex-shrink:0;text-align:center;
    border-top:1px solid rgba(204,165,91,0.11);
    background:rgba(4,24,16,0.60);
}
.mobile-drawer-footer-brand{
    display:flex;align-items:center;justify-content:center;gap:0.45rem;
    color:rgba(204,165,91,0.55);font-size:0.80rem;font-weight:700;margin-bottom:0.28rem;
}
.mobile-drawer-footer-copy{font-size:0.70rem;color:rgba(255,255,255,0.25);line-height:1.5}
.mobile-drawer-footer-copy a{color:rgba(204,165,91,0.50);text-decoration:none;transition:color .16s}
.mobile-drawer-footer-copy a:hover{color:var(--gold)}

/* ─── FABs: hide when mobile drawer is open ─────────────── */
body:has(#mobileDrawer.show) .whatsapp-float,
body:has(#mobileDrawer.show) .support-chat-widget,
body:has(#mobileDrawer.show) .back-to-top{
    opacity:0!important;pointer-events:none!important;visibility:hidden!important;
    transition:opacity .2s ease,visibility .2s ease!important;
}
