:root{--primary:#A63D1E;--night:#141A3D;--gold:#F2CF93;--ink:#1E1611;--sand:#F5EDE0;--paper:#FBF6EE;--muted:#5A4838;--line:#E3CFB0;--soft:#EADDC8;--ok:#1F6B45;--danger:#A12A1C;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}


*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--primary);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.serif{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400}
.ar{font-family:'Aref Ruqaa','Noto Naskh Arabic',serif}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:0;cursor:pointer;font-weight:800;font-size:15px;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(.92)}
.btn-light{background:#FBF6EE;color:#1E1611}.btn-ghost{background:transparent;border:1.5px solid currentColor}
.btn-dark{background:var(--ink);color:var(--sand)}
.btn-sm{min-height:38px;padding:0 14px;font-size:13px}
/* hero */
.hero{position:relative;min-height:min(900px,100vh);overflow:hidden;background:var(--night);color:#FBF6EE;display:flex;flex-direction:column}
.hero>svg{position:absolute;inset:0;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,40,.6) 0%,rgba(14,16,40,.18) 60%,rgba(14,16,40,0) 100%);pointer-events:none}
.nav{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:24px}
.brand{display:flex;align-items:center;gap:12px;color:#FBF6EE}
.brand b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:26px;letter-spacing:.04em;display:block;line-height:1}
.brand small{display:block;font-size:12px;color:#E8D7B8;margin-top:5px}
.navlinks{display:flex;gap:4px;background:rgba(251,246,238,.12);border:1px solid rgba(251,246,238,.25);padding:5px;border-radius:999px}
.navlinks a{color:#FBF6EE;padding:10px 16px;border-radius:999px;font-weight:600;font-size:15px}
.navlinks a:hover{background:rgba(251,246,238,.14)}
.hero-copy{position:relative;z-index:2;padding:clamp(56px,10vh,110px) 0 190px;max-width:900px}
.hero-copy .ar{font-size:clamp(30px,4vw,44px);color:var(--gold);line-height:1.2}
.hero h1{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(44px,7.4vw,104px);line-height:.98;letter-spacing:-.015em;margin:20px 0 22px}
.hero p{font-size:clamp(17px,1.5vw,20px);color:#EDE3D2;max-width:560px;margin:0 0 30px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.finder{position:absolute;z-index:3;left:0;right:0;bottom:44px}
.finder form{max-width:1100px;margin:0 auto;background:rgba(251,246,238,.95);color:#1E1611;border-radius:24px;box-shadow:0 30px 80px rgba(10,8,20,.35);padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px}
.finder label{display:flex;flex-direction:column;padding:8px 16px;font-size:12px;font-weight:800;color:#8A6A48;border-right:1px solid #E3CFB0}
.finder label:nth-child(3){border-right:0}
.finder select,.finder input{border:0;background:transparent;font-size:16px;font-weight:700;color:#1E1611;padding:6px 0;min-height:38px}
.finder .btn{min-height:62px;border-radius:16px;background:#1E1611;color:#FBF6EE}
/* sections */
section{padding:clamp(70px,9vw,120px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(36px,4.6vw,58px);line-height:1.04;margin:0;max-width:760px}
.sec-head p{margin:0;max-width:420px;color:var(--muted);font-size:17px}
.facts{background:var(--paper);border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:30px;padding-bottom:30px}
.fact{display:flex;align-items:center;gap:14px}.fact b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:44px;line-height:1;color:var(--primary)}
.fact span{font-size:14px;color:var(--muted);line-height:1.4}
.dest{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:280px;gap:18px}
.tile{position:relative;overflow:hidden;border-radius:26px;color:#FBF6EE;display:block;background:#1E1611;border:0;padding:0;cursor:pointer;text-align:left}
.tile svg{position:absolute;inset:0;width:100%;height:100%}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,10,0) 40%,rgba(20,14,10,.8) 100%)}
.tile .cap{position:absolute;z-index:1;left:24px;right:24px;bottom:22px}
.tile .cap .ar{font-size:22px;color:var(--gold);line-height:1.1;display:block}
.tile .cap b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:30px;display:block;line-height:1.1}
.tile .cap span{font-size:14px;color:#EADFCB}
.tile.big{grid-column:span 2;grid-row:span 2}
.tabs{display:flex;gap:4px;background:var(--soft);padding:5px;border-radius:999px;flex-wrap:wrap}
.tabs button{border:0;background:transparent;cursor:pointer;padding:0 20px;min-height:46px;border-radius:999px;font-weight:800;font-size:15px}
.tabs button[aria-pressed="true"]{background:var(--ink);color:var(--sand)}
.tabs button span{opacity:.6;font-weight:600;margin-left:4px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.card{display:flex;flex-direction:column;background:var(--paper);border-radius:26px;overflow:hidden;border:1px solid var(--line);cursor:pointer;text-align:left;padding:0;color:inherit}
.card:hover{border-color:var(--primary)}
.card .pic{height:220px;position:relative;overflow:hidden}
.card .pic svg{width:100%;height:100%;display:block}
.chip{position:absolute;top:16px;background:#FBF6EE;color:#1E1611;font-weight:800;font-size:13px;padding:7px 13px;border-radius:999px}
.chip.l{left:16px}.chip.r{right:16px;background:rgba(30,22,17,.85);color:#FBF6EE}
.card .body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.card .reg{font-size:13px;color:var(--primary);font-weight:800}
.card h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:26px;line-height:1.15;margin:0}
.card p{margin:0;font-size:15px;color:var(--muted)}
.card .foot{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}
.card .foot b{color:var(--primary)}
.empty{padding:50px;text-align:center;border:2px dashed var(--line);border-radius:24px;color:var(--muted)}
.night{background:var(--night);color:#F4EEE3;position:relative;overflow:hidden}
.night .sec-head h2{color:#fff}.night .sec-head p{color:#D5DAF0}
.sig{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.sig .pic{height:260px;border-radius:26px;overflow:hidden}
.sig .pic svg{width:100%;height:100%;display:block}
.steps{display:flex;flex-direction:column;gap:14px}
.step{background:rgba(251,246,238,.06);border:1px solid rgba(251,246,238,.14);border-radius:22px;padding:24px;display:flex;gap:20px}
.step .n{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:52px;line-height:.9;color:var(--gold);min-width:64px}
.step h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:24px;margin:0 0 6px;color:#fff}
.step p{margin:0;color:#D5DAF0;font-size:15px}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:center}
.why .arch{width:200px;height:250px;border-radius:100px 100px 18px 18px;overflow:hidden;margin:0 auto 18px}
.why .arch svg{width:100%;height:100%;display:block}
.why h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:28px;margin:0 0 8px}
.why p{margin:0 auto;color:var(--muted);max-width:340px}
.custom{background:var(--primary);color:#FBF6EE}
.custom .grid2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.custom h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(36px,4.6vw,56px);line-height:1.05;margin:0 0 18px}
.custom p{color:#F6E4D6;font-size:18px}
.ideas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.ideas div{background:rgba(251,246,238,.12);border-radius:16px;padding:16px 18px;font-size:15px}
.form{background:rgba(0,0,0,.22);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:16px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.form input,.form select,.form textarea{border:1px solid #E3CFB0;border-radius:14px;background:#fff;color:#1E1611;padding:12px 14px;min-height:50px;font-size:16px}
.form .btns{display:flex;gap:10px;flex-wrap:wrap}
.form .btns .btn{flex:1}
.zel{height:34px;background-color:#2A3C9A}
footer{background:#1E1611;color:#D8C8AE;padding:80px 0 34px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer a{color:#FBF6EE}
footer .legal{border-top:1px solid #3A2E25;margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#A8967C}
.admin-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;box-shadow:0 12px 30px rgba(0,0,0,.3)}
/* detail */
.detail{position:fixed;inset:0;z-index:50;background:var(--sand);overflow:auto;padding-top:env(safe-area-inset-top,0px)}
.detail .top{position:relative;height:340px;color:#FBF6EE}
.detail .top svg{position:absolute;inset:0;width:100%;height:100%}
.detail .top::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,8,.25),rgba(14,10,8,.75))}
.detail .top .wrap{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:20px;padding-bottom:30px}
.detail h1{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.05;margin:0}
.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;padding:44px 0 90px}
.dgrid h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:28px;margin:34px 0 12px}
.dgrid h2:first-child{margin-top:0}
.route{display:flex;flex-wrap:wrap;gap:6px}
.route span{background:var(--soft);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.hl{columns:2;column-gap:28px;padding-left:18px;margin:0}
.hl li{margin-bottom:4px}
details.day{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin-bottom:10px}
details.day summary{cursor:pointer;list-style:none;padding:16px 20px;display:flex;gap:14px;align-items:center;font-weight:700}
details.day summary::-webkit-details-marker{display:none}
details.day summary .dn{background:var(--primary);color:#fff;border-radius:8px;padding:2px 10px;font-size:13px;white-space:nowrap}
details.day .dt{padding:0 20px 18px;color:var(--muted);white-space:pre-line}
details.day .tags{padding:0 20px 18px;display:flex;gap:8px;flex-wrap:wrap}
details.day .tags span{background:var(--soft);border-radius:999px;padding:3px 10px;font-size:13px}
.io{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.io>div{border-radius:18px;padding:16px 22px}
.io ul{margin:0;padding-left:18px}
.inc{background:rgba(31,107,69,.1)}.exc{background:rgba(161,42,28,.09)}
.side{position:sticky;top:20px;align-self:start;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:12px}
.side .row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:14px}
.side .row span{color:var(--muted)}
.side .price{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:30px}
/* ADMIN */
.adm{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:var(--sand)}
.adm aside{background:#1E1611;color:#EFE3CF;padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}
.adm aside .brand b{font-size:21px}
.adm aside button{background:transparent;border:0;color:#EFE3CF;text-align:left;padding:12px 14px;border-radius:12px;cursor:pointer;font-weight:700;min-height:44px}
.adm aside button[aria-current="true"]{background:rgba(242,207,147,.16);color:var(--gold)}
.adm main{padding:26px clamp(16px,3vw,40px) 80px;min-width:0}
.bar{position:sticky;top:0;z-index:5;background:var(--sand);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0 16px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}
.bar h1{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:30px;margin:0}
.status{font-size:14px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--soft)}
.status.dirty{background:#F7E1B5;color:#6A4300}.status.ok{background:rgba(31,107,69,.14);color:var(--ok)}.status.err{background:rgba(161,42,28,.14);color:var(--danger)}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px}
.panel h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:22px;margin:0 0 14px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fields .full{grid-column:1/-1}
.f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.f input,.f select,.f textarea{border:1px solid var(--line);border-radius:12px;background:var(--sand);color:var(--ink);padding:10px 12px;min-height:44px;font-size:15px;font-weight:500}
.f textarea{min-height:110px;resize:vertical}
.f small{font-weight:500;color:var(--muted)}
.chk{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;min-height:44px}
.chk input{width:20px;height:20px;accent-color:var(--primary)}
.list{width:100%;border-collapse:collapse;font-size:14px}
.list th{text-align:left;font-size:12px;color:var(--muted);padding:8px;border-bottom:1px solid var(--line)}
.list td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
.list tr.hidden td{opacity:.5}
.list .t{font-weight:700}
.iconbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--sand);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.iconbtn:hover{border-color:var(--primary)}
.iconbtn.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.dayed{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;background:var(--sand)}
.dayed .h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:800}
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:#1E1611;color:#FBF6EE;padding:12px 20px;border-radius:14px;z-index:90;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.swatch{display:flex;align-items:center;gap:10px}.swatch input[type=color]{width:52px;height:40px;padding:2px;border-radius:10px}
.tablewrap{overflow-x:auto}
@media (max-width:1000px){
 .navlinks{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dest{grid-template-columns:repeat(2,minmax(0,1fr))}
 .facts .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.sig,.custom .grid2,.dgrid{grid-template-columns:1fr}.side{position:static}
 .why{grid-template-columns:1fr}.finder form{grid-template-columns:1fr 1fr}.finder label:nth-child(2){border-right:0}.finder .btn{grid-column:1/-1}
 .adm{grid-template-columns:1fr}.adm aside{position:static;height:auto;flex-direction:row;flex-wrap:wrap}
 footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .grid,.dest,.io,.ideas,.form .two,.fields{grid-template-columns:1fr}.tile.big{grid-column:auto;grid-row:auto}
 .finder{position:relative;bottom:auto;padding:0 18px 30px}.hero-copy{padding-bottom:40px}.finder form{grid-template-columns:1fr}.finder label{border-right:0;border-bottom:1px solid #E3CFB0}
 .hl{columns:1}footer .cols{grid-template-columns:1fr}.nav .btn{display:none}
}

/* v2: richer trip pages */
.card p.sum{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .cf{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:700;color:var(--ink)}
.card .cf span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--primary);margin:0 10px 2px -8px;vertical-align:middle}
.sortbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-14px 0 22px;color:var(--muted);font-size:14px}
.sortbar label{display:flex;align-items:center;gap:8px;font-weight:700}
.sortbar select{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 12px;min-height:38px}
.dnav{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
.dnav .wrap{display:flex;gap:4px;overflow-x:auto;padding-top:8px;padding-bottom:8px;scrollbar-width:none}
.dnav button{flex:none;background:transparent;border:0;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink)}
.dnav button:hover{background:var(--soft)}
.dsec{padding:0;scroll-margin-top:70px}
.dsec+.dsec{margin-top:46px;padding-top:34px;border-top:1px solid var(--line)}
.dgrid .dsec h2{margin:0 0 16px}
.h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:21px;margin:26px 0 10px}
.lead{font-size:17px;max-width:68ch;margin:0 0 14px}
.glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0 0 26px}
.glance div{background:var(--paper);padding:12px 16px}
.glance dt{font-size:12px;color:var(--muted);font-weight:700}
.glance dd{margin:2px 0 0;font-weight:800;font-size:15px;line-height:1.35}
.mapbox{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:14px;margin-bottom:14px}
.legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.legend button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--sand);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;cursor:pointer}
.legend button[aria-pressed="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.rmap{display:block;width:100%;height:auto;border-radius:14px}
.rmap .sea{fill:#C9DCEB}.rmap .land{fill:#F1E4CC;stroke:#B9A27E;stroke-width:1}
.rmap .seg{stroke-width:3.5;stroke-linecap:round;transition:opacity .2s}
.rmap .mk{transition:opacity .2s}.rmap .mk circle{stroke:#FBF6EE;stroke-width:2.5}
.rmap .mk text{fill:#fff;font:800 11px 'Plus Jakarta Sans',system-ui,sans-serif}
.rmap .lb{font:700 12.5px 'Plus Jakarta Sans',system-ui,sans-serif;fill:#2A1D14;paint-order:stroke;stroke:#F7EEDD;stroke-width:4px;stroke-linejoin:round}
.rmap .dim{opacity:.13}


.mnote{font-size:13px;color:var(--muted);margin:10px 4px 0}
.stoplist{border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.stoplist summary{cursor:pointer;padding:12px 18px;font-weight:800}
.stoplist table{width:100%;border-collapse:collapse;font-size:14px}
.stoplist th,.stoplist td{text-align:left;padding:8px 18px;border-top:1px solid var(--line)}
.stoplist th{font-size:12px;color:var(--muted)}
.stoplist td:first-child{font-weight:800;color:var(--primary);width:48px}
.dtools{display:flex;gap:8px;margin:-4px 0 14px}
.daylist{list-style:none;margin:0;padding:0}
details.day summary{align-items:flex-start}
details.day summary .dtt{padding-top:1px}
details.day summary::after{content:"+";margin-left:auto;font-size:22px;line-height:1;color:var(--primary);font-weight:400}
details.day[open] summary::after{content:"–"}
details.day .chain{margin:-4px 20px 12px;font-size:13px;font-weight:700;color:var(--primary)}
details.day .chain span{color:var(--muted)}
details.day .dt{white-space:normal;color:var(--ink)}
details.day .dt p{margin:0 0 10px;max-width:70ch}
details.day .tags{align-items:center}
.linkbtn{background:none;border:0;color:var(--primary);font-weight:800;font-size:13px;cursor:pointer;text-decoration:underline;padding:3px 4px}
.ioh{font-weight:800;margin:6px 0}
.tips{padding-left:20px;margin:0}.tips li{margin-bottom:8px;max-width:72ch}
.rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rel button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 18px;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:inherit}
.rel button:hover{border-color:var(--primary)}
.rel b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:19px;line-height:1.2}.rel span{font-size:13px;color:var(--muted)}
.xl{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px;font-weight:700;font-size:14px}
.xl a{text-decoration:underline}
@media (max-width:980px){.glance{grid-template-columns:repeat(2,minmax(0,1fr))}.rel{grid-template-columns:1fr}}
@media (max-width:560px){.rmap .lb{font-size:15px}.sortbar{margin-top:0}}

.detail .side{top:78px}
.wrap.dgrid{padding-left:clamp(18px,4vw,48px);padding-right:clamp(18px,4vw,48px)}
@media (max-width:560px){.rmap .lb{font-size:12.5px}}

/* v3: professional polish */
body{font-size:16.5px;text-rendering:optimizeLegibility}
h1,h2,h3,.serif{letter-spacing:-.01em}
.btn{border-radius:10px;letter-spacing:.005em;transition:filter .15s,background .15s,transform .15s}
.btn .ic,.fwa .ic{flex:none}
.btn-ghost:hover{background:rgba(127,127,127,.08)}
.ic{display:inline-block;vertical-align:-4px}
/* utility bar */
.util{position:relative;z-index:3;border-bottom:1px solid rgba(251,246,238,.14);font-size:13px;color:#E8D7B8}
.util .wrap{display:flex;justify-content:space-between;gap:18px;padding-top:9px;padding-bottom:9px}
.util span,.util a{display:inline-flex;align-items:center;gap:7px;color:#E8D7B8}
.util .ic{width:16px;height:16px}
.util .ur{gap:22px}
.util a:hover{color:#fff}
.nav{padding-top:20px}
.navlinks{border-radius:12px;background:rgba(20,26,61,.35);backdrop-filter:blur(6px)}
.navlinks a{border-radius:9px;font-size:14.5px}
.mbtn{display:none;width:46px;height:46px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.mbtn.light{background:rgba(251,246,238,.12);border-color:rgba(251,246,238,.3);color:#FBF6EE}
/* hero */
.hero h1{max-width:14ch;text-wrap:balance}
.hero-copy{padding-bottom:210px}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;padding:0;margin:34px 0 0;font-size:14px;color:#EDE3D2}
.trust li{display:flex;align-items:center;gap:9px}
.trust .ic{color:var(--gold)}
.trust b{color:#fff}
.finder form{border-radius:16px;box-shadow:0 24px 60px rgba(10,8,20,.35)}
.finder .btn{border-radius:12px}
/* sticky header */
.stick{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(251,246,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transform:translateY(-105%);transition:transform .25s ease;padding-top:env(safe-area-inset-top,0px)}


body.scrolled .stick{transform:none}
.stick .wrap{display:flex;align-items:center;gap:20px;height:64px}
.stick .brand{color:var(--ink)}.stick .brand b{font-size:21px}
.slinks{display:flex;gap:2px;margin-left:auto}
.slinks a{color:var(--ink);font-weight:700;font-size:14px;padding:8px 12px;border-radius:8px}
.slinks a:hover{background:var(--soft)}
/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:60;background:var(--night);color:#FBF6EE;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top,0px)) 22px calc(24px + env(safe-area-inset-bottom,0px));overflow:auto}
.mm-top{display:flex;justify-content:space-between;align-items:center}
.mm-top .brand{display:flex;gap:10px;align-items:center;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px}
.mm-top .mbtn{display:inline-flex;background:transparent;color:#FBF6EE;border-color:rgba(251,246,238,.3)}
.mmenu nav{display:flex;flex-direction:column;margin:28px 0}
.mmenu nav a{color:#FBF6EE;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:30px;padding:10px 0;border-bottom:1px solid rgba(251,246,238,.12)}
.mm-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
body.menu-open{overflow:hidden}
/* sections */
.sec-head h2{text-wrap:balance}
.facts .wrap{padding-top:34px;padding-bottom:34px}
.fact b{font-size:48px}
.tile,.card,.sig .pic{border-radius:16px}
.tile .cap em{display:table;margin-top:10px;font-style:normal;font-size:12.5px;font-weight:800;color:#1E1611;background:rgba(251,246,238,.92);padding:4px 10px;border-radius:6px}
.tile svg,.card .pic svg{transition:transform .5s ease}
.tile:hover svg,.card:hover .pic svg{transform:scale(1.04)}
.tabs{border-radius:12px}.tabs button{border-radius:9px}
.fnote{margin:-18px 0 22px;color:var(--muted)}
.sortbar{margin:-10px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sortbar select{border-radius:8px}
.card{transition:border-color .2s,box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 18px 40px rgba(60,35,15,.12);transform:translateY(-2px)}
.card .pic{height:210px}
.chip{border-radius:7px;font-size:12.5px;padding:6px 10px}
.card .body{padding:22px 24px 22px}
.card h3{font-size:25px}
.card .foot{border-top-style:solid}
.card .foot span{font-weight:700;color:var(--ink)}
/* how */
.how{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.howl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:h}
.howl li{padding:6px 28px 6px 0;position:relative}
.howl li+li{padding-left:28px;border-left:1px solid var(--line)}
.hn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--primary);color:var(--primary);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px;margin-bottom:18px}
.howl h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:24px;margin:0 0 8px}
.howl p{margin:0;color:var(--muted);font-size:15.5px}
.step,.why .arch{border-radius:16px}
.why .arch{border-radius:100px 100px 14px 14px}
/* faq */
.faq{background:var(--sand)}
.faqg{display:grid;grid-template-columns:4fr 7fr;gap:64px;align-items:start}
.faqg h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(34px,4vw,50px);line-height:1.05;margin:0 0 16px}
.faqg>div:first-child p{color:var(--muted);margin:0 0 24px;max-width:36ch}
.faql details{border-bottom:1px solid var(--line)}
.faql details:first-child{border-top:1px solid var(--line)}
.faql summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-weight:800;font-size:17px;position:relative}
.faql summary::-webkit-details-marker{display:none}
.faql summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:28px;font-weight:300;color:var(--primary)}
.faql details[open] summary::after{content:"–"}
.faql p{margin:0 0 22px;color:var(--muted);max-width:64ch}
.custom .ideas div,.form,.form input,.form select,.form textarea{border-radius:10px}
.form{border-radius:18px}
/* footer */
footer .cols{grid-template-columns:1.6fr 1.2fr .9fr 1.3fr}
footer .fh{color:var(--gold);font-weight:800;margin:0 0 14px;font-size:14px}
footer .cols p{margin:0 0 10px}
footer .cols a{display:inline-flex;gap:8px;align-items:center}
footer .cols a:hover{color:var(--gold)}
/* floating whatsapp */
.fwa{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;background:#1F6B45;color:#fff;border-radius:999px;padding:13px 20px 13px 16px;font-weight:800;font-size:15px;box-shadow:0 14px 34px rgba(0,0,0,.25)}
.fwa .ic{width:24px;height:24px}
.fwa:hover{filter:brightness(1.08)}
.admin-fab{right:auto;left:18px}
/* detail */
.detail{z-index:50}
.detail .top{height:360px}
.crumb{display:flex;align-items:center;gap:12px}
.crumb span{font-size:14px;font-weight:700;color:#EDE3D2}
.detail h1{max-width:22ch;text-wrap:balance}
.side{border-radius:16px;box-shadow:0 18px 50px rgba(60,35,15,.08)}
.book{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:2px}
.book .bh{margin:0;font-weight:800}
.book label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--muted)}
.book input,.book select{border:1px solid var(--line);border-radius:8px;background:var(--sand);color:var(--ink);padding:8px 10px;min-height:44px;font-size:15px;font-weight:600}
.book .b2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.book small{color:var(--muted);text-align:center}
.glance,.mapbox,.stoplist,details.day,.rel button,.io>div{border-radius:12px}
.rmap{border-radius:8px}
details.day summary .dn{border-radius:6px}
.legend button,.dtools .btn{border-radius:8px}
.dnav{box-shadow:0 1px 0 var(--line)}
.dnav button{border-radius:8px}
.mbar{display:none}
@media (max-width:1100px){.slinks{display:none}}
@media (max-width:1000px){
 .mbtn{display:inline-flex}.nav-cta{display:none}.stick .btn{display:none}.stick .mbtn{margin-left:auto}
 .howl{grid-template-columns:1fr 1fr;row-gap:34px}.howl li:nth-child(3){padding-left:0;border-left:0}
 .faqg{grid-template-columns:1fr;gap:28px}
 footer .cols{grid-template-columns:1fr 1fr}
 .mbar{display:flex;position:sticky;bottom:0;z-index:6;justify-content:space-between;align-items:center;gap:12px;background:var(--paper);border-top:1px solid var(--line);padding:12px clamp(18px,4vw,48px) calc(12px + env(safe-area-inset-bottom,0px))}
 .mbar div{display:flex;flex-direction:column;line-height:1.25}.mbar b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:19px}.mbar span{font-size:13px;color:var(--muted)}
}
@media (max-width:640px){
 .util .wrap>span:first-child{display:none}.util .ur{width:100%;justify-content:space-between;gap:10px}.util .ur a:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .hero-copy{padding-bottom:36px}.trust{margin-top:24px;flex-direction:column}
 .howl{grid-template-columns:1fr}.howl li,.howl li+li{padding:0;border-left:0}
 .fwa span{display:none}.fwa{padding:14px}
 footer .cols{grid-template-columns:1fr}
}
@media print{.stick,.fwa,.mbar,.admin-fab,.dnav{display:none!important}}

.hero-copy .ar{text-align:left}
.hero h1{font-size:clamp(42px,6.2vw,88px)}
.trust li{text-shadow:0 1px 8px rgba(14,16,40,.6)}

.card .cf{gap:6px}
.card .cf span{background:var(--soft);border-radius:6px;padding:3px 9px;font-size:12.5px}
.card .cf span+span::before{content:none}
.faq{background:var(--paper);border-top:1px solid var(--line)}
footer .ic{flex:none}
.hl{list-style:none;padding-left:0}
.hl li{position:relative;padding-left:26px;margin-bottom:8px;break-inside:avoid}
.hl li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:rotate(-45deg)}
.detail .chip.r{white-space:nowrap}
.side .price{font-size:32px;line-height:1.1}
@media (max-width:640px){.util .ur a:last-child{display:none}.util .wrap>span:first-child{display:inline-flex}.util .wrap{font-size:12px}.util .ur{width:auto}.util a{white-space:nowrap}}

/* v4: SEO pages */
a.card{text-decoration:none}
.rel a{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;color:inherit}
.rel a:hover{border-color:var(--primary)}
.upd{margin:10px 0 0;font-size:13.5px;color:#EDE3D2}
.bc{display:flex;align-items:center;gap:12px}.bc span{font-size:14px;font-weight:700;color:#EDE3D2}
.detail.page{position:static;overflow:visible;padding-top:64px;z-index:auto}
body.tp .stick{transform:none}
body.tp .dnav{top:64px}
body.tp .detail .side{top:140px}
body.tp .dsec{scroll-margin-top:140px}
.jidx{background:var(--paper);border-top:1px solid var(--line);padding:clamp(56px,7vw,90px) 0}
.jidx h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(30px,3.4vw,42px);margin:0 0 28px}
.jcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 40px}
.jcols h3{font-size:14px;font-weight:800;color:var(--primary);margin:0 0 10px}
.jcols ul{list-style:none;margin:0;padding:0}
.jcols li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.jcols li a{color:var(--ink);font-weight:600}.jcols li a:hover{color:var(--primary)}
.jcols li span{color:var(--muted);font-size:13px;white-space:nowrap;text-align:right}
@media (max-width:1000px){.jcols{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.jcols{grid-template-columns:1fr}.jcols li{flex-direction:column;gap:2px}.jcols li span{text-align:left}}

/* v5: travel guides */
.guides{background:var(--sand)}
.agrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.acard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s}
.acard:hover{border-color:var(--primary);box-shadow:0 18px 40px rgba(60,35,15,.12);transform:translateY(-2px)}
.apic{height:150px;position:relative;overflow:hidden}.apic svg{width:100%;height:100%;display:block}
.abody{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex-grow:1}
.abody h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:22px;line-height:1.2;margin:0;text-wrap:balance}
.abody p{margin:0;color:var(--muted);font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ameta{margin-top:auto;padding-top:8px;font-size:13px;font-weight:800;color:var(--primary)}
.detail.art .top{height:400px}
.detail.art h1{max-width:26ch}
.prose{max-width:68ch;font-size:17.5px;line-height:1.72}
.prose .lead2{font-size:20px;line-height:1.55;color:var(--ink);font-weight:500;margin:0 0 26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.prose h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:29px;line-height:1.2;margin:38px 0 12px}
.prose h3{font-size:19px;margin:28px 0 8px}
.prose p{margin:0 0 18px}
.prose ul{margin:0 0 20px;padding-left:22px}.prose li{margin-bottom:8px}
.prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.prose strong{color:var(--ink)}
.arel{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.arel .bh{margin:0 0 2px;font-weight:800}
.arel a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--sand);color:var(--ink)}
.arel a:hover{border-color:var(--primary)}.arel b{font-size:14.5px;line-height:1.3}.arel span{font-size:12.5px;color:var(--muted)}
.guides.more{padding:clamp(50px,6vw,80px) 0;border-top:1px solid var(--line)}
.mh{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(28px,3vw,38px);margin:0 0 24px}
a.chip{text-decoration:none}
@media (max-width:1000px){.agrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.agrid{grid-template-columns:1fr}.prose{font-size:17px}.prose .lead2{font-size:18.5px}.detail.art .top{height:360px}}

/* v6: landing page + standalone pages */
.pop{padding-bottom:clamp(40px,5vw,64px)}
.popg{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}
.pc{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s}
.pc:hover{border-color:var(--primary);box-shadow:0 18px 40px rgba(60,35,15,.12);transform:translateY(-2px)}
.pc .pp{position:relative;overflow:hidden;min-height:150px}.pc .pp svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s ease}.pc:hover .pp svg{transform:scale(1.04)}
.pc .pb{padding:20px 24px 22px;display:flex;flex-direction:column;gap:8px}
.pc h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:24px;line-height:1.15;margin:0;text-wrap:balance}
.pc .reg{font-size:13px;color:var(--primary);font-weight:800}
.pc p{margin:0;color:var(--muted);font-size:15.5px}
.pc .cf{display:flex;flex-wrap:wrap;gap:6px}.pc .cf span{background:var(--soft);border-radius:6px;padding:3px 9px;font-size:12.5px;font-weight:700}
.pc .go{margin-top:6px;font-weight:800;font-size:14px;color:var(--primary)}
.pc.big .pp{min-height:320px;flex:1}
.pc.big h3{font-size:clamp(28px,2.6vw,36px)}
.pside{display:grid;gap:22px;grid-auto-rows:1fr}
.pside .pc{flex-direction:row}
.pside .pc .pp{width:40%;min-height:0;flex:none}
.pside .pc .pb{flex:1;justify-content:center}
.std{background:var(--night);color:#EDE3D2}
.std ul{list-style:none;margin:0;padding:26px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.std li{display:flex;gap:14px;align-items:flex-start}
.std .ic{width:28px;height:28px;color:var(--gold);flex:none;margin-top:2px}
.std b{display:block;color:#fff;font-size:15.5px}.std span{font-size:14px;color:#C9CDE3;line-height:1.45}
.ctab{background:var(--night);color:#FBF6EE;padding:clamp(56px,7vw,90px) 0}
.ctab .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.ctab h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.05;margin:0 0 14px}
.ctab p{margin:0;color:#D5DAF0;font-size:17px;max-width:52ch}
.ctaa{display:flex;flex-direction:column;gap:10px}
body.tp .detail.page{min-height:100vh}
@media (max-width:1000px){.popg{grid-template-columns:1fr}.pc.big .pp{min-height:220px}.std ul{grid-template-columns:1fr 1fr}.ctab .wrap{grid-template-columns:1fr}}
@media (max-width:640px){.pside .pc{flex-direction:column}.pside .pc .pp{width:100%;min-height:140px}.std ul{grid-template-columns:1fr;gap:16px}}

/* v7: trip FAQ + comparison */
.cw{position:relative;display:flex}
.cw>.card{flex:1;min-width:0}
.cmpb{position:absolute;z-index:2;left:14px;top:164px;border:0;border-radius:8px;background:rgba(251,246,238,.94);color:var(--ink);font:800 12.5px 'Plus Jakarta Sans',system-ui,sans-serif;padding:7px 11px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.cmpb:hover{background:#fff}
.cmpb[aria-pressed="true"]{background:var(--ink);color:var(--sand)}
.ctray{position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(40,25,10,.12);padding-bottom:env(safe-area-inset-bottom,0px)}
.ctray .wrap{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}
.ctray>.wrap>b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:20px}
.cchips{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;align-items:center}
.cchips span{display:inline-flex;align-items:center;gap:6px;flex:none;background:var(--soft);border-radius:8px;padding:6px 6px 6px 12px;font-size:13.5px;font-weight:700;max-width:280px}
.cchips span button{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--muted);padding:0 6px}
.cchips em{font-style:normal;font-size:13px;color:var(--muted);flex:none}
.chint{font-size:13px;color:var(--muted)}
body.cmpon .fwa{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
body.cmpon .mbar{bottom:78px}
body.cmpon footer{padding-bottom:110px}
.cmpi{margin:-6px 0 16px;color:var(--muted)}
.cmpw{border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.cmpt{width:100%;border-collapse:collapse;min-width:640px;font-size:14.5px}
.cmpt th,.cmpt td{text-align:left;vertical-align:top;padding:12px 16px;border-top:1px solid var(--line)}
.cmpt thead th{border-top:0;vertical-align:bottom;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:18px;line-height:1.2}
.cmpt thead a{color:var(--ink)}.cmpt thead a:hover{color:var(--primary)}
.cmpt tbody th{width:150px;font-size:13px;color:var(--muted);font-weight:800}
.cmpt ul{margin:0;padding-left:18px}.cmpt li{margin-bottom:3px}
.cmpt .curc{background:rgba(166,61,30,.05)}
.cur{display:block;font:800 11.5px 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--primary);margin-bottom:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tfaq summary{font-size:16px;padding:18px 44px 18px 0}.tfaq summary::after{top:12px}
.tfaq p{margin:0 0 18px}
.xl2{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px;font-weight:700;font-size:14px}
.xl2 a{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.xl2 a:hover{color:var(--primary)}
.xl2 .linkbtn{text-align:left;padding:0;font-size:14px}
@media (max-width:640px){.cmpb{top:164px}.ctray>.wrap>b{display:none}.ctray .wrap{gap:8px}.chint{display:none}.cchips span{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media print{.ctray,.cmpb{display:none!important}}

body.cmpon .toast{bottom:100px}
.cmpt{table-layout:fixed}.cmpt thead th:first-child,.cmpt tbody th{width:150px}
@media (max-width:640px){.cmpt thead th:first-child,.cmpt tbody th{width:110px}}

/* v8: internal linking */
a.tile{color:inherit;text-decoration:none}
a.il{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a.il:hover{text-decoration-thickness:2px}
.bcl{font-size:14px;font-weight:700;color:#EDE3D2;text-decoration:underline;text-underline-offset:3px}.bcl:hover{color:#fff}
.thubs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 22px}
.thubs span{font-size:13px;font-weight:800;color:var(--muted);margin-right:2px}
.thubs a{font-size:13.5px;font-weight:700;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.thubs a:hover{border-color:var(--primary);color:var(--primary)}
.rgl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rgl a{display:flex;flex-direction:column;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;color:inherit}
.rgl a:hover{border-color:var(--primary)}
.rgl b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:18px;line-height:1.25}
.rgl span{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.arth{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.arth>p{font-weight:800;margin:0 0 10px;font-size:15px}
.hubl{display:flex;flex-wrap:wrap;gap:8px}
.hubl a{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-weight:700;font-size:14.5px;color:var(--ink)}
.hubl a:hover{border-color:var(--primary);color:var(--primary)}
.hubl a span{font-size:12px;font-weight:800;color:var(--muted);background:var(--soft);border-radius:6px;padding:1px 7px}
.hubi{padding-top:40px}
.hubi .prose{max-width:74ch}
.hubt{padding-top:10px}
.mh span{color:var(--muted);font-size:.7em}
.hubx{padding:clamp(50px,6vw,80px) 0;border-top:1px solid var(--line)}
.hubk{font-weight:800;color:var(--muted);font-size:13px;margin:18px 0 10px}
.seeall{margin:26px 0 0}
.jcols h3 a{color:var(--primary)}.jcols h3 a:hover{text-decoration:underline}
@media (max-width:1000px){.rgl{grid-template-columns:1fr}}

/* v10: audit fixes */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--sand);padding:10px 16px;border-radius:8px;font-weight:800;transition:top .15s}
.skip:focus{top:12px}
.dgrid>*,.agrid>*,.grid>*,.popg>*,.pside>*,.jcols>*,.rgl>*{min-width:0}
h1,h2,h3,.card h3,.acard h3{overflow-wrap:break-word}
.seeall .btn{white-space:normal;text-align:center;max-width:100%}
.detail .top .wrap>div:first-child{flex-wrap:wrap;row-gap:10px}
.tabs button span{opacity:.75}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.adm .btn{white-space:normal;text-align:center}
.adm main,.adm .panel{min-width:0}

/* v11: text-safe accent colour (dark mode contrast) */
:root{--accent:var(--primary)}


.ameta,
.bcl,
.card .foot b,
.card .reg,
.chain,
.cmpt thead a:hover,
.cur,
.fact b,
.faql summary::after,
.hn,
.hubl a:hover,
.jcols h3,
.jcols h3 a,
.jcols li a:hover,
.linkbtn,
.pc .go,
.pc .reg,
.prose a,
.reg,
.seeall .btn,
.stoplist td:first-child,
.thubs a:hover,
.xl a,
.xl2 a:hover,
a,
a.il,
details.day .chain,
details.day summary::after{color:var(--accent)}

/* v12: audit round 2 */
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{display:inline-block;background:rgba(20,14,10,.62);color:#fff;padding:6px 12px;border-radius:8px;text-decoration:none;backdrop-filter:blur(4px)}
.detail .top .bcl:hover{background:rgba(20,14,10,.8);color:#fff;text-decoration:underline}
.cmpb{color:#1E1611;background:rgba(251,246,238,.95)}
.cmpb[aria-pressed="true"]{background:#1E1611;color:#FBF6EE}

/* v13: audit round 3 */
.stick{visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
body.scrolled .stick{visibility:visible;transition:transform .25s ease,visibility 0s}
.stick,.navlinks,.skip{-webkit-backdrop-filter:blur(10px)}
.navlinks{-webkit-backdrop-filter:blur(6px)}
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{-webkit-backdrop-filter:blur(4px)}

/* v14: language switcher */
.lsw{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--paper)}
.lsw a,.lsw span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 8px;border-radius:7px;font:800 12.5px 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);text-decoration:none}
.lsw a:hover{background:var(--soft)}
.lsw span[aria-current]{background:var(--ink);color:var(--sand)}
.nav .lsw{background:rgba(20,26,61,.35);border-color:rgba(251,246,238,.3)}
.nav .lsw a{color:#FBF6EE}.nav .lsw span[aria-current]{background:#FBF6EE;color:#1E1611}
.mmenu .lsw{margin-top:6px;align-self:flex-start;background:transparent;border-color:rgba(251,246,238,.3)}
.mmenu .lsw a{color:#FBF6EE}.mmenu .lsw span[aria-current]{background:#FBF6EE;color:#1E1611}
@media (max-width:1000px){.stick .lsw{margin-left:auto}.stick .mbtn{margin-left:8px}.nav .lsw{display:none}}

/* v15: hero padding regression + header fit for longer labels */
section.hero,.hero{padding:0}
.nav .brand{flex:none}.nav .brand b{white-space:nowrap}
.navlinks a,.slinks a{white-space:nowrap}
.nav-cta{white-space:nowrap}
@media (max-width:1440px){.nav .brand small{display:none}.navlinks a{padding-left:11px;padding-right:11px}}
@media (max-width:1280px){.nav-cta{display:none}}
@media (max-width:1200px){.slinks a{padding-left:9px;padding-right:9px;font-size:13.5px}}

/* v16: 100 Q&A pages + GEO */
.tldr{font-size:17px;line-height:1.6;background:var(--paper);border-left:4px solid var(--primary);border-radius:0 12px 12px 0;padding:14px 18px;margin:0 0 20px;max-width:74ch}
.qaw{padding-top:36px;padding-bottom:20px;max-width:980px}
.qatools{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.qas input{width:100%;min-height:52px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:12px 16px;font-size:16px}
.qatoc{display:flex;flex-wrap:wrap;gap:8px}
.qatoc a{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:700;color:var(--ink)}
.qatoc a:hover{border-color:var(--primary);color:var(--primary)}
.qatoc a span{font-size:12px;color:var(--muted);background:var(--soft);border-radius:6px;padding:1px 6px}
.qacat{scroll-margin-top:90px;margin-bottom:34px}
.qacat h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:400;font-size:clamp(26px,3vw,34px);margin:0 0 10px}
.qa-item{border-bottom:1px solid var(--line);scroll-margin-top:90px}
.qa-item:first-of-type{border-top:1px solid var(--line)}
.qa-item summary{list-style:none;cursor:pointer;padding:16px 44px 16px 0;position:relative}
.qa-item summary::-webkit-details-marker{display:none}
.qa-item summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:26px;font-weight:300;color:var(--primary)}
.qa-item[open] summary::after{content:"–"}
.qa-item h3{font-size:17px;font-weight:800;margin:0;line-height:1.4;font-family:inherit}
.qa-a p{margin:0 0 14px;color:var(--ink);max-width:72ch;line-height:1.65}
.qa-a .qa-more{font-size:14px;color:var(--muted);font-weight:700}
.qa-a .qa-more a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.qanone{color:var(--muted);font-weight:700}
.hubqa{padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line)}
.hubqa .faql{max-width:860px}
.qa-link{margin:14px 0 0;font-weight:800}.qa-link a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.qa-all{margin:18px 0 0}
body.tp .qacat,body.tp .qa-item{scroll-margin-top:140px}

/* v17: longer French/Italian labels on small screens */
.jcols li span{white-space:normal}
@media (min-width:700px){.jcols li span{white-space:nowrap}}
.mbar>div{min-width:0;flex:1 1 auto}
.mbar .btn{flex:0 1 auto;min-width:0;white-space:normal;text-align:center;line-height:1.2;padding-left:14px;padding-right:14px}
footer .cols a,footer .cols p,.util a,.ctab a,.legal{overflow-wrap:anywhere}
footer .cols p a{display:inline-flex;align-items:flex-start;gap:8px;max-width:100%}
footer .cols p a svg{flex:none;margin-top:3px}
.finder label{min-width:0}
.finder select,.finder input{min-width:0;width:100%;max-width:100%;text-overflow:ellipsis}
.ctaa .btn,.ctab .btn{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}
@media (max-width:360px){.finder label{padding:8px 10px}.ctab .wrap{padding-left:16px;padding-right:16px}}
.grid2>*,.form,.form label{min-width:0}
.form select,.form input,.form textarea{min-width:0;max-width:100%;width:100%}
.btn-sm{white-space:normal;text-align:center;max-width:100%}
.btn-light{white-space:normal;text-align:center;max-width:100%}
select[data-ui=sort]{min-width:0;max-width:52vw;text-overflow:ellipsis}

/* v18: richer travel guides */
.toc{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:0 0 28px;max-width:72ch}
.toc>p{font-weight:800;margin:0 0 8px;font-size:15px}
.toc ol{margin:0;padding-left:20px;display:grid;gap:4px}
.toc a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.prose h2[id]{scroll-margin-top:110px}
.artqa{margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.artqa .qa-item h3{font-size:16px}
.abox{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-top:30px;max-width:72ch}
.abox b{display:block;margin-bottom:4px}
.abox p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.6}
.abico{font-size:20px;color:var(--gold);line-height:1}

/* ===== v20: professional, calm & translucent ===== */
:root{--primary:#1F3A5F;--night:#13203A;--gold:#E3B98F;--ink:#14213A;--sand:#F4F6F9;--paper:rgba(255,255,255,.78);--solid:#FFFFFF;--muted:#56627A;--line:rgba(20,33,58,.10);--soft:rgba(20,33,58,.05);--ok:#2F6B4F;--danger:#A33A2B;
--accent:#2B5A9E;--warm:#9C4F2B;--glass:rgba(255,255,255,.62);--glass-b:rgba(255,255,255,.75);--tint1:rgba(43,90,158,.07);--tint2:rgba(156,79,43,.07);--tint3:rgba(47,107,79,.07);
--sh:0 1px 2px rgba(16,24,40,.04),0 10px 30px -8px rgba(16,24,40,.10);--sh2:0 2px 4px rgba(16,24,40,.05),0 24px 48px -12px rgba(16,24,40,.18);
--r:16px;--r2:24px;--font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--hh:72px}


html{scroll-padding-top:calc(var(--hh) + 12px)}
body{font-family:var(--font);font-size:16px;line-height:1.65;letter-spacing:-.003em;background:var(--sand);background-image:radial-gradient(1200px 600px at 0% 0%,var(--tint1),transparent 60%),radial-gradient(900px 500px at 100% 30%,var(--tint2),transparent 60%);background-attachment:fixed;color:var(--ink)}
h1,h2,h3,.serif,.sec-head h2,.card h3,.pc h3,.abody h3,.rgl b,.rel b,.mh,.prose h2,.qacat h2,.jidx h2,.faqg h2,.custom h2,.ctab h2,.howl h3,.why h3,.step h3,.detail h1,.dgrid h2,.h3,.panel h2,.bar h1,.cmpt thead th,.ctray>.wrap>b,.mbar b,.side .price,.brand b,.mmenu nav a,.mm-top .brand,.tile .cap b,.fact b,.step .n,.hn{font-family:var(--font)!important;letter-spacing:-.025em}
h1,h2,.sec-head h2,.detail h1,.faqg h2,.ctab h2,.mh,.jidx h2,.prose h2,.qacat h2,.dgrid h2{font-weight:700!important}
h3,.card h3,.pc h3,.abody h3,.rgl b,.rel b,.howl h3,.why h3,.step h3,.tile .cap b,.brand b{font-weight:650!important}
.lsw a,.lsw span,.cmpb,.cur,.rmap .mk text,.rmap .lb{font-family:var(--font)!important}
:focus-visible{outline:3px solid #6E9BD8;outline-offset:2px}
a{color:var(--accent)}
.wrap{max-width:1240px}
/* buttons */
.btn{border-radius:12px;font-weight:650;min-height:48px;padding:0 22px;font-size:15px;letter-spacing:0;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08)}.btn-primary:hover{background:#172E4C;filter:none}
.btn-dark{background:var(--night);color:#fff}
.btn-light{background:rgba(255,255,255,.85);color:#14213A;border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-ghost{border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.btn-ghost:hover{border-color:rgba(20,33,58,.25);background:var(--solid)}
.btn-sm{min-height:38px;border-radius:10px;padding:0 14px;font-size:13.5px}
/* ---------- fixed glass header (always visible) ---------- */
.stick{transform:none!important;visibility:visible!important;background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line);box-shadow:none}


.stick .wrap{height:var(--hh);gap:18px}
.stick .brand{color:var(--ink)}.stick .brand b{font-size:19px;white-space:nowrap}
.slinks{gap:2px;align-items:center}
.slinks>a,.ddb{color:var(--ink);font-weight:550;font-size:14.5px;padding:9px 12px;border-radius:10px;background:none;border:0;cursor:pointer;font-family:var(--font);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:40px}
.slinks>a:hover,.ddb:hover,.dd.open .ddb{background:var(--soft)}
.dd{position:relative}
.ddm{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:250px;padding:8px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh2);z-index:40}


.dd:hover .ddm,.dd:focus-within .ddm,.dd.open .ddm{display:block}
.ddm a{display:block;padding:9px 12px;border-radius:9px;color:var(--ink);font-size:14.5px;font-weight:500;white-space:nowrap}
.ddm a:hover{background:var(--tint1);color:var(--accent)}
.dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}
.stick .btn-primary{border-radius:11px}
.lsw{border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.lsw span[aria-current]{background:var(--ink);color:var(--sand)}
.mbtn{border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.mmenu{background:rgba(19,32,58,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mmenu nav{gap:2px}
.mmenu nav>a,.mmenu .ddb{font-size:22px;font-weight:600;padding:12px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--font)}
.mmenu .dd{border-bottom:1px solid rgba(255,255,255,.1)}
.mmenu .ddb{border:0;width:100%;justify-content:space-between;padding-left:0;min-height:52px}
.mmenu .ddb:hover{background:none}
.mmenu .ddm{display:block;position:static;background:none;border:0;box-shadow:none;padding:0 0 10px;-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0}
.mmenu .ddm a{color:#C9D3E6;font-size:16px;padding:7px 0}
.mmenu .ddm a:hover{background:none;color:#fff}
.mmenu .dd::after{display:none}
.mmenu nav a{font-family:var(--font)!important}
/* page offset under fixed header */
.detail.page{padding-top:var(--hh)}
body.tp .dnav{top:var(--hh)}
/* ---------- home hero ---------- */
.home20{display:block}
.hero20{position:relative;overflow:hidden;min-height:min(780px,100vh);padding:calc(var(--hh) + 56px) 0 64px;display:flex;align-items:center;isolation:isolate}
.hbg{position:absolute;inset:0;z-index:-2}
.hbg svg{width:100%;height:100%;display:block;filter:saturate(.72) brightness(1.04)}
.hero20::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(244,246,249,.55) 0%,rgba(244,246,249,.15) 50%,rgba(244,246,249,0) 75%)}
.hwrap{width:100%}
.hglass{max-width:640px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:saturate(150%) blur(22px);backdrop-filter:saturate(150%) blur(22px);border-radius:var(--r2);padding:clamp(24px,3.6vw,44px);box-shadow:var(--sh2)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;font-size:13px;font-weight:650;letter-spacing:.02em;color:var(--warm);background:rgba(255,255,255,.6);border:1px solid var(--line);padding:6px 12px;border-radius:999px}


.eyebrow .ic{width:16px;height:16px}
.hglass h1{font-size:clamp(36px,4.6vw,58px);line-height:1.04;letter-spacing:-.035em;margin:0 0 16px;color:var(--ink);text-wrap:balance}
.lead20{font-size:clamp(16px,1.3vw,18px);color:var(--muted);margin:0 0 24px;max-width:52ch}
.finder20{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;background:var(--solid);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--sh)}
.finder20 label{display:flex;flex-direction:column;gap:2px;padding:6px 12px;font-size:11.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;min-width:0;border-right:1px solid var(--line)}
.finder20 label:nth-child(3){border-right:0}
.finder20 select,.finder20 input{border:0;background:transparent;font-size:15px;font-weight:600;color:var(--ink);padding:4px 0;min-height:30px;text-transform:none;letter-spacing:0;min-width:0;width:100%;text-overflow:ellipsis}
.finder20 .btn{min-height:54px;border-radius:12px}
.hglass .trust{margin:22px 0 0;color:var(--muted);font-size:13.5px;gap:8px 22px}
.hglass .trust li{text-shadow:none}.hglass .trust b{color:var(--ink)}.hglass .trust .ic{color:var(--warm);width:18px;height:18px}
/* facts */
.facts20{padding:0;margin-top:-34px;position:relative;z-index:2}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-b);border-radius:var(--r2);box-shadow:var(--sh)}
.fgrid>div{padding:22px 26px;display:flex;align-items:center;gap:14px}
.fgrid>div+div{border-left:1px solid var(--line)}
.fgrid b{font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--primary);line-height:1}


.fgrid span{font-size:14px;color:var(--muted);line-height:1.35}
/* sections */
section{padding:clamp(56px,7vw,96px) 0}
.sec20.alt{background:rgba(255,255,255,.45);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}


.sec-head{align-items:flex-end;margin-bottom:32px}
.sec-head h2,.faqg h2,.jidx h2,.mh{font-size:clamp(28px,3.2vw,40px);line-height:1.1;margin:0}
.sec-head p{color:var(--muted);font-size:16.5px;margin:10px 0 0;max-width:560px}
/* cards */
.grid{gap:22px}
.card,.pc,.acard{background:var(--solid);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh);padding:0;overflow:hidden}
.card:hover,.pc:hover,.acard:hover{border-color:rgba(20,33,58,.18);box-shadow:var(--sh2);transform:translateY(-3px)}
.card .pic{height:200px}
.card .pic svg,.apic svg,.pc .pp svg,.tile svg,.why .arch svg,.sig .pic svg,.detail .top>svg{filter:saturate(.75)}
.card .body{padding:20px 22px 20px;gap:8px}
.card h3,.pc h3{font-size:20px;line-height:1.25}
.card p{font-size:14.5px}
.abody{padding:18px 20px 20px}.abody h3{font-size:18px;line-height:1.3}
.chip{border-radius:999px;font-weight:650;font-size:12px;background:rgba(255,255,255,.82);color:#14213A;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);padding:5px 11px}
.chip.r{background:rgba(19,32,58,.62);color:#fff;border-color:rgba(255,255,255,.18)}
.card .reg,.pc .reg{color:var(--warm);font-size:12.5px;font-weight:650;letter-spacing:.02em;text-transform:uppercase}
.card .cf span,.pc .cf span{background:var(--soft);border-radius:999px;border:0;padding:3px 10px;font-weight:600}
.card .foot{border-top:1px solid var(--line)}
.card .foot b{color:var(--accent)}
.cmpb{border-radius:999px;left:14px;top:156px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:650;color:#14213A}
@media (max-width:640px){.cmpb{top:156px}}
.ameta{color:var(--warm)}
/* tiles */
.dest{gap:16px}
.tile{border-radius:var(--r2)}
.tile::after{background:linear-gradient(180deg,rgba(19,32,58,0) 35%,rgba(19,32,58,.55) 70%,rgba(19,32,58,.85) 100%)}
.tile .cap b{font-size:26px}
.tile .cap span{color:#E3E8F1}
.tile .cap em{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;font-weight:600;padding:4px 11px}
/* why */
.why20{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:28px;box-shadow:var(--sh)}
.wic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--tint1);color:var(--accent);margin-bottom:16px}
.wic .ic{width:22px;height:22px}
.wcard h3{font-size:19px;margin:0 0 8px}
.wcard p{margin:0;color:var(--muted);font-size:15px}
/* tabs */
.tabs{background:var(--soft);padding:4px;gap:2px;border-radius:12px;display:inline-flex}
.tabs button{border-radius:9px;min-height:42px;font-weight:600;font-size:14.5px;background:transparent;border:0;color:var(--ink)}
.tabs button[aria-pressed="true"]{background:var(--solid);color:var(--ink);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.tabs button span{opacity:.6}
/* faq */
.faq{background:transparent;border:0}
.faql details{border-bottom:1px solid var(--line)}.faql details:first-child{border-top:1px solid var(--line)}
.faql summary{font-size:16.5px;font-weight:650}
.faql summary::after{color:var(--accent);font-weight:400}
.faqg>div:first-child .btn{margin-top:4px}
/* CTA */
.ctab{background:transparent;padding:clamp(40px,5vw,72px) 0}
.ctab .wrap{background:var(--night);background-image:radial-gradient(600px 300px at 90% 0%,rgba(141,180,240,.18),transparent 70%),radial-gradient(500px 300px at 0% 100%,rgba(227,185,143,.14),transparent 70%);color:#fff;border-radius:28px;padding:clamp(28px,4.5vw,56px)!important;max-width:calc(1240px - 2*clamp(18px,4vw,48px));box-shadow:var(--sh2)}
.ctab h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1}
.ctab p{color:#C9D3E6}
.ctab .btn-light{background:#fff;color:#14213A;border-color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.ctab .btn-ghost{color:#fff!important;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.ctab .btn-ghost:hover{background:rgba(255,255,255,.12)}
@media (max-width:1000px){.ctab .wrap{margin:0 clamp(12px,3vw,24px)}}
/* footer */
footer{background:var(--night);color:#AEB9CC;padding:72px 0 30px}
footer .cols{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
footer .brand b{color:#fff;font-size:20px}
footer .fh{color:#fff;font-weight:650;font-size:14px;letter-spacing:.02em;text-transform:uppercase;margin-bottom:14px}
footer a{color:#D6DEEC}footer .cols a:hover{color:#fff}
footer address{color:#8D9AB2!important;font-style:normal;margin-top:6px}
footer .legal{border-top:1px solid rgba(255,255,255,.1);color:#8D9AB2}
.fwa{background:#25603F;border-radius:999px;box-shadow:0 10px 30px rgba(16,24,40,.25)}
/* standards / misc dark bands */
.std{background:var(--night)}.std .ic{color:var(--gold)}
/* ---------- inner pages ---------- */
.detail .top{height:300px;margin:12px clamp(8px,1.5vw,20px) 0;border-radius:var(--r2);overflow:hidden}
.detail .top::after{background:linear-gradient(180deg,rgba(19,32,58,.25),rgba(19,32,58,.78))}
.detail h1{font-size:clamp(30px,4vw,48px);line-height:1.08}
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{background:rgba(19,32,58,.5);border:1px solid rgba(255,255,255,.18);border-radius:999px}
.detail .top .btn-light{border-radius:999px}
.upd{color:#DCE3EE}
.detail.art .top{height:340px}
.dnav{background:rgba(244,246,249,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:none}


.dnav button{border-radius:9px;font-weight:600}
.dgrid h2{font-size:28px}
.dsec+.dsec{border-top:1px solid var(--line)}
.glance{gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r)}
.glance div{background:var(--solid)}
.route span{background:var(--soft);border-radius:999px}
details.day{border:1px solid var(--line);border-radius:var(--r);background:var(--solid)}
details.day summary .dn{background:var(--primary);color:#fff;border-radius:8px}
details.day summary::after{color:var(--accent)}
.mapbox,.stoplist,.io>div,.cmpw,.toc,.abox,.rel a,.rel button,.rgl a,.arel a{border:1px solid var(--line);border-radius:var(--r);background:var(--solid)}
.inc{background:rgba(47,107,79,.07)!important}.exc{background:rgba(163,58,43,.06)!important}
.legend button{border:1px solid var(--line);border-radius:999px}
.legend button[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:#fff}
.rmap .land{fill:#EEF1F5;stroke:#C5CCD8}.rmap .sea{fill:#DCE7F5}
.side{background:var(--solid);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh2)}
.side .row{border-bottom:1px solid var(--line)}
.side .price{font-size:28px}
.book input,.book select,.form input,.form select,.form textarea,.qas input,.f input,.f select,.f textarea{border:1px solid rgba(20,33,58,.16);border-radius:12px;background:var(--solid);color:var(--ink)}
.thubs a,.qatoc a,.hubl a{border:1px solid var(--line);border-radius:999px;background:var(--solid)}
.rel a:hover,.rel button:hover,.rgl a:hover,.arel a:hover,.hubl a:hover,.thubs a:hover,.qatoc a:hover{border-color:rgba(20,33,58,.3);color:var(--accent)}
.prose h2{font-size:26px;line-height:1.2}
.prose .lead2{border-bottom:1px solid var(--line);color:var(--ink)}
.prose a,a.il,.qa-link a,.qa-a .qa-more a,.toc a,.linkbtn{color:var(--accent)}
.tldr{background:var(--tint1);border-left:3px solid var(--accent);border-radius:0 12px 12px 0}
.qa-item{border-bottom:1px solid var(--line)}.qa-item:first-of-type{border-top:1px solid var(--line)}
.qa-item summary::after{color:var(--accent)}
.jidx{background:transparent;border-top:1px solid var(--line)}
.jcols h3,.jcols h3 a{color:var(--warm)}
.jcols li{border-bottom:1px solid var(--line)}
.sortbar{border-bottom:1px solid var(--line)}
.sortbar select{border:1px solid var(--line);border-radius:10px;background:var(--solid)}
.ctray{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}


.mbar{background:var(--solid);border-top:1px solid var(--line)}
.empty{border-radius:var(--r2);border:1px dashed var(--line)}
.how{background:transparent;border:0}
.hn{border:1px solid var(--line);background:var(--solid);color:var(--accent);border-radius:12px;font-weight:700}
.howl li+li{border-left:1px solid var(--line)}
.howl h3{font-size:18px}
/* tours page */
.fbar{margin-bottom:22px}
.fbar .finder20{max-width:900px}
#tours .tabs{margin-bottom:22px}
/* about */
.ab20{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
.idcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:26px;box-shadow:var(--sh)}
.idcard .bh{margin:0 0 12px;font-weight:700;font-size:16px}
.idcard dl{margin:0;display:grid;gap:0}
.idcard dl>div{padding:10px 0;border-top:1px solid var(--line)}
.idcard dt{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.idcard dd{margin:2px 0 0;font-weight:600;font-size:15px}
/* contact */
.ct20{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:32px;align-items:start}
.cways{display:grid;gap:14px}
.cway{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:20px 22px;color:var(--ink);box-shadow:var(--sh)}
a.cway:hover{border-color:rgba(20,33,58,.25)}
.cway .wic{margin:0;flex:none}
.cway b{display:block;font-size:16px}
.cway>span:last-child{display:flex;flex-direction:column;font-size:15px;overflow-wrap:anywhere;min-width:0}
.cway small{color:var(--muted);font-size:13px;margin-top:2px}
.cform{background:var(--paper)!important;border:1px solid var(--line);border-radius:var(--r2)!important;padding:30px!important;box-shadow:var(--sh);color:var(--ink)}
.cform h2{margin:0 0 4px;font-size:24px}
.cform label{color:var(--ink);font-weight:600}
.cform small{color:var(--muted)}
.cform .btn-ghost{color:var(--ink)}
/* hide old home leftovers if any */
.zel{display:none}
/* admin */
.adm aside{background:var(--night);color:#E6EBF5}
.adm aside button{color:#E6EBF5}
.adm aside button[aria-current="true"]{background:rgba(227,185,143,.14);color:var(--gold)}
.adm aside .brand,.adm aside .brand b{color:#fff}
.panel{border:1px solid var(--line);border-radius:var(--r);background:var(--solid)}
.dayed{background:var(--soft)}
.toast{background:var(--night);border-radius:12px}
/* responsive */
@media (max-width:1180px){.slinks>a,.ddb{padding-left:9px;padding-right:9px;font-size:14px}}
@media (max-width:1100px){.slinks{display:none}}
@media (max-width:1000px){
 .why20{grid-template-columns:1fr}
 .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fgrid>div:nth-child(3){border-left:0}.fgrid>div:nth-child(n+3){border-top:1px solid var(--line)}
 .ab20,.ct20{grid-template-columns:1fr}
 .finder20{grid-template-columns:1fr 1fr}.finder20 label:nth-child(2){border-right:0}.finder20 .btn{grid-column:1/-1}
}
@media (max-width:640px){
 .hero20{padding:calc(var(--hh) + 20px) 0 56px;min-height:0}
 .hglass{padding:22px;border-radius:20px}
 .finder20{grid-template-columns:1fr}.finder20 label{border-right:0;border-bottom:1px solid var(--line);padding:8px 10px}
 .fgrid{grid-template-columns:1fr 1fr}.fgrid>div{padding:16px}.fgrid b{font-size:26px}
 .detail .top{margin:8px 8px 0;border-radius:18px;height:300px}
 footer .cols{grid-template-columns:1fr}
 .tabs{display:flex}
}
@media print{.stick{position:static}}
@media (max-width:1100px){.stick .mbtn{display:inline-flex;margin-left:auto}.stick .lsw{margin-left:0}}
/* v20 fixes */
a.tile,.tile .cap b{color:#fff}
.tile::after{background:linear-gradient(180deg,rgba(19,32,58,.05) 20%,rgba(19,32,58,.6) 62%,rgba(19,32,58,.9) 100%)}
.tile .cap{text-shadow:0 1px 10px rgba(19,32,58,.45)}
.hglass{max-width:760px}


.tabs button span{opacity:1;color:var(--muted)}.tabs button[aria-pressed="true"] span{color:var(--muted)}


/* ===== v21: Booking.com-style colour palette ===== */
:root{--primary:#006CE4;--night:#003580;--gold:#FEBB02;--yellow:#FFB700;--ink:#1A1A1A;--sand:#FFFFFF;--paper:#FFFFFF;--solid:#FFFFFF;--muted:#595959;--line:#E7E7E7;--soft:#F5F5F5;--ok:#008009;--danger:#D4111E;
--accent:#006CE4;--warm:#003580;--blue-l:#EBF3FF;--glass:#FFFFFF;--glass-b:#E7E7E7;--tint1:#EBF3FF;--tint2:#FFF8E5;--tint3:#E8F5E9;
--sh:0 2px 8px 0 rgba(26,26,26,.16);--sh2:0 4px 16px 0 rgba(26,26,26,.18);--r:8px;--r2:8px;--font:BlinkMacSystemFont,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--hh:64px}


body{background:var(--sand);background-image:none;font-family:var(--font);font-size:15px;letter-spacing:0}
h1,h2,h3,.serif,.sec-head h2,.card h3,.pc h3,.abody h3,.rgl b,.rel b,.mh,.prose h2,.qacat h2,.jidx h2,.faqg h2,.custom h2,.ctab h2,.howl h3,.why h3,.step h3,.detail h1,.dgrid h2,.h3,.panel h2,.bar h1,.cmpt thead th,.ctray>.wrap>b,.mbar b,.side .price,.brand b,.mmenu nav a,.mm-top .brand,.tile .cap b,.fact b,.step .n,.hn,.lsw a,.lsw span,.cmpb,.cur,.rmap .mk text,.rmap .lb{font-family:var(--font)!important;letter-spacing:-.01em}
h1,h2,.sec-head h2,.detail h1,.faqg h2,.ctab h2,.mh,.jidx h2,.prose h2,.qacat h2,.dgrid h2{font-weight:700!important}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.stick :focus-visible,.hero20 :focus-visible,.ctab :focus-visible,.mmenu :focus-visible{outline-color:var(--yellow)}
a{color:var(--accent)}
.wrap{max-width:1140px}
/* buttons */
.btn{border-radius:4px;font-weight:500;min-height:44px;font-size:14.5px;padding:0 18px}
.btn-primary{background:#006CE4;color:#fff;box-shadow:none}.btn-primary:hover{background:#0057B8}
.btn-dark{background:#003580;color:#fff}
.btn-light{background:#fff;color:#006CE4;border:1px solid #fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.btn-ghost{background:var(--solid);border:1px solid #006CE4;color:var(--accent)}
.btn-ghost:hover{background:var(--blue-l);border-color:#006CE4}
.btn-sm{border-radius:4px;min-height:36px}
/* header: solid Booking blue */
.stick{background:#003580!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0}
.stick .brand,.stick .brand b{color:#fff}
.stick .brand svg g{stroke:#FEBB02}.stick .brand svg circle{fill:#FEBB02}
.slinks>a,.ddb{color:#fff;font-weight:500;font-size:14.5px;border-radius:4px}
.slinks>a:hover,.ddb:hover,.dd.open .ddb{background:rgba(255,255,255,.12)}
.ddm{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #E7E7E7;border-radius:8px;box-shadow:var(--sh2)}
.ddm a{color:#1A1A1A;border-radius:4px}
.ddm a:hover{background:#F5F5F5;color:#006CE4}


.stick .btn-primary{background:#fff;color:#006CE4;border-radius:4px}
.stick .btn-primary:hover{background:#EBF3FF}
.stick .lsw{background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:4px}
.stick .lsw a{color:#fff;border-radius:3px}.stick .lsw a:hover{background:rgba(255,255,255,.12)}
.stick .lsw span[aria-current]{background:#fff;color:#003580;border-radius:3px}
.stick .mbtn{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:4px}
.mmenu{background:#003580}
/* hero: blue band + yellow search box */
.hero20{background:#003580;min-height:0;padding:calc(var(--hh) + 44px) 0 56px;align-items:flex-start}
.hbg,.hero20::before{display:none}
.hglass{max-width:none;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0;border-radius:0}
.eyebrow{background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:4px}
.eyebrow .ic{color:#FEBB02}
.hglass h1{color:#fff;font-size:clamp(32px,4.2vw,48px);line-height:1.12;letter-spacing:-.02em;max-width:22ch;margin-bottom:10px}
.lead20{color:#fff;font-size:clamp(16px,1.6vw,20px);max-width:60ch;margin-bottom:28px}
.finder20{background:#FFB700;border:0;border-radius:8px;padding:4px;gap:4px;box-shadow:0 2px 8px rgba(26,26,26,.16);max-width:1000px}
.finder20 label{background:#fff;border:0!important;border-radius:4px;color:#595959;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;padding:8px 12px}
.finder20 select,.finder20 input{color:#1A1A1A;font-weight:500;background:#fff}
.finder20 .btn{border-radius:4px;min-height:auto;font-size:18px;font-weight:500;padding:0 28px}

.hglass .trust{color:#fff}.hglass .trust b{color:#fff}.hglass .trust .ic{color:#FEBB02}
.fbar .finder20{max-width:none}
/* facts */
.facts20{margin-top:24px}
.fgrid{background:var(--solid);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--line);border-radius:8px;box-shadow:none}
.fgrid b{color:#003580;font-size:30px}


.fgrid span{color:var(--muted)}
/* sections */
section{padding:clamp(40px,5vw,64px) 0}
.sec20.alt{background:var(--soft);border:0}
.sec-head h2,.faqg h2,.jidx h2,.mh{font-size:clamp(22px,2.4vw,28px);line-height:1.2}
.sec-head{margin-bottom:20px}
.sec-head p{font-size:15px;margin-top:4px}
/* cards: Booking property cards */
.grid{gap:16px}
.card,.pc,.acard{border:0;border-radius:8px;box-shadow:0 2px 8px 0 rgba(26,26,26,.16);background:var(--solid)}
.card:hover,.pc:hover,.acard:hover{box-shadow:0 4px 16px 0 rgba(26,26,26,.24);transform:none;border-color:transparent}
.card .pic svg,.apic svg,.pc .pp svg,.tile svg,.why .arch svg,.sig .pic svg,.detail .top>svg{filter:none}
.card .body{padding:14px 16px 16px}
.card h3,.pc h3{font-size:16px;font-weight:700!important;color:#006CE4;line-height:1.3}


.card p{font-size:14px;color:var(--ink)}
.card .reg,.pc .reg{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500;font-size:13px}
.card .cf span,.pc .cf span{background:var(--soft);border:0;color:var(--ink);border-radius:4px;font-weight:500;font-size:12px}
.card .foot{border-top:1px solid var(--line)}
.card .foot span{color:var(--ink)}
.card .foot b{color:#1A1A1A;font-weight:700}


.chip{border-radius:4px;background:#fff;border:0;font-weight:600;color:#1A1A1A;-webkit-backdrop-filter:none;backdrop-filter:none}
.chip.r{background:#003580;color:#fff;border-radius:6px 6px 6px 0;font-weight:700}
.cmpb{border-radius:4px;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;color:#006CE4;font-weight:600}
.cmpb[aria-pressed="true"]{background:#006CE4;color:#fff}
.ameta{color:var(--muted)}
/* tiles */
.tile{border-radius:8px}
.tile .cap em{background:#fff;color:#1A1A1A;border:0;border-radius:4px}
/* why */
.wcard{background:var(--solid);border:1px solid var(--line);border-radius:8px;box-shadow:none;padding:22px}
.wic{background:#EBF3FF;color:#006CE4;border-radius:8px}


.wcard h3{font-size:16px}
/* tabs → Booking filter pills */
.tabs{background:transparent;padding:0;gap:8px;border-radius:0;flex-wrap:wrap}
.tabs button{border:1px solid #868686;border-radius:36px;min-height:38px;background:var(--solid);font-weight:500;color:var(--ink);padding:0 16px}
.tabs button:hover{background:var(--soft)}
.tabs button[aria-pressed="true"]{background:#EBF3FF;border-color:#006CE4;color:#0057B8;box-shadow:none}
.tabs button[aria-pressed="true"] span{color:#0057B8}


/* faq */
.faql summary{font-size:15.5px;font-weight:600}
.faql summary::after{color:#006CE4}
/* CTA band */
.ctab .wrap{background:#003580;background-image:none;border-radius:8px;box-shadow:none}
.ctab p{color:#fff}
.ctab .btn-light{background:#fff;color:#006CE4}
.ctab .btn-ghost{background:transparent;border:1px solid #fff;color:#fff!important}
.ctab .btn-ghost:hover{background:rgba(255,255,255,.12)}
/* footer: light, like Booking */
footer{background:var(--soft);color:var(--ink);border-top:1px solid var(--line);padding:48px 0 24px}
footer .brand b{color:#003580}


footer .fh{color:var(--ink);text-transform:none;letter-spacing:0;font-size:15px;font-weight:700}
footer a,footer .cols a{color:var(--accent)}footer .cols a:hover{color:var(--accent);text-decoration:underline}
footer address{color:var(--muted)!important}
footer .legal{border-top:1px solid var(--line);color:var(--muted)}
footer .brand svg g{stroke:#003580}footer .brand svg circle{fill:#FEBB02}
.fwa{background:#008009;border-radius:999px}
/* inner pages */
.detail .top{border-radius:8px;height:260px}
.detail .top::after{background:linear-gradient(180deg,rgba(0,53,128,.25),rgba(0,53,128,.85))}
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{background:rgba(0,53,128,.7);border:0;border-radius:4px}
.detail .top .btn-light{border-radius:4px;color:#006CE4}
.dnav{background:var(--sand);-webkit-backdrop-filter:none;backdrop-filter:none}
.dnav button{border-radius:4px}
.glance{border-radius:8px}
details.day{border-radius:8px}
details.day summary .dn{background:#003580;border-radius:4px}
.mapbox,.stoplist,.io>div,.cmpw,.toc,.abox,.rel a,.rel button,.rgl a,.arel a{border-radius:8px}
.legend button{border-radius:36px;border-color:#868686}
.legend button[aria-pressed="true"]{background:#EBF3FF;border-color:#006CE4;color:#0057B8}
.side{border:1px solid var(--line);border-radius:8px;box-shadow:var(--sh)}
.side .price{color:var(--ink)}
.book input,.book select,.form input,.form select,.form textarea,.qas input,.f input,.f select,.f textarea{border:1px solid #868686;border-radius:4px}
.thubs a,.qatoc a,.hubl a{border-radius:36px}
.tldr{background:#EBF3FF;border-left:3px solid #006CE4;border-radius:0 8px 8px 0}


.jcols h3,.jcols h3 a{color:var(--warm)}
.ctray{background:var(--solid);-webkit-backdrop-filter:none;backdrop-filter:none}
.hn{border-radius:8px;background:#EBF3FF;border:0;color:#0057B8}


.idcard,.cway,.cform{border-radius:8px!important;box-shadow:none;background:var(--solid)!important}
.inc{background:#E8F5E9!important}.exc{background:#FDECEC!important}


/* admin */
.adm aside{background:#003580}
.adm aside button[aria-current="true"]{background:rgba(255,255,255,.14);color:#fff}
@media (max-width:640px){.hero20{padding:calc(var(--hh) + 24px) 0 36px}.finder20 .btn{min-height:48px}.detail .top{margin:8px 8px 0}}


/* ===== v22: Booking-style layout ===== */
html{scroll-padding-top:70px}
body{font-size:14px;line-height:1.5}
/* header: static, 2 rows */
.stick.bkh{position:relative!important;z-index:30;background:#003580!important;border:0;box-shadow:none}
.bkh .hrow{height:64px;display:flex;align-items:center;gap:12px}
.bkh .brand{margin-right:auto}
.bkh .brand b{font-size:24px;font-weight:700!important;letter-spacing:-.02em;color:#fff}
.bkh .slinks{margin-left:0}
.bkh .hcta{background:#fff;color:#006CE4;border-color:#fff;font-weight:500}
.bkh .hcta:hover{background:#EBF3FF}
.htabs{padding-bottom:12px}
.htabs nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.htabs nav::-webkit-scrollbar{display:none}
.htabs a{flex:none;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;padding:10px 16px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.htabs a:hover{background:rgba(255,255,255,.1)}
.htabs a.on{border-color:#fff;background:rgba(255,255,255,.1)}
.htabs .ic{width:22px;height:22px}
.detail.page{padding-top:0}
body.tp .dnav{top:0}
.detail .side,body.tp .detail .side{top:16px}
body.tp .dsec,.dsec{scroll-margin-top:70px}
body.tp .qacat,body.tp .qa-item{scroll-margin-top:20px}
.detail .top{margin-top:16px}
/* hero + search */
.bkhome .hero20{display:block;background:#003580;min-height:0;padding:40px 0 0}
.bkhome .hero20 h1{color:#fff;font-size:clamp(28px,4vw,48px);line-height:1.15;font-weight:800!important;margin:0 0 6px;max-width:24ch}
.bkhome .lead20{color:#fff;font-size:clamp(16px,1.8vw,24px);margin:0 0 28px;max-width:60ch}
.bks{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.7fr) minmax(0,.7fr) auto;gap:4px;background:#FFB700;padding:4px;border-radius:8px;box-shadow:0 2px 8px rgba(26,26,26,.16);margin-bottom:-34px}
.bks .f-row{display:contents}
.bks label{display:flex;flex-direction:column;justify-content:center;gap:2px;background:#fff;border-radius:4px;padding:8px 12px;min-width:0;color:#1A1A1A;font-size:12px;font-weight:400}
.bks label>span:not(.sr){color:#595959}
.bks select,.bks input{border:0;background:#fff;color:#1A1A1A;font:inherit;font-size:15px;font-weight:600;padding:2px 0;min-height:26px;width:100%;min-width:0;text-overflow:ellipsis}
.bks input::placeholder{color:#595959;font-weight:500}
.bks .f-dest{flex-direction:row;align-items:center;gap:10px}
.bks .f-dest .ic{flex:none;color:#1A1A1A}
.bks .f-dest input{font-size:16px;font-weight:600}
.bks .btn{border-radius:4px;font-size:20px;font-weight:500;padding:0 28px;min-height:56px}
.bks :focus-visible{outline:2px solid #006CE4!important;outline-offset:-2px}
.bkhome .offers{padding-top:72px}
/* sidebar search (results page) */
.bks.side20{display:flex;flex-direction:column;gap:8px;margin:0;background:#FEBB02;padding:16px;box-shadow:none}
.bks.side20 h2{margin:0 0 4px;font-size:20px;color:#1A1A1A}
.bks.side20 .f-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bks.side20 .f-row.f3{grid-template-columns:1fr 1fr 1fr}
.bks.side20 .btn{min-height:48px;font-size:18px;width:100%}
/* section heads */
.sec-head h2,.faqg h2,.jidx h2,.mh{font-size:24px;line-height:1.25;font-weight:700!important}
.sec-head p{font-size:16px;color:#595959;margin-top:2px}
.sec-head .lnk{font-size:15px;font-weight:500;color:#006CE4;align-self:center}
.sec-head .lnk:hover{text-decoration:underline}
.bkhome .sec20{padding:24px 0}
/* offers */
.ogrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.offer{display:flex;gap:16px;justify-content:space-between;align-items:stretch;background:#fff;border:1px solid #E7E7E7;border-radius:8px;padding:16px;color:#1A1A1A}
.offer:hover{box-shadow:0 2px 8px rgba(26,26,26,.16)}
.offer>div:first-child{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.offer b{font-size:18px;font-weight:700}
.offer p{margin:0 0 6px;font-size:14px;color:#595959}
.opic{flex:none;width:140px;min-height:120px;border-radius:8px;overflow:hidden}
.opic svg{width:100%;height:100%;display:block}
/* horizontal carousels */
.hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*16px)/5);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:thin}
.hscroll>*{scroll-snap-align:start}
.hscroll.cards{grid-auto-columns:calc((100% - 3*16px)/4)}
.tcard{display:flex;flex-direction:column;gap:2px;color:#1A1A1A}
.tpic{height:170px;border-radius:8px;overflow:hidden;margin-bottom:8px}
.tpic svg{width:100%;height:100%;display:block}
.tcard b{font-size:16px;font-weight:700;line-height:1.3}
.tcard span{font-size:14px;color:#595959}
.tcard:hover b{color:#006CE4}
/* trending destinations */
.bkdest{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:240px}
.bkdest .tile{grid-column:span 2}
.bkdest .tile.wide{grid-column:span 3;grid-row:auto}
.bkdest .tile::after{background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 45%)}
.bkdest .tile .cap{top:16px;bottom:auto;left:16px}
.bkdest .tile .cap b{font-size:24px;font-weight:800!important}
.bkdest .tile .cap em{margin-top:6px}
/* Booking cards */
.cw{position:relative}
.card.bk{display:flex;flex-direction:column;padding:0;border:0;border-radius:8px;box-shadow:0 2px 8px 0 rgba(26,26,26,.16);overflow:hidden;background:#fff;color:#1A1A1A}
.card.bk .pic{height:190px;border-radius:0}
.card.bk .chip.l{top:auto;bottom:10px;left:10px}
.card.bk .body{padding:12px 14px 14px;gap:6px}
.card.bk h3{font-size:16px;color:#1A1A1A;font-weight:700!important;line-height:1.3}
.card.bk .loc{display:flex;align-items:center;gap:4px;font-size:13px;color:#595959}
.card.bk .loc .ic{flex:none}
.rate{display:flex;align-items:center;gap:8px;font-size:13px;color:#595959}
.rate .score{background:#003580;color:#fff;font-size:13px;font-weight:700;min-width:30px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px 6px 6px 0;padding:0 5px}
.rate b:not(.score){color:#1A1A1A}
.card.bk .sum{display:none;font-size:14px;color:#1A1A1A;-webkit-line-clamp:2}
.perks{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.perks li{display:flex;align-items:center;gap:4px;color:#008009;font-size:13px;font-weight:500}
.perks li+li{display:none}
.card.bk .foot{margin-top:auto;border-top:0;padding-top:8px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.card.bk .foot .meta{font-size:12px;color:#595959}
.card.bk .pr{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.card.bk .pr small{font-size:12px;color:#595959}
.card.bk .pr b{font-size:16px;font-weight:700;color:#1A1A1A}
.card.bk .see{display:none}
.card.bk:hover{box-shadow:0 4px 16px rgba(26,26,26,.24);transform:none}
.cw .cmpb{left:auto;right:10px;top:10px;font-size:12px;padding:6px 10px}
/* results list (tours page + hub pages) */
.srpm .crumbs{display:flex;gap:8px;align-items:center;font-size:13px;padding:16px 0 4px;color:#595959}
.srpm .crumbs a{color:#006CE4}
.srp-t{font-size:24px!important;margin:0}
.srpm #tours{padding-top:16px}
.srp{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}
.srp-side{display:flex;flex-direction:column;gap:16px}
.filt{border:1px solid #E7E7E7;border-radius:8px;padding:12px 0}
.filt h2{font-size:16px;margin:0 16px 8px}
.fgh{font-weight:700;font-size:14px;margin:12px 16px 6px;padding-top:12px;border-top:1px solid #E7E7E7}
.filt .tabs{display:flex;flex-direction:column;gap:0;background:none;padding:0;margin:0}
.filt .tabs button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-radius:0;background:none;min-height:36px;padding:4px 16px;font-size:14px;font-weight:400;color:#1A1A1A}
.filt .tabs button:hover{background:#F5F5F5}
.filt .tabs button i{flex:none;width:20px;height:20px;border:1px solid #868686;border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center}
.filt .tabs button[aria-pressed="true"]{background:none;color:#1A1A1A;border:0}
.filt .tabs button[aria-pressed="true"] i{background:#006CE4;border-color:#006CE4}
.filt .tabs button[aria-pressed="true"] i::after{content:"";width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.filt .tabs button span{margin-left:auto;color:#595959;opacity:1}
.srp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.srp-head h2{font-size:24px;margin:0}
.srpm .sortbar{border:0;margin:0 0 16px;padding:0;justify-content:flex-start}
.srpm .sortbar label{border:1px solid #868686;border-radius:999px;padding:2px 4px 2px 14px;font-weight:500}
.srpm .sortbar select{border:0;font-weight:500;background:transparent}
.grid.rlist,.detail.page .grid{grid-template-columns:minmax(0,1fr);gap:16px}
.rlist .card.bk,.detail.page .card.bk{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;padding:16px;border:1px solid #E7E7E7;box-shadow:none}
.rlist .card.bk:hover,.detail.page .card.bk:hover{box-shadow:0 2px 8px rgba(26,26,26,.16)}
.rlist .card.bk .pic,.detail.page .card.bk .pic{height:220px;border-radius:8px}
.rlist .card.bk .body,.detail.page .card.bk .body{padding:0}
.rlist .card.bk h3,.detail.page .card.bk h3{font-size:20px;color:#006CE4}
.rlist .card.bk .loc,.detail.page .card.bk .loc{color:#006CE4;text-decoration:underline;font-size:13px}
.rlist .card.bk .sum,.detail.page .card.bk .sum{display:-webkit-box}
.rlist .perks li+li,.detail.page .perks li+li{display:flex}
.rlist .card.bk .see,.detail.page .card.bk .see{display:inline-flex;margin-top:8px;font-size:14px;min-height:40px}
.rlist .card.bk .pr b,.detail.page .card.bk .pr b{font-size:20px}
.rlist .cw .cmpb,.detail.page .cw .cmpb{right:auto;left:28px;top:28px}
/* why */
.why20.w4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.w4 .wcard{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #E7E7E7;border-radius:8px}
.w4 .wic{flex:none;margin:0;width:40px;height:40px}
.w4 h3{font-size:16px;margin:0 0 4px}
.w4 p{font-size:14px}
/* trip page booking box: yellow like Booking */
.side .book{background:#FEBB02;border-radius:8px;padding:16px;border-top:0;margin-top:8px}
.side .book .bh{font-size:18px;color:#1A1A1A}
.side .book label{color:#1A1A1A;font-weight:600}
.side .book input,.side .book select{border:0;border-radius:4px;background:#fff;color:#1A1A1A}
.side .book .btn-ghost{background:#fff;border-color:#fff}
.side .book small{color:#1A1A1A}
/* bottom tab bar (mobile) */
.tabbar{display:none}
@media (max-width:640px){
 .tabbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid #E7E7E7;padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px))}
 .tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:#595959;min-height:48px;justify-content:center}
 .tabbar a.on{color:#006CE4}
 .tabbar .ic{width:26px;height:26px}
 body{padding-bottom:68px}
 body:has(.mbar) .tabbar{display:none}
 body:has(.mbar){padding-bottom:0}
 .fwa{display:none}
 .ctray{bottom:64px}
}
/* responsive */
@media (max-width:1100px){.bks{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);}.bks .f-dest{grid-column:1/-1}.bks .btn{grid-column:1/-1}.bks .f-row{display:contents}}
@media (max-width:1000px){.why20.w4{grid-template-columns:1fr 1fr}.srp{grid-template-columns:1fr}.hscroll{grid-auto-columns:calc((100% - 2*16px)/3)}.hscroll.cards{grid-auto-columns:calc((100% - 16px)/2.2)}}
@media (max-width:640px){
 .bkh .hrow{height:56px}.bkh .brand b{font-size:21px}.bkh .hcta{display:none}
 .bkhome .hero20{background:#F5F5F5;padding:24px 0 8px}
 .bkhome .hero20 h1{color:#1A1A1A;font-size:30px}
 .bkhome .lead20{color:#1A1A1A;font-size:17px;margin-bottom:20px}
 .bks{grid-template-columns:1fr;margin-bottom:0;padding:4px}
 .bks .f-row{display:grid;grid-template-columns:1fr 1fr;gap:4px}
 .bks .f-row.f3{grid-template-columns:1fr 1fr 1fr;gap:0;background:#fff;border-radius:4px}
 .bks .f-row.f3 label{border-radius:0}.bks .f-row.f3 label+label{border-left:1px solid #E7E7E7}
 .bks label{padding:10px 12px;font-size:14px}
 .bks label>span:not(.sr){color:#1A1A1A}
 .bks .f-dest{padding:16px 12px}
 .bks .btn{min-height:56px}
 .bkhome .offers{padding-top:24px}
 .ogrid{grid-template-columns:1fr}
 .opic{width:96px}
 .hscroll{grid-auto-columns:42%}.hscroll.cards{grid-auto-columns:78%}
 .bkdest{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.bkdest .tile,.bkdest .tile.wide{grid-column:span 1}.bkdest .tile.wide:first-child{grid-column:1/-1}
 .why20.w4{grid-template-columns:1fr}
 .rlist .card.bk,.detail.page .card.bk{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px}
 .rlist .card.bk .pic,.detail.page .card.bk .pic{height:150px}
 .rlist .card.bk h3,.detail.page .card.bk h3{font-size:16px}
 .rlist .card.bk .sum,.detail.page .card.bk .sum,.rlist .card.bk .see,.detail.page .card.bk .see,.rlist .perks li+li,.detail.page .perks li+li,.card.bk .chip.l{display:none}
 .rlist .cw .cmpb,.detail.page .cw .cmpb{left:14px;top:auto;bottom:14px;font-size:11px;padding:4px 7px}
 .rlist .card.bk .pr b,.detail.page .card.bk .pr b{font-size:16px}
 .srp-head h2{font-size:20px}
}

.bkhome .hero20{overflow:visible}
.srp-t{max-width:none!important}
.bkhome .sec20.offers{padding-top:64px}
@media (max-width:640px){.bkhome .sec20.offers{padding-top:24px}}
.card.bk .foot .see{color:#fff;font-weight:500}

.sbt{display:none}
.ftb{all:unset;font:inherit;font-weight:700;font-size:16px;color:#1A1A1A;cursor:default}
.filt>h2{font-size:16px;margin:0 16px 8px}
@media (max-width:1000px){
 .sbt{display:flex;width:100%;align-items:center;gap:8px;background:#FEBB02;border:0;border-radius:8px;padding:12px 16px;font:inherit;font-weight:600;font-size:15px;color:#1A1A1A;cursor:pointer;min-height:48px}
 .sbx.open .sbt{border-radius:8px 8px 0 0}
 .sbx.open .bks.side20{border-radius:0 0 8px 8px;padding-top:4px}
 .sbx:not(.open) .sbc,.filt:not(.open) .fc{display:none}
 .ftb{cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:32px}
 .ftb::after{content:"+";font-size:22px;color:#006CE4;font-weight:400}
 .filt.open .ftb::after{content:"–"}
 .filt>h2{margin:0 16px}
 .filt.open>h2{margin-bottom:8px}
}
.ftb:focus-visible{outline:2px solid #006CE4;outline-offset:2px}
.cw .cmpb,.rlist .cw .cmpb,.detail.page .cw .cmpb{font-size:12px!important;min-height:28px;padding:4px 9px!important}


/* ===== v23: Moroccan touch — zellige pattern, yellow & blue framing, lighter blue ===== */
:root{--night:#0057B8;--zw:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2796%27%20height%3D%2796%27%20viewBox%3D%270%200%2096%2096%27%20opacity%3D%271%27%3E%3Cpolygon%20points%3D%2748.0%2C-12.48%2060.480000000000004%2C0%2048.0%2C12.48%2035.519999999999996%2C0%27%20fill%3D%27rgba%280%2C40%2C110%2C0.25%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%270%2C35.519999999999996%2012.48%2C48.0%200%2C60.480000000000004%20-12.48%2C48.0%27%20fill%3D%27rgba%280%2C40%2C110%2C0.25%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%2796%2C35.519999999999996%20108.48%2C48.0%2096%2C60.480000000000004%2083.52%2C48.0%27%20fill%3D%27rgba%280%2C40%2C110%2C0.25%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%2748.0%2C83.52%2060.480000000000004%2C96%2048.0%2C108.48%2035.519999999999996%2C96%27%20fill%3D%27rgba%280%2C40%2C110%2C0.25%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%270.00%2C-34.08%209.98%2C-24.10%2024.10%2C-24.10%2024.10%2C-9.98%2034.08%2C0.00%2024.10%2C9.98%2024.10%2C24.10%209.98%2C24.10%200.00%2C34.08%20-9.98%2C24.10%20-24.10%2C24.10%20-24.10%2C9.98%20-34.08%2C0.00%20-24.10%2C-9.98%20-24.10%2C-24.10%20-9.98%2C-24.10%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.09%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%270.00%2C-14.31%204.19%2C-10.12%2010.12%2C-10.12%2010.12%2C-4.19%2014.31%2C0.00%2010.12%2C4.19%2010.12%2C10.12%204.19%2C10.12%200.00%2C14.31%20-4.19%2C10.12%20-10.12%2C10.12%20-10.12%2C4.19%20-14.31%2C0.00%20-10.12%2C-4.19%20-10.12%2C-10.12%20-4.19%2C-10.12%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.24%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%2796.00%2C-34.08%20105.98%2C-24.10%20120.10%2C-24.10%20120.10%2C-9.98%20130.08%2C0.00%20120.10%2C9.98%20120.10%2C24.10%20105.98%2C24.10%2096.00%2C34.08%2086.02%2C24.10%2071.90%2C24.10%2071.90%2C9.98%2061.92%2C0.00%2071.90%2C-9.98%2071.90%2C-24.10%2086.02%2C-24.10%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.09%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2796.00%2C-14.31%20100.19%2C-10.12%20106.12%2C-10.12%20106.12%2C-4.19%20110.31%2C0.00%20106.12%2C4.19%20106.12%2C10.12%20100.19%2C10.12%2096.00%2C14.31%2091.81%2C10.12%2085.88%2C10.12%2085.88%2C4.19%2081.69%2C0.00%2085.88%2C-4.19%2085.88%2C-10.12%2091.81%2C-10.12%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.24%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%270.00%2C61.92%209.98%2C71.90%2024.10%2C71.90%2024.10%2C86.02%2034.08%2C96.00%2024.10%2C105.98%2024.10%2C120.10%209.98%2C120.10%200.00%2C130.08%20-9.98%2C120.10%20-24.10%2C120.10%20-24.10%2C105.98%20-34.08%2C96.00%20-24.10%2C86.02%20-24.10%2C71.90%20-9.98%2C71.90%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.09%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%270.00%2C81.69%204.19%2C85.88%2010.12%2C85.88%2010.12%2C91.81%2014.31%2C96.00%2010.12%2C100.19%2010.12%2C106.12%204.19%2C106.12%200.00%2C110.31%20-4.19%2C106.12%20-10.12%2C106.12%20-10.12%2C100.19%20-14.31%2C96.00%20-10.12%2C91.81%20-10.12%2C85.88%20-4.19%2C85.88%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.24%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%2796.00%2C61.92%20105.98%2C71.90%20120.10%2C71.90%20120.10%2C86.02%20130.08%2C96.00%20120.10%2C105.98%20120.10%2C120.10%20105.98%2C120.10%2096.00%2C130.08%2086.02%2C120.10%2071.90%2C120.10%2071.90%2C105.98%2061.92%2C96.00%2071.90%2C86.02%2071.90%2C71.90%2086.02%2C71.90%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.09%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2796.00%2C81.69%20100.19%2C85.88%20106.12%2C85.88%20106.12%2C91.81%20110.31%2C96.00%20106.12%2C100.19%20106.12%2C106.12%20100.19%2C106.12%2096.00%2C110.31%2091.81%2C106.12%2085.88%2C106.12%2085.88%2C100.19%2081.69%2C96.00%2085.88%2C91.81%2085.88%2C85.88%2091.81%2C85.88%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.24%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3Cpolygon%20points%3D%2748.00%2C13.92%2057.98%2C23.90%2072.10%2C23.90%2072.10%2C38.02%2082.08%2C48.00%2072.10%2C57.98%2072.10%2C72.10%2057.98%2C72.10%2048.00%2C82.08%2038.02%2C72.10%2023.90%2C72.10%2023.90%2C57.98%2013.92%2C48.00%2023.90%2C38.02%2023.90%2C23.90%2038.02%2C23.90%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.09%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2748.00%2C33.69%2052.19%2C37.88%2058.12%2C37.88%2058.12%2C43.81%2062.31%2C48.00%2058.12%2C52.19%2058.12%2C58.12%2052.19%2C58.12%2048.00%2C62.31%2043.81%2C58.12%2037.88%2C58.12%2037.88%2C52.19%2033.69%2C48.00%2037.88%2C43.81%2037.88%2C37.88%2043.81%2C37.88%27%20fill%3D%27rgba%28255%2C255%2C255%2C0.24%29%27%20stroke%3D%27rgba%28255%2C255%2C255%2C0.30%29%27%20stroke-width%3D%271.4%27/%3E%3C/svg%3E");--zb:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2796%27%20height%3D%2796%27%20viewBox%3D%270%200%2096%2096%27%20opacity%3D%271%27%3E%3Cpolygon%20points%3D%2748.0%2C-12.48%2060.480000000000004%2C0%2048.0%2C12.48%2035.519999999999996%2C0%27%20fill%3D%27rgba%280%2C87%2C184%2C0.07%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%270%2C35.519999999999996%2012.48%2C48.0%200%2C60.480000000000004%20-12.48%2C48.0%27%20fill%3D%27rgba%280%2C87%2C184%2C0.07%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%2796%2C35.519999999999996%20108.48%2C48.0%2096%2C60.480000000000004%2083.52%2C48.0%27%20fill%3D%27rgba%280%2C87%2C184%2C0.07%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%2748.0%2C83.52%2060.480000000000004%2C96%2048.0%2C108.48%2035.519999999999996%2C96%27%20fill%3D%27rgba%280%2C87%2C184%2C0.07%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%270.00%2C-34.08%209.98%2C-24.10%2024.10%2C-24.10%2024.10%2C-9.98%2034.08%2C0.00%2024.10%2C9.98%2024.10%2C24.10%209.98%2C24.10%200.00%2C34.08%20-9.98%2C24.10%20-24.10%2C24.10%20-24.10%2C9.98%20-34.08%2C0.00%20-24.10%2C-9.98%20-24.10%2C-24.10%20-9.98%2C-24.10%27%20fill%3D%27rgba%280%2C87%2C184%2C0.045%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%270.00%2C-14.31%204.19%2C-10.12%2010.12%2C-10.12%2010.12%2C-4.19%2014.31%2C0.00%2010.12%2C4.19%2010.12%2C10.12%204.19%2C10.12%200.00%2C14.31%20-4.19%2C10.12%20-10.12%2C10.12%20-10.12%2C4.19%20-14.31%2C0.00%20-10.12%2C-4.19%20-10.12%2C-10.12%20-4.19%2C-10.12%27%20fill%3D%27rgba%28254%2C187%2C2%2C0.22%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%2796.00%2C-34.08%20105.98%2C-24.10%20120.10%2C-24.10%20120.10%2C-9.98%20130.08%2C0.00%20120.10%2C9.98%20120.10%2C24.10%20105.98%2C24.10%2096.00%2C34.08%2086.02%2C24.10%2071.90%2C24.10%2071.90%2C9.98%2061.92%2C0.00%2071.90%2C-9.98%2071.90%2C-24.10%2086.02%2C-24.10%27%20fill%3D%27rgba%280%2C87%2C184%2C0.045%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2796.00%2C-14.31%20100.19%2C-10.12%20106.12%2C-10.12%20106.12%2C-4.19%20110.31%2C0.00%20106.12%2C4.19%20106.12%2C10.12%20100.19%2C10.12%2096.00%2C14.31%2091.81%2C10.12%2085.88%2C10.12%2085.88%2C4.19%2081.69%2C0.00%2085.88%2C-4.19%2085.88%2C-10.12%2091.81%2C-10.12%27%20fill%3D%27rgba%28254%2C187%2C2%2C0.22%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%270.00%2C61.92%209.98%2C71.90%2024.10%2C71.90%2024.10%2C86.02%2034.08%2C96.00%2024.10%2C105.98%2024.10%2C120.10%209.98%2C120.10%200.00%2C130.08%20-9.98%2C120.10%20-24.10%2C120.10%20-24.10%2C105.98%20-34.08%2C96.00%20-24.10%2C86.02%20-24.10%2C71.90%20-9.98%2C71.90%27%20fill%3D%27rgba%280%2C87%2C184%2C0.045%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%270.00%2C81.69%204.19%2C85.88%2010.12%2C85.88%2010.12%2C91.81%2014.31%2C96.00%2010.12%2C100.19%2010.12%2C106.12%204.19%2C106.12%200.00%2C110.31%20-4.19%2C106.12%20-10.12%2C106.12%20-10.12%2C100.19%20-14.31%2C96.00%20-10.12%2C91.81%20-10.12%2C85.88%20-4.19%2C85.88%27%20fill%3D%27rgba%28254%2C187%2C2%2C0.22%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%2796.00%2C61.92%20105.98%2C71.90%20120.10%2C71.90%20120.10%2C86.02%20130.08%2C96.00%20120.10%2C105.98%20120.10%2C120.10%20105.98%2C120.10%2096.00%2C130.08%2086.02%2C120.10%2071.90%2C120.10%2071.90%2C105.98%2061.92%2C96.00%2071.90%2C86.02%2071.90%2C71.90%2086.02%2C71.90%27%20fill%3D%27rgba%280%2C87%2C184%2C0.045%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2796.00%2C81.69%20100.19%2C85.88%20106.12%2C85.88%20106.12%2C91.81%20110.31%2C96.00%20106.12%2C100.19%20106.12%2C106.12%20100.19%2C106.12%2096.00%2C110.31%2091.81%2C106.12%2085.88%2C106.12%2085.88%2C100.19%2081.69%2C96.00%2085.88%2C91.81%2085.88%2C85.88%2091.81%2C85.88%27%20fill%3D%27rgba%28254%2C187%2C2%2C0.22%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3Cpolygon%20points%3D%2748.00%2C13.92%2057.98%2C23.90%2072.10%2C23.90%2072.10%2C38.02%2082.08%2C48.00%2072.10%2C57.98%2072.10%2C72.10%2057.98%2C72.10%2048.00%2C82.08%2038.02%2C72.10%2023.90%2C72.10%2023.90%2C57.98%2013.92%2C48.00%2023.90%2C38.02%2023.90%2C23.90%2038.02%2C23.90%27%20fill%3D%27rgba%280%2C87%2C184%2C0.045%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2748.00%2C33.69%2052.19%2C37.88%2058.12%2C37.88%2058.12%2C43.81%2062.31%2C48.00%2058.12%2C52.19%2058.12%2C58.12%2052.19%2C58.12%2048.00%2C62.31%2043.81%2C58.12%2037.88%2C58.12%2037.88%2C52.19%2033.69%2C48.00%2037.88%2C43.81%2037.88%2C37.88%2043.81%2C37.88%27%20fill%3D%27rgba%28254%2C187%2C2%2C0.22%29%27%20stroke%3D%27rgba%280%2C87%2C184%2C0.14%29%27%20stroke-width%3D%271.1%27/%3E%3C/svg%3E");--zy:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2756%27%20height%3D%2756%27%20viewBox%3D%270%200%2056%2056%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23FEBB02%27%20stroke-opacity%3D%270.35%27%20stroke-width%3D%271.2%27%3E%3Crect%20x%3D%2716%27%20y%3D%2716%27%20width%3D%2724%27%20height%3D%2724%27/%3E%3Crect%20x%3D%2716%27%20y%3D%2716%27%20width%3D%2724%27%20height%3D%2724%27%20transform%3D%27rotate%2845%2028%2028%29%27/%3E%3Ccircle%20cx%3D%2728%27%20cy%3D%2728%27%20r%3D%274%27/%3E%3Cpath%20d%3D%27M0%200l8%208M56%200l-8%208M0%2056l8-8M56%2056l-8-8%27/%3E%3C/g%3E%3C/svg%3E");--stripe:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2732%27%20height%3D%2732%27%20viewBox%3D%270%200%2032%2032%27%20opacity%3D%271%27%3E%3Crect%20width%3D%2732%27%20height%3D%2732%27%20fill%3D%27%23FFFFFF%27/%3E%3Cpolygon%20points%3D%2716.0%2C-4.16%2020.16%2C0%2016.0%2C4.16%2011.84%2C0%27%20fill%3D%27%231E7B4F%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%270%2C11.84%204.16%2C16.0%200%2C20.16%20-4.16%2C16.0%27%20fill%3D%27%231E7B4F%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%2732%2C11.84%2036.16%2C16.0%2032%2C20.16%2027.84%2C16.0%27%20fill%3D%27%231E7B4F%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%2716.0%2C27.84%2020.16%2C32%2016.0%2C36.16%2011.84%2C32%27%20fill%3D%27%231E7B4F%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%270.00%2C-11.36%203.33%2C-8.03%208.03%2C-8.03%208.03%2C-3.33%2011.36%2C0.00%208.03%2C3.33%208.03%2C8.03%203.33%2C8.03%200.00%2C11.36%20-3.33%2C8.03%20-8.03%2C8.03%20-8.03%2C3.33%20-11.36%2C0.00%20-8.03%2C-3.33%20-8.03%2C-8.03%20-3.33%2C-8.03%27%20fill%3D%27%230057B8%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%270.00%2C-4.77%201.40%2C-3.37%203.37%2C-3.37%203.37%2C-1.40%204.77%2C0.00%203.37%2C1.40%203.37%2C3.37%201.40%2C3.37%200.00%2C4.77%20-1.40%2C3.37%20-3.37%2C3.37%20-3.37%2C1.40%20-4.77%2C0.00%20-3.37%2C-1.40%20-3.37%2C-3.37%20-1.40%2C-3.37%27%20fill%3D%27%23FEBB02%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%2732.00%2C-11.36%2035.33%2C-8.03%2040.03%2C-8.03%2040.03%2C-3.33%2043.36%2C0.00%2040.03%2C3.33%2040.03%2C8.03%2035.33%2C8.03%2032.00%2C11.36%2028.67%2C8.03%2023.97%2C8.03%2023.97%2C3.33%2020.64%2C0.00%2023.97%2C-3.33%2023.97%2C-8.03%2028.67%2C-8.03%27%20fill%3D%27%230057B8%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2732.00%2C-4.77%2033.40%2C-3.37%2035.37%2C-3.37%2035.37%2C-1.40%2036.77%2C0.00%2035.37%2C1.40%2035.37%2C3.37%2033.40%2C3.37%2032.00%2C4.77%2030.60%2C3.37%2028.63%2C3.37%2028.63%2C1.40%2027.23%2C0.00%2028.63%2C-1.40%2028.63%2C-3.37%2030.60%2C-3.37%27%20fill%3D%27%23FEBB02%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%270.00%2C20.64%203.33%2C23.97%208.03%2C23.97%208.03%2C28.67%2011.36%2C32.00%208.03%2C35.33%208.03%2C40.03%203.33%2C40.03%200.00%2C43.36%20-3.33%2C40.03%20-8.03%2C40.03%20-8.03%2C35.33%20-11.36%2C32.00%20-8.03%2C28.67%20-8.03%2C23.97%20-3.33%2C23.97%27%20fill%3D%27%230057B8%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%270.00%2C27.23%201.40%2C28.63%203.37%2C28.63%203.37%2C30.60%204.77%2C32.00%203.37%2C33.40%203.37%2C35.37%201.40%2C35.37%200.00%2C36.77%20-1.40%2C35.37%20-3.37%2C35.37%20-3.37%2C33.40%20-4.77%2C32.00%20-3.37%2C30.60%20-3.37%2C28.63%20-1.40%2C28.63%27%20fill%3D%27%23FEBB02%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%2732.00%2C20.64%2035.33%2C23.97%2040.03%2C23.97%2040.03%2C28.67%2043.36%2C32.00%2040.03%2C35.33%2040.03%2C40.03%2035.33%2C40.03%2032.00%2C43.36%2028.67%2C40.03%2023.97%2C40.03%2023.97%2C35.33%2020.64%2C32.00%2023.97%2C28.67%2023.97%2C23.97%2028.67%2C23.97%27%20fill%3D%27%230057B8%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2732.00%2C27.23%2033.40%2C28.63%2035.37%2C28.63%2035.37%2C30.60%2036.77%2C32.00%2035.37%2C33.40%2035.37%2C35.37%2033.40%2C35.37%2032.00%2C36.77%2030.60%2C35.37%2028.63%2C35.37%2028.63%2C33.40%2027.23%2C32.00%2028.63%2C30.60%2028.63%2C28.63%2030.60%2C28.63%27%20fill%3D%27%23FEBB02%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3Cpolygon%20points%3D%2716.00%2C4.64%2019.33%2C7.97%2024.03%2C7.97%2024.03%2C12.67%2027.36%2C16.00%2024.03%2C19.33%2024.03%2C24.03%2019.33%2C24.03%2016.00%2C27.36%2012.67%2C24.03%207.97%2C24.03%207.97%2C19.33%204.64%2C16.00%207.97%2C12.67%207.97%2C7.97%2012.67%2C7.97%27%20fill%3D%27%230057B8%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolygon%20points%3D%2716.00%2C11.23%2017.40%2C12.63%2019.37%2C12.63%2019.37%2C14.60%2020.77%2C16.00%2019.37%2C17.40%2019.37%2C19.37%2017.40%2C19.37%2016.00%2C20.77%2014.60%2C19.37%2012.63%2C19.37%2012.63%2C17.40%2011.23%2C16.00%2012.63%2C14.60%2012.63%2C12.63%2014.60%2C12.63%27%20fill%3D%27%23FEBB02%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%271%27/%3E%3C/svg%3E") 0 50%/24px 24px repeat-x}
.stick.bkh{background:#0057B8 var(--zw) 0 0/96px 96px!important}
.bkhome .hero20{background:#0057B8 var(--zw) 0 0/96px 96px;background-position:0 -120px;position:relative}
.bkhome .hero20::after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:var(--stripe)}
.stick.bkh{border-bottom:0}
.detail.page>.top,.srpm>.wrap:first-child{position:relative}
body.tp .stick.bkh{box-shadow:inset 0 -6px 0 0 transparent}
body.tp .stick.bkh::after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:var(--stripe)}
.mmenu{background:#0057B8 var(--zw) 0 0/96px 96px}
/* section titles: small yellow & blue bar */
.sec-head h2::after,.faqg h2::after,.jidx h2::after{content:"";display:block;width:56px;height:4px;margin-top:8px;border-radius:2px;background:linear-gradient(90deg,#FEBB02 0 50%,#0057B8 50% 100%)}
/* light zellige backgrounds */
.bkhome .offers,.bkhome #why,.sec20.alt,.how,.jidx{background:#F2F6FC var(--zb) 0 0/96px 96px}
.bkhome #destinations,.bkhome #guides{background:#fff}
.bkhome .sec20{padding:32px 0}
/* framed cards */
.offer{border:1px solid #D6E4F7;border-top:4px solid #FEBB02;background:#fff}
.w4 .wcard{background:#fff;border:1px solid #D6E4F7;border-top:4px solid #0057B8}
.w4 .wcard:nth-child(even){border-top-color:#FEBB02}
.wic{background:#FFF4D6;color:#0057B8}
.tcard .tpic,.bkdest .tile{box-shadow:0 0 0 3px #fff,0 0 0 4px #D6E4F7}
.tcard:hover .tpic{box-shadow:0 0 0 3px #fff,0 0 0 5px #FEBB02}
.bkdest .tile:hover{box-shadow:0 0 0 3px #fff,0 0 0 5px #FEBB02}
.card.bk{border-top:3px solid #0057B8}
.rlist .card.bk,.detail.page .card.bk{border:1px solid #D6E4F7;border-left:4px solid #0057B8}
.rlist .cw:nth-child(even) .card.bk,.detail.page .cw:nth-child(even) .card.bk{border-left-color:#FEBB02}
.rate .score{background:#0057B8}
.chip.r{background:#0057B8}
.filt{border-color:#D6E4F7;border-top:4px solid #0057B8}
.side{border-color:#D6E4F7;border-top:4px solid #0057B8}
.idcard,.cway,.cform{border-color:#D6E4F7!important;border-top:4px solid #FEBB02!important}
.glance{border-color:#D6E4F7}
/* CTA band */
.ctab .wrap{background:#0057B8 var(--zw) 0 0/96px 96px;box-shadow:inset 0 0 0 3px #FEBB02}
/* inner page banners: lighter blue */
.detail .top::after{background:linear-gradient(180deg,rgba(0,87,184,.15),rgba(0,64,140,.85))}
.detail .top{box-shadow:inset 0 -5px 0 #FEBB02}
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{background:rgba(0,64,140,.75)}
/* footer */
footer{background:#F2F6FC var(--zb) 0 0/96px 96px;border-top:0;position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:24px;background:var(--stripe)}
footer .brand b{color:#0057B8}
.adm aside{background:#0057B8 var(--zw) 0 0/96px 96px}
@media (max-width:640px){
 .bkhome .hero20{background:#F2F6FC var(--zb) 0 0/96px 96px}
 .bkhome .hero20::after{height:24px}
}

.bkhome .hero20{padding-bottom:24px}
.bkhome .hero20::after{bottom:-24px;z-index:1}
.bkhome .bks{margin-bottom:-34px}
body.tp .stick.bkh{margin-bottom:24px}
body.tp .stick.bkh::after{bottom:-24px}
footer{padding-top:64px}
footer::before{height:24px}
/* v24b: zellige only on white/light backgrounds */
.stick.bkh,.mmenu,.adm aside{background:#0057B8!important}
.bkhome .hero20{background:#0057B8}
.ctab .wrap{background:#0057B8}
body{background:#fff var(--zb) 0 0/96px 96px}
.bkhome #destinations,.bkhome #guides,.bkhome #featured,.bkhome .sec20{background-color:transparent}
.bkhome .offers,.bkhome #why,.sec20.alt,.how,.jidx,footer{background:#F2F6FC var(--zb) 0 0/96px 96px}
@media (max-width:640px){.bkhome .hero20{background:#F2F6FC var(--zb) 0 0/96px 96px}}
/* v24c: remove the coloured zellige band */
.bkhome .hero20::after,body.tp .stick.bkh::after,footer::before{display:none!important}
.bkhome .hero20{padding-bottom:0}
body.tp .stick.bkh{margin-bottom:0}
footer{padding-top:48px}

/* v24: travel-guide library */
.detail.art .top{height:auto;min-height:300px}
.detail.art .top>.wrap,.blogx .top>.wrap{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:inherit;padding-top:20px;padding-bottom:26px}
.blogx .top{height:auto;min-height:260px}
.abc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px}
.detail .top .abc a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.detail .top .abc span{background:none!important;border:0!important;padding:0;color:#fff}
.detail .top .abc>span:last-child{opacity:.9}
.akick{display:inline-block;margin:0 0 10px;background:#FEBB02;color:#1A1A1A;font-weight:700;font-size:13px;padding:3px 9px;border-radius:4px}
.detail.art h1{max-width:30ch}
.alangs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.alangs a,.alangs span{font-size:13px;font-weight:600;padding:5px 11px;border-radius:4px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.45);text-decoration:none}
.alangs span{background:#fff;color:#0057B8;border-color:#fff}
.alangs a:hover{background:rgba(255,255,255,.28)}
.tldr{background:#F0F6FF;border:1px solid #CFE1FB;border-left:4px solid #FEBB02;border-radius:8px;padding:18px 20px;margin:0 0 26px}
.tldr .tk{margin:0 0 6px!important;font-weight:800;color:#0057B8;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.tldr>p{margin:0 0 10px;font-size:17px;line-height:1.6;color:#1A1A1A}
.tldr ul{margin:0;padding-left:18px}
.tldr li{margin:4px 0;font-size:15px;line-height:1.55}
.prose h3{font-size:19px;margin:26px 0 8px}
.prose h2[id^="s-frequently"]~h3,.prose h2[id^="s-questions"]~h3,.prose h2[id^="s-preguntas"]~h3{font-size:17px;border-top:1px solid var(--line);padding-top:16px}
.prose h2[id^="s-sources"]+ul,.prose h2[id^="s-fuentes"]+ul{font-size:14px;color:var(--muted)}
.prose h2[id^="s-sources"]+ul a,.prose h2[id^="s-fuentes"]+ul a{word-break:break-word}
.prose h2[id^="s-private-tours"],.prose h2[id^="s-circuitos-privados"],.prose h2[id^="s-nos-circuits"]{background:#F0F6FF;border-top:3px solid #006CE4;padding:16px 18px 10px;border-radius:8px 8px 0 0;margin-bottom:0}
.prose h2[id^="s-private-tours"]+p,.prose h2[id^="s-circuitos-privados"]+p,.prose h2[id^="s-nos-circuits"]+p{background:#F0F6FF;margin:0;padding:4px 18px 10px}
.prose h2[id^="s-private-tours"]+p+ul,.prose h2[id^="s-circuitos-privados"]+p+ul,.prose h2[id^="s-nos-circuits"]+p+ul{background:#F0F6FF;margin:0;padding:6px 18px 6px 38px}
.prose h2[id^="s-private-tours"]+p+ul+p,.prose h2[id^="s-circuitos-privados"]+p+ul+p,.prose h2[id^="s-nos-circuits"]+p+ul+p{background:#F0F6FF;margin:0 0 24px;padding:8px 18px 16px;border-radius:0 0 8px 8px}
.aside24 .bh{font-family:var(--font)!important;font-size:20px!important;font-weight:700;margin:0;color:#1A1A1A}
.aside24 small{color:var(--muted)}
.amore{margin:22px 0 0}
.gchips{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);margin-top:16px}
.gchips .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.gchips a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid #868686;color:#1A1A1A;font-weight:600;font-size:14px;text-decoration:none;background:#fff}
.gchips a span{color:#595959;font-weight:500}
.gchips a:hover{border-color:#006CE4;color:#006CE4;background:#F0F6FF}
.gsec{padding:40px 0 8px;scroll-margin-top:60px}
.gsec .mh span{color:var(--muted);font-weight:500}
.acard .chip.l{background:#FEBB02;color:#1A1A1A;border:0}
@media (max-width:640px){.detail.art .top{min-height:260px}.tldr{padding:14px 16px}.tldr>p{font-size:16px}.gsec{padding-top:28px}}

@media (max-width:640px){
.gsec .agrid{gap:12px}
.gsec .acard{display:grid;grid-template-columns:112px 1fr;align-items:stretch}
.gsec .acard .apic{height:auto;min-height:112px;aspect-ratio:auto}
.gsec .acard .apic svg{height:100%;width:100%}
.gsec .acard .chip.l{display:none}
.gsec .acard .abody{padding:12px 14px}
.gsec .acard h3{font-size:16px;line-height:1.3;margin:0 0 6px}
.gsec .acard p{display:none}
.gsec .acard .ameta{margin-top:0}
}
.tabs button span,.tabs button:hover span{color:#595959}
.tabs button,.tabs button span{transition:none!important}.tabs button:hover span{color:#474747}

/* v25: real photos in every picture slot */
.card .pic>img.ph,.apic>img.ph,.opic>img.ph,.tpic>img.ph{width:100%;height:100%;display:block;object-fit:cover}
.card .pic{position:relative;overflow:hidden}
.tile>img.ph,.detail .top>img.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card:hover .pic>img.ph,.tile:hover>img.ph{transform:scale(1.03)}
.card .pic>img.ph,.tile>img.ph{transition:transform .5s ease}
.bkhome .hero20.hasph{position:relative;overflow:hidden;background:#00224F!important}
.bkhome .hero20.hasph>img.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.bkhome .hero20.hasph::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,34,79,.55),rgba(0,34,79,.75));z-index:0}
.bkhome .hero20.hasph>.wrap{position:relative;z-index:1}
@media (max-width:640px){.bkhome .hero20.hasph h1,.bkhome .hero20.hasph .lead20{color:#fff}}
.bkhome .hero20.hasph{overflow:visible}
/* booking & trip request forms */
.book .bkc,.cform .bkc{display:grid;gap:10px;margin:2px 0 4px}
.book .bkc label,.cform .bkc label{display:block}
.req{color:#C00}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.bkgo{width:100%}
.bkalt{display:flex;gap:8px;flex-wrap:wrap}
.bkalt .btn{flex:1 1 120px;justify-content:center}
.bkmsg{margin:4px 0 0;font-size:14px;line-height:1.5;min-height:0}
.bkmsg:empty{display:none}
.bkmsg.ok{background:#E7F5E9;border:1px solid #9BD3A4;color:#0A5A16;border-radius:6px;padding:10px 12px}
.bkmsg.err{background:#FDECEC;border:1px solid #F3B1B1;color:#8A1010;border-radius:6px;padding:10px 12px}
.bkmsg a{color:inherit;font-weight:700}
.cform .btns{display:grid;gap:10px}
/* admin: photos */
.imgsum{margin:0 0 12px;font-size:15px}
.imgtools{gap:8px;align-items:flex-end;flex-wrap:wrap}
.imgf{border:1px solid #868686;background:#fff;border-radius:999px;padding:6px 12px;font-weight:600;font-size:14px;cursor:pointer;color:#1A1A1A}
.imgf span{color:#595959;font-weight:500}
.imgf[aria-pressed="true"]{background:#EBF3FF;border-color:#006CE4;color:#0057B8}
.imgl{display:grid;gap:12px}
.imgr{display:grid;grid-template-columns:220px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-left:4px solid #008009;border-radius:8px;padding:14px}
.imgr.bad{border-left-color:#E8A300}
.imgth{position:relative;height:140px;border-radius:6px;overflow:hidden;background:#EEF2F7}
.imgth img,.imgth svg{width:100%;height:100%;object-fit:cover;display:block}
.imgk{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:4px}
.imgw{margin:0 0 8px;font-size:14px;color:#1A1A1A}
.imgkind{display:inline-block;background:#FEBB02;color:#1A1A1A;font-weight:700;font-size:12px;padding:1px 7px;border-radius:4px;margin-right:4px}
.imgb .fields{grid-template-columns:1fr 1.4fr}
.imgp{font-size:13px;color:var(--muted);margin:8px 0;word-break:break-word}
.imgp a{color:#006CE4}
.imgc{list-style:none;margin:0 0 10px;padding:0;font-size:13px;display:grid;gap:2px}
.imgc .ok{color:#0A6B17}.imgc .warn{color:#8A5A00;font-weight:600}.imgc .info{color:#555}
.imgc .linkbtn{font-size:13px;margin-left:4px}
@media (max-width:760px){.imgr{grid-template-columns:1fr}.imgb .fields{grid-template-columns:1fr}}
/* admin: bookings */
.bkerr{color:#8A1010;background:#FDECEC;border:1px solid #F3B1B1;border-radius:6px;padding:10px 12px;margin:12px 0 0}
.bkt td{vertical-align:top;font-size:14px}
.bkt td small{color:var(--muted)}
.bkt tr.bk-new td:first-child{box-shadow:inset 4px 0 0 #006CE4}
.bkt tr.bk-confirmed td:first-child,.bkt tr.bk-paid td:first-child{box-shadow:inset 4px 0 0 #008009}
.bkt tr.bk-cancelled{opacity:.6}
.bkt select{font-size:13px;padding:4px 6px;border-radius:4px;border:1px solid #868686;background:#fff}
.bkf-new span{background:#006CE4;color:#fff!important;border-radius:999px;padding:0 6px}
.bkset summary{cursor:pointer}
.book .bkc input,.cform .bkc input{width:100%;box-sizing:border-box}
.prose li,.prose p{overflow-wrap:anywhere}
.stick .mbtn{flex:none}
@media (max-width:400px){.stick .brand b,.stick .brand{font-size:18px}.lsw a,.lsw span{padding-left:5px!important;padding-right:5px!important;min-width:28px!important;font-size:12px!important}.stick>.wrap,.stick .wrap:first-child{gap:6px}}
.adm .status.ok{color:#05600A}
@media (max-width:360px){.lsw a,.lsw span{padding-left:3px!important;padding-right:3px!important;min-width:24px!important}.stick .brand b,.stick .brand{font-size:17px}.stick .slinks,.stick .hcta{display:none}}

/* v26: online payment */
.payp{padding:28px 0 56px;background:#F5F5F5}
.payw{max-width:760px}
.payw h1{font-size:clamp(26px,3vw,34px);margin:0 0 18px;color:#1A1A1A}
.paybox{display:grid;gap:16px}
.paysum,.paynow{background:#fff;border:1px solid #E7E7E7;border-top:4px solid #006CE4;border-radius:8px;padding:20px 22px;box-shadow:0 2px 8px rgba(26,26,26,.08)}
.paynow{border-top-color:#FEBB02}
.payhi{font-size:18px;font-weight:700;margin:0 0 12px}
.paysum dl{margin:0;display:grid;gap:0}
.paysum dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #EEE;font-size:15px}
.paysum dt{color:#595959}.paysum dd{margin:0;text-align:right;font-weight:600;color:#1A1A1A}
.payleft{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 0;font-size:17px}
.payleft b{font-size:28px;color:#1A1A1A}
.payhow{margin:0 0 10px;font-size:15px}
.paycards{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.paycards span{border:1px solid #CFCFCF;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:800;color:#1A1A1A;letter-spacing:.02em;background:#FAFAFA}
.pp{min-height:120px}
.paymsg{margin:10px 0 0;font-size:15px;line-height:1.5}
.paymsg:empty{display:none}
.paymsg.ok{background:#E7F5E9;border:1px solid #9BD3A4;color:#0A5A16;border-radius:6px;padding:12px 14px}
.paymsg.err{background:#FDECEC;border:1px solid #F3B1B1;color:#8A1010;border-radius:6px;padding:12px 14px}
.paysafe{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#595959;margin:14px 0 0}
.paysafe svg{flex:none;width:16px;height:16px;color:#008009;margin-top:2px}
.payother{font-size:13px;color:#595959;margin:6px 0 0}
.payother a{color:#006CE4;font-weight:600}
.payload{color:#595959}
.paydep{margin-top:10px;display:inline-flex}
.paysm{display:block;color:#0A5A16;font-size:12px;margin-top:4px}
.bkpay{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.bkpay h3{margin:0 0 8px}
.detail.page.payp{padding-top:40px}

/* v27: prices, maps, consent, trust, legal, answers */
.card.bk .pr small.pu{display:block;font-size:12px;color:#595959;font-weight:500}
.side .price small{font-size:14px;font-weight:600;color:#595959}
.ptiers{width:100%;border-collapse:collapse;margin:10px 0 4px;font-size:14px}
.ptiers th,.ptiers td{padding:6px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500}
.ptiers td{text-align:right;font-weight:700}
.lmap{height:420px;border-radius:8px;overflow:hidden;z-index:0;background:#E8EEF3}
@media (max-width:640px){.lmap{height:300px}}
.lpin{background:none;border:0}
.lpin span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#006CE4;color:#fff;font:700 12px/1 var(--font);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.mnote a{color:#006CE4;font-weight:600}
.cbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:720px;margin:0 auto;background:#fff;border:1px solid #D8D8D8;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:14px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:14px}
.cbar p{margin:0;flex:1 1 280px;color:#1A1A1A}.cbar a{color:#006CE4;font-weight:600}.cbar div{display:flex;gap:8px}
@media (max-width:640px){.cbar{bottom:72px}}
.trust{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;font-size:13px;color:#333}
.trust li{display:flex;gap:8px;align-items:flex-start}.trust svg{flex:none;width:16px;height:16px;color:#008009;margin-top:2px}
.trow{background:#fff;border-bottom:1px solid #E7E7E7}
.trow ul{list-style:none;margin:0;padding:16px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trow li{display:flex;gap:10px;align-items:flex-start}.trow svg{flex:none;width:20px;height:20px;color:#008009;margin-top:2px}
.trow b{display:block;font-size:14px;color:#1A1A1A}.trow small{display:block;font-size:13px;color:#595959;line-height:1.4}
@media (max-width:900px){.trow ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.trow ul{grid-template-columns:1fr;gap:10px;padding:14px 0}}
.bkterms{font-size:12px;color:#333;margin:6px 0 0}.bkterms a{color:#0057B8;font-weight:600}
.legw{max-width:820px;padding-top:28px;padding-bottom:48px}
.legupd{color:#595959;font-size:13px;margin-top:28px}
.answ{max-width:860px;padding-top:28px;padding-bottom:56px}
.answ h1{font-size:clamp(26px,3vw,36px);margin:8px 0 10px}
.abc2{font-size:14px;color:#595959}.abc2 a{color:#006CE4}
.anscat{margin-top:30px}.anscat h2{font-size:22px;border-bottom:3px solid #FEBB02;padding-bottom:6px;display:inline-block}
.ansi{padding:14px 0;border-bottom:1px solid #EEE}
.ansi h3{font-size:17px;margin:0 0 6px;color:#1A1A1A}.ansi p{margin:0;line-height:1.6}
.ansl{font-size:14px;margin-top:6px!important;color:#595959}.ansl a{color:#006CE4}
.abc2 span{color:#595959!important;background:none!important;border:0!important;padding:0!important}
.answ .lead2{margin-bottom:8px}
@media (max-width:480px){.trow ul{grid-template-columns:1fr 1fr;gap:10px 12px}.trow b{font-size:13px}.trow small{font-size:12px}}
.side .trust b{color:#1A1A1A!important;text-shadow:none!important}.side .trust svg,.trust svg{color:#008009!important}
.bkterms a{color:#1A1A1A!important;text-decoration:underline}

/* v28: route planner */
.plansec{background:#F2F6FC}
.plan{background:#fff;border:3px solid #FEBB02;border-radius:10px;padding:16px;box-shadow:0 2px 8px rgba(26,26,26,.12)}
.plrow{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:12px;align-items:end}
.plan label{display:block;font-size:13px;font-weight:600;color:#1A1A1A}
.plan select{display:block;width:100%;margin-top:4px;min-height:46px;border:1px solid #868686;border-radius:6px;padding:0 10px;font:500 15px var(--font);background:#fff;color:#1A1A1A}
.plan .btn{min-height:46px;white-space:nowrap;gap:8px}
.plan .btn svg{width:18px;height:18px}
.plint{border:0;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.plint legend{font-size:13px;font-weight:600;color:#595959;margin-bottom:6px;padding:0;float:left;width:100%}
.plchip{position:relative;display:inline-flex!important}
.plchip input{position:absolute;opacity:0;width:1px;height:1px}
.plchip span{display:inline-block;padding:7px 12px;border:1px solid #868686;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;background:#fff}
.plchip input:checked+span{background:#EBF3FF;border-color:#006CE4;color:#0057B8}
.plchip input:focus-visible+span{outline:2px solid #006CE4;outline-offset:2px}
.plan.compact .plrow{grid-template-columns:1fr}
.plan.compact{padding:12px;border-width:2px}
.plres .plan.compact .plrow{grid-template-columns:1fr 1fr 140px auto}
.plhead h2{margin:0 0 4px;font-size:22px}.plhead>p{margin:0 0 12px;color:#595959}
.plres .rlist{margin-top:16px}
.plwhy{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.plbadge{font-size:12px;font-weight:800;padding:2px 8px;border-radius:4px;color:#fff}
.plbadge.p3{background:#008009}.plbadge.p2{background:#006CE4}.plbadge.p1{background:#595959}
.plw{font-size:12px;padding:2px 7px;border-radius:4px;background:#F2F2F2;color:#333}
.plw.ok{background:#E7F5E9;color:#0A5A16}.plw.near{background:#FFF4D6;color:#6B4E00}.plw.no{background:#F2F2F2;color:#595959}
.plcustom{display:flex;gap:16px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #CFE1FB;border-left:4px solid #006CE4;border-radius:8px;padding:16px 18px;margin:16px 0}
.plcustom p{margin:4px 0 0;font-size:14px;color:#333}.plcustom .btn{flex:none}
.plall{margin-top:28px}.plall>summary{cursor:pointer;font-weight:700;font-size:16px;color:#006CE4;margin-bottom:12px}
.plside{margin-bottom:16px}.plst{font-weight:800;margin:0 0 8px;font-size:16px}
@media (max-width:900px){.plrow,.plres .plan.compact .plrow{grid-template-columns:1fr 1fr}.plan .btn{grid-column:1/-1}}
@media (max-width:520px){.plrow,.plres .plan.compact .plrow{grid-template-columns:1fr}.plcustom{flex-direction:column;align-items:stretch}}

/* v29: search */
.bks .f-dest{position:relative}
.srsug{position:absolute;left:0;right:0;top:100%;z-index:40;background:#fff;border:1px solid #CFCFCF;border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(0,0,0,.18);max-height:360px;overflow:auto;text-align:left}
.sro{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:14px;color:#1A1A1A;border-top:1px solid #F0F0F0}
.sro:first-child{border-top:0}
.sro[aria-selected="true"],.sro:hover{background:#EBF3FF}
.srk{flex:none;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:4px;background:#F2F2F2;color:#333}
.srk.place{background:#E7F5E9;color:#0A5A16}.srk.trip{background:#EBF3FF;color:#0057B8}.srk.guide{background:#FFF4D6;color:#6B4E00}
.srt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sro small{flex:none;color:#595959;font-size:12px}
.srdym,.srnote{margin:0 0 10px;font-size:15px}.srdym a{color:#006CE4;font-weight:700}
.srnote{color:#6B4E00;background:#FFF4D6;border-radius:6px;padding:8px 12px}
.srg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font-size:14px}
.srg p{margin:0;font-weight:700}.srg a{border:1px solid #CFE1FB;background:#F0F6FF;color:#0057B8;border-radius:999px;padding:5px 12px;text-decoration:none;font-weight:600}
.srempty{text-align:center}.srempty p{margin:0 0 10px}
.gfind{padding-top:20px}
.gfind label{position:relative;display:block;max-width:560px}
.gfind svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#595959}
.gfind input{width:100%;min-height:48px;border:2px solid #FEBB02;border-radius:8px;padding:0 14px 0 42px;font:500 16px var(--font);box-sizing:border-box;background:#fff}
.gnone{margin:12px 0 0;color:#595959}
.srsug{min-width:min(520px,calc(100vw - 32px))}.srt{white-space:normal;overflow:visible}

/* v30: expert review fixes */
.cbar [data-c]{min-width:110px}
.ansfoot{margin:28px 0 8px;font-size:15px}.ansfoot a{color:#006CE4;font-weight:700}
.revl{font-size:13px;color:#333;margin:10px 0 0}.revl a{color:#0057B8;font-weight:700}
.trowr{text-align:center;margin:0 0 12px}
.lpin.st span{background:#008009}
/* WCAG 2.2 — 2.5.8 target size (24 px minimum) */
footer .cols a,footer .legal a,.stick .brand,a.lnk,.crumbs a,.abc a,.abc2 a,.side .xl2 a,.side .xl a,.side .linkbtn,.jidx a,.srp a.more,.ansl a{display:inline-flex;align-items:center;min-height:24px}
/* WCAG 2.2 — 2.4.11 focus not obscured by the mobile tab bar */
@media (max-width:640px){html{scroll-padding-bottom:96px}}

/* v31 logo */
.brand .logo{flex:none;display:block}
header .brand .logo{width:34px;height:34px}
footer .brand .logo{width:42px;height:42px}
.mmenu .brand .logo{width:30px;height:30px}
@media (max-width:400px){header .brand .logo{width:28px;height:28px}}
@media (max-width:360px){header .brand{gap:6px}header .brand .logo{width:24px;height:24px}header .brand b{font-size:17px!important}}
@media (max-width:360px){header:has(.lsw > :nth-child(4)) .brand .logo{display:none}}

/* v32 guided city tours */
.gsub{font-size:17px;line-height:1.55;max-width:760px;margin:10px 0 0;color:inherit;opacity:.95}
.gsub b{font-weight:700}
.gstops{list-style:none;counter-reset:gs;margin:8px 0 0;padding:0}
.gstops li{counter-increment:gs;position:relative;padding:0 0 18px 46px;border-left:2px solid #DCE6F5;margin-left:15px}
.gstops li:last-child{border-left-color:transparent}
.gstops li::before{content:counter(gs);position:absolute;left:-16px;top:-2px;width:30px;height:30px;border-radius:50%;background:#003580;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.gstops h3{font-size:17px;margin:0 0 6px;line-height:1.35}
.gstops p{margin:0 0 8px;line-height:1.65}
.gnote{background:#FFF8E1;border-left:4px solid #FEBB02;border-radius:8px;padding:14px 16px;margin:6px 0 12px}
.gnote span{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6B5200;margin-bottom:4px}
.gnote p{margin:0;font-size:16px;font-style:italic}
.gchk{font-size:13px;color:#595959;margin:4px 0 0}
.gminis{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px}
.gmini{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #E7E7E7;border-radius:10px;background:#fff;color:#1A1A1A;text-decoration:none;min-height:44px}
.gmini b{color:#0057B8;font-size:15px;line-height:1.35}
.gmini span{font-size:13px;color:#595959}
.gmini:hover,.gmini:focus-visible{border-color:#0057B8}
.gtab table{width:100%;border-collapse:collapse;font-size:15px}
.gtab th,.gtab td{text-align:left;padding:10px 12px;border-bottom:1px solid #E7E7E7;vertical-align:top}
.gtab thead th{font-size:13px;color:#595959;font-weight:700}
.gtab td a{color:#0057B8;font-weight:600}
.gchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.gchips a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid #CFD8E6;border-radius:999px;background:#fff;color:#1A1A1A;text-decoration:none;font-weight:600;font-size:14px}
.gchips a:hover,.gchips a:focus-visible{border-color:#0057B8;color:#0057B8}
.gchips .ic{color:#0057B8}
@media (max-width:640px){.gstops li{padding-left:34px}.gsub{font-size:16px}}
.dsec + .qa-link,.qa-link{margin:8px 0 28px}

/* v33 static route maps */
.mapbox .rmapimg{display:block;width:100%;height:auto;border-radius:10px;background:#E8EEF5}
.mleg{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;font-size:13px;color:#333}
.mleg li{display:inline-flex;align-items:center;gap:6px}
.mleg i{width:18px;height:4px;border-radius:2px;display:inline-block}
.mnote a{color:#0057B8;font-weight:600;white-space:nowrap}
.rmapw{position:relative;border-radius:10px;overflow:hidden}
.rmapw .livemap{border-radius:10px;z-index:1}
.rmapw.islive{aspect-ratio:16/10}
.ltip{font:600 12px/1.2 Inter,system-ui,sans-serif;padding:2px 6px}

:root{color-scheme:light}

/* fixes 2026-10 */
.detail .top{height:auto;min-height:260px}
.detail .top>.wrap{height:auto;min-height:260px}
.book .bkmsgf{display:flex;flex-direction:column;gap:5px}
.book textarea{border:0;border-radius:4px;background:#fff;color:#1A1A1A;padding:8px 10px;font:inherit;font-size:15px;font-weight:600;min-height:64px;resize:vertical;width:100%;box-sizing:border-box}

/* ===================================================================
   v34 — Moroccan identity (October 2026)
   Sahara-night ink, Majorelle blue, saffron, sand. Bricolage Grotesque
   for headings, Instrument Sans for text. Signature: the horseshoe
   arch ("bab") that frames the photo of every inner page.
   =================================================================== */
@font-face{font-family:'Bricolage';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/bricolage-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/bricolage-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/instrument-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/instrument-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument';font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/instrument-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC}

:root{
  --ink:#1D1B3F; --maj:#3D35C4; --maj-d:#2A2390; --saffron:#E9A93A; --dune:#F3EDE3; --sand2:#E9E0D1;
  --muted:#5B5670; --mint:#1F6E52; --line:#E6DFD3;
  --primary:#3D35C4; --night:#1D1B3F; --gold:#E9A93A; --yellow:#E9A93A;
  --stripe:none;
  --fd:'Bricolage','Plus Jakarta Sans',system-ui,sans-serif; --fb:'Instrument',system-ui,-apple-system,'Segoe UI',sans-serif;
  --arch:999px 999px 0 0;
}
body{font-family:var(--fb)!important;color:var(--ink);background:#fff!important;font-size:16.5px;line-height:1.6}
h1,h2,h3,.serif,.sec-head h2,.card h3,.pc h3,.abody h3,.rgl b,.rel b,.mh,.prose h2,.prose h3,.qacat h2,.jidx h2,.faqg h2,.custom h2,.ctab h2,.howl h3,.why h3,.step h3,.detail h1,.dgrid h2,.h3,.panel h2,.bar h1,.ctray>.wrap>b,.mbar b,.side .price,.brand b,.mmenu nav a,.mm-top .brand,.tile .cap b,.tcard b,.bh{font-family:var(--fd)!important;letter-spacing:-.015em}
a{color:var(--maj)}
::selection{background:var(--saffron);color:var(--ink)}
:focus-visible{outline:3px solid var(--saffron)!important;outline-offset:2px}

/* ---------- buttons ---------- */
.btn{border-radius:999px!important;font-weight:600;letter-spacing:0}
.btn-primary,.bks button[type=submit],.bks .btn,.bkgo{background:var(--maj)!important;border-color:var(--maj)!important;color:#fff!important}
.btn-primary:hover,.bkgo:hover{background:var(--maj-d)!important;border-color:var(--maj-d)!important}
.btn-ghost{border-color:var(--maj)!important;color:var(--maj)!important;background:#fff}
.btn-light{background:#fff!important;color:var(--ink)!important;border-color:#fff!important}

/* ---------- header: Sahara night ---------- */
.stick.bkh{background:var(--ink)!important;box-shadow:none!important}
body.tp .stick.bkh::after{display:none!important}
.stick.bkh .brand b{font-size:21px;font-weight:700!important;letter-spacing:-.02em}
.stick.bkh .htabs{border-top:1px solid rgba(243,237,227,.12)}
.stick.bkh .htabs nav a{border-radius:0!important;border:0!important;background:none!important;box-shadow:inset 0 -3px 0 transparent;color:#E9E3F2!important;opacity:1}
.stick.bkh .htabs nav a.on,.stick.bkh .htabs nav a:hover{box-shadow:inset 0 -3px 0 var(--saffron);color:#fff!important}
.stick.bkh .htabs nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.stick.bkh .htabs nav::-webkit-scrollbar{display:none}
.stick.bkh .hcta{background:var(--saffron)!important;border-color:var(--saffron)!important;color:var(--ink)!important;white-space:nowrap}
.stick.bkh .lsw{border-color:rgba(243,237,227,.3)!important;border-radius:999px!important;overflow:hidden}
.stick.bkh .lsw>span{background:var(--dune)!important;color:var(--ink)!important;border-radius:999px!important}

/* ---------- home hero: the desert, big ---------- */
.bkhome .hero20.hasph{background:var(--ink)!important;padding:clamp(72px,11vh,128px) 0 40px!important;min-height:clamp(560px,78vh,760px);display:flex!important;flex-direction:column;justify-content:flex-end}
.bkhome .hero20.hasph::before{background:linear-gradient(180deg,rgba(29,27,63,.15) 0%,rgba(29,27,63,.05) 35%,rgba(29,27,63,.72) 100%)!important}
.bkhome .hero20.hasph>.wrap{width:100%}
.bkhome .hero20.hasph h1{font-size:clamp(40px,6.2vw,84px)!important;line-height:.98!important;letter-spacing:-.035em;max-width:13ch;font-weight:800!important;margin:0 0 18px;text-wrap:balance}
.bkhome .hero20.hasph .lead20{font-size:clamp(17px,1.5vw,20px);max-width:46ch;color:#F3EDE3!important;margin-bottom:28px}
.bks{background:#fff!important;border:0!important;box-shadow:0 18px 50px rgba(29,27,63,.28)!important;border-radius:20px!important;padding:8px!important;gap:6px!important}
.bks>*,.bks label,.bks .f,.bks input,.bks select{border-radius:12px!important}
.bks label,.bks>div{background:var(--dune)!important;border:0!important;box-shadow:none!important}
.bks input,.bks select{background:transparent!important;border:0!important}
.bks button[type=submit]{border-radius:14px!important;font-size:17px;padding-left:28px;padding-right:28px}

/* trust row */
.trow{background:var(--dune)!important;border:0!important;padding:26px 0!important}
.trow ul{gap:20px!important}
.trow li b,.trow li strong{color:var(--ink)}

/* ---------- sections ---------- */
body,.bkhome .offers,.bkhome #why,.sec20.alt,.how,.jidx,.gband{background-image:none!important}
.bkhome .offers,.bkhome #why,.sec20.alt,.how,.jidx{background:var(--dune)!important}
.sec20{padding-top:clamp(56px,7vw,88px)!important;padding-bottom:clamp(56px,7vw,88px)!important}
.sec-head h2::after,.faqg h2::after,.jidx h2::after{display:none!important}
.sec-head h2,.faqg h2,.jidx h2,.mh{font-size:clamp(28px,3vw,40px)!important;line-height:1.08!important;font-weight:750!important;letter-spacing:-.025em;color:var(--ink)}
.sec-head p{font-size:17px!important;color:var(--muted)!important;margin-top:8px!important}
.sec-head .lnk{color:var(--maj)!important;font-weight:600!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.sec-head{margin-bottom:28px!important}

/* plan your route */
.plansec{background:#fff!important}
form.plan{border:1px solid var(--line)!important;box-shadow:none!important;border-radius:20px!important;background:var(--dune)!important}
.plchip{border-color:var(--sand2)!important;background:#fff!important;border-radius:999px!important}
.plchip:has(input:checked){background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

/* offers */
.offer{border:0!important;border-top:0!important;border-radius:20px!important;box-shadow:none!important;background:#fff!important}
.offer .opic,.offer .opic img{border-radius:var(--arch)!important;overflow:hidden}

/* trip-type and region tiles */
.tcard .tpic,.tcard .tpic img{border-radius:16px!important}
.tcard b{font-size:18px!important;font-weight:650!important}
.tile{border-radius:20px!important;border:0!important;box-shadow:none!important}
.tile .cap{text-shadow:none!important;background:linear-gradient(180deg,transparent,rgba(29,27,63,.78))!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;padding:48px 20px 18px!important;width:auto!important}
.tile .cap b{font-size:clamp(22px,2.2vw,30px)!important;font-weight:750!important}
.tile .cap span,.tile .cap small{background:var(--saffron)!important;color:var(--ink)!important;border-radius:999px!important}

/* city tour chips */
.gchips{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.gchips a{border-radius:999px!important;border:1px solid var(--sand2)!important;background:#fff!important;color:var(--ink)!important}
.gchips a:hover{border-color:var(--maj)!important;color:var(--maj)!important}

/* ---------- trip cards ---------- */
.card,.rc,.bkcard,.tc{border-radius:18px!important;border:1px solid var(--line)!important;border-top-width:1px!important;border-left-width:1px!important;box-shadow:none!important;overflow:hidden}
.card:hover,.rc:hover{box-shadow:0 14px 34px rgba(29,27,63,.12)!important}
.card .pic,.card .pic img{border-radius:0!important}
.card h3,.rc h3{font-weight:650!important;letter-spacing:-.01em}
.price,.pr,.rc .price{white-space:nowrap}

/* why us */
.why>div,.whyg>div,.why li{border:0!important;border-top:0!important;box-shadow:none!important;border-radius:18px!important;background:#fff!important}

/* guide cards */
.acard,.gcard,.art-card{border-radius:18px!important;border:1px solid var(--line)!important;box-shadow:none!important;overflow:hidden}

/* FAQ */
.faq{background:#fff!important}
.faql details{border-color:var(--line)!important}
.faql summary{font-family:var(--fd);font-weight:600!important;font-size:18px!important}

/* CTA band */
.ctab{background:#fff!important}
.ctab .wrap{background:var(--ink)!important;box-shadow:none!important;border-radius:28px!important;border:0!important;padding:clamp(32px,5vw,64px)!important}
.ctab h2{font-size:clamp(32px,4vw,52px)!important;letter-spacing:-.03em;color:#fff!important}
.ctab p{color:#D9D3E6!important}
.ctab .btn-light{background:var(--saffron)!important;border-color:var(--saffron)!important;color:var(--ink)!important}
.ctab .btn-ghost{background:transparent!important;border-color:rgba(243,237,227,.5)!important;color:#fff!important}

/* footer */
footer{background:var(--ink)!important;color:#D9D3E6!important;border:0!important}
footer::before{display:none!important}
footer a{color:#F3EDE3!important}
footer .fh{color:#fff!important;font-family:var(--fd)}
footer .brand b{color:#fff!important}
footer address,footer p{color:#C9C3DA!important}
footer .legal{border-top-color:rgba(243,237,227,.14)!important;color:#A9A3BC!important}
footer .legal span{color:#A9A3BC!important}

/* WhatsApp bubble */
.fwa{box-shadow:0 10px 24px rgba(29,27,63,.25)!important}

/* labels in sentence case, no shouting */
.tldr .k,.tldr b:first-child,.gtip b,.kick,.tag,.eyebrow{text-transform:none!important;letter-spacing:0!important}

/* ===================== inner pages: the arch ===================== */
.detail .top,.blogx .top{--gut:max(clamp(18px,4vw,48px),calc((100vw - 1140px)/2 + clamp(18px,4vw,48px)));background:var(--dune)!important;color:var(--ink)!important;border-radius:0!important;margin:0!important;box-shadow:none!important;height:auto!important;min-height:0!important;overflow:visible!important;
  display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;column-gap:clamp(24px,4vw,64px);padding:clamp(28px,4vw,56px) var(--gut)!important}
.detail .top::after,.detail .top::before,.blogx .top::after{display:none!important}
.detail .top>img.ph,.detail .top>svg,.blogx .top>img.ph{position:relative!important;inset:auto!important;grid-column:2;grid-row:1;width:100%!important;height:auto!important;aspect-ratio:5/4;max-height:520px;object-fit:cover;border-radius:var(--arch)!important;justify-self:end;max-width:520px}
.detail .top>.wrap,.blogx .top>.wrap{grid-column:1;grid-row:1;min-height:0!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column;gap:18px;justify-content:center!important;color:var(--ink)!important}
.detail .top h1{color:var(--ink)!important;font-size:clamp(34px,4.4vw,60px)!important;line-height:1.02!important;letter-spacing:-.03em;font-weight:800!important;text-shadow:none!important;text-wrap:balance}
.detail .top p,.detail .top .lead,.detail .top .upd,.detail .top small{color:var(--muted)!important;text-shadow:none!important}
.detail .top p b,.detail .top p strong{color:var(--ink)!important}
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{background:#fff!important;color:var(--ink)!important;border:1px solid var(--sand2)!important;border-radius:999px!important;backdrop-filter:none!important}
.detail .top .btn-light{border:1px solid var(--sand2)!important;color:var(--ink)!important}
.detail .top .abc a,.detail .top .abc span{color:var(--ink)!important}
.detail .top [style*="color:var(--gold)"]{color:#9A5B00!important}

/* ---------- trip page ---------- */
.side .price,.side .pbig{font-weight:750!important}
.book{background:var(--dune)!important;border-radius:20px!important;border:0!important}
.book .bh{color:var(--ink)!important;font-size:21px!important}
.book input,.book select,.book textarea{background:#fff!important;border:1px solid var(--sand2)!important;border-radius:12px!important}
.side .trust li,.side .trust span,.side .trust b{text-shadow:none!important}
.side{border-radius:20px!important;border-color:var(--line)!important;box-shadow:none!important}
.facts,.kv,.dgrid .facts{border-radius:16px!important}
.inc,.exc,.incl>div,.inex>div{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important}
.tldr,.short,.gtip{border-radius:14px!important}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .detail .top,.blogx .top{grid-template-columns:1fr;padding:20px 18px 28px!important;row-gap:22px}
  .detail .top>img.ph,.detail .top>svg,.blogx .top>img.ph{grid-column:1;grid-row:1;justify-self:center;max-width:none;aspect-ratio:4/3.4}
  .detail .top>.wrap,.blogx .top>.wrap{grid-column:1;grid-row:2;padding:0!important}
}
@media (max-width:640px){
  .bkhome .hero20.hasph{min-height:0;padding:56px 0 20px!important}
  .bkhome .hero20.hasph h1{font-size:clamp(38px,11vw,52px)!important}
  .bks{border-radius:18px!important}
  .ctab .wrap{border-radius:22px!important}
}

/* facts table: no empty grey cell */
dl.glance{background:#fff!important;gap:0!important;border:1px solid var(--line)!important;border-radius:16px!important;overflow:hidden}
dl.glance>div{background:#fff!important;box-shadow:inset -1px -1px 0 var(--line)}
.dnav{background:#fff!important;border-bottom:1px solid var(--line)!important}
.dnav button{font-family:var(--fb);font-weight:600}

/* labels: sentence case */
.tldr .tk,.gnote>span{text-transform:none!important;letter-spacing:0!important;font-family:var(--fd);font-size:15px!important;font-weight:700!important;color:var(--ink)!important}
/* article language chips on the sand banner */
.detail .top .alangs a{background:#fff!important;color:var(--ink)!important;border:1px solid var(--sand2)!important;border-radius:999px!important;opacity:1!important}
.detail .top .alangs a[aria-current],.detail .top .alangs span{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;border-radius:999px!important}
/* table of contents */
nav.toc{border-radius:18px!important;border-color:var(--line)!important;background:#fff!important}
nav.toc ol a{color:var(--ink)!important;text-decoration:none!important;font-weight:500}
nav.toc ol a:hover{color:var(--maj)!important;text-decoration:underline!important}
nav.toc ol li::marker{color:var(--muted);font-variant-numeric:tabular-nums}
.detail .dgrid{padding-top:32px!important}
.prose a,.lead a.il,p a.il{text-decoration-thickness:1px;text-underline-offset:3px}

/* rhythm: less empty space between home sections */
.sec20{padding-top:clamp(48px,5.5vw,76px)!important;padding-bottom:clamp(48px,5.5vw,76px)!important}
#city-tours.sec20{padding-top:clamp(32px,4vw,48px)!important}
.sec20:not(.alt):not(.offers):not(#why)+.sec20:not(.alt):not(.offers):not(#why){padding-top:clamp(24px,3vw,40px)!important}
.tcard .tpic{box-shadow:none!important}
.wcard{border:0!important;border-top:0!important;box-shadow:none!important;border-radius:18px!important;background:#fff!important}
.wcard>span:first-child,.wcard .wi,.wcard svg{color:var(--maj)}
.faqg h2{font-size:clamp(28px,2.6vw,36px)!important}
.card.bk .body h3{font-size:17px!important}
.acard .abody h3{font-weight:650!important}

/* footer logo on the dark band */

/* tours / search results page */
.srpm h1.srp-t{font-size:clamp(32px,3.6vw,48px)!important;line-height:1.05;letter-spacing:-.03em;font-weight:800!important;margin:8px 0 6px}
.srp-side .plside form.plan,.srp-side .filt,.srp-side form.bks.side20{background:#fff!important;border:1px solid var(--line)!important;border-top:1px solid var(--line)!important;border-radius:18px!important;box-shadow:none!important}
.srp-side form.bks.side20 label,.srp-side form.bks.side20>div{background:var(--dune)!important}
.srp-side .plst,.srp-side form.bks.side20 h2,.srp-side .filt h2{font-family:var(--fd)!important;font-size:19px!important;font-weight:700!important;color:var(--ink)!important}

/* inner page intros */
.detail .top .wrap p{font-size:clamp(16px,1.3vw,18px)!important;line-height:1.55;max-width:52ch}
.detail .top .abc span,.detail .top .abc a{background:none!important;border:0!important;padding:0!important;text-shadow:none!important}
/* neutral frames instead of yellow top borders */
.cway,.idcard,.cform,form.form.cform{border:1px solid var(--line)!important;border-top:1px solid var(--line)!important;border-radius:18px!important;box-shadow:none!important;background:#fff!important}
.cway>span:first-child,.cway svg{color:var(--maj)}
.blogx input[type=search],.detail input[type=search],.jsearch input{border:1px solid var(--sand2)!important;border-radius:999px!important;background:#fff!important}
@media (max-width:900px){ .srp-side .plside{display:none!important} }
.srp-side .filt{border-top:1px solid var(--line)!important}
@media (max-width:640px){ .tile .cap b{font-size:20px!important} .tile .cap{padding:40px 14px 14px!important} }
.mmenu{background:var(--ink)!important}

.payp{background:#fff!important}

/* dark-variant logo on dark bands (footer, mobile menu): same look as the header logo */
footer .logo>path,.mmenu .logo>path{fill:#fff!important;stroke:#fff!important}
footer .logo>circle,.mmenu .logo>circle{fill:var(--ink)!important}
footer .logo g path:first-of-type,.mmenu .logo g path:first-of-type{fill:var(--saffron)!important}
footer .logo g path:last-of-type,.mmenu .logo g path:last-of-type{fill:#fff!important}

/* ===================================================================
   v35 — back to the original Maroc Service colours (Booking blue,
   Moroccan yellow), big photos, a lighter hand: softer titles,
   a quiet zellige texture in the coloured bands.
   =================================================================== */
:root{
  --text:#1A1A1A; --ink:#1A1A1A; --blue:#0057B8; --navy:#003580; --maj:#006CE4; --maj-d:#0057B8;
  --saffron:#FEBB02; --dune:#F2F6FC; --sand2:#D6E4F7; --muted:#595959; --mint:#008009; --line:#E7E7E7;
  --primary:#006CE4; --night:#0057B8; --gold:#FEBB02; --yellow:#FEBB02;
  --zt:linear-gradient(rgba(242,246,252,.86),rgba(242,246,252,.86));
}
body{color:var(--text)}
::selection{background:#FEBB02;color:#1A1A1A}

/* titles: a little calmer than a poster */
h1,h2,h3,.sec-head h2,.detail h1,.faqg h2,.ctab h2{letter-spacing:-.01em!important}
.bkhome .hero20.hasph h1{font-weight:700!important;letter-spacing:-.02em!important;line-height:1.04!important;font-size:clamp(38px,5.4vw,72px)!important;max-width:15ch}
.sec-head h2,.faqg h2,.jidx h2,.mh{font-weight:700!important;letter-spacing:-.015em!important;font-size:clamp(26px,2.6vw,34px)!important}
.detail .top h1{font-weight:700!important;letter-spacing:-.02em!important}
/* the small yellow-and-blue bar under section titles is back */
.sec-head h2::after,.faqg h2::after,.jidx h2::after{display:block!important;content:"";width:56px;height:4px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,#FEBB02 0 50%,#0057B8 50% 100%)}

/* buttons: softer corners, not pills */
.btn,.bks button[type=submit]{border-radius:8px!important}
.btn-primary,.bks button[type=submit],.bks .btn,.bkgo{background:#006CE4!important;border-color:#006CE4!important}
.btn-primary:hover,.bkgo:hover{background:#0057B8!important;border-color:#0057B8!important}
.btn-ghost{border-color:#006CE4!important;color:#006CE4!important}

/* header: the original blue, yellow button */
.stick.bkh{background:var(--blue)!important}
.stick.bkh .htabs{border-top:1px solid rgba(255,255,255,.14)}
.stick.bkh .htabs nav a.on,.stick.bkh .htabs nav a:hover{box-shadow:inset 0 -3px 0 #FEBB02}
.stick.bkh .hcta{background:#FEBB02!important;border-color:#FEBB02!important;color:#1A1A1A!important;border-radius:8px!important}
.stick.bkh .lsw{border-radius:8px!important}
.stick.bkh .lsw>span{background:#fff!important;color:#003580!important;border-radius:6px!important}
.mmenu{background:var(--blue)!important}
.mmenu .logo>circle,footer .logo>circle{fill:#003580!important}
.mmenu .logo g path:first-of-type,footer .logo g path:first-of-type{fill:#FEBB02!important}

/* home hero */
.bkhome .hero20.hasph{background:#00224F!important}
.bkhome .hero20.hasph::before{background:linear-gradient(180deg,rgba(0,34,79,.18) 0%,rgba(0,34,79,.06) 35%,rgba(0,34,79,.7) 100%)!important}
.bks{border-radius:14px!important;box-shadow:0 0 0 4px #FEBB02,0 18px 44px rgba(0,34,79,.25)!important}
.bks label,.bks>div{background:#F2F6FC!important;border-radius:8px!important}
.bks button[type=submit]{border-radius:8px!important}
.trow{background:#fff!important;border-bottom:1px solid var(--line)!important}

/* coloured bands: light blue with a quiet zellige texture (decoration only, never behind long text) */
.bkhome .offers,.bkhome #why,.sec20.alt,.how,.jidx{background:var(--zt),#F2F6FC var(--zb) 0 0/96px 96px!important}
form.plan{background:#F2F6FC!important;border:1px solid var(--sand2)!important;border-radius:14px!important}
.plchip{border-radius:999px!important}
.plchip:has(input:checked){background:#003580!important;border-color:#003580!important}

/* cards and tiles: normal corners, real photos */
.offer{border-radius:14px!important;border-top:3px solid #FEBB02!important}
.offer .opic,.offer .opic img{border-radius:10px!important}
.tcard .tpic,.tcard .tpic img{border-radius:12px!important}
.tile{border-radius:14px!important}
.tile .cap{background:linear-gradient(180deg,transparent,rgba(0,34,79,.72))!important}
.tile .cap span,.tile .cap small{background:#fff!important;color:#1A1A1A!important;border-radius:4px!important}
.card,.rc,.bkcard,.tc,.acard,.wcard,.cway,.idcard,.cform,form.form.cform{border-radius:12px!important}
.wcard{border-top:3px solid #0057B8!important}
.wcard:nth-child(even){border-top-color:#FEBB02!important}
.gchips a{border-radius:999px!important}

/* CTA band and footer */
.ctab .wrap{background:#0057B8!important;border-radius:16px!important;box-shadow:inset 0 0 0 3px #FEBB02!important}
.ctab .btn-light{background:#fff!important;border-color:#fff!important;color:#0057B8!important}
.ctab p{color:#E6EEFA!important}
footer{background:#003580!important}
footer address,footer p{color:#D6E4F7!important}
footer .legal,footer .legal span{color:#B9CBE6!important}

/* ============ inner pages: the photo is big again, no blue filter ============ */
.detail .top,.blogx .top{display:block!important;position:relative!important;background:#00224F!important;color:#fff!important;padding:0!important;margin:0!important;border-radius:0!important;
  height:auto!important;min-height:clamp(380px,52vh,540px)!important;overflow:hidden!important;box-shadow:inset 0 -5px 0 #FEBB02!important}
.detail .top>img.ph,.detail .top>svg,.blogx .top>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover;border-radius:0!important;justify-self:auto}
.detail .top::after,.blogx .top::after{display:block!important;content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,0) 30%,rgba(0,20,50,.72) 100%)!important}
.detail .top>.wrap,.blogx .top>.wrap{position:relative!important;z-index:2;max-width:1140px!important;margin:0 auto!important;padding:clamp(20px,3vw,32px) clamp(18px,4vw,48px) clamp(28px,4vw,44px)!important;min-height:clamp(380px,52vh,540px)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:18px;color:#fff!important}
.detail .top h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.35)!important;font-size:clamp(32px,4.2vw,56px)!important}
.detail .top p,.detail .top .lead,.detail .top .upd,.detail .top small,.detail .top p b,.detail .top p strong{color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.35)!important}
.detail .top .upd,.detail .top small{opacity:.85}
.detail .top .bcl,.detail .top .bc span,.detail .top .crumb span{background:rgba(0,53,128,.72)!important;color:#fff!important;border:0!important;border-radius:6px!important}
.detail .top .btn-light{background:#fff!important;color:#006CE4!important;border:0!important;border-radius:6px!important}
.detail .top .abc a,.detail .top .abc span{color:#fff!important}
.detail .top [style*="color:var(--gold)"]{color:#FEBB02!important}
.detail .top .alangs a{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:6px!important}
.detail .top .alangs a[aria-current],.detail .top .alangs span{background:#fff!important;color:#003580!important;border-color:#fff!important;border-radius:6px!important}
@media (max-width:900px){
  .detail .top,.blogx .top,.detail .top>.wrap,.blogx .top>.wrap{min-height:420px!important}
  .detail .top>.wrap,.blogx .top>.wrap{padding:16px 18px 28px!important}
}

/* trip page details in the original colours */
.book{background:#FEBB02!important;border-radius:12px!important}
.book .bh,.book label{color:#1A1A1A!important}
.book input,.book select,.book textarea{border:0!important;border-radius:6px!important}
.book .btn-ghost{background:#fff!important;border-color:#fff!important}
.side{border-radius:12px!important}
.tldr{background:#EBF3FF!important}
.dnav button{border-radius:6px}
nav.toc ol a:hover{color:#006CE4!important}
.srp-side .plside form.plan,.srp-side .filt,.srp-side form.bks.side20{border-radius:12px!important}
.srp-side form.bks.side20{background:#FEBB02!important;border:0!important}
.srp-side form.bks.side20 label,.srp-side form.bks.side20>div{background:#fff!important}
.detail .top .abc span,.detail .top .abc a{background:none!important;padding:0!important;border:0!important}
.detail .top [style*="color:var(--gold)"]{text-shadow:0 1px 8px rgba(0,0,0,.55)!important}

/* contrast (axe, Oct 2026): WhatsApp button label and table-of-contents links in the summary box */
.fwa{background:#00700A!important;color:#fff!important}
.fwa span{color:#fff!important}
.tldr a,.tldr .il,.tldr [data-act=tocjump]{color:#0057B8!important}

/* author link in the guide header (sits on the photo) */
.upd a[rel=author]{color:inherit!important;text-decoration:underline;text-underline-offset:3px;font-weight:600}

/* ===== v36 layout (Oct 2026): wider pages, less empty space on the sides,
   yellow route planner, tours sidebar that follows the scroll ===== */
:root{--wmax:1480px;--msgut:clamp(16px,2.6vw,36px)}
.wrap{max-width:var(--wmax)!important;padding-left:max(var(--msgut),env(safe-area-inset-left,0px))!important;padding-right:max(var(--msgut),env(safe-area-inset-right,0px))!important}

/* sections: calmer vertical rhythm */
.sec20{padding-top:clamp(40px,4.5vw,64px)!important;padding-bottom:clamp(40px,4.5vw,64px)!important}
.sec20:not(.alt):not(.offers):not(#why)+.sec20:not(.alt):not(.offers):not(#why){padding-top:clamp(20px,2.5vw,32px)!important}

/* ---------- route planner (home, hubs, tours) ---------- */
.plansec{background:#fff!important}
.plansec .sec-head{margin-bottom:18px!important}
form.plan,.srpm .srp-side .plside form.plan{background:#FEBB02!important;border:0!important;border-radius:12px!important;padding:6px!important;box-shadow:0 8px 24px rgba(0,53,128,.10)!important}
form.plan .plrow{gap:6px!important;align-items:stretch!important;grid-template-columns:1fr 1fr 190px auto}
form.plan .plrow>label{display:flex!important;flex-direction:column;justify-content:center;background:#fff;border-radius:8px;padding:9px 14px 7px;margin:0;font-size:12px!important;font-weight:600!important;color:#595959!important;letter-spacing:0;cursor:pointer;transition:box-shadow .15s}
form.plan .plrow>label:hover{box-shadow:inset 0 0 0 2px #0057B8}
form.plan .plrow>label:focus-within{box-shadow:inset 0 0 0 2px #0057B8}
form.plan .plrow select{border:0!important;border-radius:0!important;min-height:30px!important;height:30px;margin:2px 0 0!important;padding:0 22px 0 0!important;font:600 16px var(--font)!important;color:#1A1A1A!important;background-color:transparent!important;cursor:pointer;outline:none}
form.plan .plrow .btn{min-height:58px!important;height:auto;border-radius:8px!important;font-size:17px!important;font-weight:700!important;padding:0 26px!important;background:#0057B8!important;border-color:#0057B8!important;box-shadow:none!important}
form.plan .plrow .btn:hover{background:#003580!important;border-color:#003580!important}
form.plan .plint{margin:0!important;padding:10px 8px 6px!important;gap:6px!important}
form.plan .plint legend{color:#1A1A1A!important;font-weight:700!important;font-size:13px!important;margin-bottom:8px!important}
form.plan .plchip,form.plan .plchip:has(input:checked){background:transparent!important;border:0!important;padding:0!important}
form.plan .plchip span{background:#fff!important;border:1px solid #fff!important;color:#1A1A1A!important;padding:8px 14px!important;font-size:14px!important;font-weight:600!important;border-radius:999px!important;transition:background .15s,color .15s}
form.plan .plchip span:hover{border-color:#0057B8!important}
form.plan .plchip input:checked+span{background:#003580!important;border-color:#003580!important;color:#fff!important}
form.plan .plchip input:checked+span::before{content:"✓ "}
@media (max-width:900px){form.plan .plrow{grid-template-columns:1fr 1fr}form.plan .plrow .btn{grid-column:1/-1;min-height:52px!important}}
@media (max-width:520px){form.plan .plrow{grid-template-columns:1fr}}

/* compact planner in the sidebar of the tours page */
form.plan.compact .plrow{grid-template-columns:1fr!important}
form.plan.compact .plrow .btn{min-height:50px!important;width:100%}
form.plan.compact .plint{padding:10px 4px 4px!important}
form.plan.compact .plchip span{padding:7px 12px!important;font-size:13px!important}

/* ---------- tours page ---------- */
.srpm>.wrap:first-child{padding-bottom:0!important}
.srpm h1.srp-t{margin-bottom:0!important}
.srpm>#tours.sec20,.srpm>section.sec20:first-of-type{padding-top:20px!important}
@media (min-width:901px){
  .srp{grid-template-columns:320px minmax(0,1fr)!important;gap:32px!important;align-items:start!important}
  .srp-side{position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9d3e0 transparent;padding:0 6px 12px 0;margin-right:-6px}
  .srp-side::-webkit-scrollbar{width:6px}
  .srp-side::-webkit-scrollbar-thumb{background:#c9d3e0;border-radius:3px}
}

/* hero search: same yellow frame + white fields as the planner */
.hero20 form.bks{background:#FEBB02!important;border:0!important;padding:6px!important;gap:6px!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(0,0,0,.25)!important}
.hero20 form.bks label,.hero20 form.bks>div{background:#fff!important;border-radius:8px!important}
.hero20 form.bks label:focus-within{box-shadow:inset 0 0 0 2px #0057B8!important}
.hero20 form.bks button[type=submit],.hero20 form.bks .btn{background:#0057B8!important;border-color:#0057B8!important;border-radius:8px!important;font-weight:700!important}
.hero20 form.bks button[type=submit]:hover{background:#003580!important}

/* category pages: two trips side by side on wide screens */
@media (min-width:1180px){
  .hubt .grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  .hubt .grid>.cw{margin:0!important;min-width:0}
  .hubt .grid .card.bk{height:100%}
}

/* v36b: softer yellow on every form, blue words */
:root{--msyel:#FEBE0F;--msblue:#0057B8;--msblue2:#003580}
form.plan,.srpm .srp-side .plside form.plan,.hero20 form.bks,.srp-side form.bks.side20,.bks.side20,.side .book,.book,.sbt{background:var(--msyel)!important}
form.plan,.hero20 form.bks{box-shadow:0 8px 24px rgba(0,53,128,.10)!important}
form.plan label,form.plan .plrow>label,form.plan legend,form.plan .plint legend,
.bks label,.bks .sr+*,.bks.side20 h2,.srp-side form.bks.side20 h2,.side .book label,.book label,.book h2,.book h3,.book p,.book legend,.book .bh,.sbt{color:var(--msblue)!important}
form.plan select,.bks select,.bks input,.book select,.book input,.book textarea{color:var(--msblue2)!important}
.bks input::placeholder,.book input::placeholder,.book textarea::placeholder{color:#4a74ab!important;opacity:1}
.bks .ic,.sbt .ic{color:var(--msblue)!important}
form.plan .plchip span{color:var(--msblue)!important;border-color:#fff!important}
form.plan .plchip input:checked+span{color:#fff!important;background:var(--msblue2)!important;border-color:var(--msblue2)!important}
form.plan .plrow select{color:var(--msblue2)!important}

/* v36c: original yellow, 5% softer (#FEBE0F); words directly on the yellow in dark blue for contrast */
form.plan legend,form.plan .plint legend,.bks.side20 h2,.srp-side form.bks.side20 h2,.side .book>label,.book label,.book h2,.book h3,.book p,.book legend,.book .bh,.sbt{color:var(--msblue2)!important}
form.plan .plrow>label,.bks label{color:var(--msblue)!important}
.book label,.book .b2>label,.book .two>label,form.book label{color:var(--msblue2)!important}
form.book>label,form.book .b2>label,form.book .bkc>label,form.book .bkc label,.side form.book label{color:var(--msblue2)!important}

/* ===== v36d design audit fixes ===== */
/* page banners: text lines up with the page content */
main.detail .top>.wrap,main.blogx .top>.wrap,.detail.page .top>.wrap{max-width:var(--wmax)!important;padding-left:max(var(--msgut),env(safe-area-inset-left,0px))!important;padding-right:max(var(--msgut),env(safe-area-inset-right,0px))!important}
/* "Ready when you are" band: a card with space around it */
.ctab{padding-left:var(--msgut)!important;padding-right:var(--msgut)!important}
.ctab .wrap{max-width:calc(var(--wmax) - 2*var(--msgut))!important;margin-left:auto!important;margin-right:auto!important}
/* booking box on trip pages: follows the scroll, under the tabs bar, never cut */
@media (min-width:901px){
  .detail .side{position:sticky!important;top:70px!important;max-height:calc(100vh - 86px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9d3e0 transparent}
  .detail .side::-webkit-scrollbar{width:6px}
  .detail .side::-webkit-scrollbar-thumb{background:#c9d3e0;border-radius:3px}
}
/* guides page: category chips aligned left under the search */
.gchips>.wrap{width:100%}
/* FAQ: less empty space between the categories */
.qacat{padding-top:20px!important;padding-bottom:4px!important}
/* compare table: highlight in the site blue, not pink */
.cmpt .curc,.cmpt td.curc{background:#EBF3FF!important}
/* "In short" box as wide as the facts table */
.short,.tldr{max-width:none!important}
/* pages without their own photo (404, legal, compare, 2 activities): real photo instead of a drawing */
main.detail .top:has(>svg){background:#0b2447 linear-gradient(180deg,rgba(0,26,64,.25),rgba(0,26,64,.65)),url(img/sahara-desert__page-tours.webp) center/cover no-repeat!important;background-blend-mode:normal}
main.detail .top:has(>svg){background-image:linear-gradient(180deg,rgba(0,26,64,.25),rgba(0,26,64,.65)),url(img/sahara-desert__page-tours.webp)!important}
main.detail .top:has(>svg)>svg{display:none!important}

/* speed: the browser skips layout of sections far below the screen until they come near */
.home20>section:nth-of-type(n+4),.hubt{content-visibility:auto;contain-intrinsic-size:auto 800px}
.srpm .rlist>.cw:nth-child(n+7){content-visibility:auto;contain-intrinsic-size:auto 230px}
/* language switch: tap targets of at least 24 px */
.lsw a,.lsw span{min-width:26px!important;min-height:26px;display:inline-flex!important;align-items:center;justify-content:center}
/* speed: guide cards far below the screen are laid out (and their photos loaded) only when they come near */
.blogx .agrid>.acard:nth-child(n+4){content-visibility:auto;contain-intrinsic-size:auto 160px}
@media (min-width:761px){.blogx .agrid>.acard:nth-child(n+4){contain-intrinsic-size:auto 420px}}
