*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;width:100%}
body{font-family:'Plus Jakarta Sans',sans-serif;background:#fff;color:#08122A;overflow-x:hidden;-webkit-font-smoothing:antialiased}
:root{
--n950:#030912;--n900:#08122A;--n800:#0C1A3D;--n700:#112250;
--n600:#1A3371;--n400:#2D5099;--n200:#8BA3CC;--n100:#C7D4E8;--n50:#EEF3FA;
--red:#C8102E;--red-d:#A00D24;
--w:#fff;--ow:#F7F9FC;--bdr:#E2E8F2;--gray:#64748B;
}
/* ── NAVBAR ── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .35s ease;border-bottom:1px solid transparent}
#navbar.top{background:transparent}
#navbar.solid{background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--bdr);border-color:var(--bdr)}
.ni{max-width:1280px;margin:0 auto;padding:0 1.75rem;height:80px;display:flex;align-items:center;gap:2rem}
.nlogo{display:flex;align-items:center;gap:.625rem;text-decoration:none;flex-shrink:0}
.nlogo-icon{width:40px;height:40px;border-radius:10px;background:var(--n900);display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.2);transition:background .35s}
#navbar.solid .nlogo-icon{background:var(--n900);border-color:transparent}
.nlogo-text{font-weight:800;font-size:1.35rem;letter-spacing:-.04em;transition:color .35s}
#navbar.top .nlogo-text{color:#fff}
#navbar.solid .nlogo-text{color:var(--n900)}
.nlogo img{transition:filter .35s}
#navbar.solid .nlogo img{filter:brightness(0)}
.nlogo-text em{color:var(--red);font-style:normal}
.nlinks{display:flex;align-items:center;gap:.125rem;flex:1;justify-content:center}
.nl{font-size:.9rem;font-weight:600;padding:.5rem .8rem;border-radius:8px;text-decoration:none;transition:all .2s;white-space:nowrap;letter-spacing:.005em}
#navbar.top .nl{color:rgba(255,255,255,.8)}
#navbar.top .nl:hover{color:#fff;background:rgba(255,255,255,.1)}
#navbar.solid .nl{color:var(--n700)}
#navbar.solid .nl:hover{color:var(--n900);background:var(--n50)}
.nright{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}
.lsw{display:flex;align-items:center;gap:2px;padding:3px;border-radius:100px;transition:all .35s}
#navbar.top .lsw{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
#navbar.solid .lsw{background:var(--n50);border:1px solid var(--bdr)}
.lb{font-size:.73rem;font-weight:700;padding:.32rem .65rem;border-radius:100px;cursor:pointer;border:none;font-family:inherit;transition:all .2s;letter-spacing:.04em}
.lb.on{background:#fff;color:var(--n900);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.lb.off{background:transparent;color:rgba(255,255,255,.65)}
#navbar.solid .lb.on{background:var(--n900);color:#fff}
#navbar.solid .lb.off{color:var(--n600)}
.nsi{font-size:.875rem;font-weight:600;text-decoration:none;padding:.45rem .8rem;border-radius:7px;transition:all .2s;white-space:nowrap}
#navbar.top .nsi{color:rgba(255,255,255,.8)}
#navbar.top .nsi:hover{color:#fff;background:rgba(255,255,255,.1)}
#navbar.solid .nsi{color:var(--n700)}
#navbar.solid .nsi:hover{color:var(--n900);background:var(--n50)}
.nbtn{font-size:.875rem;font-weight:700;padding:.55rem 1.25rem;border-radius:8px;background:var(--n900);color:#fff;border:none;cursor:pointer;font-family:inherit;text-decoration:none;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:.375rem}
.nbtn:hover{background:var(--n700);transform:translateY(-1px);box-shadow:0 4px 12px rgba(8,18,42,.25)}
.hbg{display:none;width:38px;height:38px;border-radius:7px;border:none;cursor:pointer;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:7px;transition:background .2s}
#navbar.top .hbg:hover{background:rgba(255,255,255,.1)}
#navbar.solid .hbg:hover{background:var(--n50)}
.hl{display:block;width:20px;height:2px;border-radius:2px;transition:all .3s ease}
#navbar.top .hl{background:#fff}
#navbar.solid .hl{background:var(--n900)}
.hbg.open .hl:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.open .hl:nth-child(2){opacity:0;transform:scaleX(0)}
.hbg.open .hl:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mobile menu */
#mmenu{position:fixed;top:0;right:0;bottom:0;width:min(310px,100vw);z-index:999;background:var(--n900);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-6px 0 40px rgba(0,0,0,.4);overflow-y:auto}
#mmenu.open{transform:translateX(0)}
#mov{position:fixed;inset:0;z-index:998;background:rgba(3,9,18,.65);opacity:0;pointer-events:none;transition:opacity .35s;backdrop-filter:blur(3px)}
#mov.open{opacity:1;pointer-events:all}
.mml{display:block;padding:.9rem 1.5rem;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.8);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07);transition:all .2s}
.mml:hover{color:#fff;background:rgba(255,255,255,.06)}
/* ── HERO ── */
#hero{position:relative;min-height:112svh;display:flex;align-items:center;justify-content:center;background:var(--n900);margin-top:-80px}
#map-bg{position:absolute;inset:0;z-index:0;background:var(--n900);overflow:hidden}
#map-bg .leaflet-container{background:#080f1e}
.leaflet-control-attribution{background:rgba(8,18,42,.75)!important;color:rgba(255,255,255,.35)!important;font-size:9px!important;padding:2px 6px!important;border-radius:4px 0 0 0!important}
.leaflet-control-attribution a{color:rgba(255,255,255,.45)!important}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(8,18,42,.74) 0%,rgba(8,18,42,.50) 35%,rgba(8,18,42,.50) 65%,rgba(8,18,42,.80) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;text-align:center;max-width:960px;width:100%;padding:7rem 2.5rem 4rem;display:flex;flex-direction:column;align-items:center}
.lmp{position:relative;cursor:default}
.lmp-ring{position:absolute;top:50%;left:50%;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(139,163,204,.45);transform:translate(-50%,-50%);animation:mpulse 2.6s ease-in-out infinite}
.lmp-dot{width:8px;height:8px;border-radius:50%;background:#8BA3CC;border:1.5px solid rgba(255,255,255,.5);box-shadow:0 0 6px rgba(139,163,204,.6);position:relative;z-index:1}
.lmp-lbl{position:absolute;top:-2px;left:12px;white-space:nowrap;font-size:10.5px;font-weight:700;color:rgba(255,255,255,.9);font-family:'Plus Jakarta Sans',sans-serif;text-shadow:0 1px 6px rgba(0,0,0,.9);line-height:1.3}
.lmp-lbl small{display:block;font-size:8.5px;color:rgba(255,255,255,.45);font-weight:500;margin-top:1px}
.lmp-car{width:16px;height:9px;background:rgba(199,212,232,.9);border-radius:3px;border:1px solid rgba(255,255,255,.5);box-shadow:0 1px 5px rgba(0,0,0,.6),0 0 4px rgba(139,163,204,.4)}
.lmp-bus{width:20px;height:10px;background:rgba(199,212,232,.8);border-radius:2px;border:1px solid rgba(255,255,255,.4);box-shadow:0 1px 5px rgba(0,0,0,.6)}
.lmp-center-ring{position:absolute;top:50%;left:50%;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(200,16,46,.5);transform:translate(-50%,-50%);animation:mpulse 2s ease-in-out infinite}
.lmp-center-dot{width:11px;height:11px;border-radius:50%;background:var(--red);border:2px solid #fff;box-shadow:0 0 10px rgba(200,16,46,.7);position:relative;z-index:1}
.lmp-center-lbl{position:absolute;top:-2px;left:14px;white-space:nowrap;font-size:11px;font-weight:800;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;text-shadow:0 1px 8px rgba(0,0,0,1);letter-spacing:-.01em}
.lmp-center-lbl small{display:block;font-size:8px;color:rgba(255,255,255,.4);font-weight:500;letter-spacing:.02em}
@keyframes mpulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.45}50%{transform:translate(-50%,-50%) scale(1.6);opacity:0}}
@keyframes drawRoute{to{stroke-dashoffset:0}}
.rline{stroke-dasharray:1600;stroke-dashoffset:1600;animation:drawRoute 2.8s cubic-bezier(.4,0,.2,1) forwards}
@keyframes pinPulse{0%,100%{r:14;opacity:.25}50%{r:22;opacity:0}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.sau{opacity:0;animation:slideUp .6s cubic-bezier(.2,.8,.2,1) forwards}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.85);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.38rem .9rem;border-radius:100px;margin-bottom:1.5rem}
.ping{width:5px;height:5px;border-radius:50%;background:var(--red);animation:pingAnim 2s ease-in-out infinite;flex-shrink:0}
@keyframes pingAnim{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}
.hero-h1{font-size:clamp(2.25rem,4.8vw,3.75rem);font-weight:800;line-height:1.08;letter-spacing:-.05em;color:#fff;margin-bottom:1.125rem}
.hero-sub{color:rgba(255,255,255,.58);font-size:1.0625rem;line-height:1.72;max-width:660px;margin:0 auto 2.25rem}
.hsearch{background:rgba(255,255,255,.97);border-radius:16px;overflow:visible;max-width:760px;width:100%;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 48px rgba(0,0,0,.22);display:flex;flex-direction:row;align-items:stretch;backdrop-filter:blur(10px)}
.hf:first-child{border-radius:16px 0 0 16px}
.hf{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.125rem;border-right:1px solid var(--bdr);flex:1;min-width:0;position:relative;transition:background .2s}
.hf:hover,.hf:focus-within{background:var(--n50)}
.hf:last-of-type{border-right:none!important}
.hf-icon{width:34px;height:34px;border-radius:10px;background:var(--n50);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.hf:hover .hf-icon,.hf:focus-within .hf-icon{background:#fff}
.hf svg{color:var(--n600);flex-shrink:0}
.hf-body{display:flex;flex-direction:column;min-width:0;flex:1;gap:.1rem}
.hf-label{font-size:.66rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.04em}
.hf select,.hf input{border:none;outline:none;background:transparent;width:100%;padding:0;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--n900);cursor:pointer;text-overflow:ellipsis}
.hf select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:1.1rem}
.hf select option{font-family:inherit;font-size:.9rem;font-weight:500;color:var(--n900);background:#fff;padding:.5rem .75rem}

/* Custom dropdown (destination) */
.cdd{position:relative}
.cdd-toggle{border:none;outline:none;background:transparent;width:100%;padding:0;margin:0;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--n900);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.cdd-toggle::after{content:'';width:9px;height:9px;flex-shrink:0;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.cdd.open .cdd-toggle::after{transform:rotate(225deg);margin-top:4px}
.cdd-menu{position:absolute;top:calc(100% + .6rem);left:-1.125rem;min-width:260px;background:#fff;border:1px solid var(--bdr);border-radius:12px;box-shadow:0 16px 40px rgba(8,18,42,.16);padding:.4rem;z-index:40;max-height:320px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease}
.cdd.open .cdd-menu{opacity:1;visibility:visible;transform:translateY(0)}
.cdd-opt{padding:.6rem .75rem;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--n700);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdd-opt:hover{background:var(--n50);color:var(--n900)}
.cdd-opt.on{color:var(--n900);font-weight:700;background:var(--n50)}
.hf input::placeholder{color:#94a3b8}
.hsbtn{width:auto;flex-shrink:0;padding:.85rem 1.625rem;background:var(--n900);border-radius:0 14px 14px 0;font-size:.875rem;color:#fff;border:none;font-family:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s}
.hsbtn:hover{background:var(--n700)}
.hbadges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.375rem;justify-content:center}
.hbadge{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:.72rem;font-weight:500;padding:.32rem .8rem;border-radius:100px}
.scrl{position:absolute;bottom:1.75rem;left:1.75rem;display:flex;align-items:center;gap:.5rem;opacity:0;animation:slideUp .5s 2.2s ease forwards;z-index:3}
.scrl-w{width:20px;height:30px;border:1.5px solid rgba(255,255,255,.22);border-radius:100px;display:flex;justify-content:center;padding-top:4px;flex-shrink:0}
.scrl-d{width:2px;height:5px;background:rgba(255,255,255,.5);border-radius:2px;animation:sdrop 1.8s ease-in-out infinite}
@keyframes sdrop{0%,100%{transform:none;opacity:1}70%{transform:translateY(8px);opacity:0}}
.scrl span{color:rgba(255,255,255,.3);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}
/* ── COMMON ── */
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.slabel{display:inline-block;background:var(--n50);color:var(--n600);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .8rem;border-radius:100px;margin-bottom:.8rem;border:1px solid var(--n100)}
.slabel.dk{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.12)}
.sh2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;letter-spacing:-.04em;line-height:1.15;color:var(--n900)}
.sh2.dk{color:#fff}
.ssub{color:var(--gray);font-size:.9rem;line-height:1.7;margin-top:.5rem}
.ssub.dk{color:rgba(255,255,255,.55)}
.rv{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.rvl{opacity:0;transform:translateX(-28px);transition:opacity .65s ease,transform .65s ease}
.rvr{opacity:0;transform:translateX(28px);transition:opacity .65s ease,transform .65s ease}
.iv{opacity:1!important;transform:none!important}
/* ── STATS ── */
.statbar{background:#fff;border-bottom:1px solid var(--bdr)}
.si{text-align:center;padding:2rem 1rem;border-right:1px solid var(--bdr)}
.si:last-child{border-right:none}
.sn{font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:800;letter-spacing:-.05em;color:var(--n900)}
.sl{color:var(--gray);font-size:.78rem;font-weight:500;margin-top:.3rem}
/* ── DESTINATIONS ── */
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.dest-block{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/3;background:var(--n900);text-decoration:none;display:block}
.dest-block::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,18,42,.85) 0%,rgba(8,18,42,.1) 60%,transparent 100%);transition:opacity .3s}
.dest-block:hover::after{opacity:.7}
.dest-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .5s ease}
.dest-block:hover .dest-inner{transform:scale(1.06)}
.dest-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.25rem;z-index:1;transition:transform .3s ease}
.dest-block:hover .dest-overlay{transform:translateY(-4px)}
.dest-name{font-size:1.0625rem;font-weight:800;color:#fff;letter-spacing:-.03em;margin-bottom:.25rem}
.dest-meta{font-size:.72rem;color:rgba(255,255,255,.65);font-weight:500}
.dest-cta{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:#fff;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);padding:.28rem .7rem;border-radius:100px;margin-top:.5rem;opacity:0;transform:translateY(6px);transition:all .25s ease;backdrop-filter:blur(8px)}
.dest-block:hover .dest-cta{opacity:1;transform:none}
.bg-d1{background:linear-gradient(145deg,#061422,#0D2E50,#072030)}
.bg-d2{background:linear-gradient(145deg,#10062A,#2A1050,#160840)}
.bg-d3{background:linear-gradient(145deg,#060A20,#0D1C48,#081030)}
.bg-d4{background:linear-gradient(145deg,#180614,#3A1040,#200820)}
.bg-d5{background:linear-gradient(145deg,#041420,#0A2A40,#061828)}
.bg-d6{background:linear-gradient(145deg,#0A1220,#162240,#0C1830)}
/* ── TOUR CARDS ── */
.tcard{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--bdr);transition:all .35s cubic-bezier(.2,.8,.2,1);cursor:pointer;text-decoration:none;display:block;color:inherit}
.tcard:hover{transform:translateY(-7px);box-shadow:0 20px 48px rgba(8,18,42,.1)}
.tc-img{height:190px;position:relative;overflow:hidden}
.tc-img-in{position:absolute;inset:0;transition:transform .55s ease}
.tcard:hover .tc-img-in{transform:scale(1.06)}
.tc-bdg{position:absolute;top:10px;left:10px;font-size:.65rem;font-weight:700;padding:.25rem .6rem;border-radius:100px;backdrop-filter:blur(8px);letter-spacing:.04em}
.tc-price{position:absolute;bottom:10px;right:10px;background:rgba(255,255,255,.95);color:var(--n900);font-size:.82rem;font-weight:800;padding:.3rem .8rem;border-radius:100px;letter-spacing:-.02em}
.tc-body{padding:1.125rem}
.tc-ttl{font-size:.975rem;font-weight:700;color:var(--n900);letter-spacing:-.025em;margin-bottom:.45rem;line-height:1.3}
.tc-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.tc-ch{display:inline-flex;align-items:center;gap:.28rem;font-size:.7rem;color:var(--gray);font-weight:500}
.stars{color:#F59E0B;font-size:.75rem;font-weight:700}
.tc-btn{width:100%;padding:.6rem;border-radius:9px;border:none;cursor:pointer;background:var(--n900);color:#fff;font-family:inherit;font-size:.8rem;font-weight:700;transition:background .2s;text-align:center;text-decoration:none;display:block}
.tc-btn:hover{background:var(--n700)}
.bg-t1{background:linear-gradient(145deg,#08122A,#162A5E,#0A1A3D)}
.bg-t2{background:linear-gradient(145deg,#040A14,#1A1040,#0C0820)}
.bg-t3{background:linear-gradient(145deg,#061420,#0D2E50,#08152A)}
.bg-t4{background:linear-gradient(145deg,#1A0408,#3A0818,#240610)}
.bg-t5{background:linear-gradient(145deg,#08122A,#102040,#061020)}
.bg-t6{background:linear-gradient(145deg,#061020,#122842,#081828)}
.tc-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem}
.tc-emoji{font-size:2.75rem;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
.tc-loc{color:rgba(255,255,255,.45);font-size:.63rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
/* ── FEATURE CARDS ── */
.fc{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:1.5rem;transition:all .25s}
.fc:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}
.fc-icon{width:42px;height:42px;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.2rem}
/* ── REVIEWS ── */
.rc{background:#fff;border:1px solid var(--bdr);border-radius:14px;padding:1.5rem;transition:all .3s}
.rc:hover{box-shadow:0 8px 28px rgba(8,18,42,.07);transform:translateY(-3px)}
.ravatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}
/* ── BUTTONS ── */
.btn-p{display:inline-flex;align-items:center;gap:.4rem;background:var(--n900);color:#fff;font-family:inherit;font-size:.875rem;font-weight:700;padding:.7rem 1.625rem;border-radius:9px;border:none;cursor:pointer;text-decoration:none;transition:all .2s}
.btn-p:hover{background:var(--n700);transform:translateY(-1px);box-shadow:0 5px 16px rgba(8,18,42,.22);color:#fff}
.btn-o{display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:var(--n900);font-family:inherit;font-size:.875rem;font-weight:600;padding:.7rem 1.4rem;border-radius:9px;border:1.5px solid var(--bdr);cursor:pointer;text-decoration:none;transition:all .2s}
.btn-o:hover{border-color:var(--n900);background:var(--n50)}
.btn-gw{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.09);color:#fff;font-family:inherit;font-size:.875rem;font-weight:600;padding:.7rem 1.5rem;border-radius:9px;border:1.5px solid rgba(255,255,255,.18);cursor:pointer;text-decoration:none;transition:all .2s}
.btn-gw:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
/* ── CTA ── */
.cta-s{background:var(--n900);position:relative;overflow:hidden}
.cta-s::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--n950) 0%,var(--n800) 100%)}
/* ── FOOTER ── */
footer{background:var(--n950)}
.fh{color:rgba(255,255,255,.85);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.875rem}
.fl{display:block;font-size:.8rem;margin-bottom:.45rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.fl:hover{color:rgba(255,255,255,.85)}
.tursab-badge{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;gap:.875rem}
.tursab-shield{width:36px;height:42px;flex-shrink:0}
/* ── TOURS PAGE ── */
.tp-hdr{background:var(--n900);padding:5.5rem 0 3rem;margin-top:-80px;padding-top:calc(5.5rem + 80px)}
.tp-hdr h1{color:#fff}
.fbar{background:#fff;border-bottom:1px solid var(--bdr);position:sticky;top:80px;z-index:50;overflow-x:auto}
.fbar-in{display:flex;align-items:center;gap:.4rem;padding:.75rem 1.5rem;max-width:1280px;margin:0 auto;width:max-content;min-width:100%}
.fchip{padding:.38rem .85rem;border-radius:100px;border:1.5px solid var(--bdr);font-size:.74rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--n700);background:#fff;white-space:nowrap;font-family:inherit}
.fchip:hover,.fchip.on{background:var(--n900);color:#fff;border-color:var(--n900)}
.tlc{background:#fff;border:1px solid var(--bdr);border-radius:14px;overflow:hidden;display:flex;transition:all .3s}
.tlc:hover{box-shadow:0 10px 36px rgba(8,18,42,.09);transform:translateY(-3px)}
.tlc-img{width:200px;flex-shrink:0;position:relative;overflow:hidden;min-height:160px}
.tlc-img-in{position:absolute;inset:0;transition:transform .5s ease}
.tlc:hover .tlc-img-in{transform:scale(1.05)}
.tlc-body{padding:1.25rem 1.375rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.chip-sm{display:inline-flex;align-items:center;gap:.275rem;font-size:.7rem;font-weight:500;padding:.25rem .6rem;border-radius:100px;border:1px solid var(--bdr);color:var(--gray);background:#fff}

/* Section background + padding classes */
.sec-pad{padding:5rem 0}
.bg-ow{background:var(--ow)}
.bg-white{background:#fff}
.bg-navy{background:var(--n900)}
@media(max-width:639px){
  .sec-pad{padding:3.25rem 0}
}
@media(min-width:640px) and (max-width:1023px){
  .sec-pad{padding:4rem 0}
}

::-webkit-scrollbar{width:5px;height:4px}
::-webkit-scrollbar-track{background:#f1f5f9}
::-webkit-scrollbar-thumb{background:var(--n200);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--n600)}

/* ══ GRID HELPERS ══ */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.feat-sub{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.cta-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.why-btns{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:1.875rem}

/* ══ TABLET 640-1023 ══ */
@media(min-width:640px) and (max-width:1023px){
  .nlinks,.nsi{display:none}
  .hbg{display:flex}
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .dest-grid{grid-template-columns:1fr 1fr}
  .dest-block{aspect-ratio:3/2}
  .feat-tours-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}
  .why-grid{grid-template-columns:1fr;gap:2rem}
  .feat-sub{grid-template-columns:repeat(2,1fr)}
  .tlc{flex-direction:column}
  .tlc-img{width:100%;min-height:200px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.75rem}
  .footer-brand-col{grid-column:1/-1}
  .scrl{display:none}
  .container{padding:0 1.25rem}
}

/* ══ MOBILE 0-639 ══ */
@media(max-width:639px){
  .nlinks,.nsi{display:none}
  .hbg{display:flex}
  .ni{padding:0 1rem;height:68px;gap:1rem}
  .nbtn{display:none}

  #hero{margin-top:-68px}
  .hero-content{padding:5rem 1.25rem 2.5rem}
  .eyebrow{font-size:.62rem;padding:.3rem .7rem;margin-bottom:1.125rem}
  .hero-h1{font-size:1.875rem;letter-spacing:-.04em;margin-bottom:.875rem}
  .hero-sub{font-size:.875rem;line-height:1.65;margin:0 auto 1.75rem;max-width:100%}
  .hsearch{max-width:100%;border-radius:12px;flex-direction:column}
  .hf:first-child{border-radius:12px 12px 0 0}
  .hf{border-right:none!important;border-bottom:1px solid #E2E8F2;padding:.85rem 1rem;flex:none}
  .hf-icon{width:30px;height:30px}
  .cdd-menu{left:0;right:0;min-width:0;width:100%}
  .hsbtn{padding:.9rem;font-size:.875rem;border-radius:0 0 12px 12px;width:100%}
  .hbadges{gap:.35rem;margin-top:1.125rem}
  .hbadge{font-size:.65rem;padding:.26rem .6rem}
  .scrl{display:none}

  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .si{border-right:none!important;border-bottom:none!important;padding:1.5rem .75rem}
  .si:nth-child(1),.si:nth-child(2){border-bottom:1px solid #E2E8F2!important}
  .si:nth-child(1),.si:nth-child(3){border-right:1px solid #E2E8F2!important}
  .sn{font-size:1.9rem}

  .sec-pad{padding:3rem 0!important}

  .dest-grid{grid-template-columns:1fr 1fr;gap:.625rem}
  .dest-block{aspect-ratio:3/2;border-radius:12px}
  .dest-name{font-size:.875rem}
  .dest-meta{font-size:.62rem}
  .dest-cta{display:none}

  .tours-header-flex{flex-direction:column;align-items:flex-start!important;gap:.5rem!important}

  .feat-tours-grid{grid-template-columns:1fr!important;gap:.875rem!important}
  .tc-img{height:160px}
  .tc-body{padding:1rem}
  .tc-ttl{font-size:.9rem}

  .story-card{width:155px;height:255px;border-radius:14px}
  .sc-title{font-size:.825rem}
  .sc-content{padding:.875rem}

  .why-grid{grid-template-columns:1fr;gap:1.75rem}
  .feat-sub{grid-template-columns:1fr 1fr;gap:.5rem}
  .why-btns{margin-top:1.25rem}

  .reviews-grid{grid-template-columns:1fr}

  .cta-btns{flex-direction:column;align-items:center;gap:.625rem}
  .cta-btns>*{width:100%;max-width:320px;text-align:center;justify-content:center!important}

  .footer-grid{grid-template-columns:1fr;gap:1.5rem}
  .footer-divider{padding:1rem 0}

  .tp-hdr{padding:5rem 0 2rem;padding-top:calc(5rem + 68px);margin-top:-68px}
  .fbar{top:68px}
  .fbar-in{padding:.625rem 1rem;gap:.35rem}
  .fchip{padding:.32rem .7rem;font-size:.7rem}
  .tlc{flex-direction:column}
  .tlc-img{width:100%;min-height:165px}
  .tlc-body{padding:1rem}
  .tlc-body h2{font-size:.9rem}
  .warn-banner{flex-direction:column;gap:.375rem;padding:.75rem .875rem}

  .btn-p,.btn-o,.btn-gw{min-height:44px;padding:.625rem 1.125rem;font-size:.825rem}
  .tc-btn{min-height:40px;font-size:.775rem}
  .nbtn{min-height:40px}

  .mml{padding:1rem 1.5rem;font-size:.95rem;min-height:52px;display:flex;align-items:center}

  .sh2{font-size:1.55rem!important;letter-spacing:-.035em!important}
  .ssub{font-size:.85rem!important}

  .google-badge{flex-direction:column;text-align:center;gap:.5rem;padding:.875rem 1.25rem}
  .google-badge-div{display:none}

  .container{padding:0 1rem}
  .cta-inner-wrap{padding:3.5rem 0}
  #hero{min-height:100vh}
  .statbar .container{overflow:hidden}
  .fbar{-webkit-overflow-scrolling:touch}
  .tlc-body{padding:.875rem}
}

@media(max-width:380px){
  .hero-h1{font-size:1.65rem}
  .dest-grid{grid-template-columns:1fr}
  .dest-block{aspect-ratio:16/9;border-radius:10px}
  .dest-cta{display:none}
  .feat-sub{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .story-card{width:145px;height:235px}
  .sh2{font-size:1.4rem!important}
}

/* ── Page content spacing (non-hero pages) ── */
#main-content{padding-top:80px}
body.has-hero #main-content{padding-top:0}
@media(max-width:639px){
  #main-content{padding-top:68px}
}

/* ── Generic page header (Tour details, reservation, etc.) ── */
.page-hdr{background:var(--n900);padding-top:2.5rem;padding-bottom:2.5rem}
.page-hdr h1{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.04em}

/* ── TOUR DETAILS (legacy kept) ── */
.td-desc{
  background:linear-gradient(135deg,#F7F9FC 0%,#EEF3FA 100%);
  border:1px solid var(--bdr);
  border-left:4px solid var(--n600);
  border-radius:0 14px 14px 0;
  padding:1.5rem 1.75rem;
  font-size:.925rem;
  color:var(--n700);
  line-height:1.85;
  position:relative;
}
.td-desc::before{content:'\201C';position:absolute;top:-.25rem;left:1rem;font-size:4.5rem;font-family:Georgia,serif;color:var(--n100);line-height:1;pointer-events:none;font-weight:900}
.td-desc p{margin-bottom:.875rem}.td-desc p:last-child{margin-bottom:0}
.td-desc ul,.td-desc ol{padding-left:1.4rem;margin-bottom:.875rem}.td-desc li{margin-bottom:.3rem}
.td-desc strong{color:var(--n900);font-weight:700}
.td-desc h2,.td-desc h3,.td-desc h4{color:var(--n900);font-weight:800;letter-spacing:-.02em;margin:.875rem 0 .35rem}
.td-desc h2{font-size:1.05rem}.td-desc h3{font-size:.97rem}
.td-desc a{color:var(--n600);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.slots-badge{font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:100px}
.slots-ok{background:#E7F6EE;color:#0F8A4C}
.slots-low{background:#FEF3E2;color:#B5650A}

/* ── TOUR DETAILS — NEW DESIGN ── */

/* Hero */
.tdhero{position:relative;height:520px;overflow:hidden;background:var(--n900);margin-top:-80px}
.tdhero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 8s ease}
.tdhero:hover .tdhero-img{transform:scale(1.03)}
.tdhero-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:5rem;background:linear-gradient(145deg,#08122A,#162A5E)}
.tdhero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,18,42,.92) 0%,rgba(8,18,42,.55) 45%,rgba(8,18,42,.2) 100%);z-index:1}
.tdhero-content{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:2;width:100%;padding-bottom:1.75rem}
.tdhero-bc{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem}
.tdhero-bc a{color:rgba(255,255,255,.45);font-size:.75rem;font-weight:500;text-decoration:none;transition:color .2s}
.tdhero-bc a:hover{color:rgba(255,255,255,.8)}
.tdhero-bc span{color:rgba(255,255,255,.25);font-size:.75rem}
.tdhero-bc span:last-child{color:rgba(255,255,255,.7);font-weight:600}
.tdhero-rating{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);border-radius:100px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;color:#FDE68A;margin-bottom:.6rem}
.tdhero-stars{letter-spacing:.05em}
.tdhero-title{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1.1;margin-bottom:.6rem}
.tdhero-sub{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.6;margin-bottom:.875rem;max-width:640px}
.tdhero-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.tdhero-chip{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);color:rgba(255,255,255,.85);font-size:.74rem;font-weight:600;padding:.3rem .75rem;border-radius:100px}
.tdhero-chip-green{background:rgba(15,138,76,.25);border-color:rgba(15,138,76,.45);color:#6EE7B7}
.tdhero-thumbs{position:absolute;bottom:1rem;right:1.5rem;z-index:3;display:flex;gap:.4rem}
.tdhero-thumb{width:68px;height:52px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2);cursor:pointer;transition:border-color .2s;flex-shrink:0}
.tdhero-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tdhero-thumb.on{border-color:#fff}

/* Body layout */
.tdbody{background:var(--ow);padding:2rem 0 5rem}
.tdlayout{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}
.tdmain{display:flex;flex-direction:column;gap:1.25rem}
.tdsidebar{position:sticky;top:96px}

/* Content cards */
.tdcard2{background:#fff;border:1px solid var(--bdr);border-radius:16px;padding:1.625rem;box-shadow:0 2px 12px rgba(8,18,42,.04)}
.tdsec-h{font-size:1.05rem;font-weight:800;color:var(--n900);letter-spacing:-.03em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.tdsec-h::before{content:'';display:inline-block;width:3px;height:1em;background:var(--n600);border-radius:2px;flex-shrink:0}

/* Included / Excluded */
.tdinex-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tdinex-col{border-radius:12px;padding:1.125rem}
.tdinex-in{background:#F0FDF4;border:1px solid #BBF7D0}
.tdinex-ex{background:#FFF1F2;border:1px solid #FECDD3}
.tdinex-hdr{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.tdinex-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0}
.tdinex-in .tdinex-icon{background:#BBF7D0;color:#0F5132}
.tdinex-ex .tdinex-icon{background:#FECDD3;color:#7F1D1D}
.tdinex-hdr h3{font-size:.83rem;font-weight:800;margin:0}
.tdinex-in .tdinex-hdr h3{color:#0F5132}
.tdinex-ex .tdinex-hdr h3{color:#7F1D1D}
.tdinex-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.tdinex-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.83rem;line-height:1.55;color:var(--n700)}
.tdinex-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:.42em}

/* Notes card */
.tdnotes-card{background:linear-gradient(135deg,#FFFBEB,#FEF3C7 100%);border-color:#FDE68A}
.tdnotes-hdr{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.tdnotes-body{font-size:.875rem;color:#78350F;line-height:1.75;white-space:pre-line}

/* Reviews */
.tdrev-score{display:flex;align-items:center;gap:.6rem}
.tdrev-num{font-size:2rem;font-weight:800;color:var(--n900);letter-spacing:-.04em;line-height:1}
.tdrev-list{display:flex;flex-direction:column;gap:.875rem}
.tdrev-item{display:flex;gap:.875rem;align-items:flex-start;padding:.875rem;border:1px solid var(--bdr);border-radius:12px;transition:box-shadow .2s}
.tdrev-item:hover{box-shadow:0 4px 16px rgba(8,18,42,.07)}
.tdrev-avatar{width:38px;height:38px;border-radius:50%;background:var(--n600);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tdrev-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem;flex-wrap:wrap;gap:.25rem}
.tdrev-top strong{font-size:.875rem;color:var(--n900)}
.tdrev-stars{color:#F59E0B;font-size:.8rem;letter-spacing:.06em}
.tdrev-comment{font-size:.84rem;color:var(--gray);line-height:1.65;margin:.2rem 0 .35rem}
.tdrev-date{font-size:.7rem;color:#94A3B8;font-weight:500}
.tdrev-empty{text-align:center;padding:2rem 1rem;color:var(--gray)}
.tdrev-empty p{font-size:.875rem;margin-top:.5rem}
.tdrev-success{background:#ECFDF5;border:1px solid #A7F3D0;color:#047857;border-radius:10px;padding:.75rem 1rem;font-size:.84rem;font-weight:600;margin-bottom:1rem}
.tdrev-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--bdr)}
.tdrev-form h3{font-size:.9rem;font-weight:800;color:var(--n900);margin-bottom:.75rem}
.tdrev-form-row{display:flex;gap:.625rem;margin-bottom:.625rem;align-items:center}
.tdrev-select{padding:.55rem .85rem;border:1.5px solid var(--bdr);border-radius:9px;font-size:.84rem;font-family:inherit;background:#fff;flex:1;cursor:pointer}
.tdrev-textarea{width:100%;padding:.65rem .9rem;border:1.5px solid var(--bdr);border-radius:9px;font-family:inherit;font-size:.84rem;resize:vertical;transition:border-color .2s}
.tdrev-textarea:focus{outline:none;border-color:var(--n600)}

/* Booking card */
.tdbook{background:#fff;border:1px solid var(--bdr);border-radius:20px;overflow:hidden;box-shadow:0 8px 40px rgba(8,18,42,.1)}
.tdbook-price-wrap{background:linear-gradient(135deg,var(--n900),var(--n700));padding:1.5rem 1.5rem 1.25rem;position:relative}
.tdbook-old{font-size:.83rem;color:rgba(255,255,255,.45);text-decoration:line-through;margin-bottom:.15rem}
.tdbook-price{font-size:2.25rem;font-weight:800;color:#fff;letter-spacing:-.05em;line-height:1;display:flex;align-items:baseline;gap:.3rem}
.tdbook-sym{font-size:1.25rem;font-weight:700}
.tdbook-unit{font-size:.74rem;color:rgba(255,255,255,.55);margin-top:.3rem;font-weight:500}
.tdbook-discount-badge{position:absolute;top:1.25rem;right:1.25rem;background:#22C55E;color:#fff;font-size:.72rem;font-weight:800;padding:.3rem .65rem;border-radius:100px;letter-spacing:.02em}
.tdbook-info{padding:1rem 1.25rem;border-bottom:1px solid var(--bdr);display:flex;flex-direction:column;gap:.45rem}
.tdbook-info-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--n700);line-height:1.5}
.tdbook-info-row--green{color:#0F8A4C}
.tdbook-info-ic{flex-shrink:0;font-size:.85rem;margin-top:.05em}
.tdbook-dates-hdr{display:flex;align-items:center;gap:.4rem;padding:.875rem 1.25rem .5rem;font-size:.8rem;font-weight:800;color:var(--n900);letter-spacing:-.01em}
.tdbook-sched{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem 1rem;max-height:360px;overflow-y:auto}
.tdbook-sitem{border:1.5px solid var(--bdr);border-radius:12px;padding:.75rem .875rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.625rem;transition:all .2s}
.tdbook-sitem:hover{border-color:var(--n200);box-shadow:0 3px 12px rgba(8,18,42,.07)}
.tdbook-sitem-left{flex:1;min-width:0}
.tdbook-sdate{font-size:.82rem;font-weight:700;color:var(--n900);letter-spacing:-.01em;margin-bottom:.2rem}
.tdbook-stime{font-size:.72rem;color:var(--gray)}
.tdbook-snote{font-size:.7rem;color:var(--gray);margin-top:.2rem;font-style:italic}
.tdbook-sitem-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}
.tdbook-sprice{font-size:.78rem;font-weight:800;color:var(--n600)}
.tdbook-btn{display:inline-flex;align-items:center;background:var(--n900);color:#fff;font-size:.75rem;font-weight:700;padding:.38rem .85rem;border-radius:7px;text-decoration:none;white-space:nowrap;transition:background .2s}
.tdbook-btn:hover{background:var(--n600);color:#fff}
.tdbook-nodate{padding:.5rem 1.25rem 1rem;text-align:center}
.tdbook-nodate p{font-size:.82rem;color:var(--gray);margin-bottom:.625rem}
.tdbook-tel{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--n900);padding:.55rem 1.125rem;border:1.5px solid var(--bdr);border-radius:9px;text-decoration:none;transition:all .2s}
.tdbook-tel:hover{background:var(--n50);border-color:var(--n900)}
.tdbook-wa{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 1.25rem 1.25rem;padding:.7rem;background:#F0FDF4;color:#166534;font-size:.82rem;font-weight:700;border-radius:10px;text-decoration:none;border:1px solid #BBF7D0;transition:all .2s}
.tdbook-wa:hover{background:#DCFCE7;color:#14532D}

@media(max-width:1023px){
  .tdhero{height:440px}
  .tdlayout{grid-template-columns:1fr}
  .tdsidebar{position:static}
}
@media(max-width:639px){
  .tdhero{height:380px;margin-top:-68px}
  .tdhero-title{font-size:1.6rem}
  .tdhero-thumbs{display:none}
  .tdlayout{gap:1rem}
  .tdcard2{padding:1.125rem}
  .tdinex-grid{grid-template-columns:1fr}
  .tdbook-price{font-size:1.75rem}
}

/* ── BOOKING / RESERVATION FORMS ── */
.bk-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;align-items:start}
.bk-card{background:#fff;border:1px solid var(--bdr);border-radius:16px;padding:1.375rem;position:sticky;top:100px}
.bk-card h3{font-size:1.05rem;font-weight:800;color:var(--n900);letter-spacing:-.02em;margin-bottom:.4rem}
.bk-card-meta{font-size:.8rem;color:var(--gray);line-height:1.7;margin-bottom:.875rem}
.bk-divider{border-top:1px solid var(--bdr);margin:.875rem 0}
.bk-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--n700);margin-bottom:.45rem}
.bk-row.total{font-size:1.05rem;font-weight:800;color:var(--n900);margin-top:.5rem}
.ffield{margin-bottom:1rem}
.ffield label{display:block;font-size:.78rem;font-weight:700;color:var(--n700);margin-bottom:.4rem;letter-spacing:-.005em}
.ffield input,.ffield select,.ffield textarea{width:100%;border:1.5px solid var(--bdr);border-radius:10px;padding:.65rem .85rem;font-family:inherit;font-size:.875rem;color:var(--n900);background:#fff;transition:border-color .2s}
.ffield input:focus,.ffield select:focus,.ffield textarea:focus{outline:none;border-color:var(--n900)}
.ffield .field-validation-error{display:block;color:var(--red);font-size:.72rem;margin-top:.3rem;font-weight:600}
.ffield input.input-validation-error,.ffield select.input-validation-error,.ffield textarea.input-validation-error{border-color:var(--red)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fcard{background:#fff;border:1px solid var(--bdr);border-radius:16px;padding:1.5rem}
.fcard-h{font-size:.95rem;font-weight:800;color:var(--n900);letter-spacing:-.02em;margin-bottom:1.125rem;padding-bottom:.75rem;border-bottom:1px solid var(--bdr)}

/* ── STATUS BADGES (public) ── */
.pbadge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;padding:.25rem .7rem;border-radius:100px;letter-spacing:.01em}
.pbadge-green{background:#E7F6EE;color:#0F8A4C}
.pbadge-amber{background:#FEF3E2;color:#B5650A}
.pbadge-red{background:#FDEAED;color:var(--red-d)}
.pbadge-blue{background:#E8F0FE;color:#1A56C4}
.pbadge-gray{background:var(--n50);color:var(--n600)}

/* ── MY RESERVATIONS ── */
.resv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.125rem}
.resv-card{background:#fff;border:1px solid var(--bdr);border-radius:14px;padding:1.25rem;transition:all .25s}
.resv-card:hover{box-shadow:0 10px 32px rgba(8,18,42,.08);transform:translateY(-3px)}
.resv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.6rem}
.resv-code{font-size:.68rem;color:var(--gray);font-weight:700;letter-spacing:.05em;margin-top:.15rem}
.resv-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--gray);padding:.3rem 0;border-bottom:1px solid var(--n50)}
.resv-row:last-of-type{border-bottom:none}
.resv-row strong{color:var(--n900);font-weight:700}
.resv-empty{text-align:center;padding:4rem 1.5rem;color:var(--gray)}

.aalert-error{display:none;background:#FDEAED;color:var(--red-d);border:1px solid #F8C9D1;border-radius:10px;padding:.75rem 1rem;font-size:.82rem;font-weight:600;margin-bottom:1rem}
.aalert-error.validation-summary-errors{display:block}
.aalert-error ul{list-style:none;padding-left:0;margin:0}

@media(max-width:900px){
  .bk-grid{grid-template-columns:1fr}
  .bk-card{position:static}
  .frow{grid-template-columns:1fr}
}
