
:root{--ink:#2A2A62;--teal:#1FB4A8;--coral:#E83C50;--bg:#f6f4ef;--white:#fff;--text:#252535;--muted:#676778;--line:#e4e1e6;--soft:#f1eff6;--mint:#eef8f6;--warm:#fbf7ef;--shadow:0 16px 48px rgba(42,42,98,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif;line-height:1.48}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
.shell{max-width:1080px;margin:auto;padding:0 18px 88px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between}.logo{width:68px;height:68px;object-fit:contain}.langs{display:flex;gap:5px}.lang{border:1px solid var(--line);background:#fff;color:var(--ink);font-size:10px;font-weight:900;padding:8px 10px}.lang.active{background:var(--ink);color:#fff}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--ink);font-weight:500}h1{font-size:48px;line-height:1.04;margin:8px 0 12px}h2{font-size:34px;line-height:1.12;margin:38px 0 8px}h3{font-size:25px;line-height:1.16;margin:4px 0 7px}.eyebrow,.section-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}.lede,.intro{color:var(--muted)}.intro{font-size:13px;max-width:760px;margin:0 0 14px}
.hero{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.hero-photo{height:410px;position:relative;background:#ddd}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 54%}.photo-zoom{position:absolute;right:12px;bottom:12px;border:0;background:rgba(255,255,255,.94);color:var(--ink);width:44px;height:44px;font-size:21px;font-weight:900}.thumbs{display:flex;gap:7px;overflow-x:auto;padding:8px;background:#fff;scroll-snap-type:x mandatory}.thumb{border:2px solid transparent;padding:0;background:#fff;flex:0 0 126px;height:88px;overflow:hidden;scroll-snap-align:start}.thumb.active{border-color:var(--ink)}.thumb img{width:100%;height:100%;object-fit:cover}.hero-copy{padding:30px}.trust-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.trust{font-size:10px;font-weight:800;background:var(--soft);color:var(--ink);padding:7px 9px}
.panel{background:#fff;border:1px solid var(--line);padding:20px;margin-top:14px}.group-line{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.counter{display:flex;align-items:center;gap:10px}.counter button{width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:21px}.pax{font-size:22px;font-weight:900;color:var(--ink);min-width:30px;text-align:center}.group-result{font-size:13px;font-weight:800;color:var(--ink)}.comfort-choice{display:none;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.comfort-choice.show{display:flex;align-items:center;justify-content:space-between;gap:12px}.comfort-copy{font-size:11px;color:var(--muted)}.toggle{border:1px solid var(--ink);background:#fff;color:var(--ink);padding:9px 12px;font-weight:800;font-size:11px}.toggle.active{background:var(--ink);color:#fff}
.child-line{margin-top:13px;padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.checkrow{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.child-fields{display:none;gap:8px;align-items:center;flex-wrap:wrap}.child-fields.show{display:flex}.child-fields input{height:40px;border:1px solid var(--line);padding:0 10px;width:116px}.micro{font-size:10px;color:var(--muted)}
.guide-option{width:100%;border:1px solid var(--line);background:#fff;padding:14px 15px;text-align:left;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.guide-option.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fbfaff}.guide-option b{color:var(--ink)}.guide-option span{font-size:10px;color:var(--coral);font-weight:900;text-transform:uppercase}
.theme-list{display:grid;gap:9px}.theme-card{background:#fff;border:1px solid var(--line)}.theme-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.theme-top{display:grid;grid-template-columns:1fr 46px}.theme-select{border:0;background:transparent;text-align:left;padding:15px}.theme-select b{display:block;color:var(--ink);font-size:14px}.theme-select small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.theme-more{border:0;border-left:1px solid var(--line);background:#fff;color:var(--ink);font-size:20px}.theme-body{display:none;border-top:1px solid var(--line);padding:14px 15px 16px}.theme-card.open .theme-body{display:block}.theme-body p{font-size:12px;color:var(--muted);margin:0 0 10px}.theme-body ul{margin:0 0 10px;padding-left:18px;color:var(--muted);font-size:11px}.theme-body li{margin:4px 0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.chip{font-size:9px;font-weight:800;color:var(--ink);background:var(--soft);padding:5px 7px}.theme-link{font-size:10px;color:var(--ink);font-weight:800;text-decoration:underline}.street-mode{display:none;margin-top:10px;grid-template-columns:1fr 1fr;gap:8px}.street-mode.show{display:grid}.smode{border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px;text-align:left}.smode.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.smode b{display:block;font-size:11px}.smode small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.duration-panel{display:none}.duration-panel.show{display:block}.duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duration{border:1px solid var(--line);background:#fff;padding:13px 8px;text-align:center;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center}.duration:hover:not(:disabled){border-color:var(--ink)}.duration.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fbfaff}.duration:disabled{opacity:.38;cursor:not-allowed;background:#f5f4f5}.dtime{font-size:13px;font-weight:900;color:var(--ink)}.dprice{font-family:Georgia,"Times New Roman",serif;font-size:21px;color:var(--ink);line-height:1.1;margin-top:3px}.dsub{font-size:8px;color:var(--muted);margin-top:4px}.dbadge{font-size:8px;font-weight:900;color:var(--coral);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}.selection-card{display:none;margin-top:10px;background:#fff;border:1px solid var(--line);padding:18px}.selection-card.show{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.sel-meta{font-size:10px;font-weight:900;color:var(--coral);text-transform:uppercase;letter-spacing:.08em}.sel-fit{font-size:12px;color:var(--muted)}.price-big{font-family:Georgia,"Times New Roman",serif;color:var(--ink);font-size:38px;line-height:1}.price-detail{font-size:10px;color:var(--muted);margin-top:5px}.pp{font-size:16px;color:var(--teal);font-weight:900;margin-top:9px}
.departure-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px}.departure-list{display:grid;gap:7px}.dep{border:1px solid var(--line);background:#fff;padding:12px;text-align:left}.dep.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.dep b{display:block;color:var(--ink);font-size:12px}.dep small{font-size:9px;color:var(--muted)}.dep .rec{color:var(--coral);font-weight:900;text-transform:uppercase}.mapbox{background:#ddd;min-height:285px;border:1px solid var(--line);overflow:hidden}.mapbox iframe{width:100%;height:285px;border:0}.custom-address{display:none;margin-top:8px}.custom-address.show{display:flex;gap:6px}.custom-address input{flex:1;height:42px;border:1px solid var(--line);padding:0 10px}.smallbtn{border:0;background:var(--ink);color:#fff;font-weight:800;padding:0 12px}
.when-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.field label{display:block;font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.field input,.field select{width:100%;height:45px;border:1px solid var(--line);background:#fff;padding:0 10px;color:var(--text)}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.primary{border:0;background:var(--ink);color:#fff;min-height:50px;padding:12px 15px;font-weight:900}.secondary{border:1px solid var(--ink);background:#fff;color:var(--ink);min-height:50px;padding:12px 15px;font-weight:900}.primary:disabled{opacity:.45;cursor:not-allowed}.statusbox{display:none;margin-top:10px;padding:12px 14px;background:var(--mint);border:1px solid #c9ebe5;color:#285f59;font-size:11px}.statusbox.show{display:block}
.program-help{margin-top:8px}.program-help button{border:0;background:transparent;color:var(--ink);padding:4px 0;text-decoration:underline;font-weight:800;font-size:10px}.programme{display:none;margin-top:10px;background:#fff;border:1px solid var(--line);padding:18px}.programme.show{display:block}.programme p{font-size:12px;color:var(--muted);max-width:780px}.benefit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.benefit{background:var(--soft);padding:10px;font-size:10px;font-weight:800;color:var(--ink)}.timeline{display:flex;align-items:center;gap:5px;overflow-x:auto;margin-top:14px;padding-bottom:4px}.moment{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:9px 10px;font-size:9px;font-weight:800;color:var(--ink)}.arrow{color:var(--coral);font-weight:900}.programme-note{font-size:9px!important}
.details{display:grid;gap:7px}.details details{background:#fff;border:1px solid var(--line);padding:0 14px}.details summary{min-height:50px;cursor:pointer;color:var(--ink);font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:space-between;list-style:none}.details summary::-webkit-details-marker{display:none}.details summary:after{content:"+";font-size:18px}.details details[open] summary:after{content:"−"}.details .inside{border-top:1px solid var(--line);padding:12px 0 14px;font-size:10px;color:var(--muted)}
.footer{margin-top:44px;background:var(--ink);color:#fff;padding:28px 22px;display:flex;align-items:center;justify-content:center;gap:20px}.footer img{width:58px;height:58px;object-fit:contain}.footer-copy{font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.05}
.lightbox{position:fixed;inset:0;background:rgba(16,16,28,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:18px}.lightbox.show{display:flex}.lightbox img{max-width:96vw;max-height:91vh;object-fit:contain}.close{position:absolute;right:15px;top:15px;width:45px;height:45px;border:0;background:#fff;color:var(--ink);font-size:25px}
.sticky{display:none;position:fixed;left:50%;transform:translateX(-50%);bottom:8px;width:min(700px,calc(100% - 18px));z-index:50;background:rgba(42,42,98,.98);color:#fff;padding:10px 12px;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 12px 40px rgba(0,0,0,.2)}.sticky.show{display:flex}.sticky small{display:block;color:#ddddec;font-size:9px}.sticky b{font-size:11px}.sticky button{border:0;background:#fff;color:var(--ink);font-weight:900;padding:10px 12px;white-space:nowrap}
@media(max-width:720px){
 .shell{padding:0 11px 88px}.topbar{height:62px}.logo{width:55px;height:55px}.hero-photo{height:300px}.hero-copy{padding:22px 18px 20px}h1{font-size:38px}.lede{font-size:14px}.thumb{flex-basis:98px;height:72px}
 h2{font-size:29px;margin-top:32px}.panel{padding:15px}.comfort-choice,.child-line{align-items:flex-start;flex-direction:column}.duration-grid{grid-template-columns:repeat(3,1fr)}.duration{min-height:108px;padding:10px 5px}.dprice{font-size:19px}
 .selection-card.show{grid-template-columns:1fr;gap:14px}.departure-grid{grid-template-columns:1fr}.mapbox,.mapbox iframe{height:230px;min-height:230px}.when-grid{grid-template-columns:1fr 1fr}.when-grid .field:last-child{grid-column:1/-1}.actions{grid-template-columns:1fr}.benefit-row{grid-template-columns:1fr}.footer{justify-content:center;gap:16px}.footer-copy{font-size:21px}
}


:root{--bg:#fff;--soft:#F7F7FA;--line:#E3E3EC;--muted:#69697C;--shadow:0 14px 38px rgba(42,42,98,.07)}
body{background:#fff;color:var(--ink);font-family:"Montserrat",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.46}
.shell{max-width:1180px;padding:0 20px 96px}
.site-top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-topin{width:min(1180px,calc(100% - 40px));height:74px;margin:auto;display:flex;align-items:center;gap:18px}
.site-logo{display:inline-flex;align-items:center;flex:none}.site-logo img{height:58px;width:auto}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:18px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;font-size:11px;font-weight:780;color:#55566b}.site-nav::-webkit-scrollbar{display:none}.site-nav a{padding:27px 0 23px;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a.active{color:var(--ink);border-color:var(--coral)}
.langs{display:flex;gap:4px;flex:none}.lang{border:1px solid var(--line);background:#fff;color:var(--ink);font-size:9px;font-weight:900;padding:7px 8px}.lang.active{background:var(--ink);color:#fff}
h1,h2,h3{font-family:Georgia,Georgia,"Times New Roman",serif;letter-spacing:-.028em;color:var(--ink);font-weight:500}.hero h1{font-size:clamp(40px,4.2vw,56px);line-height:.99}.section-head{margin:42px 0 7px}.section-head .section-kicker{font-size:9px;letter-spacing:.16em;margin-bottom:5px}.section-head h2{font-size:34px;line-height:1.04;margin:0}.intro{font-size:13px;line-height:1.5;margin-bottom:15px}
.hero{box-shadow:none}.hero-photo{height:430px}.hero-copy{padding:30px 28px 32px}.trust{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px}
.panel{padding:20px;background:#fff;border:1px solid var(--line);margin-top:12px}.counter button{border-radius:999px}.pax{font-size:22px}.group-result{font-size:12px}.child-line{margin-top:14px}
.guide-option,.theme-card,.duration,.selection-card,.dep,.programme,.details details{border-radius:0;box-shadow:none}.guide-option{padding:16px 17px}.guide-option.active,.theme-card.selected,.duration.selected,.dep.active{box-shadow:inset 0 0 0 1px var(--ink);background:#fbfaff}
.theme-list{gap:10px}.theme-top{display:block}.theme-select{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px}.theme-select>span{text-align:left}.theme-select em{font-style:normal;font-size:9px;color:var(--coral);font-weight:900;text-transform:uppercase;white-space:nowrap}.theme-more{width:100%;min-height:40px;border:0;border-top:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:10px;font-weight:800}.theme-more i{font-style:normal;font-size:17px}.theme-body{padding:15px 16px 17px}.chips{gap:5px}.chip{border-radius:999px;background:var(--soft)}
.street-mode{gap:9px}.smode{padding:13px 14px}.smode.active{background:#fff;border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.duration-grid{grid-template-columns:repeat(3,1fr);gap:9px}.duration{min-height:114px;padding:14px 10px}.dtime{font-size:13px}.dprice{font-size:24px;margin-top:4px}.dsub{font-size:9px}.dsub.strong{font-weight:800;color:var(--teal)}.dbadge{margin-top:6px}.selection-card.show{margin-top:11px;padding:19px 20px}.price-big{font-size:38px}
.departure-grid{display:block}.departure-list{gap:8px}.dep-wrap{display:grid;grid-template-columns:1fr auto;border:1px solid var(--line);background:#fff}.dep-wrap:has(.dep.active){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.dep{border:0!important;box-shadow:none!important;background:transparent!important;padding:13px 14px}.map-link{border:0;border-left:1px solid var(--line);background:#fff;color:var(--ink);padding:0 13px;font-size:9px;font-weight:900;white-space:nowrap}.custom-address{display:none;border:1px solid var(--ink);padding:12px;margin-top:8px;gap:7px;flex-wrap:wrap}.custom-address.show{display:flex}.custom-address input{min-width:0}.custom-address .micro{flex-basis:100%;margin-top:3px}.mapbox{display:none;margin-top:8px;min-height:0;background:#fff}.mapbox.show{display:block}.mapbar{height:42px;border:1px solid var(--line);border-bottom:0;display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:10px}.mapbar button{border:0;background:transparent;color:var(--ink);font-weight:900}.mapbox iframe{height:260px;border:1px solid var(--line)}
.when-grid{gap:9px}.field input,.field select{border-radius:0}.text-action{margin-top:10px;border:0;background:transparent;color:var(--ink);padding:4px 0;font-size:10px;font-weight:900;text-decoration:underline}.backup-slot{display:none;margin-top:10px;padding:14px;border:1px solid var(--line);background:var(--soft)}.backup-slot.show{display:block}.backup-grid{grid-template-columns:1fr 1fr}.comfort-review{display:none;margin-top:13px;padding:16px;border:1px solid var(--line);background:#fff}.comfort-review.show{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.comfort-review-copy b{display:block;color:var(--ink);font-size:13px}.comfort-review-copy p{margin:5px 0 0;font-size:10px;color:var(--muted);max-width:600px}.comfort-options{display:flex;gap:7px}.comfort-option{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 11px;font-size:9px;font-weight:900}.comfort-option.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.primary,.secondary,.smallbtn{border-radius:999px}.actions{gap:10px}.programme{padding:20px}.benefit{border:1px solid var(--line);background:#fff}.moment{border-radius:999px}.details summary{font-size:11px}
.footer{margin-top:48px;background:var(--ink);color:#fff;padding:34px 20px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.footer img{width:62px;height:62px}.footer-copy{font-size:24px;text-align:center;line-height:1.05}
@media(max-width:900px){.site-nav{gap:14px}.site-topin{width:calc(100% - 28px)}.site-logo img{height:50px}}
@media(max-width:720px){
 .shell{padding:0 11px 88px}.site-topin{height:64px;width:calc(100% - 24px);gap:10px}.site-logo img{height:48px}.site-nav{font-size:9px;gap:13px}.site-nav a{padding:23px 0 20px}.langs{gap:2px}.lang{padding:6px 7px}
 .hero-photo{height:300px}.hero-copy{padding:22px 18px 22px}.section-head{margin-top:34px}.section-head h2{font-size:29px}.panel{padding:15px}
 .duration-grid{grid-template-columns:repeat(2,1fr)}.duration{min-height:112px}.dprice{font-size:22px}.selection-card.show{grid-template-columns:1fr;gap:14px}
 .dep-wrap{grid-template-columns:1fr auto}.map-link{padding:0 10px;font-size:8px}.mapbox iframe{height:230px}.custom-address{align-items:stretch}.custom-address input{flex:1 1 100%}.custom-address .smallbtn{min-height:42px}
 .when-grid{grid-template-columns:1fr 1fr}.when-grid .field:last-child{grid-column:1/-1}.backup-grid{grid-template-columns:1fr 1fr}.comfort-review.show{grid-template-columns:1fr}.comfort-options{display:grid;grid-template-columns:1fr 1fr}.comfort-option{min-height:44px}
 .actions{grid-template-columns:1fr}.footer-copy{font-size:21px}
}


/* V0.3.7 — Tuk-tuk repair delta. BRAND.TYPOGRAPHY.OSL.V1 + CEO footer lock */
:root{--ink:#2A2A62;--teal:#1FB4A8;--coral:#E83C50;--paper:#f7f4ef;--line:#dedbe6;--muted:#6d6d7c;--soft:#f5f4f8;--white:#fff}
html{scroll-behavior:smooth}
body{font-family:Inter,Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper)}
a{color:inherit;text-decoration:none}
h1,h2,h3,.price-big,.dprice,.footer-copy{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}
.site-top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-topin{min-height:66px;display:flex;align-items:center;gap:16px}
.site-logo img{height:48px;width:auto}
.site-nav{margin-left:auto;display:flex;gap:17px;align-items:center;white-space:nowrap;overflow:auto;font-size:10.5px;font-weight:800;color:#626274}
.site-nav a{padding:22px 0 19px;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a.active{color:var(--ink);border-bottom-color:var(--ink)}
.langs{display:flex;gap:5px}
.lang{border:1px solid #cfccd8!important;background:#fff!important;color:var(--ink)!important;border-radius:999px!important;padding:7px 10px!important;font-size:10px!important;font-weight:900!important}
.lang.active{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.section-head{margin-top:34px}
.section-kicker{font-family:Inter,Montserrat,system-ui,sans-serif!important;font-size:10px!important;letter-spacing:.14em!important;font-weight:900!important;color:var(--coral)!important}
.section-head h2{font-size:clamp(30px,6vw,42px)!important;line-height:1.04!important;letter-spacing:-.025em!important;margin:5px 0 8px!important}
.intro{font-size:13px!important;line-height:1.55!important;color:var(--muted)!important;max-width:760px!important}

/* Group/context */
.group-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:12px}
.group-summary{display:flex;justify-content:space-between;gap:14px;align-items:center}
.group-summary b{display:block;color:var(--ink);font-size:14px}
.group-summary small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.link-btn,.text-action{border:0;background:transparent;color:var(--ink);font-weight:900;text-decoration:underline;padding:5px 0;font-size:10px}
.group-editor{display:none;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.group-editor.show{display:block}
.compact-stepper{display:grid;grid-template-columns:38px 58px 38px;width:max-content;height:40px;border:1px solid var(--line);background:#fff}
.compact-stepper button{border:0;background:#fff;color:var(--ink);font-size:18px}
.compact-stepper span{display:grid;place-items:center;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:13px;font-weight:900;color:var(--ink)}
.needs{display:grid;gap:8px;margin-top:14px}
.need-row{border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.need-row b{display:block;color:var(--ink);font-size:11.5px}
.need-row small{display:block;color:var(--muted);font-size:9.5px;line-height:1.4;margin-top:2px}
.yesno{display:flex;gap:5px}
.yesno button{min-width:48px;height:34px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:9.5px;font-weight:900;border-radius:999px}
.yesno button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mobility-detail{display:none;margin-top:9px}.mobility-detail.show{display:block}
.mobility-detail textarea{width:100%;min-height:82px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font:inherit;font-size:11px;resize:vertical}

/* Duration: first product decision */
.duration-panel{display:block!important;margin-top:0}
.duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.duration{min-height:94px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 7px}
.duration.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fafafe}
.dtime{font-size:12px;font-weight:900}
.dprice{font-size:22px!important;line-height:1.05!important;margin-top:4px!important}
.dsub{font-size:8.8px!important;line-height:1.35!important}
.dbadge{font-size:8px!important}
.selection-card{border-radius:16px;background:#fff}
.price-big{font-size:34px!important}

/* Interests: checkbox = interest; disclosure = details */
.interest-section{display:block}.interest-section.show{display:block}
.interest-meta{margin:0 0 11px;padding:9px 11px;background:var(--soft);color:var(--ink);font-size:10px;font-weight:800;border-left:3px solid var(--teal)}
.interest-list{display:grid;gap:8px}
.interest-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.interest-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.interest-card.hidden-onehour{display:none}
.interest-card.disabled{opacity:.46}
.interest-main{display:grid;grid-template-columns:26px minmax(0,1fr);gap:9px;align-items:flex-start;padding:13px 14px 11px;cursor:pointer}
.interest-main input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--ink)}
.interest-main b{display:block;color:var(--ink);font-size:13px;line-height:1.25}
.interest-main small{display:block;color:var(--muted);font-size:9.5px;line-height:1.4;margin-top:3px}
.interest-actions{border-top:1px solid var(--line);padding:0 14px;display:flex;align-items:center;justify-content:space-between}
.interest-more{border:0;background:transparent;color:var(--ink);font-size:10px;font-weight:900;padding:11px 0}
.interest-more::after{content:"⌄";margin-left:6px}
.interest-card.open .interest-more::after{content:"⌃"}
.interest-body{display:none;border-top:1px solid var(--line);background:#fcfbfd;padding:12px 14px 14px}
.interest-card.open .interest-body{display:block}
.interest-body p{font-size:11px;line-height:1.55;color:var(--muted);margin:0 0 8px}
.interest-body ul{margin:0;padding-left:17px;font-size:10px;line-height:1.5;color:var(--muted)}
.interest-body .chips{margin:9px 0}
.street-mode{display:none!important}
.street-choice{display:none;border-top:1px solid var(--line);padding:10px 14px 13px;background:#fff}
.interest-card.street-selected .street-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.street-choice button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:9px;text-align:left}
.street-choice button.on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f2fbf9}
.street-choice b{display:block;font-size:10.5px}.street-choice small{display:block;color:var(--muted);font-size:8.5px;margin-top:2px;line-height:1.35}
.selection-alert{display:none;margin-top:9px;padding:11px 12px;background:#fff7f8;border-left:3px solid var(--coral);font-size:10px;color:#7e3941}
.selection-alert.show{display:block}
.selection-alert button{margin-top:7px;border:0;background:var(--ink);color:#fff;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:900}

/* Departure: radio selection + optional map */
.departure-grid{display:block!important}
.departure-list{display:grid;gap:7px}
.dep{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line)!important;background:#fff!important;border-radius:14px!important;padding:12px 13px!important}
.dep.active{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)}
.dep-radio{width:16px;height:16px;border:1.5px solid #aaa6b5;border-radius:50%;display:grid;place-items:center}
.dep.active .dep-radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink)}
.dep b{font-size:11.5px!important}
.dep small{font-size:9px!important;color:var(--muted)!important}
.dep .rec{color:var(--teal)!important;font-weight:900!important;text-transform:none!important}
.dep-map{border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:900;text-decoration:underline;padding:5px}
.custom-address{display:none!important;margin:7px 0 0 25px!important;padding:10px;background:var(--soft);border-radius:12px;gap:7px!important;align-items:center}
.custom-address.show{display:grid!important;grid-template-columns:1fr auto}
.custom-address input{height:40px!important;border-radius:10px!important}
.mapbox{display:none!important;margin-top:8px;border-radius:14px;overflow:hidden}.mapbox.show{display:block!important}
.mapbar{background:#fff!important}
.mapbox iframe{height:235px!important}

/* Final controls */
.comfort-review{border-radius:14px!important}
.actions .primary,.actions .secondary{border-radius:999px!important}
.programme,.details details{border-radius:14px!important}

/* Child-seat modal */
.child-modal{position:fixed;inset:0;z-index:120;background:rgba(14,14,34,.80);display:none;align-items:center;justify-content:center;padding:16px}
.child-modal.open{display:flex}
.child-panel{width:min(620px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.26)}
.child-panel h3{font-size:27px;margin:4px 0 6px;color:var(--ink)}
.child-panel>p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 14px}
.child-count-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.child-count-line b{font-size:11px}
.child-rows{display:grid;gap:9px;margin-top:12px}
.child-row{border:1px solid var(--line);border-radius:14px;padding:11px}
.child-row>strong{display:block;font-size:10.5px;color:var(--ink);margin-bottom:8px}
.child-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.child-grid label{font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}
.child-grid input{display:block;width:100%;height:39px;margin-top:4px;border:1px solid var(--line);border-radius:9px;padding:0 8px}
.child-note{margin-top:12px;padding:10px 11px;background:var(--soft);font-size:9.5px;line-height:1.45;color:var(--muted)}
.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}
.modal-actions button{border:0;border-radius:999px;padding:10px 14px;font-size:9.5px;font-weight:900}
.modal-actions .cancel{background:var(--soft);color:var(--ink)}.modal-actions .save{background:var(--ink);color:#fff}

/* CEO-LOCKED footer: horizontal on mobile AND desktop */
.footer{margin-top:44px!important;background:var(--ink)!important;color:#fff!important;padding:28px 24px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:22px!important;text-align:left!important}
.footer img{width:62px!important;height:62px!important;object-fit:contain!important;margin:0!important;flex:0 0 auto}
.footer-copy{font-size:26px!important;line-height:1.06!important;text-align:left!important}
.footer-copy span{display:block!important}

@media(max-width:760px){
 .shell{padding-left:12px!important;padding-right:12px!important}
 .site-topin{min-height:60px;gap:10px}.site-logo img{height:43px}.site-nav{display:none}.langs{margin-left:auto}
 .section-head{margin-top:30px}.section-head h2{font-size:34px!important}
 .group-card{padding:14px}.need-row{grid-template-columns:1fr}.yesno{justify-content:flex-start}
 .duration-grid{grid-template-columns:1fr 1fr}.duration{min-height:98px}
 .interest-card.street-selected .street-choice{grid-template-columns:1fr}
 .custom-address.show{grid-template-columns:1fr}.custom-address .smallbtn{height:40px}
 .child-grid{grid-template-columns:1fr}.child-panel{padding:17px}
 .footer{padding:25px 20px!important;gap:17px!important}.footer img{width:54px!important;height:54px!important}.footer-copy{font-size:22px!important}
}
@media(max-width:390px){
 .duration-grid{grid-template-columns:1fr 1fr}.dprice{font-size:20px!important}
 .site-logo img{height:40px}.lang{padding:6px 8px!important}
}

.interest-lock-note{margin:0 0 10px;padding:9px 11px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--coral);font-size:10px;color:var(--muted)}
.interest-card.locked .interest-main{opacity:.48}
.interest-card.locked .interest-main input{cursor:not-allowed}

.tour-lang-options{display:flex;flex-wrap:wrap;gap:6px}
.tour-lang-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 11px;font-size:9.5px;font-weight:900}
.tour-lang-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tour-lang-btn:disabled{opacity:.38;cursor:not-allowed}

.dep-inline-address{display:none;grid-column:1/-1;margin:9px 0 0 25px;padding:11px;background:var(--soft);border-radius:12px}
.dep-inline-address.show{display:grid;grid-template-columns:1fr auto;gap:7px}
.dep-inline-address input{height:40px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:inherit}
.dep-inline-address .smallbtn{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:0 14px;font-size:9.5px;font-weight:900}
.dep-inline-address .micro{grid-column:1/-1}
@media(max-width:760px){.dep-inline-address.show{grid-template-columns:1fr}.dep-inline-address{margin-left:0}}


/* V0.3.8 — finishing delta */
.breadcrumb{max-width:1080px;margin:0 auto;padding:10px 2px 4px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:9.5px;color:var(--muted)}
.breadcrumb a{color:var(--ink);font-weight:800}.breadcrumb span[aria-current="page"]{color:var(--muted)}
.included-section{margin-top:30px}
.included-head{margin-top:0!important}
.included-head h2{font-size:31px!important}
.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.included-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 12px;min-height:52px}
.included-item span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#eef8f6;color:#176d64;font-size:11px;font-weight:900;flex:0 0 auto}
.included-item b{font-size:10.5px;line-height:1.3;color:var(--ink)}
.included-note{display:none;margin-top:8px;padding:9px 11px;border-left:3px solid var(--coral);background:#fff7f8;color:#78464b;font-size:9.5px;line-height:1.45}
.included-note.show{display:block}
.base-comfort-note{display:none;margin-top:13px;padding:10px 11px;background:#f1faf8;border-left:3px solid var(--teal);color:#315f5b;font-size:9.5px;line-height:1.45}
.base-comfort-note.show{display:block}.base-comfort-note b{display:block;color:var(--ink);font-size:10.5px;margin-bottom:2px}
.sel-meta{display:inline-flex!important;background:var(--ink)!important;color:#fff!important;border-radius:999px!important;padding:6px 9px!important;font-family:Inter,Montserrat,system-ui,sans-serif!important;font-size:8.5px!important;letter-spacing:.08em!important}
.end-section{margin-top:10px}.end-list{display:grid;gap:7px}
.end-option{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 13px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;cursor:pointer}
.end-option.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.end-radio{width:16px;height:16px;border:1.5px solid #aaa6b5;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.end-option.active .end-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink)}
.end-copy b{display:block;color:var(--ink);font-size:11.5px}.end-copy small{display:block;color:var(--muted);font-size:9px;margin-top:2px;line-height:1.4}
.end-address{display:none;grid-column:1/-1;margin:6px 0 0 25px;padding:10px;background:var(--soft);border-radius:11px}
.end-address.show{display:block}.end-address input{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:inherit}
.gastro-visual{margin-top:10px;border-radius:12px;overflow:hidden;position:relative}
.gastro-visual img{width:100%;height:180px;object-fit:cover;object-position:50% 48%;display:block}
.gastro-visual span{position:absolute;left:9px;top:9px;background:rgba(42,42,98,.88);color:#fff;padding:6px 8px;border-radius:7px;font-size:8.5px;font-weight:900}
.lang-field{margin-top:14px}
@media(max-width:760px){
 .breadcrumb{padding-left:2px;padding-right:2px}
 .included-grid{grid-template-columns:1fr 1fr}.included-head h2{font-size:28px!important}
 .end-address{margin-left:0}
 .gastro-visual img{height:150px}
}
@media(max-width:390px){.included-grid{grid-template-columns:1fr}}


/* V039 delta — premium alignment / lighter UX */
.group-summary.direct-group-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.group-stepper-wrap{display:flex;justify-content:flex-end}
.group-editor,.link-btn#editGroup{display:none!important}
.compact-stepper{display:grid!important;grid-template-columns:42px 62px 42px;width:max-content;height:42px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.compact-stepper button{border:0;background:#fff;color:var(--ink);font-size:18px}
.compact-stepper span{display:grid;place-items:center;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:13px;font-weight:900;color:var(--ink)}
.need-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.need-row small{margin-top:4px}
.check-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;padding:0;margin-top:2px}
.check-toggle .check-box{width:16px;height:16px;border:1.5px solid #a9a5b3;border-radius:4px;display:grid;place-items:center;position:relative}
.check-toggle.on{border-color:var(--ink);background:#fafafe}
.check-toggle.on .check-box{border-color:var(--ink);background:var(--ink)}
.check-toggle.on .check-box:after{content:"";width:8px;height:8px;background:#fff;clip-path:polygon(14% 44%,0 58%,40% 100%,100% 21%,86% 9%,40% 67%)}
.included-section{margin-top:28px;padding:18px 18px 16px;background:#f4f3f8;border:1px solid var(--line);border-radius:0}
.included-head .section-kicker{display:none}
.included-head h2{font-size:22px!important;line-height:1.2!important;margin:0 0 12px!important;color:var(--ink)}
.included-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.included-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:0;padding:14px 14px;min-height:74px}
.included-item span{width:18px;height:18px;border-radius:0;background:transparent;color:#28a895;font-size:14px;flex:0 0 auto}
.included-item b{font-size:11px;line-height:1.35;color:var(--ink)}
.included-note{margin-top:10px;border-left:0;background:#fff;border:1px solid #ead6db;color:#7a5057;padding:10px 12px}
.base-comfort-note{display:none!important}
.comfort-backdrop{display:none;position:fixed;inset:0;background:rgba(16,18,32,.42);z-index:79}
.comfort-backdrop.show{display:block}
.comfort-review{display:none}
.comfort-review.show{display:grid!important;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:80;width:min(92vw,560px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 16px 16px;box-shadow:0 24px 70px rgba(0,0,0,.22);gap:16px}
.comfort-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:var(--ink);font-size:28px;line-height:1;cursor:pointer}
.comfort-review-copy .section-kicker{margin-bottom:4px}
.comfort-review-copy b{display:block;font-size:18px;line-height:1.25;color:var(--ink);margin-bottom:6px}
.comfort-review-copy p{font-size:12px;line-height:1.55;color:var(--muted)}
.comfort-options{display:grid;grid-template-columns:1fr;gap:8px}
.comfort-option{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 12px;border-radius:14px;text-align:left;font-size:11px;line-height:1.4;font-weight:800}
.comfort-option.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fafafe}
@media(max-width:760px){
 .group-summary.direct-group-summary{grid-template-columns:1fr}
 .group-stepper-wrap{justify-content:flex-start}
 .included-grid{grid-template-columns:1fr 1fr}
 .included-item{min-height:68px;padding:13px 12px}
 .comfort-review.show{width:min(94vw,560px);padding:16px 14px 14px}
}
@media(max-width:420px){
 .included-grid{grid-template-columns:1fr}
}


/* V0.4.0 — Princess-derived public product visual grammar */
:root{--page:#ffffff;--panel:#f6f5fa;--ink:#2A2A62;--muted:#777783;--line:#dedde3;--teal:#31b5aa;--coral:#e04a5a}
html,body{background:#fff!important}
body{color:#2f2f3b!important}
.shell{background:#fff!important}
main{background:#fff!important}
section,.panel,.group-card,.duration-wrap,.programme,.selection-card,.interest-card,.dep,.end-option,.details details,.mapbox,.child-panel{box-shadow:none!important}
.group-card,.duration,.selection-card,.interest-card,.dep,.end-option,.panel,.programme,.details details,.child-panel,.mapbox,.included-item,.dep-inline-address,.end-address,.field input,.field select,.mobility-detail textarea,.tour-lang-btn,.check-toggle,.compact-stepper{border-radius:0!important}
.group-card,.panel{background:var(--panel)!important;border:1px solid var(--line)!important}
.section-head{border-top:1px solid var(--line);padding-top:28px;margin-top:38px!important}
.section-kicker,.eyebrow{color:var(--coral)!important;letter-spacing:.14em!important;font-weight:900!important}
.section-head h2{color:var(--ink)!important}
.intro,.lede{color:var(--muted)!important}
/* Global shell closer to Princess: top utility row + horizontal nav */
.site-top{position:relative!important;background:#fff!important;border-bottom:1px solid var(--line)!important;backdrop-filter:none!important}
.site-topin{display:grid!important;grid-template-columns:auto 1fr auto!important;grid-template-areas:'logo nav langs'!important;align-items:center!important;gap:18px!important;min-height:76px!important}
.site-logo{grid-area:logo}.site-nav{grid-area:nav;display:flex!important;overflow-x:auto!important;gap:22px!important;margin-left:0!important;color:#595967!important;font-size:10.5px!important}.langs{grid-area:langs}
.site-nav a{border-bottom:3px solid transparent!important;text-decoration:none!important;color:inherit!important;padding:29px 0 22px!important}
.site-nav a.active{border-bottom-color:var(--teal)!important;color:var(--ink)!important}
.lang{border-radius:0!important;background:#fff!important;border:1px solid var(--line)!important}.lang.active{background:var(--ink)!important;color:#fff!important}
.breadcrumb{border-bottom:1px solid var(--line);padding-top:11px!important;padding-bottom:11px!important}
/* Group */
.group-card{padding:18px!important}
.group-summary.direct-group-summary{padding-bottom:14px;border-bottom:1px solid var(--line)}
.compact-stepper{height:44px!important;border:1px solid #cfcdd6!important;background:#fff!important}
.compact-stepper button,.compact-stepper span{background:#fff!important}
.need-row{padding:14px 0 0!important;border-top:1px solid var(--line)!important}
.check-toggle{width:32px!important;height:32px!important;background:#fff!important;border:1px solid #bdbac5!important}
/* Duration pricing cards: square, flatter, Princess-like */
.duration-grid{gap:10px!important}
.duration{background:#fff!important;border:1px solid var(--line)!important;min-height:112px!important;padding:14px 9px!important}
.duration.selected{border:2px solid var(--ink)!important;background:#fff!important;box-shadow:none!important}
.dtime{font-size:12px!important;color:var(--ink)!important}.dprice{font-size:25px!important}.dsub{font-size:8.8px!important;color:var(--muted)!important}.dbadge{color:var(--coral)!important}
.selection-card{border:1px solid var(--line)!important;background:#fff!important;padding:18px!important}
.sel-meta{border-radius:0!important;background:transparent!important;color:var(--coral)!important;padding:0!important}
/* Interests */
.interest-card{border:1px solid var(--line)!important;background:#fff!important}
.interest-card.selected{border-left:4px solid var(--teal)!important;box-shadow:none!important}
.interest-main{padding:15px 16px!important}.interest-actions{padding:0 16px!important}.interest-body{background:#fff!important}
.interest-main input{accent-color:var(--ink)}
.interest-more{color:var(--ink)!important}.selection-alert{background:#fff!important;border:1px solid #eadcdf!important;border-left:4px solid var(--coral)!important}
/* Departure / end */
.dep,.end-option{border:1px solid var(--line)!important;background:#fff!important;padding:14px 15px!important}
.dep.active,.end-option.active{border:2px solid var(--ink)!important;box-shadow:none!important}
.dep .rec{color:var(--teal)!important}.dep-map{color:var(--ink)!important}
.dep-inline-address,.end-address{background:var(--panel)!important;border:1px solid var(--line)!important}
/* Inputs */
.field input,.field select,#addressInput,#endAddressInput{background:#fff!important;border:1px solid var(--line)!important;color:#2f2f3b!important;min-height:54px!important}
.field input:focus,.field select:focus,#addressInput:focus,#endAddressInput:focus{outline:2px solid #1f1f25!important;outline-offset:-2px}
.tour-lang-btn{border:1px solid var(--line)!important;background:#fff!important}.tour-lang-btn.on{background:var(--ink)!important;color:#fff!important}
/* Useful info accordions, same rectilinear rhythm as Princess */
.details{display:grid!important;gap:10px!important}.details details{border:1px solid var(--line)!important;background:#fff!important;padding:0 18px!important}.details summary{min-height:72px!important;font-size:12px!important}.details summary:after{color:var(--coral)!important;font-size:25px!important}
.included-inside{padding-bottom:16px!important}.included-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.included-item{background:#fff!important;border:1px solid var(--line)!important;min-height:74px!important;padding:14px 14px!important}.included-item span{background:transparent!important;color:var(--teal)!important;border-radius:0!important;font-size:15px!important}.included-item b{font-size:10.5px!important}
.included-note{border-left:0!important;border:1px solid #eadcdf!important;background:#fff!important}
/* Comfort modal */
.comfort-review.show{border-radius:0!important;border:1px solid var(--line)!important;box-shadow:0 24px 70px rgba(0,0,0,.18)!important}.comfort-option{border-radius:0!important}.comfort-option.active{background:var(--panel)!important}
/* Programme/details */
.programme{background:#fff!important;border:1px solid var(--line)!important}.benefit{background:var(--panel)!important}
/* Sticky: use Princess visual grammar */
.sticky{bottom:0!important;width:min(1080px,100%)!important;border-radius:0!important;background:var(--ink)!important;padding:14px 18px!important;box-shadow:0 -4px 20px rgba(20,20,50,.14)!important}
.sticky b{font-family:Georgia,'Times New Roman',serif!important;font-size:21px!important;font-weight:500!important}.sticky small{font-size:10px!important;margin-top:3px!important}.sticky button{background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:0!important;min-height:54px!important;padding:0 18px!important;font-weight:900!important}
/* footer remains CEO horizontal lock */
.footer{border-radius:0!important}
@media(max-width:760px){
 .site-topin{grid-template-columns:auto auto!important;grid-template-areas:'logo langs' 'nav nav'!important;gap:0 12px!important;min-height:0!important}.site-logo{padding:14px 0 8px}.langs{justify-self:end}.site-nav{padding-bottom:0!important;gap:22px!important}.site-nav a{padding:14px 0 12px!important}
 .section-head{padding-top:24px!important;margin-top:32px!important}.duration-grid{grid-template-columns:1fr 1fr!important}.included-grid{grid-template-columns:1fr 1fr!important}.sticky{left:0!important;transform:none!important;width:100%!important}
}
@media(max-width:390px){.included-grid{grid-template-columns:1fr!important}.sticky{padding:12px!important}.sticky b{font-size:18px!important}.sticky button{min-height:50px!important;padding:0 14px!important}}


/* V0.4.1 — shell + comfort clarity + departure alignment */
.site-top{background:#fff;border-bottom:1px solid var(--line)}
.site-topin{height:78px}
.my-osl{margin-left:auto;background:var(--ink);color:#fff!important;padding:14px 17px;font-size:10px;font-weight:900;white-space:nowrap}
.site-topin .langs{margin-left:0}
.site-nav-row{border-top:1px solid #efedf2;border-bottom:1px solid var(--line);background:#fff}
.site-nav-row .site-nav{width:min(1180px,calc(100% - 40px));margin:0 auto;display:flex;gap:28px;align-items:center;overflow-x:auto;white-space:nowrap;scrollbar-width:none;font-size:10.5px;font-weight:800;color:#56566a}
.site-nav-row .site-nav::-webkit-scrollbar{display:none}
.site-nav-row .site-nav a{padding:14px 0 12px;border-bottom:3px solid transparent}
.site-nav-row .site-nav a.active{color:var(--ink);border-bottom-color:var(--teal)}
.breadcrumb{width:min(1180px,calc(100% - 40px));max-width:none;margin:0 auto;padding:10px 0 8px;display:flex;gap:7px;align-items:center;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;border-bottom:0}
.breadcrumb::-webkit-scrollbar{display:none}
.breadcrumb span[aria-current="page"]{flex:0 0 auto;padding-right:6px}
.group-allocation{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.group-allocation.show{display:block}
.group-allocation-title b{display:block;color:var(--ink);font-size:11.5px}
.group-allocation-title small{display:block;color:var(--muted);font-size:9.5px;line-height:1.45;margin-top:4px}
.allocation-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.allocation-option{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px;text-align:left;min-height:72px}
.allocation-option.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.allocation-option .alloc-label{display:block;font-size:11px;font-weight:900}
.allocation-option .alloc-badge{display:inline-block;margin-top:4px;font-size:8.5px;font-weight:900;color:var(--teal);text-transform:uppercase;letter-spacing:.06em}
.allocation-option .alloc-meta{display:block;margin-top:5px;font-size:9px;color:var(--muted)}
.dep-address-action{border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:900;text-decoration:underline;padding:5px}
@media(max-width:760px){
 .site-topin{width:calc(100% - 28px);height:72px;gap:9px}
 .site-logo img{height:48px}
 .my-osl{padding:12px 13px;font-size:9.5px}
 .site-nav-row .site-nav,.breadcrumb{width:calc(100% - 28px)}
 .site-nav-row .site-nav{gap:24px}
 .langs .lang{padding:7px 8px}
 .allocation-options{grid-template-columns:1fr}
}
@media(max-width:390px){
 .my-osl{padding:11px 12px}
 .site-topin .langs{gap:3px}
}


/* V0.4.2 FINAL CANDIDATE — approved mobile shell + regression repair */
.site-top{position:relative!important;background:#fff!important;border-bottom:0!important;backdrop-filter:none!important}
.site-topin{
  width:min(1180px,calc(100% - 40px))!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  min-height:78px!important;
  height:auto!important;
  gap:12px!important;
  grid-template-columns:none!important;
  grid-template-areas:none!important;
}
.site-logo{flex:0 0 auto!important;padding:0!important}
.site-logo img{height:50px!important;width:auto!important}
.my-osl{
  margin-left:0!important;
  background:var(--ink)!important;
  color:#fff!important;
  padding:14px 17px!important;
  font-size:10px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.site-topin .langs{display:flex!important;margin-left:auto!important;gap:5px!important}
.mobile-lang-wrap{display:none;position:relative}
.mobile-lang{border:1px solid #d2cfda;background:#fff;color:var(--ink);min-width:54px;height:42px;padding:0 10px;font-size:10px;font-weight:900}
.mobile-lang-menu{display:none;position:absolute;right:0;top:48px;z-index:120;background:#fff;border:1px solid var(--line);min-width:150px;box-shadow:0 12px 28px rgba(31,31,55,.12)}
.mobile-lang-menu.show{display:grid}
.mobile-lang-menu button{border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;padding:11px 12px;font-size:10px;font-weight:800}
.mobile-lang-menu button:last-child{border-bottom:0}
.site-nav-row{background:#fff!important;border-top:1px solid #efedf2!important;border-bottom:1px solid var(--line)!important}
.site-nav-row .site-nav{
  width:min(1180px,calc(100% - 40px))!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
  color:#56566a!important;
  font-size:10.5px!important;
  font-weight:800!important;
}
.site-nav-row .site-nav::-webkit-scrollbar{display:none}
.site-nav-row .site-nav a{padding:14px 0 12px!important;border-bottom:3px solid transparent!important}
.site-nav-row .site-nav a.active{color:var(--ink)!important;border-bottom-color:var(--teal)!important}
.breadcrumb{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:10px 0 8px!important;
  display:flex!important;
  gap:7px!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
}
.breadcrumb::-webkit-scrollbar{display:none}
.mobile-back-hub{display:none!important}

/* Explicitly restore dynamic areas */
.interest-section{display:block!important}
.interest-list{display:grid!important}
.departure-grid{display:block!important}
.departure-list{display:grid!important}

/* Stable mobile header */
@media(max-width:760px){
  .site-topin{
    width:calc(100% - 28px)!important;
    min-height:70px!important;
    gap:8px!important;
  }
  .site-logo img{height:46px!important}
  .mobile-lang-wrap{display:block!important;margin-left:auto!important}
  .site-topin .langs{display:none!important}
  .my-osl{
    margin-left:0!important;
    padding:12px 13px!important;
    font-size:9.5px!important;
  }
  .site-nav-row .site-nav{
    width:calc(100% - 28px)!important;
    gap:24px!important;
  }
  .breadcrumb{
    width:calc(100% - 28px)!important;
    padding:9px 0!important;
  }
  .breadcrumb > *:not(.mobile-back-hub){display:none!important}
  .mobile-back-hub{
    display:inline-flex!important;
    color:var(--ink)!important;
    font-weight:900!important;
    font-size:10px!important;
  }
}
@media(max-width:390px){
  .site-topin{gap:6px!important}
  .site-logo img{height:42px!important}
  .my-osl{padding:11px 11px!important;font-size:9px!important}
  .mobile-lang{min-width:50px;height:40px;padding:0 8px}
}


/* V0.4.5 — conversion contract harmonisation */
.project-context{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid var(--line);border-left:4px solid var(--teal);padding:12px 14px;background:#fff;margin-bottom:10px}.project-context>div{display:flex;flex-direction:column;gap:3px}.project-context-kicker{font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--coral);font-weight:900}.project-context strong{font-size:12px;color:var(--ink);line-height:1.4}.project-context small{font-size:9px;color:var(--muted);line-height:1.35}.project-context button{border:0;background:transparent;color:var(--ink);font-size:9.5px;font-weight:900;text-decoration:underline;padding:0;white-space:nowrap}
.request-prep{border:1px solid var(--line);background:var(--soft);margin-bottom:14px}.request-prep>summary{list-style:none;cursor:pointer;padding:13px 14px;font-size:11px;font-weight:900;color:var(--ink);display:flex;align-items:center;justify-content:space-between}.request-prep>summary::-webkit-details-marker{display:none}.request-prep>summary:after{content:'+';color:var(--coral);font-size:20px}.request-prep[open]>summary:after{content:'−'}.request-prep-body{padding:0 14px 14px}.request-prep-body .when-grid{margin-top:0}
.actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.actions .primary,.actions .secondary{border-radius:0!important;min-height:54px!important;font-size:11px!important;font-weight:900!important}.actions .primary{background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important}.actions .secondary{background:#fff!important;color:var(--ink)!important;border:1px solid var(--ink)!important}.actions .secondary.in-program{background:#f1faf8!important;color:#286b65!important;border-color:#8fc4bd!important}
.sticky{padding:12px 18px max(12px,env(safe-area-inset-bottom))!important;align-items:center!important;gap:12px!important}.sticky-copy{display:flex;flex-direction:column;min-width:0}.sticky-copy small{font-size:8.5px!important;color:rgba(255,255,255,.72)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky-copy strong{font:500 22px Georgia,serif!important;color:#fff!important;line-height:1.08}.sticky-copy span{display:block;font-size:9.5px;font-weight:800;color:rgba(255,255,255,.8);margin-top:2px;white-space:nowrap}.sticky button{border-radius:0!important;min-height:50px!important;padding:0 17px!important;font-size:10px!important;white-space:nowrap}body{padding-bottom:88px}
@media(max-width:430px){.sticky{padding-left:12px!important;padding-right:12px!important}.sticky-copy strong{font-size:20px!important}.sticky button{min-height:48px!important;padding:0 13px!important}.request-prep-body{padding-left:12px;padding-right:12px}}


/* OSL Tuk-tuk V0.4.6 — early essentials + soft informational sticky */
.mobile-lang,.my-osl{
  height:40px!important;min-height:40px!important;box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;
}
.mobile-lang{min-width:44px!important;padding:0 10px!important}
.my-osl{padding-top:0!important;padding-bottom:0!important}
.early-booking-panel{margin-bottom:34px}
.early-booking-panel .lang-field{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.final-recap-head{margin-top:42px}
.sticky{justify-content:flex-start!important;padding:12px 18px!important;pointer-events:none}
.sticky-copy{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"context context" "total pp";align-items:end;gap:3px 16px}
#stickyContext{grid-area:context}
#stickyTotal{grid-area:total}
#stickyPerPerson{grid-area:pp;text-align:right;font-weight:800}
@media(max-width:760px){.sticky{padding:12px 16px!important}.sticky-copy{gap:2px 12px}}
@media(max-width:390px){#stickyPerPerson{font-size:10px}.sticky-copy{gap:2px 8px}}


/* V0.4.8 — MICRO-FRICTION RADAR implementation */
/* One binary-control grammar: compact square LEFT, whole row clickable. */
.needs .need-row{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  padding:14px 0 0!important;
  cursor:pointer!important;
}
.needs .need-row .check-toggle{
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
  padding:0!important;margin:1px 0 0!important;border:0!important;background:transparent!important;
  display:grid!important;place-items:center!important;
}
.needs .need-row .check-toggle .check-box{
  width:18px!important;height:18px!important;border:1.5px solid #aaa8b4!important;border-radius:2px!important;background:#fff!important;
}
.needs .need-row .check-toggle.on .check-box{background:var(--ink)!important;border-color:var(--ink)!important}
.needs .need-row b{font-size:12px!important;line-height:1.35!important}
.needs .need-row small{font-size:10px!important;line-height:1.4!important;margin-top:3px!important}
#childSummary.need-state:empty{display:none!important}
#childSummary.need-state{color:var(--teal)!important;font-weight:700!important}
#childEligibilityHint{display:block!important;color:var(--muted)!important;font-weight:500!important}

/* Child modal: content-sized, compact, no vertical cathedral. */
#childModal{padding:12px!important;align-items:center!important}
#childModal .child-panel{
  width:min(600px,calc(100vw - 24px))!important;
  max-height:min(78vh,640px)!important;
  overflow:auto!important;
  padding:18px 20px!important;
  border-radius:0!important;
}
#childModalKicker{font-size:10px!important;margin-bottom:4px!important}
#childModalTitle{font-size:26px!important;line-height:1.08!important;margin:0 0 5px!important}
#childModalIntro{font-size:11px!important;line-height:1.45!important;margin:0!important}
#childUnder7Modal{
  display:inline-block!important;margin:10px 0 12px!important;padding:7px 9px!important;
  border-left:3px solid var(--coral)!important;background:#faf9fc!important;
  color:var(--ink)!important;font-size:10px!important;line-height:1.35!important;font-weight:700!important;
}
#childModal .child-count-line{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  padding:10px 0!important;margin:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;
}
#childModal .child-count-line b{font-size:11px!important}
#childModal .compact-stepper{height:36px!important}
#childModal .compact-stepper button{width:38px!important;height:36px!important;font-size:18px!important}
#childModal .compact-stepper span{min-width:48px!important;height:36px!important;display:grid!important;place-items:center!important;font-size:14px!important}
#childRows{display:grid!important;gap:8px!important;margin-top:10px!important}
#childRows .child-row{padding:10px!important;border:1px solid var(--line)!important;background:#fff!important}
#childRows .child-row>strong{display:block!important;font-size:10px!important;margin:0 0 7px!important}
#childRows .child-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
#childRows .child-grid label{font-size:8px!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:800!important;color:var(--muted)!important}
#childRows .child-grid input{
  width:100%!important;height:38px!important;min-height:38px!important;margin-top:4px!important;padding:0 7px!important;
  border:1px solid var(--line)!important;border-radius:0!important;font-size:15px!important;background:#fff!important;
}
#childNote{font-size:9.5px!important;line-height:1.4!important;margin:10px 0 0!important;padding:9px 10px!important;background:var(--soft)!important}
#childModal .modal-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:12px!important}
#childModal .modal-actions button{
  min-height:40px!important;padding:0 16px!important;border-radius:0!important;font-size:10px!important;font-weight:800!important;
}
#childModal .modal-actions .cancel{border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important}
#childModal .modal-actions .save{border:1px solid var(--ink)!important;background:var(--ink)!important;color:#fff!important}
@media(max-width:430px){
 #childModal{padding:8px!important}
 #childModal .child-panel{width:calc(100vw - 16px)!important;max-height:82vh!important;padding:15px!important}
 #childModalTitle{font-size:23px!important}
 #childRows .child-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
 #childRows .child-grid input{height:36px!important;min-height:36px!important;font-size:14px!important;padding:0 5px!important}
 #childModal .modal-actions button{min-height:38px!important;padding:0 13px!important}
}

/* Remove duplicated bottom reserves that created the white desert below the OSL footer. */
html,body{padding-bottom:0!important}
.shell{padding-bottom:0!important}
body.sticky-active .footer{padding-bottom:calc(25px + 82px)!important}


/* V0.4.9 — slot semantics + recap alignment */
.trip-basics .when-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)!important;
  gap:12px!important;
  align-items:end!important;
}
.trip-basics .field{min-width:0!important}
.trip-basics input,.trip-basics select{width:100%!important;box-sizing:border-box!important}
#backupSlot[hidden]{display:none!important}
#backupToggle{
  margin-top:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:42px!important;
}
.final-recap-head .section-kicker{margin-bottom:8px!important}
#tukProjectKicker{color:var(--coral)!important}
@media(max-width:390px){
  .trip-basics .when-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important;gap:8px!important}
  .trip-basics label{font-size:11px!important}
}


/* V0.5.0 — Princess calm / sophistication */
.early-booking-panel{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  padding:12px!important;
  box-shadow:none!important;
}
.early-booking-panel .when-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:8px!important;
  align-items:end!important;
}
.early-booking-panel label{
  font-size:8.5px!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  color:var(--muted)!important;
  font-weight:900!important;
}
.early-booking-panel input,
.early-booking-panel select{
  height:38px!important;
  min-height:38px!important;
  margin-top:5px!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  padding:0 8px!important;
  color:var(--ink)!important;
}
#backupToggle{
  min-height:auto!important;
  padding:7px 0!important;
  margin-top:8px!important;
  border:0!important;
  background:transparent!important;
  text-decoration:underline!important;
  font-size:10px!important;
  font-weight:900!important;
}
#backupSlot{
  margin-top:6px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
}
.practical-head{margin-top:42px!important}
.practical-head h2{margin-top:5px!important}
.details{margin-top:12px!important}
.details details{
  border-radius:0!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  box-shadow:none!important;
  margin-top:8px!important;
}
.details summary{
  min-height:54px!important;
  padding:14px 16px!important;
}
.final-recap-head{margin-top:46px!important}
.final-recap-head .section-kicker{margin-bottom:6px!important}
.tuk-estimate{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid var(--line);
  background:#fff;
}
.tuk-estimate-main{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  padding-bottom:12px;
}
.tuk-estimate-main>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.tuk-estimate-main span,
.taxSummaryRow span{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  font-weight:900;
}
.tuk-estimate-main strong{
  color:var(--ink);
  font-size:20px;
}
.tuk-budget{text-align:right}
.tuk-budget strong{font-size:15px}
.taxSummary{
  border-top:1px solid var(--line);
  padding-top:10px;
}
.taxSummary[hidden]{display:none!important}
.taxSummaryRow{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:4px 0;
}
.taxSummaryRow strong{color:var(--ink);font-size:11px}
.taxSummaryNote{margin:6px 0 0!important;font-size:9px!important;color:var(--muted)!important}
#tukProjectContext{margin-bottom:0!important}
@media(max-width:390px){
  .early-booking-panel .when-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;gap:7px!important}
  .tuk-estimate-main{gap:10px}
  .tuk-estimate-main strong{font-size:18px}
}


#pricePP{display:none!important}
.duration .dsub{color:var(--muted)!important}


/* OSL 19/09 transverse adoption. Parent business journey = V0.5.3 LAST_KNOWN_SAFE. */
:root{--bg:#FFFFFF!important;--soft:#F6F6FA!important;--line:#E3E3EC!important;--mint:#F6F6FA!important;--warm:#F6F6FA!important}
body{background:#fff!important;font-family:Inter,Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif!important}
.shell{width:min(1160px,calc(100% - 36px))!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
.site-topin{width:min(1160px,calc(100% - 36px))!important;max-width:none!important}
.site-nav{font-size:14px!important}
.lang{min-height:44px!important;font-size:12px!important}
h1,.hero h1{font-size:44px!important}
h2,.section-head h2{font-size:34px!important}
h3{font-size:24px!important}
.eyebrow,.section-kicker,.section-head .section-kicker{font-size:12px!important}
.lede,.intro{font-size:16px!important;line-height:1.55!important}
.counter button,.compact-stepper button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.toggle,.yesno button,.tour-lang-btn,.smallbtn{min-height:44px!important;font-size:14px!important}
.field label{font-size:14px!important;text-transform:none!important;letter-spacing:0!important}
.field input,.field select,.child-fields input,.dep-inline-address input{min-height:48px!important;height:48px!important;font-size:16px!important}
.primary{min-height:48px!important;font-size:16px!important;padding:0 16px!important}
.secondary{min-height:44px!important;font-size:15px!important;padding:0 15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.ph-programme{width:20px;height:20px;display:block;flex:0 0 20px}
.program-help button{min-height:44px!important;font-size:14px!important;padding:0!important}
.statusbox{padding:12px 14px!important;background:#F6F6FA!important;border:1px solid #E3E3EC!important;color:#2A2A62!important;font-size:14px!important;line-height:1.5!important}
.programme p{font-size:16px!important}
.benefit,.moment,.programme-note{font-size:14px!important}
.details summary{min-height:44px!important;font-size:14px!important}
.details .inside{font-size:14px!important;line-height:1.55!important}
.micro,.need-hint,.comfort-copy,.theme-select small,.theme-body p,.theme-body ul,.theme-link{font-size:14px!important;line-height:1.45!important}
.sticky small{font-size:14px!important}.sticky b{font-size:15px!important}.sticky button{min-height:44px!important;font-size:15px!important}
@media(max-width:760px){
 .shell{width:calc(100% - 24px)!important;padding-left:0!important;padding-right:0!important}
 .site-topin{width:calc(100% - 24px)!important}
 h1,.hero h1{font-size:34px!important}
 h2,.section-head h2{font-size:28px!important}
 .sticky{position:fixed!important;left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:auto!important;transform:none!important;z-index:95!important;background:#2A2A62!important;padding:10px 11px!important;box-shadow:0 12px 32px rgba(20,20,52,.28)!important}
}


/* V0.5.5 — CEO mobile review repair, 19/09/2026. DELTA ONLY. */
/* 1) Duration result must be noticeable and read before interests. */
.selection-card.show{
  background:#F6F6FA!important;
  border:1px solid #E3E3EC!important;
  border-left:4px solid #2A2A62!important;
  box-shadow:none!important;
  padding:16px 18px!important;
}
.selection-card.show h3{margin:7px 0 5px!important;font-size:22px!important;line-height:1.18!important}
.selection-card.show .sel-fit{font-size:15px!important;line-height:1.5!important;color:#5f6073!important;margin:0!important}
.selection-card.show .price-detail{font-size:13px!important}
.selection-card.v054-focus{animation:v054Pulse .75s ease-out}
@keyframes v054Pulse{0%{box-shadow:0 0 0 0 rgba(42,42,98,.18)}100%{box-shadow:0 0 0 8px rgba(42,42,98,0)}}

/* 2) Editorial guide links do not belong in this Product surface. */
.theme-link{display:none!important}

/* 3) Departure maps live inside the departure card that triggered them. */
.departure-grid{display:block!important}
.departure-list{display:grid!important;gap:8px!important}
#mapBox{display:none!important}
.dep{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px 12px!important}
.dep-map-inline{grid-column:1/-1;margin-top:3px;border-top:1px solid var(--line);padding-top:10px}
.dep-map-inline[hidden]{display:none!important}
.dep-map-inline .mapbar{border:0!important;padding:0!important;height:auto!important;font-size:13px!important;justify-content:flex-end!important}
.dep-map-inline iframe{display:block;width:100%;height:240px;border:1px solid var(--line)!important;background:#F6F6FA}
.dep-map-inline .map-close{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:28px;line-height:1;font-weight:500;padding:0;border-radius:999px}
.dep-map-inline .map-close:hover,.dep-map-inline .map-close:focus-visible{background:var(--soft);outline:none}

/* 4) End-address selection: lighter, less box-inside-box. */
.end-option{border:1px solid var(--line)!important;border-radius:0!important;padding:14px 15px!important;background:#fff!important}
.end-option.active{border-color:var(--line)!important;box-shadow:none!important;background:#F6F6FA!important}
.end-address{margin:10px 0 0 31px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
.end-address input{height:48px!important;border:1px solid #cfd0d8!important;border-radius:0!important;background:#fff!important;padding:0 14px!important;font-size:16px!important;color:var(--text)!important;outline:none!important}
.end-address input:focus{border-color:var(--ink)!important;box-shadow:0 0 0 2px rgba(42,42,98,.10)!important}

/* 5) Human-readable dates with weekday. */
.date-friendly{margin-top:6px;color:var(--ink);font-size:14px;font-weight:700;line-height:1.35;min-height:19px}
.date-friendly:empty{display:none}

/* 6) Programme is a compact toggle, not a second explainer page. */
.program-help,.programme{display:none!important}
.programme-inline-copy{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.actions .secondary.in-program{background:#F6F6FA!important;color:var(--ink)!important;border-color:var(--ink)!important}
.statusbox{background:#F6F6FA!important;border-color:var(--line)!important;color:var(--ink)!important;font-size:14px!important}

/* 7) Availability modal. */
.availability-modal{position:fixed;inset:0;z-index:140;background:rgba(14,14,34,.72);display:none;align-items:center;justify-content:center;padding:16px}
.availability-modal.open{display:flex}
.availability-panel{position:relative;width:min(620px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line);padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.24)}
.availability-panel h3{margin:5px 48px 8px 0;font:500 30px/1.08 Georgia,"Times New Roman",serif;color:var(--ink)}
.availability-panel>p{color:var(--muted);font-size:14px;line-height:1.5}
.availability-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:24px;cursor:pointer}
.availability-summary{margin:16px 0;background:#F6F6FA;border-left:3px solid var(--ink);padding:12px 14px;color:var(--ink)!important;font-size:14px!important;font-weight:700}
.availability-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.availability-fields label{display:block;color:var(--ink);font-size:14px;font-weight:700}
.availability-fields label:last-child{grid-column:1/-1}
.availability-fields input,.availability-fields textarea{display:block;width:100%;margin-top:6px;border:1px solid #cfd0d8;border-radius:0;background:#fff;padding:12px 13px;font:inherit;font-size:16px;outline:none}
.availability-fields input{height:48px}.availability-fields textarea{min-height:88px;resize:vertical}
.availability-fields input:focus,.availability-fields textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px rgba(42,42,98,.10)}
.availability-reassurance{margin:14px 0 0!important;font-size:13px!important}
.availability-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.availability-actions button{min-height:44px;padding:0 16px;border-radius:0;font-weight:800;font-size:14px;cursor:pointer}
.availability-cancel{border:1px solid var(--ink);background:#fff;color:var(--ink)}
.availability-submit{border:1px solid var(--ink);background:var(--ink);color:#fff}
.availability-preview-note{margin:10px 0 0!important;font-size:12px!important;color:var(--muted)!important}

/* 8) Footer must share the same mobile chassis as the sticky rather than look truncated. */
.footer{width:100vw!important;margin-left:calc(50% - 50vw)!important;box-sizing:border-box!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
.footer img{flex:0 0 auto!important}
.footer-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;flex:1 1 auto!important;min-width:0!important}
.footer-copy span{display:block!important;white-space:nowrap!important}
.sticky-dock-slot{display:none;width:100%;background:transparent}
.sticky-dock-slot.active{display:block}
.sticky.docked{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:calc(100vw - 20px)!important;margin:0 0 -1px calc(50% - 50vw + 10px)!important;z-index:95!important}

@media(max-width:720px){
  .availability-fields{grid-template-columns:1fr}
  .availability-fields label:last-child{grid-column:auto}
  .availability-panel{padding:18px}
  .availability-panel h3{font-size:27px}
  .footer{padding-top:22px!important;padding-bottom:max(20px,env(safe-area-inset-bottom))!important;gap:12px!important;justify-content:flex-start!important}
  .footer img{width:52px!important;height:52px!important}
  .footer-copy{font-size:clamp(18px,5.5vw,22px)!important;line-height:1.08!important}
  .dep{grid-template-columns:minmax(0,1fr) auto!important}
  .dep-map-inline iframe{height:220px}
  .end-address{margin-left:25px!important}
}


/* V0.5.5 — CEO premium restore.
   Rule: effective touch target and visual density are separate concerns. */

/* Departure choices return to a compact left-to-right decision row:
   radio → place → secondary action. */
.departure-list{gap:7px!important}
.dep{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:0 10px!important;
  min-height:56px!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.dep.active{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)!important}
.dep-select{display:contents!important}
.dep-radio{grid-column:1!important;margin-left:13px!important}
.dep-select>span:nth-child(2){grid-column:2!important;padding:10px 0!important;text-align:left!important}
.dep-select b{display:block!important;font-size:13px!important;line-height:1.25!important;text-align:left!important}
.dep-select small{display:block!important;margin-top:2px!important;font-size:10px!important;line-height:1.25!important;text-align:left!important}
.dep-map,.dep-address-action{
  grid-column:3!important;
  align-self:stretch!important;
  min-width:112px!important;
  min-height:54px!important;
  border:0!important;
  border-left:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--ink)!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:800!important;
  text-align:center!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.dep-map:hover,.dep-map:focus-visible,.dep-address-action:hover,.dep-address-action:focus-visible{background:#F6F6FA!important}
.dep-map-inline{grid-column:1/-1!important;margin:0!important;padding:12px!important;border-top:1px solid var(--line)!important;background:#F6F6FA!important}
.dep-map-inline .mapbar{padding:0!important}
.dep-map-inline iframe{height:230px!important;background:#fff!important}
.dep-inline-address{grid-column:1/-1!important;margin:0!important;padding:12px!important;border-top:1px solid var(--line)!important;background:#F6F6FA!important}
.dep-inline-address input{height:46px!important;border:1px solid #cfd0d8!important;background:#fff!important;padding:0 12px!important;font-size:15px!important}
.dep-inline-address .smallbtn{min-height:46px!important}

/* Preferred + backup slot must remain easy to find without opening a large panel. */
#backupToggle{
  display:inline-flex!important;
  align-items:center!important;
  min-height:44px!important;
  margin-top:6px!important;
  padding:0 2px!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.backup-slot{margin-top:4px!important;padding:12px!important;background:#fff!important;border:1px solid var(--line)!important}

/* Availability completion is a compact operational form, not marketing. */
.availability-fields{grid-template-columns:1fr 1fr!important}
.availability-fields label:last-child{grid-column:1/-1!important}
.availability-fields label{font-size:12px!important}
.availability-fields input,.availability-fields textarea{font-size:15px!important}
.availability-reassurance{font-size:12px!important}

/* Sylvie V14 sticky chassis — full width, quiet, continuous with the footer.
   Content adapts; chassis does not become an inset floating card. */
.sticky,
.sticky.docked{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  width:100%!important;
  margin:0!important;
  z-index:95!important;
  background:var(--ink)!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.sticky.show{display:block!important}
.sticky-copy{
  width:min(920px,100%)!important;
  min-height:70px!important;
  margin:0 auto!important;
  padding:10px 18px calc(10px + env(safe-area-inset-bottom))!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"context budget" "total budget"!important;
  align-items:center!important;
  column-gap:18px!important;
}
.sticky small{
  grid-area:context!important;
  margin:0 0 2px!important;
  color:#fff!important;
  opacity:.68!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.sticky strong{
  grid-area:total!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:20px!important;
  line-height:1.08!important;
  font-weight:500!important;
}
.sticky span{
  grid-area:budget!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  opacity:.92!important;
}
.sticky-dock-slot,.sticky-dock-slot.active{display:none!important}

/* Same full-width indigo chassis as Sylvie: the footer continues behind/under
   the fixed rail instead of looking like a second unrelated card. */
.footer{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-bottom:0!important;
  border-radius:0!important;
  padding-bottom:94px!important;
}

/* Desktop composition: use horizontal space instead of a stretched mobile stack. */
@media(min-width:900px){
  .when-grid{grid-template-columns:1fr 1fr!important}
  .when-grid .field:last-child{grid-column:1/-1!important}
  .departure-grid{display:block!important}
  .departure-list{max-width:760px!important}
  .end-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .end-option{min-height:92px!important}
}
@media(max-width:720px){
  .availability-fields{grid-template-columns:1fr!important}
  .availability-fields label:last-child{grid-column:auto!important}
  .dep{grid-template-columns:auto minmax(0,1fr) auto!important}
  .dep-map,.dep-address-action{min-width:96px!important;padding:0 9px!important;font-size:11px!important}
  .sticky-copy{padding-left:16px!important;padding-right:16px!important}
  .sticky strong{font-size:18px!important}
  .sticky span{font-size:11px!important}
}

/* V0.6.8 — DESKTOP COMPOSITION — related blocks share horizontal space. */
@media(min-width:821px){
  .route-pair{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:26px!important;
    align-items:start!important;
    margin-top:38px!important;
    padding-top:28px!important;
    border-top:1px solid var(--line)!important;
  }
  .route-pair .section-head{
    border-top:0!important;
    margin-top:0!important;
    padding-top:0!important;
  }
  .route-card .intro{max-width:100%!important}
  .route-card .departure-list{max-width:none!important}
  .route-card-end .end-list{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .route-card-end .end-option{min-height:0!important}
  .route-pair .mapbox{margin-top:8px!important}

  .practical-head{margin-top:46px!important}
  .details{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
    align-items:start!important;
  }
  .details details{margin:0!important}
  .details summary{min-height:52px!important}
}
@media(max-width:820px){
  .route-pair{display:block!important}
  .route-pair .section-head{margin-top:34px!important}
  .details{grid-template-columns:1fr!important}
}


/* V0.6.5 — review only. */

/* ---------- Stable page / first configuration ---------- */
.product-config-grid{padding-top:32px!important}
@media(min-width:1100px){.product-config-grid{padding-top:36px!important}}
.product-main-column>.section-head:first-child,
.product-recap-rail .final-recap-head{
  margin-top:0!important;padding-top:0!important;border-top:0!important
}

/* ---------- Group summary restored ---------- */
#groupSummary{
  display:block!important;
  color:var(--ink)!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.25!important
}
#groupSummarySub{
  display:block!important;
  color:var(--muted)!important;
  font-family:inherit!important;
  font-size:9.5px!important;
  line-height:1.35!important
}

/* ---------- Date/time equal + discreet focus ---------- */
#earlyBookingPanel>.when-grid,
#backupSlot .backup-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:end!important
}
#earlyBookingPanel>.when-grid>.field,
#earlyBookingPanel>.when-grid>.field:last-child,
#backupSlot .backup-grid>.field,
#backupSlot .backup-grid>.field:last-child{
  grid-column:auto!important;min-width:0!important;width:auto!important
}
#earlyBookingPanel>.when-grid input,
#earlyBookingPanel>.when-grid select,
#backupSlot .backup-grid input,
#backupSlot .backup-grid select{
  width:100%!important;min-width:0!important;height:42px!important;
  box-sizing:border-box!important;padding:0 9px!important
}
#earlyBookingPanel>.when-grid label,
#backupSlot .backup-grid label{margin-bottom:5px!important;font-size:9px!important}
#dateFriendly,#backupDateFriendly{display:none!important}
.friendly-date-row{
  margin:5px 0 0!important;min-height:0!important;
  color:var(--ink)!important;font-size:10.5px!important;font-weight:700!important;line-height:1.35!important
}
.friendly-date-row:empty{display:none!important}

/* NO giant black focus rectangles anywhere.
   Focus remains visible via a fine brand-colour ring. */
.field input:focus,
.field input:focus-visible,
.field select:focus,
.field select:focus-visible,
.end-address input:focus,
.end-address input:focus-visible,
.dep-inline-address input:focus,
.dep-inline-address input:focus-visible,
.availability-fields input:focus,
.availability-fields input:focus-visible,
.availability-fields textarea:focus,
.availability-fields textarea:focus-visible{
  outline:0!important;
  border-color:#2A2A62!important;
  box-shadow:0 0 0 1px rgba(42,42,98,.45)!important
}

/* ---------- Alternative availability ---------- */
#backupSlot[hidden]{display:none!important}
#backupSlot.show{display:block!important}
#backupToggle{font-size:11px!important;font-weight:700!important}

/* ---------- Languages ---------- */
.lang-field{
  display:block!important;visibility:visible!important;
  margin-top:15px!important;padding-top:14px!important;border-top:1px solid var(--line)!important
}
.tour-lang-options{display:flex!important;visibility:visible!important;flex-wrap:wrap!important;gap:5px!important}
.tour-lang-btn{
  display:inline-flex!important;visibility:visible!important;align-items:center!important;justify-content:center!important;
  min-height:28px!important;padding:5px 7px!important;border:1px solid var(--line)!important;border-radius:0!important;
  background:#fff!important;color:var(--ink)!important;font-size:9px!important;font-weight:700!important
}
.tour-lang-btn.on{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

/* ---------- Choice rows ---------- */
.dep-select,.dep-select:focus,.dep-select:focus-visible{
  appearance:none!important;-webkit-appearance:none!important;outline:0!important;
  border:0!important;box-shadow:none!important;background:transparent!important;width:100%!important;min-width:0!important
}
.dep-select b,.end-copy b,.theme-select b,.included-item b{
  font-family:inherit!important;font-size:11.5px!important;font-weight:700!important;line-height:1.3!important
}
.dep-select small,.end-copy small,.theme-select small,.included-item small{
  font-family:inherit!important;font-size:9px!important;font-weight:500!important;line-height:1.4!important
}
.dep-select{
  display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:16px!important;
  align-items:center!important;padding:12px 14px!important
}
.dep-radio,.end-radio{width:18px!important;height:18px!important;flex:0 0 18px!important}
.end-option{
  display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:16px!important;
  align-items:start!important;padding:12px 13px!important
}
.dep.active,.end-option.active{background:#F4F4FA!important;border-color:var(--line)!important;box-shadow:none!important}
.dep.active .dep-map,.dep.active .dep-address-action{background:#F4F4FA!important}
.dep.active .dep-radio,.end-option.active .end-radio{
  background:var(--ink)!important;border-color:#AAA9B7!important;box-shadow:inset 0 0 0 4px #fff!important
}

/* Route remains vertical */
.route-pair{display:block!important}
.route-card-end{margin-top:38px!important}
.route-pair .intro{min-height:0!important;max-width:58ch!important}

/* ---------- Practical FAQ ---------- */
.details details{
  background:#fff!important;
  border:1px solid var(--line)!important;
  overflow:hidden!important
}
.details summary{
  padding:13px 16px!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  font-weight:750!important;
  line-height:1.25!important
}
/* Critical fix: content begins BELOW the summary rule, never stuck to it. */
.details .inside{
  padding:16px 16px 18px!important;
  border-top:1px solid var(--line)!important;
  color:#50505d!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  line-height:1.58!important
}
.details .inside p{margin:0 0 12px!important}
.details .inside p:last-child{margin-bottom:0!important}
.details .inside strong{color:var(--ink)!important;font-weight:800!important}

/* Restore the earlier inclusion-card treatment that was better. */
.included-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important
}
.included-item{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:74px!important;
  padding:14px!important;
  background:#fff!important;
  border:1px solid var(--line)!important
}
.included-item span{
  background:transparent!important;
  color:var(--teal)!important;
  border-radius:0!important;
  font-size:15px!important
}
.included-item b{
  color:var(--ink)!important;
  font-size:10.5px!important;
  line-height:1.35!important
}
@media(max-width:560px){
  .included-grid{grid-template-columns:1fr!important}
}

/* Practical 2x3 desktop, Ambiance naturally lands last after DOM move */
@media(min-width:821px){
  .details{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important
  }
}
@media(max-width:820px){
  .details{display:grid!important;grid-template-columns:1fr!important}
}

/* ---------- Recap ---------- */
@media(max-width:1099px){
  .product-recap-rail{position:static!important;margin-top:42px!important}
  .product-recap-rail .final-recap-head{
    margin:0 0 12px!important;padding-top:0!important;border-top:0!important
  }
}
.recap-shell{background:#F6F6FA!important;border:1px solid var(--line)!important;padding:14px!important}
.recap-summary-card,.recap-total-card{background:#fff!important;border:1px solid var(--line)!important;padding:14px!important}
.recap-summary-card{border-left:4px solid var(--teal)!important;margin-bottom:10px!important}
.recap-total-card{margin-bottom:10px!important}
.recap-summary-top{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:10px!important;padding-bottom:8px!important;border-bottom:1px solid var(--line)!important
}
.recap-card-kicker{color:var(--coral)!important;font-family:inherit!important;font-size:9px!important;font-weight:850!important}
.recap-edit{
  appearance:none!important;border:0!important;background:transparent!important;padding:5px 0!important;
  color:var(--ink)!important;font-family:inherit!important;font-size:10px!important;font-weight:700!important;
  text-decoration:underline!important;text-underline-offset:3px!important
}
.recap-rows{display:grid!important}
.recap-row{
  display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;
  align-items:start!important;padding:8px 0!important;border-bottom:1px solid var(--line)!important
}
.recap-row:last-child{border-bottom:0!important}
.recap-row[data-empty="true"]{display:none!important}
.recap-label{color:var(--muted)!important;font-size:8px!important;font-weight:850!important;text-transform:uppercase!important}
.recap-value{display:block!important;color:var(--ink)!important;font-size:11px!important;font-weight:700!important;line-height:1.35!important}
.recap-micro{display:block!important;margin-top:3px!important;color:var(--muted)!important;font-size:9px!important;line-height:1.35!important}

/* price */
#tukEstimateTotal{
  font-family:"Montserrat",Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:25px!important;font-weight:750!important
}
#tukEstimateTotal[data-placeholder="true"]{font-size:15px!important;font-weight:700!important;line-height:1.3!important}
#tukEstimatePerPerson{
  font-family:"Montserrat",Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:14px!important;font-weight:750!important
}
.dprice{
  font-family:"Montserrat",Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:17px!important;font-weight:700!important
}

/* desktop rail */
@media(min-width:1100px){
  .product-config-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;
    gap:32px!important;align-items:start!important
  }
  .product-recap-rail{position:sticky!important;top:24px!important;align-self:start!important;margin-top:0!important}
  #sticky{display:none!important}
  body.sticky-active{padding-bottom:0!important}
}

/* mobile sticky */
@media(max-width:1099px){
  #sticky{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;
    transform:none!important;z-index:95!important;background:#2A2A62!important;color:#fff!important;
    border-radius:0!important;box-shadow:none!important;border-top:1px solid rgba(255,255,255,.14)!important;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom))!important
  }
  #sticky.show{display:flex!important}
  #sticky.v065-docked{
    position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;z-index:1!important
  }
  .sticky-dock-slot.v065-active{
    display:block!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;padding:0!important
  }
}

/* ---------- FOOTER: UNIQUE CLASS, NO LEGACY .footer LEAK ---------- */
.product-footer-v065{
  display:block!important;
  position:relative!important;
  width:100vw!important;
  height:auto!important;
  min-height:0!important;
  margin:42px 0 0 calc(50% - 50vw)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#2A2A62!important;
  color:#fff!important;
  overflow:visible!important
}
.product-footer-v065 .product-footer-inner{
  width:min(1180px,calc(100% - 36px))!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important
}
.product-footer-v065 .product-footer-main{
  display:grid!important;
  grid-template-columns:1.05fr 3.4fr!important;
  gap:32px!important;
  align-items:start!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:18px 0 14px!important
}
.product-footer-v065 .product-footer-brand{
  display:flex!important;align-items:center!important;gap:13px!important;
  min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important
}
.product-footer-v065 .product-footer-emblem{width:52px!important;height:52px!important;object-fit:contain!important}
.product-footer-v065 .product-footer-promise{
  display:flex!important;flex-direction:column!important;margin:0!important;
  color:#fff!important;font-family:"Montserrat",Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:15px!important;font-weight:750!important;line-height:1.1!important;text-align:left!important
}
.product-footer-v065 .product-footer-desktop{
  display:grid!important;grid-template-columns:1.1fr .9fr .8fr .75fr 1.15fr!important;
  gap:16px!important;align-items:start!important
}
.product-footer-v065 .product-footer-group h4{
  margin:1px 0 6px!important;color:rgba(255,255,255,.58)!important;
  font-size:8px!important;font-weight:850!important;text-transform:uppercase!important
}
.product-footer-v065 .product-footer-group a{
  display:block!important;margin:3px 0!important;color:rgba(255,255,255,.82)!important;
  font-size:9.5px!important;line-height:1.35!important;text-decoration:none!important
}
.product-footer-v065 .product-footer-mobile{display:none!important}
.product-footer-v065 .product-footer-legal{
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;
  min-height:0!important;height:auto!important;margin:0!important;padding:7px 0 9px!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  color:rgba(255,255,255,.46)!important;font-size:7.5px!important;line-height:1.2!important
}
.product-footer-v065 .product-footer-legal div{display:flex!important;gap:9px!important;flex-wrap:wrap!important}
.product-footer-v065 .product-footer-legal a{color:inherit!important;text-decoration:none!important}

/* docked sticky: no gap, just 1px white line */
.sticky-dock-slot.v065-active + .product-footer-v065{
  margin-top:0!important;
  border-top:1px solid #fff!important
}

/* mobile compact footer */
@media(max-width:820px){
  .product-footer-v065{
    margin-top:24px!important
  }
  .sticky-dock-slot.v065-active + .product-footer-v065{
    margin-top:0!important
  }
  .product-footer-v065 .product-footer-inner{width:calc(100% - 24px)!important}
  .product-footer-v065 .product-footer-main{display:none!important}
  .product-footer-v065 .product-footer-mobile{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;
    min-height:0!important;height:auto!important;margin:0!important;padding:9px 0 8px!important
  }
  .product-footer-v065 .product-footer-mobile .product-footer-brand{gap:8px!important;min-width:0!important}
  .product-footer-v065 .product-footer-mobile .product-footer-emblem{width:38px!important;height:38px!important}
  .product-footer-v065 .product-footer-mobile .product-footer-promise{
    font-size:12px!important;line-height:1.08!important;white-space:nowrap!important
  }
  .product-footer-v065 .product-footer-help{
    position:relative!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important
  }
  .product-footer-v065 .product-footer-help summary{
    list-style:none!important;cursor:pointer!important;margin:0!important;padding:7px 8px!important;
    border:1px solid rgba(255,255,255,.46)!important;background:transparent!important;color:#fff!important;
    font-size:9px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important
  }
  .product-footer-v065 .product-footer-help summary::-webkit-details-marker{display:none!important}
  .product-footer-v065 .product-footer-help-links{
    position:absolute!important;right:0!important;bottom:calc(100% + 6px)!important;min-width:145px!important;
    padding:7px!important;border:1px solid var(--line)!important;background:#fff!important;z-index:3!important
  }
  .product-footer-v065 .product-footer-help:not([open]) .product-footer-help-links{display:none!important}
  .product-footer-v065 .product-footer-help-links a{
    display:block!important;padding:5px 6px!important;color:var(--ink)!important;font-size:9.5px!important;text-decoration:none!important
  }
  .product-footer-v065 .product-footer-legal{
    padding:6px 0 7px!important;font-size:7px!important;gap:6px!important
  }
  .product-footer-v065 .product-footer-legal div{gap:6px!important;justify-content:flex-end!important}
}


/* V0.6.7 — exactly one visual delta from V0.6.5:
   keep "Inclus dans votre visite" in 2 columns on mobile. */
@media(max-width:560px){
  .included-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .included-item{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:8px!important;
    min-height:68px!important;
    padding:11px!important;
  }
  .included-item span{font-size:14px!important}
  .included-item b{font-size:9.5px!important}
}


/* V0.6.8 — final canonical-body micro-delta.
   Match departure rows to the validated spacing of “Je suis flexible”. */
.dep-radio{
  margin-left:0!important;
}
#departureIntro:empty{display:none!important}
