/* Eskapad : feuille de style du site public, reprise de la maquette eskapad-demo.html */
/* Polices hébergées sur le site (licence SIL OFL, voir assets/fonts/). Fichiers variables de Google Fonts
   (Fraunces v38, Nunito Sans v19) ; le numéro de version est dans le nom, donc un nouveau fichier change d'adresse. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/fraunces-v38-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/fraunces-v38-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/nunito-sans-v19-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/nunito-sans-v19-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--bg:#FBF4EA;--surface:#FFFBF5;--ink:#3B2C23;--muted:#7A6657;--forest:#6B4631;--moss:#7D9474;--ember:#A8522D;--ember-ink:#87401F;--line:#EEDFCC;--ok:#4E7A4A;--err:#A3362B;--r:22px;--shadow:0 18px 40px -18px rgba(107,70,49,.35)}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:17px/1.65 'Nunito Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:400;letter-spacing:-.01em;line-height:1.1}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:880px}
.ic{flex:none}
.muted{color:var(--muted)}.small{font-size:13.5px}.mono{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid transparent;background:var(--ember);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s,background .2s;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--ember-ink)}.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;border-color:#CFC6B4;color:var(--ink)}.btn.ghost:hover{background:var(--surface)}
.btn.sm{min-height:38px;padding:0 15px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link{background:none;border:0;color:var(--ember);text-decoration:underline;cursor:pointer;padding:0;font-weight:600}
.promo{background:#F6DEC8;color:#5B3420;font-size:14px;text-align:center;padding:10px 16px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}
.promo>button{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;background:none;border:0;color:inherit;cursor:pointer;width:100%;min-height:30px}.promo u{font-weight:700}
.promo b{letter-spacing:.08em;background:rgba(255,255,255,.65);padding:2px 9px;border-radius:6px}
.top{position:sticky;top:0;z-index:20;background:rgba(251,244,234,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:68px}
.logo{font-family:'Fraunces',serif;font-size:25px;text-decoration:none;color:var(--forest);display:flex;align-items:center;gap:8px}
.nav{display:flex;gap:24px;margin-left:auto}
.nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:15px}.nav a:hover{color:var(--ink)}
.top-act{display:flex;gap:10px;align-items:center}
.hero{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;background:var(--forest);color:#fff;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s ease-out both}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(70,40,22,.1) 0%,rgba(70,40,22,.2) 45%,rgba(60,34,20,.8) 100%)}
.hero-in{position:relative;display:grid;grid-template-columns:1fr 370px;gap:40px;align-items:end;padding-bottom:56px;padding-top:140px;width:100%}
.why .card{transition:transform .3s,box-shadow .3s}.why .card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
/* fond : halos, courbes de niveau façon carte forestière, grain papier */
body{background:radial-gradient(1000px 700px at 0% 0%,rgba(240,190,140,.24),transparent 60%),radial-gradient(900px 700px at 100% 55%,rgba(222,150,120,.14),transparent 60%),radial-gradient(1000px 800px at 10% 100%,rgba(214,180,120,.16),transparent 60%),var(--bg);background-attachment:fixed}
body::before,body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none}
body::before{background:url('../img/contours.svg') center/cover no-repeat}
body::after{opacity:.5;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .25 0 0 0 0 .2 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.photo-bg{background-size:cover;background-position:center;background-attachment:fixed}
.logo img{height:44px;width:auto}
.feat-img{box-shadow:0 30px 60px -30px rgba(28,34,30,.45)}
.eyebrow{display:flex;gap:6px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.hero h1{font-size:clamp(60px,11vw,128px);margin:6px 0 14px;font-weight:400}
.lead{font-size:clamp(18px,2vw,21px);max-width:540px;opacity:.94}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chips li{display:flex;gap:8px;align-items:center;padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:14px;backdrop-filter:blur(6px);background:rgba(255,255,255,.08)}
.quick{background:var(--surface);color:var(--ink);border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.quick .price{font-family:'Fraunces',serif;font-size:42px;line-height:1.1}
.quick .price small{font-family:'Nunito Sans',sans-serif;font-size:15px;color:var(--muted)}
.quick .btn{width:100%}
.save-pill{display:flex;gap:10px;align-items:flex-start;background:#FBE6D4;color:#7A3B1B;border-radius:16px;padding:10px 12px;font-size:14px;margin:14px 0}
.next{font-size:14px;color:var(--muted);margin-top:12px;display:flex;gap:6px;align-items:center}
section.blk{padding:96px 0;position:relative}
.kicker{color:var(--ember);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
h2{font-size:clamp(34px,4.5vw,54px);margin:10px 0 16px}
.h1{font-size:clamp(36px,5vw,56px);margin:8px 0}.h3{font-size:26px;margin:32px 0 14px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.why .ic{color:var(--ember)}.why h3{font-size:23px;margin:14px 0 6px}.why p{color:var(--muted)}
.feat{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;margin-top:80px}
.feat.rev .feat-img{order:2}
.feat-img{border-radius:36px;overflow:hidden;aspect-ratio:4/5;background:var(--moss)}
.feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.feat:hover .feat-img img{transform:scale(1.03)}
.feat h3{font-size:clamp(30px,3vw,40px);margin:8px 0 14px}
.feat p{color:var(--muted);font-size:17px;max-width:46ch}
.note{display:inline-flex;gap:8px;align-items:center;margin-top:18px;font-weight:600;color:var(--forest)}
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:10px;margin-top:32px;position:relative}
.gal button{border:0;padding:0;border-radius:22px;overflow:hidden;cursor:zoom-in;background:var(--moss)}
.gal button:first-child{grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal button:hover img{transform:scale(1.04)}
.gal .all{position:absolute;right:16px;bottom:16px;background:var(--surface);border:1px solid var(--ink);cursor:pointer;padding:0 16px;min-height:40px;border-radius:10px;font-weight:600;display:flex;gap:8px;align-items:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.amen{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin-top:20px}
.amen li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);list-style:none;font-size:15px}
.amen .ic{color:var(--moss)}
.times{display:flex;gap:12px;margin-top:12px}.times .card{flex:1;padding:16px}.times b{font-family:'Fraunces',serif;font-size:26px;font-weight:500;display:block}
.rules{padding:0;margin-top:20px}
.rules li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);list-style:none}
.rules .ic{color:var(--moss);margin-top:3px}
section.blk.dark{background-color:#4A3123;color:#F6EADC}.dark .kicker{color:#E8AE80}.dark .muted{color:#E8D6C4}
.host{display:flex;gap:20px;align-items:center;margin-top:20px}
.avatar{width:84px;height:84px;border-radius:50%;background:var(--ember);flex:none;border:3px solid rgba(255,255,255,.25);display:grid;place-items:center;font-family:'Fraunces',serif;font-size:36px;color:#fff}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.stats b{font-family:'Fraunces',serif;font-size:34px;font-weight:500;display:block;color:#fff}
.cta{text-align:center}.cta p{max-width:520px;margin:0 auto 28px}
footer{background:#3B2A20;color:#E2D0BE;padding:48px 0 110px;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start}
footer a,footer button{color:#E7E1D4;background:none;border:0;cursor:pointer;text-decoration:underline;padding:0}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
.mbar{display:none}
.legal h2{font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:19px;margin:28px 0 10px}.legal h2:first-child{margin-top:0}
.legal p,.legal ul{margin:0 0 12px}.legal ul{padding-left:20px}.legal mark{background:#FFF0CC;padding:0 3px;border-radius:4px}
.cgv-note{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:10px 12px;border-radius:10px;background:#FFF6E5;color:#5E4300;margin:4px 0 12px}
.bk-foot{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:14px;padding:14px 24px;background:rgba(255,251,245,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -12px 30px -22px rgba(107,70,49,.45)}
.bk-foot .sum{margin-right:auto;line-height:1.35}.bk-foot .sum b{font-size:22px;font-family:'Fraunces',serif;font-weight:500}
.ok-txt{color:var(--ok);font-size:13px;font-weight:700}
.tiers{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;font-size:14px;color:var(--muted)}.tiers b{font-weight:700;padding:4px 11px;border-radius:999px;background:#F6E7D6;color:#7A3B1B}.tiers b.on{background:var(--ok);color:#fff}
@media(max-width:640px){.bk-foot{padding:12px 14px;gap:8px}.bk-foot .btn{padding:0 16px}.bk-foot .btn.ghost{width:46px;padding:0;font-size:0}.bk-foot .sum b{font-size:19px}}
/* film de présentation : lecteur intégré, les portraits restent en portrait (diptyque ou photo + texte) */
.film{position:relative;aspect-ratio:16/9;margin-top:28px;border-radius:var(--r);overflow:hidden;background:#2B1D14;color:#fff;box-shadow:var(--shadow);isolation:isolate}
.film:fullscreen{aspect-ratio:auto;border-radius:0}
.fm-reel figure{position:absolute;inset:0;margin:0;opacity:0;overflow:hidden;background:#2B1D14}
.fm-p{position:absolute;top:0;bottom:0;left:0;width:100%;overflow:hidden}
.fm-p img{width:100%;height:100%;object-fit:cover;will-change:transform}
.fm-d .fm-p{width:calc(50% - 3px)}.fm-d .fm-p+.fm-p{left:auto;right:0}
.fm-s .fm-p{width:44%}.fm-r .fm-p{left:auto;right:0}
.fm-reel .fm-e{background:var(--bg)}
.fm-f::after,.fm-d::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(30,18,10,.5) 74%,rgba(30,18,10,.82) 100%)}
.fm-cap{position:absolute;left:48px;right:48px;bottom:76px;z-index:2;max-width:640px;pointer-events:none}
.film.sp-r .fm-cap,.film.sp-l .fm-cap{top:50%;bottom:auto;transform:translateY(-50%);width:calc(56% - 96px);max-width:none}
.film.sp-l .fm-cap{left:calc(44% + 48px);right:48px;width:auto}
.film.end .fm-cap{left:48px;right:48px;max-width:none;top:50%;bottom:auto;transform:translateY(-58%);text-align:center;color:var(--ink)}
.fm-k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F6CFAA;margin:0 0 10px}
.fm-t{font-size:clamp(26px,3.3vw,44px);line-height:1.1;margin:0 0 10px;color:#fff}
.fm-line{font-size:17px;margin:0;color:rgba(255,246,236,.92)}
.fm-t,.fm-line{text-shadow:0 2px 18px rgba(20,10,4,.45)}
.film.end .fm-k{color:var(--ember)}.film.end .fm-t{color:var(--forest);text-shadow:none}
.fm-logo{display:none;width:96px;margin:0 auto 18px}
.film.end .fm-logo{display:block}
.fm-end{display:none;margin-top:22px;pointer-events:auto}
.film.end .fm-end{display:block}
.fm-k,.fm-t,.fm-line,.fm-logo,.fm-end{will-change:opacity,transform}
.fm-bar{position:absolute;left:24px;right:24px;bottom:16px;z-index:3;display:flex;align-items:center;gap:14px}
.fm-seg{flex:1;display:flex;gap:5px}
.fm-seg button{flex:1;height:22px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.fm-seg button::before,.fm-seg button i{content:'';position:absolute;left:0;right:0;top:9px;height:3px;border-radius:3px;background:rgba(255,255,255,.3)}
.fm-seg button i{right:auto;width:0;background:#fff}
.film.end .fm-seg button::before{background:rgba(59,44,35,.18)}.film.end .fm-seg button i{background:var(--forest)}
.fm-ctl{display:flex;gap:8px}
.fm-ctl button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(30,18,10,.45);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px)}
.fm-ctl button:hover{background:rgba(30,18,10,.7)}
.fm-ctl button[aria-pressed=true]{background:var(--ember);border-color:var(--ember)}
.fm-seg button:focus-visible,.fm-ctl button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.film:fullscreen .fm-t{font-size:clamp(34px,4.2vw,68px)}.film:fullscreen .fm-line{font-size:clamp(17px,1.5vw,24px)}
@media(max-width:640px){
 .film{aspect-ratio:4/5;border-radius:18px;margin-top:20px}
 .fm-d .fm-p,.fm-s .fm-p{width:100%;left:0;right:0}
 .fm-s::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(30,18,10,.5) 74%,rgba(30,18,10,.82) 100%)}
 .fm-cap,.film.sp-l .fm-cap,.film.sp-r .fm-cap{left:20px;right:20px;width:auto;top:auto;bottom:58px;transform:none}
 .film.end .fm-cap{left:20px;right:20px}
 .fm-line{font-size:15px}
 .fm-bar{left:14px;right:14px;bottom:10px;gap:10px}
 .fm-ctl button{width:36px;height:36px}
}
/* dialogs */
dialog::backdrop{background:rgba(60,38,24,.5);backdrop-filter:blur(4px)}
dialog{margin:auto}
dialog.sheet{border:0;padding:0;border-radius:30px;width:min(1060px,96vw);max-height:92vh;background:var(--bg);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.5);overflow:auto}
.bk-head{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:2}
.bk-head h2{font-size:24px;margin:0}
.steps{display:flex;gap:6px;margin-left:auto;font-size:13px}
.steps span{padding:4px 10px;border-radius:999px;background:var(--surface);color:var(--muted);border:1px solid var(--line)}
.steps span.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex:none}
.x[disabled]{opacity:.35;cursor:default}
.bk-head .x{margin-left:8px}.bk-head .x:last-child{margin-left:auto}
.bk-body{display:grid;grid-template-columns:1fr 340px;gap:28px;padding:24px}
.bk-body.one{grid-template-columns:1fr}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.cal-nav p{font-weight:600}
.cals{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cal-h{font-weight:700;text-transform:capitalize;margin-bottom:8px;text-align:center}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dw{font-size:12px;color:var(--muted);text-align:center;padding:4px 0}
.day{border:0;background:none;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:15px;line-height:1.15;min-height:48px;padding:2px}
.day small{font-size:10.5px;color:var(--muted)}
.day:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--ink)}
.day[disabled]{color:#ACA699;cursor:not-allowed;text-decoration:line-through}
.day.inr{background:#F3E2CF;border-radius:0}
.day.s,.day.e{background:var(--forest);color:#fff}.day.s small,.day.e small{color:#CFD8CF}
.day.s{border-radius:10px 0 0 10px}.day.e{border-radius:0 10px 10px 0}.day.s.e{border-radius:10px}
.day.tdy{font-weight:800}
.opts{display:grid;grid-template-columns:200px 1fr;gap:14px;margin-top:22px;align-items:start}
.recap{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;align-self:start;position:sticky;top:90px}
.rc-img{height:120px;border-radius:12px;background:var(--moss) center/cover;margin-bottom:14px}
.ln{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:15px}
.ln.tot{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-weight:700;font-size:18px}
.ln.disc{color:var(--ok);font-weight:600}
.foot-note{font-size:12px;color:var(--muted);margin-top:10px}
.promo-f{display:flex;gap:8px;margin-top:12px}.promo-f input::placeholder{text-transform:none}.promo-f .inp{flex:1;min-width:0;text-transform:uppercase}
.ok-msg{color:var(--ok);font-size:14px;font-weight:600;margin-top:6px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:14px;font-weight:600}
.field .help{font-size:12.5px;color:var(--muted)}
.inp{min-height:48px;padding:10px 16px;border-radius:16px;border:1px solid #DCC8B2;background:#fff;width:100%}
.inp:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(31,51,40,.18)}
textarea.inp{resize:vertical}
.err{color:var(--err);font-size:14px;font-weight:500}.err:empty{display:none}
.chk{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);cursor:pointer;font-size:15px}
.chk input{width:20px;height:20px;accent-color:var(--forest);margin-top:2px;flex:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tabs{display:inline-flex;gap:4px;background:var(--surface);padding:4px;border-radius:999px;border:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}
.tabs button{border:0;background:none;padding:8px 16px;border-radius:999px;cursor:pointer;font-weight:600;color:var(--muted);min-height:38px}
.tabs button.on{background:var(--forest);color:#fff}
.tabs small{opacity:.75;margin-left:4px}
.row-btn{display:flex;gap:10px;justify-content:space-between;margin-top:18px;flex-wrap:wrap}
.spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.done{text-align:center;padding:16px 0 8px}.done h3{font-size:34px;margin:8px 0}
.ok-ic{width:76px;height:76px;border-radius:50%;background:#DCE8DD;color:var(--ok);display:grid;place-items:center;margin:0 auto 12px}
.ref{display:inline-block;font-weight:700;letter-spacing:.1em;background:var(--surface);border:1px dashed var(--moss);padding:6px 14px;border-radius:10px;margin:10px 0 18px}
dialog.lb{background:#0D130F;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}
.lb img{width:100%;height:100%;object-fit:contain}
.lb .x{position:absolute;background:rgba(255,255,255,.14);color:#fff;border-color:transparent}
.lb-x{top:16px;right:16px}.lb-p{left:16px;top:calc(50% - 22px)}.lb-n{right:16px;top:calc(50% - 22px)}
.lb-c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#CCC;font-size:14px}
#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;z-index:200;transition:.25s;pointer-events:none;font-size:14px;max-width:90vw}
#toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){
 .nav{display:none}.top-act{margin-left:auto}
 .hero-in{grid-template-columns:1fr}.quick{display:none}.photo-bg{background-attachment:scroll}
 .why,.split,.amen{grid-template-columns:1fr}
 .feat{grid-template-columns:1fr;gap:24px;margin-top:56px}.feat.rev .feat-img{order:0}.feat-img{aspect-ratio:4/3}
 .gal{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gal button{aspect-ratio:1}.gal button:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
 .mbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}
 .bk-body{grid-template-columns:1fr}.steps{display:none}.recap{position:static}
 section.blk{padding:64px 0}
}
@media(max-width:640px){
 .hide-m{display:none}.top .wrap{gap:12px}.top-act .btn.ghost{padding:0 12px}
 .promo{font-size:13px;padding:6px 12px}.promo .ic,.promo u{display:none}
 dialog.sheet{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
 .cals{grid-template-columns:1fr}.cals .cal+.cal{display:none}
 .opts,.two{grid-template-columns:1fr}
 .stay{grid-template-columns:1fr}.stay-img{min-height:140px}
 .bk-body{padding:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- V1 : classes remplaçant les styles en ligne de la maquette (CSP sans 'unsafe-inline') ---------- */
.pt0{padding-top:0!important}.mt0{margin-top:0}.mt10{margin-top:10px}.mt16{margin-top:16px}.mt22{margin-top:22px}.mb4{margin-bottom:4px}
.lede{max-width:60ch}.lede-lg{font-size:18px}
.bg-hote{background-image:linear-gradient(rgba(62,38,24,.7),rgba(54,33,22,.82)),url('../img/photos/photo-07.webp')}
.bg-cta{background-image:linear-gradient(rgba(74,44,26,.4),rgba(62,38,24,.66)),url('../img/photos/photo-15.webp');padding:140px 0!important}
.host-name{font-size:20px;color:#fff}.host-txt{margin-top:18px;max-width:52ch}.loc-txt{max-width:46ch}
.logo-foot{color:#fff}.foot-p{margin-top:8px}.mbar-p{font-size:18px}
.recap .rc-img{background-image:url('../img/photos/photo-00-640.webp')}
.rc-price{font-size:24px}.rc-price .muted{font-size:14px;font-family:'Nunito Sans',sans-serif}
.done-p{max-width:52ch;margin:0 auto 20px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.field .err{font-size:13px}
.inp[aria-invalid=true]{border-color:var(--err)}
.hero-img{height:100%}
@media(max-width:900px){.bg-cta{padding:96px 0!important}}

/* ---------- espace client, paiement, cartes cadeaux ---------- */
.wfull{width:100%}.ink{color:var(--ink)}.h4{font-size:20px;margin:0 0 6px}
.flash{padding:12px 16px;border-radius:12px;margin:16px 0;font-weight:600;background:#DCE8DD;color:#1D4A2D}.flash.err{background:#F7E0DC;color:#7A2A20}
section.acct-blk{padding:56px 0 80px}
.acct-card{margin-top:16px}.acct-login{max-width:520px}
.acct-link .ic{flex:none}
.g-btn{gap:10px;background:#fff;border-color:#DCC8B2;color:var(--ink)}.g-btn:hover{background:#FAF7F2}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:16px 0}.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.acct-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.bk-item{margin-top:12px;padding:18px 20px}.bk-item p{margin:6px 0 0}
.bk-item-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.bk-item-h>div{display:flex;flex-direction:column;gap:2px}
.bk-dates{font-size:21px}
.bk-pay{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--muted)}
.pill{display:inline-flex;font-size:12.5px;font-weight:700;padding:4px 11px;border-radius:999px;background:#EEE9DF;white-space:nowrap}
.pill.st-nouvelle{background:#FBE6D4;color:#7A3B1B}.pill.st-confirmee{background:#DCE8DD;color:#1D4A2D}.pill.st-refusee,.pill.st-annulee{background:#EEE6E4;color:#7A3A32}
.grid-acct{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.grid-acct .acct-card{margin-top:0}
.done-card{margin-top:8px}
.gift-ok{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#DCE8DD;color:#1D4A2D;margin:4px 0 12px;font-size:14px}.gift-ok .link{margin-left:auto}
.gift-in{margin-top:6px}.row-in{display:flex;gap:8px}.row-in .inp{flex:1;min-width:0}
.gift-buy{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.gift-prev{position:sticky;top:100px}.gift-prev>p{margin-bottom:8px}
.gift-center{display:flex;justify-content:center;margin:24px auto}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.chip{border:1px solid #DCC8B2;background:#fff;border-radius:999px;padding:7px 12px;font-size:13.5px;cursor:pointer;color:var(--ink)}.chip:hover,.chip.on{border-color:var(--forest);background:#F3EEE4}
/* carte cadeau (maquette) : bon façon billet, côté papier + côté photo, textes en unités de conteneur */
.gift-sec .split{align-items:center}
.gift-pts{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px}
.gift-pts li{display:flex;gap:10px;align-items:center}.gift-pts .ic{color:var(--ember);flex:none}
.gwrap{width:100%;max-width:520px;filter:drop-shadow(0 18px 26px rgba(40,24,14,.22))}
.gcard{--cut:63%;container-type:inline-size;position:relative;aspect-ratio:1.6;display:grid;grid-template-columns:var(--cut) 1fr;border-radius:20px;overflow:hidden;background:#FFFBF5;color:var(--ink);text-align:left;
 -webkit-mask:radial-gradient(circle 12px at var(--cut) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 12px at var(--cut) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
 mask:radial-gradient(circle 12px at var(--cut) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 12px at var(--cut) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
 -webkit-print-color-adjust:exact;print-color-adjust:exact}
.gcard::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-100%);transition:transform .9s;pointer-events:none}
.gwrap:hover .gcard::after{transform:translateX(100%)}
.gc-paper{position:relative;display:flex;flex-direction:column;padding:6cqi 6cqi 5cqi;background:radial-gradient(120% 90% at 0 0,#FFFDF8,#F5E8D8)}
.gc-paper::before{content:'';position:absolute;inset:2.4cqi;border:1px solid rgba(168,82,45,.22);border-radius:12px;pointer-events:none}
.gc-paper::after{content:'';position:absolute;top:22px;bottom:22px;right:-1px;width:2px;background:repeating-linear-gradient(to bottom,rgba(107,70,49,.4) 0 6px,transparent 6px 12px)}
.gc-top{display:flex;align-items:center;gap:2cqi}
.gc-top img{width:8.5cqi;height:auto}
.gc-top span{font-family:'Fraunces',serif;font-size:5.2cqi;color:var(--forest);line-height:1}
.gc-tag{margin:auto 0 1.2cqi;font-size:2.5cqi;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ember)}
.gc-amt{font-family:'Fraunces',serif;font-size:12.5cqi;line-height:1;color:var(--forest);margin:0 0 1.6cqi;letter-spacing:-.02em}
.gc-amt.gc-txt{font-size:7.4cqi;line-height:1.04}
.gc-for{font-size:3.3cqi;line-height:1.35;color:var(--muted);margin:0 0 3cqi}.gc-for b{color:var(--ink);font-weight:700}
.gc-msg{font-size:2.9cqi;font-style:italic;color:var(--ink);margin:-1.8cqi 0 2.6cqi;line-height:1.35}
.gc-bot{border-top:1px solid rgba(107,70,49,.18);padding-top:2.4cqi;display:flex;flex-direction:column;gap:.6cqi;font-size:2.5cqi;color:var(--muted)}
.gc-code{font-family:ui-monospace,Consolas,monospace;font-size:3.3cqi;font-weight:700;letter-spacing:.14em;color:var(--ink);white-space:nowrap}
.gc-photo{background:#2B1D14 url('../img/photos/photo-01-640.webp') center/cover;box-shadow:inset 0 0 0 100vmax rgba(40,22,12,.06)}
@media(max-width:900px){.gift-buy,.grid-acct{grid-template-columns:1fr}.gift-prev{position:static}}
@media print{
 header.top,footer,.no-print,.mbar{display:none!important}
 body{background:#fff}section.acct-blk{padding:0}.gwrap{filter:none;max-width:none}.gcard::after{display:none}
}
