
:root{
 --page:#FAF7F2; --card:#FFFFFF; --cream:#F6F1E8; --line:#EAE3D7;
 --ink:#1B1D1B; --muted:#7C7A74;
 --forest:#0E4A34; --forest-d:#0A3728; --forest-soft:#E8F1EB; --green:#128A5B;
 --rose:#FDEDEF; --rose-line:#F7D7DC; --rose-ic:#E1516A;
 --sun:#F7A93B; --or:#C8A15A;
 --l-jaune:#FCD34A; --l-orange:#F58634; --l-rouge:#EF4136; --l-bleu:#49A9DF; --l-vert:#4BBF9A; --l-magenta:#CE33A8;
 --shadow:0 26px 64px -32px rgba(14,74,52,.45);
 --disp:"Playfair Display",Georgia,serif; --body:"Public Sans",-apple-system,Segoe UI,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
 --page:#101610; --card:#18201A; --cream:#1F281F; --line:#2C362D;
 --ink:#F2EFE8; --muted:#9DA69C; --forest:#7FD3B0; --forest-d:#6BC5A2; --forest-soft:#16301F; --green:#7FD3B0;
 --rose:#33212A; --rose-line:#4A2E39; --rose-ic:#F08297; --shadow:0 26px 64px -32px rgba(0,0,0,.8);
}}
:root[data-theme="dark"]{
 --page:#101610; --card:#18201A; --cream:#1F281F; --line:#2C362D;
 --ink:#F2EFE8; --muted:#9DA69C; --forest:#7FD3B0; --forest-d:#6BC5A2; --forest-soft:#16301F; --green:#7FD3B0;
 --rose:#33212A; --rose-line:#4A2E39; --rose-ic:#F08297; --shadow:0 26px 64px -32px rgba(0,0,0,.8);
}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--body);line-height:1.5}
.wrap{max-width:1240px;margin:0 auto;padding:26px 20px 56px}
.head{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}
.head img{height:74px;width:auto;flex:none}
.eyebrow{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--forest)}
.head h1{font-family:var(--disp);font-size:clamp(23px,3.2vw,32px);font-weight:600;margin:7px 0 6px}
.head p{margin:0;color:var(--muted);max-width:66ch;font-size:13.5px}
.stage{display:grid;grid-template-columns:288px minmax(0,1fr);gap:30px;margin-top:24px;align-items:start}
@media(max-width:920px){.stage{grid-template-columns:1fr}}
.panel h2{font-family:var(--disp);font-size:16.5px;margin:0 0 3px;font-weight:600}
.panel .h{color:var(--muted);font-size:12px;margin:0 0 11px}
.scn{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.scn button{width:100%;text-align:left;font-family:var(--body);font-size:12.5px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:9px 11px;cursor:pointer;display:flex;flex-direction:column}
.scn button .t{font-weight:600}
.scn button .s{font-size:11px;color:var(--muted)}
.scn button[aria-pressed="true"]{background:var(--forest-soft);border-color:var(--forest)}
.block{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px}
.block h3{font-family:var(--disp);font-size:14.5px;margin:0 0 2px;font-weight:600}
.block .sh{font-size:11px;color:var(--muted);margin:0 0 9px}
.lg{display:flex;flex-direction:column;gap:6px}
.lg div{display:flex;align-items:center;gap:8px;font-size:11.5px}
.bdg{display:inline-grid;place-items:center;min-width:34px;height:19px;padding:0 5px;border-radius:5px;font-size:9.5px;font-weight:800;letter-spacing:.03em;color:#fff;flex:none;font-variant-numeric:tabular-nums}
.warn{margin-top:16px;background:var(--rose);border-radius:10px;padding:12px;font-size:12px}
.warn b{display:block;margin-bottom:3px;color:var(--rose-ic)}
.phonewrap{display:flex;justify-content:center}
.phone{width:394px;max-width:100%;height:838px;background:var(--card);border:9px solid #101210;border-radius:46px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;position:relative}
.notch{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:104px;height:23px;background:#101210;border-radius:0 0 15px 15px;z-index:8}
.sbar{display:flex;justify-content:space-between;padding:9px 20px 3px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
/* topbar */
.topbar{display:flex;align-items:center;padding:3px 15px 9px}
.tb-l{width:26px;display:flex}
.tb-l img{width:24px;height:auto}
.tb-c{flex:1;text-align:center}
.tb-c .lt{font-family:var(--disp);font-size:15.5px;font-weight:600;line-height:1.1}
.tb-c .ls{display:block;font-size:6.5px;letter-spacing:.22em;color:var(--muted);font-weight:700;margin-top:2px}
.tb-c .sub{font-family:var(--disp);font-size:15.5px;font-weight:600;line-height:1.1}
.tb-c .sub small{display:block;font-family:var(--body);font-size:10.5px;font-weight:500;color:var(--muted);margin-top:1px}
.ib{background:transparent;border:0;padding:0;color:var(--ink);cursor:pointer;line-height:0;width:26px;display:flex;justify-content:flex-end}
.ib svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.scr{flex:1;overflow-y:auto;position:relative}
.pad{padding:0 15px}
.b16{padding-bottom:18px}
.bcart{padding-bottom:74px!important}
/* hero + galerie */
.hero{height:238px;position:relative;background:#EDE6DA center/cover;overflow:hidden}
.hero .sl{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease}
.hero .sl.on{opacity:1}
.hero .grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,26,19,.88) 0%,rgba(4,26,19,.32) 50%,rgba(4,26,19,.05) 76%)}
.hero .cap{position:absolute;left:15px;right:15px;bottom:12px;color:#fff}
.hero h2{font-family:var(--disp);font-size:22.5px;font-weight:600;margin:0;line-height:1.22}
.hero p{margin:5px 0 9px;font-size:12px;opacity:.93;line-height:1.45}
.dots{position:absolute;right:13px;top:13px;display:flex;gap:4px;z-index:3}
.dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45)}
.dots i.on{background:#fff;width:14px;border-radius:9px}
.pill{display:inline-flex;align-items:center;gap:5px;background:var(--green);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:99px}
.pill svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.4}
.pill.or{background:var(--sun)}
/* decompte */
.cd{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.3);border-radius:11px;padding:7px 10px;margin-bottom:9px}
.cd .ttl{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;opacity:.9}
.cd .un{display:flex;gap:7px;margin-left:auto;font-variant-numeric:tabular-nums}
.cd .un div{text-align:center;min-width:28px}
.cd .un b{display:block;font-family:var(--disp);font-size:17px;font-weight:700;line-height:1}
.cd .un span{font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.84}
.cd.in{background:var(--cream);border:1px solid var(--line);color:var(--ink);margin:12px 0 0}
.cd.in .ttl{color:var(--muted)}
/* meteo */
.wx{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-top:12px}
.wx .deg{font-family:var(--disp);font-size:21px;font-weight:600;line-height:1.05}
.wx .lb{font-size:11px;color:var(--muted)}
.wx .rt{margin-left:auto;text-align:right;font-size:11.5px;color:var(--muted);font-family:var(--disp);font-style:italic;line-height:1.35}
/* raccourcis */
.short{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.short button{background:transparent;border:0;padding:0;cursor:pointer;font-family:var(--body);font-size:9.5px;font-weight:600;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px}
.short .ci{width:46px;height:46px;border-radius:50%;background:var(--cream);display:grid;place-items:center;position:relative}
.short svg{width:19px;height:19px;stroke:var(--forest);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* sections */
.sect{display:flex;align-items:baseline;gap:8px;margin:20px 0 2px}
.sect h4{font-family:var(--disp);font-size:17px;font-weight:600;margin:0}
.sect a{margin-left:auto;font-size:11px;font-weight:700;color:var(--forest);cursor:pointer}
.sectp{margin:0 0 10px;font-size:11.5px;color:var(--muted)}
/* carte offre */
.offer{position:relative;border-radius:16px;overflow:hidden;margin-top:12px;background:#EDE6DA center/cover;min-height:158px;display:flex;align-items:flex-end;padding:13px;color:#fff}
.offer:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,26,19,.9),rgba(4,26,19,.15) 72%)}
.offer .in{position:relative;width:100%}
.offer .kk{display:inline-block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;background:var(--sun);color:#231400;padding:3px 8px;border-radius:99px;margin-bottom:7px}
.offer h5{font-family:var(--disp);font-size:19px;margin:0 0 3px;font-weight:600;line-height:1.2}
.offer p{margin:0 0 10px;font-size:11.5px;opacity:.92;line-height:1.4}
.offer .rowb{display:flex;align-items:center;gap:9px}
.offer .pr{font-family:var(--disp);font-size:20px;font-weight:700}
.offer .pr small{font-family:var(--body);font-size:10.5px;font-weight:500;opacity:.8}
.offer .btn{width:auto;margin-left:auto}
/* boutons */
.btn{background:var(--forest);color:#fff;border:0;border-radius:10px;padding:11px 15px;font-family:var(--body);font-weight:700;font-size:12.5px;cursor:pointer;width:100%}
.btn.sm{width:auto;padding:8px 14px;font-size:11.5px;border-radius:9px}
.btn.out{background:transparent;color:var(--forest);border:1.4px solid var(--forest)}
.btn.gh{background:var(--cream);color:var(--forest)}
.btn.on{background:var(--green)}
.btn.wh{background:#fff;color:var(--forest-d)}
/* etape */
.step{display:flex;align-items:center;gap:11px;padding:2px 15px 10px}
.step .bk{background:transparent;border:0;padding:0;cursor:pointer;color:var(--ink);line-height:0}
.step .bk svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}
.step h3{font-family:var(--disp);font-size:16.5px;margin:0;font-weight:600;line-height:1.15}
.step p{margin:1px 0 0;font-size:11px;color:var(--muted)}
.step .n{margin-left:auto;font-size:11.5px;color:var(--muted);font-weight:600}
.bandimg{height:120px;background:#EDE6DA center/cover}
/* horaires */
.fld{margin-top:15px}
.fld .lb{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600}
.fld .lb svg{width:15px;height:15px;stroke:var(--forest);fill:none;stroke-width:1.8}
.fld .dt{font-size:11.5px;color:var(--muted);margin:2px 0 0 23px}
.stepper{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:9px}
.stepper button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:19px;line-height:1;cursor:pointer;font-family:var(--body)}
.stepper .v{font-family:var(--disp);font-size:25px;font-weight:600;min-width:112px;text-align:center;background:var(--cream);border-radius:10px;padding:8px 0;font-variant-numeric:tabular-nums}
.hintl{font-size:11px;color:var(--muted);text-align:center;margin:8px 0 0;line-height:1.45}
/* options */
.ok{display:flex;gap:9px;align-items:flex-start;margin-top:14px}
.ok svg{width:17px;height:17px;flex:none;margin-top:1px;stroke:var(--green);fill:none;stroke-width:2.2}
.ok b{font-size:12.5px;display:block}
.ok span{font-size:11px;color:var(--muted)}
.opt{margin-top:10px;background:var(--rose);border-radius:15px;padding:13px}
.opt .hd{display:flex;gap:9px;align-items:flex-start}
.opt .hd svg{width:18px;height:18px;flex:none;stroke:var(--sun);fill:none;stroke-width:1.9}
.opt .hd svg.r{stroke:var(--rose-ic)}
.opt b{font-size:13px;display:block}
.opt .d{font-size:11px;color:var(--muted);margin-top:1px;line-height:1.4}
.opt .pr{font-family:var(--disp);font-size:19px;font-weight:700;margin:9px 0 1px}
.opt .rs{font-size:10.5px;color:var(--muted);margin-bottom:10px}
.tot{display:flex;justify-content:space-between;align-items:center;padding:14px 0 12px;margin-top:14px;border-top:1px solid var(--line);font-size:12.5px}
.tot b{font-family:var(--disp);font-size:18px}
/* acces */
.acc{background:var(--cream);border-radius:16px;padding:15px;text-align:center;margin-top:13px}
.acc h4{font-family:var(--disp);font-size:17.5px;margin:9px 0 3px;font-weight:600}
.acc .vd{font-size:11px;color:var(--muted);line-height:1.45}
.codebox{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--card);border-radius:13px;padding:13px 12px;margin-top:11px}
.codebox .c{font-family:var(--disp);font-size:31px;font-weight:700;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.codebox .kk{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--forest);color:#fff;flex:none}
.codebox .kk svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.9}
.codebox .kh{font-family:var(--disp);font-size:26px;font-weight:700;color:#fff;line-height:1}
.codebox .cp{background:transparent;border:0;padding:0;cursor:pointer;line-height:0}
.codebox .cp svg{width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.7}
.acc .src{font-size:11px;color:var(--muted);margin-top:9px}
.acc .brand{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:5px;font-size:12px;font-weight:700}
.acc .brand i{width:14px;height:14px;border-radius:50%;background:var(--ink);display:inline-block;position:relative}
.acc .brand i:after{content:"";position:absolute;left:3.5px;top:5px;width:7px;height:5px;border-radius:7px 7px 0 0;background:var(--cream)}
.keyhint{margin-top:10px;background:var(--card);border-radius:11px;padding:9px 11px;font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;text-align:left}
.keyhint svg{width:15px;height:15px;flex:none;margin-top:1px;stroke:var(--forest);fill:none;stroke-width:1.9}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.trio div,.trio .lnk{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 5px;text-align:center;font-size:9.5px;font-weight:600;line-height:1.35;display:block;color:inherit;text-decoration:none}
.trio .lnk svg,.trio svg{width:17px;height:17px;stroke:var(--forest);fill:none;stroke-width:1.7;display:block;margin:0 auto 6px}
.good{margin-top:12px;background:var(--forest-soft);border-radius:12px;padding:12px;display:flex;gap:9px;font-size:11px;line-height:1.45}
.good svg{width:16px;height:16px;flex:none;stroke:var(--green);fill:none;stroke-width:1.9}
.good b{display:block;font-size:12px;margin-bottom:2px}
/* extras */
.chips{display:flex;gap:6px;overflow-x:auto;padding:11px 0 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:6px 13px;font-family:var(--body);font-size:11.5px;font-weight:600;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.cards{display:flex;flex-direction:column;gap:11px;margin-top:11px}
.ca{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ca .top{height:104px;background:#EDE6DA center/cover;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:9px}
.ca .top:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,26,19,.42),transparent 58%)}
.ca .sy{position:relative;z-index:2}
.ca .hot{position:relative;z-index:2;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;background:var(--sun);color:#231400;padding:4px 9px;border-radius:99px;max-width:56%;text-align:center;line-height:1.15;box-shadow:0 4px 12px -4px rgba(0,0,0,.35)}
.ca .bd{padding:11px 12px 12px}
.ca .bd b{display:block;font-size:13.5px;line-height:1.25}
.ca .bd i{display:block;font-style:normal;font-size:11px;color:var(--muted);line-height:1.4;margin-top:3px}
.ca .rw{display:flex;align-items:center;gap:9px;margin-top:10px}
.ca .pr{font-family:var(--disp);font-size:18px;font-weight:700}
.ca .pr small{font-family:var(--body);font-size:10.5px;font-weight:500;color:var(--muted)}
.ca .add{margin-left:auto}
.ad{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#fff;background:var(--forest);border:0;border-radius:9px;padding:8px 12px;cursor:pointer;font-family:var(--body)}
.ad.inb{background:var(--green)}
.ad em{font-style:normal;font-size:13px;line-height:1}
/* barre panier */
.cartbar{position:absolute;left:9px;right:9px;bottom:9px;background:var(--forest);color:#fff;border-radius:14px;padding:10px 13px;display:flex;align-items:center;gap:10px;z-index:7;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.cartbar .n{background:rgba(255,255,255,.2);border-radius:8px;padding:3px 8px;font-size:11px;font-weight:800}
.cartbar .t{font-size:11px;opacity:.9}
.cartbar .t b{display:block;font-family:var(--disp);font-size:16px;font-weight:700;opacity:1}
.cartbar .btn{width:auto;margin-left:auto;background:#fff;color:var(--forest-d);padding:9px 13px}
/* prolonger */
.nights{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.nights button{background:var(--card);border:1.4px solid var(--line);border-radius:13px;padding:11px 4px;cursor:pointer;font-family:var(--body);text-align:center}
.nights button[aria-pressed="true"]{border-color:var(--forest);background:var(--forest-soft)}
.nights .d{font-family:var(--disp);font-size:19px;font-weight:700;display:block;line-height:1.1}
.nights .l{font-size:9.5px;color:var(--muted);font-weight:600}
.nights .e{display:block;font-size:9px;font-weight:800;color:var(--green);margin-top:3px}
.calstrip{display:flex;gap:5px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.calstrip::-webkit-scrollbar{display:none}
.calstrip div{flex:none;width:40px;border-radius:10px;padding:7px 0;text-align:center;background:var(--card);border:1px solid var(--line);font-size:10px}
.calstrip div b{display:block;font-family:var(--disp);font-size:15px;font-weight:700;line-height:1.2}
.calstrip div.stay{background:var(--forest-soft);border-color:var(--forest-soft);color:var(--forest)}
.calstrip div.new{background:var(--sun);border-color:var(--sun);color:#231400}
.calstrip div.free{opacity:.55}
/* listes */
.list{display:flex;flex-direction:column;gap:11px;margin-top:11px}
.li{display:flex;gap:11px;align-items:center}
.li .im{width:60px;height:60px;border-radius:12px;flex:none;background:#EDE6DA center/cover;position:relative;overflow:hidden}
.li .tx{flex:1;min-width:0}
.li .tx b{display:block;font-size:13px;line-height:1.3}
.li .tx span{font-size:11.5px;color:var(--muted)}
.li .tx i{display:block;font-style:normal;font-size:10.5px;line-height:1.35;color:var(--muted);opacity:.85;margin-top:2px}
.li .arw{flex:none}
.li .arw svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2}
.ph{position:relative;overflow:hidden;background:#EDE6DA center/cover}
.ph .tag{position:absolute;right:7px;bottom:7px;font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#fff;background:rgba(0,0,0,.4);padding:3px 7px;border-radius:99px}
.big{height:180px;position:relative;background:#EDE6DA center/cover}
.big .grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,26,19,.82),transparent 62%)}
.big .cp{position:absolute;left:15px;right:15px;bottom:13px;color:#fff}
.big .cp h3{font-family:var(--disp);font-size:20px;margin:0 0 3px;font-weight:600;line-height:1.2}
.big .cp p{margin:0;font-size:11.5px;opacity:.92;line-height:1.4}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;text-align:center}
.three div{font-size:9.5px;font-weight:600;color:var(--muted);line-height:1.35}
.three svg{width:19px;height:19px;stroke:var(--forest);fill:none;stroke-width:1.6;display:block;margin:0 auto 6px}
.secttl{font-family:var(--disp);font-size:20px;font-weight:600;margin:14px 0 1px;line-height:1.2}
.sectsub{margin:0;font-size:12px;color:var(--muted)}
.pricetag{font-family:var(--disp);font-size:19px;font-weight:700;text-align:center;margin:14px 0 2px}
.pricetag small{font-family:var(--body);font-size:11.5px;font-weight:500;color:var(--muted)}
.partner{margin-top:14px;text-align:center;font-size:12px}
.partner b{display:block;font-family:var(--disp);font-size:15px;color:var(--forest)}
.partner span{font-size:10.5px;color:var(--muted)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:11px}
.gal div{padding-top:100%;border-radius:9px;background:#EDE6DA center/cover}
.gal div:first-child{grid-column:span 3;padding-top:56%}
.rows{margin-top:8px}
.rw2{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}
.rw2:last-child{border-bottom:0}
.rw2 svg.i{width:17px;height:17px;stroke:var(--forest);fill:none;stroke-width:1.7;flex:none}
.rw2 .g{flex:1}
.rw2 small{display:block;font-size:10.5px;color:var(--muted)}
.rw2 svg.a{width:13px;height:13px;stroke:var(--muted);fill:none;stroke-width:2;flex:none}
.contact{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-top:10px;cursor:pointer}
.contact .ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none}
.contact .ic svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.9}
.contact .g{flex:1}
.contact b{display:block;font-size:13px}
.contact small{font-size:10.5px;color:var(--muted)}
.faqttl{font-family:var(--disp);font-size:16.5px;font-weight:600;margin:20px 0 4px}
/* recap panier */
.rc{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.rc .sy{flex:none}
.rc .g{flex:1}
.rc .g b{display:block;font-size:12.5px}
.rc .g small{font-size:10.5px;color:var(--muted)}
.rc .p{font-family:var(--disp);font-size:15px;font-weight:700}
.rc .x{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}
.emptyc{text-align:center;padding:36px 10px;color:var(--muted);font-size:12.5px}
/* nav */
.nav{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--card);padding-bottom:6px}
.nav button{background:transparent;border:0;padding:9px 2px 7px;font-family:var(--body);font-size:9.5px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}
.nav svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav button[aria-current="true"]{color:var(--forest)}
.nav .cbg{position:absolute;top:5px;left:50%;margin-left:5px;background:var(--rose-ic);color:#fff;font-size:8.5px;font-weight:800;min-width:15px;height:15px;border-radius:99px;display:grid;place-items:center;padding:0 3px}
/* pied */
.foot{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);gap:14px}
@media(max-width:760px){.foot{grid-template-columns:1fr;text-align:center;justify-items:center}}
.foot img{height:66px;width:auto}
.foot .mid{text-align:center;font-family:var(--disp);font-style:italic;font-size:17px}
.foot .rt{text-align:right;font-family:var(--disp);font-size:16px;font-weight:600;line-height:1.2}
@media(max-width:760px){.foot .rt{text-align:center}}
.foot .rt small{display:block;font-family:var(--disp);font-style:italic;font-size:12.5px;font-weight:400;color:var(--muted)}
/* ===== v4 : badges symboles, fiches produit ===== */
.bdg{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;flex:none}
.bdg svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bdg .q{position:absolute}
.bdgw{position:relative;display:inline-flex}
.bdgw .qt{position:absolute;right:-5px;bottom:-4px;background:var(--ink);color:var(--card);font-size:8.5px;font-weight:800;min-width:15px;height:15px;border-radius:99px;display:grid;place-items:center;padding:0 3px;border:2px solid var(--card)}
.lg div{display:flex;align-items:center;gap:9px;font-size:11.5px}
.ca .top{height:190px;background-position:center 46%}
.ca .top.top-romantique{background-position:center 62%}
.fart.fart-romantique{background-position:center 62%}
.ca .top.top-pdj,.fart.fart-pdj{background-position:center 52%}
.ca .top.top-tapas,.fart.fart-tapas{background-position:center 50%}
.ca .top.top-menage,.fart.fart-menage{background-position:center 58%}
.ca .top.top-draps,.fart.fart-draps{background-position:center 50%}
.ca .top.top-nuit,.fart.fart-nuit{background-position:center 50%}
.ca .sy{position:relative;z-index:2}
.op{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.op button{display:flex;align-items:center;gap:10px;background:var(--card);border:1.4px solid var(--line);border-radius:13px;padding:11px 12px;cursor:pointer;font-family:var(--body);text-align:left;width:100%}
.op button[aria-pressed="true"]{border-color:var(--forest);background:var(--forest-soft)}
.op .rd{width:17px;height:17px;border-radius:50%;border:1.6px solid var(--line);flex:none;position:relative}
.op button[aria-pressed="true"] .rd{border-color:var(--forest)}
.op button[aria-pressed="true"] .rd:after{content:"";position:absolute;inset:3.5px;border-radius:50%;background:var(--forest)}
.op .k{flex:1;font-size:12.5px;font-weight:600}
.op .k small{display:block;font-weight:700;font-size:9.5px;color:var(--green);letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
.op .pp{font-family:var(--disp);font-size:15px;font-weight:700}
.op .pp small{font-family:var(--body);font-size:10px;font-weight:500;color:var(--muted)}
.fart{height:252px;background:#EDE6DA center 50%/cover}
.fh{display:flex;align-items:flex-start;gap:11px;margin-top:13px}
.fh .g{flex:1}
.fh h3{font-family:var(--disp);font-size:20px;margin:0;font-weight:600;line-height:1.2}
.fh p{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
.pts{margin:13px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.pts li{display:flex;gap:8px;align-items:flex-start;font-size:12px}
.pts svg{width:15px;height:15px;flex:none;margin-top:2px;stroke:var(--green);fill:none;stroke-width:2.2}
.ext{display:flex;align-items:center;gap:8px;background:var(--cream);border-radius:11px;padding:10px 12px;margin-top:12px;font-size:11px;color:var(--muted);line-height:1.4}
.ext svg{width:15px;height:15px;flex:none;stroke:var(--forest);fill:none;stroke-width:1.9}
.grp{margin-top:18px}
.grph{display:flex;align-items:baseline;gap:8px;margin:0 0 2px}
.grph h4{font-family:var(--disp);font-size:16px;font-weight:600;margin:0}
.grph span{font-size:11px;color:var(--muted)}


/* ===== v5 : aperçu de site partenaire ===== */
.sitecard{margin-top:14px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--card);text-decoration:none;color:inherit;display:block}
.sitecard .shot{height:172px;background:#EDE6DA center top/cover;position:relative}
.sitecard .shot:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -30px 40px -30px rgba(0,0,0,.35)}
.sitecard .bar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--cream)}
.sitecard .dts{display:flex;gap:4px}
.sitecard .dts i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.sitecard .url{flex:1;background:var(--card);border-radius:99px;padding:3px 10px;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sitecard .ft{padding:11px 12px;display:flex;align-items:center;gap:10px}
.sitecard .ft b{display:block;font-size:12.5px;line-height:1.3}
.sitecard .ft>div{min-width:0}
.sitecard .ft small{font-size:10.5px;color:var(--muted)}
.sitecard .go{margin-left:auto;flex:none;background:var(--forest);color:#fff;border-radius:9px;padding:8px 12px;font-size:11.5px;font-weight:700}
/* ===== v5 : canaux de contact hiérarchisés ===== */
.can{position:relative;display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:15px;padding:13px;margin-top:10px;background:var(--card)}
.can.p1{border-color:var(--forest);background:var(--forest-soft)}
.can .hd{display:flex;align-items:center;gap:10px}
.can .ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.can .ic svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.9}
.can .g{flex:1;padding-right:72px}
.can .g b{display:block;font-size:13.5px;line-height:1.25}
.can .g small{font-size:10.5px;color:var(--muted)}
.can .rk{position:absolute;top:11px;right:11px;font-size:8px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--forest);color:#fff}
.can .rk.s{background:var(--cream);color:var(--muted)}
.can p{margin:9px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}
/* ===== v5 : réponses immédiates ===== */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}
.qgrid button{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px 5px;cursor:pointer;font-family:var(--body);font-size:9.5px;font-weight:600;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px;line-height:1.25;text-align:center}
.qgrid svg{width:19px;height:19px;stroke:var(--forest);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qa{border:1px solid var(--line);border-radius:13px;margin-top:9px;overflow:hidden;background:var(--card)}
.qa .q{display:flex;align-items:center;gap:9px;padding:12px;cursor:pointer;font-size:12.5px;font-weight:600}
.qa .q svg.i{width:16px;height:16px;stroke:var(--forest);fill:none;stroke-width:1.8;flex:none}
.qa .q .ch{margin-left:auto;color:var(--muted);font-size:13px;line-height:1}
.qa .a{padding:0 12px 12px 37px;font-size:11.5px;color:var(--muted);line-height:1.55}
.qa .a b{color:var(--ink)}


/* ===== v8 : formulaire horaires, progression, accès détaillé ===== */
.hform{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:13px;position:relative;overflow:hidden}
.hform.todo{border-color:var(--sun);box-shadow:0 0 0 3px rgba(247,169,59,.14)}
.hform .fl{display:flex;align-items:center;gap:9px}
.hform .fl svg{width:18px;height:18px;stroke:var(--forest);fill:none;stroke-width:1.8;flex:none}
.hform h5{font-family:var(--disp);font-size:15.5px;margin:0;font-weight:600;line-height:1.2;flex:1}
.hform .tag2{font-size:8px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--sun);color:#231400}
.hform .tag2.ok{background:var(--forest-soft);color:var(--forest)}
.hform p.sub{margin:6px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.tp{background:var(--cream);border-radius:13px;padding:10px}
.tp .lb2{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.tp .dt2{font-size:10.5px;color:var(--muted);margin-top:2px}
.tp .set{display:flex;align-items:center;justify-content:space-between;margin-top:7px;gap:4px}
.tp .set button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:15px;line-height:1;cursor:pointer;font-family:var(--body);flex:none}
.tp .set button:disabled{opacity:.3;cursor:default}
.tp .set .vv{font-family:var(--disp);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.tp .warn2{font-size:9.5px;font-weight:700;color:var(--sun);margin-top:5px;line-height:1.3}
.tp .free{font-size:9.5px;font-weight:700;color:var(--green);margin-top:5px}
.deadline{display:flex;gap:8px;align-items:flex-start;background:var(--cream);border-radius:11px;padding:10px 11px;margin-top:11px;font-size:11px;color:var(--muted);line-height:1.5}
.deadline svg{width:15px;height:15px;flex:none;margin-top:1px;stroke:var(--sun);fill:none;stroke-width:1.9}
.prog{margin-top:12px}
.prog .bar{height:5px;border-radius:99px;background:var(--line);overflow:hidden}
.prog .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--forest));border-radius:99px}
.prog .lg2{display:flex;justify-content:space-between;font-size:9.5px;color:var(--muted);margin-top:6px;font-weight:600}
/* accès détaillé */
.stp{display:flex;gap:11px;margin-top:14px}
.stp .num{width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;flex:none;font-variant-numeric:tabular-nums}
.stp .bd2{flex:1;min-width:0;padding-bottom:14px;border-bottom:1px solid var(--line)}
.stp:last-of-type .bd2{border-bottom:0;padding-bottom:0}
.stp b{display:block;font-size:13.5px;line-height:1.3}
.stp p{margin:3px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}
.cd2{display:flex;align-items:center;gap:9px;background:var(--cream);border-radius:11px;padding:9px 11px;margin-top:9px}
.cd2 .v2{font-family:var(--disp);font-size:21px;font-weight:700;letter-spacing:.09em;font-variant-numeric:tabular-nums;flex:1}
.cd2 .kk2{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--forest);color:#fff;flex:none}
.cd2 .kk2 svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.9}
.cd2 .kh2{font-family:var(--disp);font-size:19px;font-weight:700;color:#fff;line-height:1}
.cd2 .cp2{background:transparent;border:0;padding:0;cursor:pointer;line-height:0;flex:none}
.cd2 .cp2 svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.7}
.cd2.live{background:var(--forest-soft)}
.wifibox{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px 12px;margin-top:10px}
.wifibox svg{width:19px;height:19px;stroke:var(--forest);fill:none;stroke-width:1.7;flex:none}
.wifibox .g2{flex:1;min-width:0}
.wifibox b{display:block;font-size:12.5px}
.wifibox small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.vid{display:flex;align-items:center;gap:10px;background:var(--forest);color:#fff;border-radius:13px;padding:11px 13px;margin-top:11px;text-decoration:none}
.vid svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8;flex:none}
.vid b{display:block;font-size:12.5px}
.vid small{font-size:10.5px;opacity:.85}
.dep{margin:9px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.dep li{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;line-height:1.45}
.dep svg{width:14px;height:14px;flex:none;margin-top:3px;stroke:var(--forest);fill:none;stroke-width:2.2}

@media(prefers-reduced-motion:no-preference){.scr>*{animation:f .24s ease both}}
@keyframes f{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
/* ===== production : l'application occupe l'écran du téléphone ===== */
html,body{height:100%}
body{background:var(--page)}
.app{max-width:480px;margin:0 auto;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--card);position:relative;overflow:hidden}
@media(min-width:600px){body{background:linear-gradient(160deg,#0E4A34,#0A3728)}.app{height:calc(100dvh - 40px);margin:20px auto;border-radius:28px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}}
.app .scr{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.lockbox{background:var(--cream);border-radius:16px;padding:16px;margin-top:12px}
.lockbox h4{font-family:var(--disp);font-size:17px;margin:0 0 4px}
.lockbox p{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.lockbox .btn{margin-top:12px}
.lockbox.lw{background:var(--rose);border:1px solid var(--rose-line)}
.masq{letter-spacing:.3em;color:var(--muted)}
.rgl{margin:9px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.rgl li{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.45}
.rgl svg{width:14px;height:14px;flex:none;margin-top:3px;stroke:var(--rose-ic);fill:none;stroke-width:2}
.okmsg{background:var(--forest-soft);border-radius:14px;padding:14px;margin-top:14px;font-size:13px;line-height:1.5}
.okmsg b{display:block;font-family:var(--disp);font-size:16px;margin-bottom:3px}
.cmdl{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.cmdl .it{display:flex;gap:8px;align-items:center;background:var(--cream);border-radius:12px;padding:9px 11px;font-size:12px}
.cmdl .it b{flex:1}
.cmdl .st{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:var(--sun);color:#231400}
.cmdl .st.ok{background:var(--forest-soft);color:var(--forest)}
.apercu{background:#F7A93B;color:#231400;font-size:11px;font-weight:700;text-align:center;padding:6px 10px}
.toast2{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#0E4A34;color:#fff;padding:10px 16px;border-radius:99px;font-size:13px;z-index:50;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.wifibox .cp2{background:none;border:0;padding:0;cursor:pointer;line-height:0}.wifibox .cp2 svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.7}
.vgn{display:block;width:34px;height:34px;border-radius:9px;background:var(--cream) center/cover no-repeat;flex:none}
.fh .bdgw .vgn{width:46px;height:46px;border-radius:12px}
.hintl a{color:var(--forest)}
.valid{margin-top:8px;font-size:13px;font-weight:600;color:var(--forest,#0E4A34);background:#E8F4EE;border-radius:10px;padding:8px 10px;text-align:center}
/* ===== Proposition « clair » (11/09) : thème toujours clair, couleurs du logo ATS, accès en grand ===== */
:root,:root[data-theme="dark"]{--page:#EEF3F6;--card:#FFFFFF;--cream:#F4F8FA;--line:#DCE7EE;--ink:#10202B;--muted:#5E7382;--forest:#0E3F5C;--forest-d:#0A2F45;--forest-soft:#E6F2F8;--green:#1B6E9B;--sun:#F08430;--rose:#FFF4EA;--rose-line:#F9D9BD;--rose-ic:#F08430;--shadow:0 18px 40px -26px rgba(14,63,92,.35)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--page:#EEF3F6;--card:#FFFFFF;--cream:#F4F8FA;--line:#DCE7EE;--ink:#10202B;--muted:#5E7382;--forest:#0E3F5C;--forest-d:#0A2F45;--forest-soft:#E6F2F8;--green:#1B6E9B;--sun:#F08430;--rose:#FFF4EA;--rose-line:#F9D9BD;--rose-ic:#F08430;--shadow:0 18px 40px -26px rgba(14,63,92,.35)}}
html{color-scheme:light}
body{background:var(--page)!important;color:var(--ink)}
.acc2{margin:14px 0 0;background:#fff;border:2px solid #48A8D8;border-radius:20px;padding:16px 16px 14px;box-shadow:var(--shadow)}
.acc2.wait{border-color:var(--line)}
.acc2 .hd2{display:flex;justify-content:space-between;align-items:center;gap:8px}
.acc2 .src2{font-size:11.5px;color:var(--muted);text-align:right}
.acc2 .lbl{margin-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#1B6E9B}
.acc2 .vd2{margin-top:6px;font-size:15px;font-weight:600;color:var(--ink)}
.codebig{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;background:#0E3F5C;border-radius:16px;padding:16px 12px}
.codebig .c{font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace;font-size:clamp(24px,7.6vw,36px);font-weight:800;letter-spacing:.02em;color:#fff;white-space:nowrap}
.codebig .kb{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:12px;background:#F08430;color:#fff;font-size:22px;font-weight:800}
.codebig .kb svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2}
.cpbig{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:9px;border:1.5px solid #CFE0EA;background:#F4FAFD;color:#0E3F5C;border-radius:12px;padding:11px;font:700 14px var(--body);cursor:pointer}
.cpbig svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.acc2 .valid,.chat .valid{margin-top:9px;font-size:13.5px;font-weight:700;color:#0E3F5C;background:#E6F2F8;border-radius:10px;padding:9px 10px;text-align:center}
.aide2{margin-top:10px;font-size:13.5px;line-height:1.5;color:#2C4A5C;background:#FFF4EA;border-radius:10px;padding:9px 11px}
.trio2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.trio2 a,.trio2 button{display:flex;flex-direction:column;align-items:center;gap:5px;background:#F4F8FA;border:1px solid var(--line);border-radius:12px;padding:10px 4px;font:700 12.5px var(--body);color:#0E3F5C;text-decoration:none;cursor:pointer}
.trio2 svg{width:22px;height:22px;stroke:#1B6E9B;fill:none;stroke-width:1.8}
.wf2{display:flex;align-items:center;gap:12px;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 14px}
.wf2>svg{width:28px;height:28px;stroke:#48A8D8;fill:none;stroke-width:1.8;flex:none}
.wf2 .g{flex:1;min-width:0;display:flex;flex-direction:column}
.wf2 small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#1B6E9B}
.wf2 b{font-size:16px}
.wf2 .mdp{font-family:ui-monospace,Menlo,monospace;font-size:17px;font-weight:700;color:#0E3F5C;word-break:break-all}
.wf2 .mq{font-size:12.5px;color:var(--muted)}
.cpb{border:0;background:#0E3F5C;color:#fff;border-radius:10px;padding:9px 12px;font:700 13px var(--body);cursor:pointer}
.tl6{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.tl6 button,.tl6 a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 10px;cursor:pointer;text-decoration:none;color:var(--ink);font-family:var(--body)}
.tl6 svg{width:22px;height:22px;stroke:#F08430;fill:none;stroke-width:1.8;margin-bottom:4px}
.tl6 b{font-size:13.5px}.tl6 small{font-size:11px;color:var(--muted);line-height:1.25}
.chat{padding:12px 14px 90px}
.lgs{display:flex;gap:6px;justify-content:flex-end;margin-bottom:10px}
.lgs button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:4px 10px;font:700 11.5px var(--body);color:var(--muted);cursor:pointer}
.lgs button.on{background:#0E3F5C;border-color:#0E3F5C;color:#fff}
.msg{max-width:88%;margin:8px 0;padding:11px 13px;border-radius:16px;font-size:14.5px;line-height:1.5}
.msg.bot{background:#fff;border:1px solid var(--line);border-top-left-radius:5px}
.msg.me{margin-left:auto;background:#0E3F5C;color:#fff;border-top-right-radius:5px}
.msg ol,.msg ul{margin:6px 0 0;padding-left:18px}.msg p{margin:6px 0 0}
.msg .mono{font-family:ui-monospace,Menlo,monospace}
.chbtn{display:inline-flex;align-items:center;gap:6px;margin:8px 6px 0 0;border:1.5px solid #CFE0EA;background:#F4FAFD;color:#0E3F5C;border-radius:10px;padding:7px 11px;font:700 13px var(--body);text-decoration:none;cursor:pointer}
.chbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.chips button{border:1.5px solid #48A8D8;background:#fff;color:#0E3F5C;border-radius:18px;padding:7px 12px;font:600 13px var(--body);cursor:pointer;text-align:left}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.contacts a,.contacts div{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;text-decoration:none;color:var(--ink)}
.contacts svg{width:24px;height:24px;flex:none;stroke:#1B6E9B;fill:none;stroke-width:1.8}
.contacts span{display:flex;flex-direction:column;font-size:13px}.contacts small{color:var(--muted);font-size:11.5px}
.chin{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 12px;background:rgba(238,243,246,.96);border-top:1px solid var(--line)}
.chin input{flex:1;border:1px solid #CFE0EA;border-radius:22px;padding:11px 14px;font:15px var(--body);background:#fff;color:var(--ink)}
.chin button{width:44px;height:44px;border-radius:22px;border:0;background:#F08430;color:#fff;display:flex;align-items:center;justify-content:center}
.chin button svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.2}
.nav{grid-template-columns:repeat(5,1fr)!important}.nav button{font-size:10.5px}
.nav button[aria-current="true"]{color:#0E3F5C}
/* v3 : langue FR | EN, retour à l'accueil, en-tête aéré */
.topbar{gap:10px;padding:6px 14px 10px}
.tb-c{text-align:left;min-width:0}
.tb-c .lt,.tb-c .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-r{display:flex;align-items:center;gap:10px;flex:none}
.lgt{display:inline-flex;border:1.5px solid #CFE0EA;border-radius:99px;overflow:hidden;background:#fff;flex:none}
.lgt button{border:0;background:transparent;font:800 11px var(--body);letter-spacing:.05em;color:#5E7382;padding:6px 10px;cursor:pointer;line-height:1}
.lgt button.on{background:#0E3F5C;color:#fff}
.tb-l.hm{flex:none;width:36px;height:36px;border-radius:12px;background:#F4F8FA;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#0E3F5C;padding:0}
.tb-l.hm svg{width:18px;height:18px;stroke:#0E3F5C;fill:none;stroke-width:2}
.step .stp-r{margin-left:auto;flex:none}
.step h3{margin:0}
