:root{
  color-scheme:light only;
  --cream:#FFFCF7; --creme2:#FDF4E9; --card:#FFFFFF; --ink:#4A2B1B; --soft:#8A6A55;
  --terra:#A86A4D; --sun:#FFF492; --sun-doux:#FFF9DC;
  --line:rgba(74,43,27,.13); --ombre:0 14px 34px -18px rgba(74,43,27,.4);
  --titre:"Poppins",system-ui,sans-serif;
  --corps:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--corps);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--titre);font-weight:800;letter-spacing:-.025em;line-height:1.06;margin:0;text-wrap:balance}
h1{font-size:clamp(32px,6vw,54px)}
h2{font-size:clamp(25px,4.2vw,36px)}
h3{font-size:18px;letter-spacing:-.015em}
p{margin:0}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.beta{background:var(--ink);color:var(--cream);font-size:13px;text-align:center;padding:7px 16px}
.beta b{font-family:var(--titre);font-weight:700}

/* ---- en-tête ---- */
.rebours{position:sticky;top:0;z-index:32;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;justify-content:center;background:var(--ink);color:#FFFCF7;text-decoration:none;font-size:14px;padding:9px 18px;text-align:center}
.rebours .r-txt b{font-family:var(--titre);font-weight:700;font-variant-numeric:tabular-nums}
.rebours .r-cta{font-family:var(--titre);font-weight:700;font-size:13.5px;color:var(--sun)}
.rebours:hover .r-cta{text-decoration:underline}
.rebours.expire{background:#B0462B}
.rebours.expire .r-cta{color:#FFF6EF;text-decoration:underline}
header.top{position:sticky;top:var(--barre,0px);z-index:30;background:rgba(255,252,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;height:64px}
.gauche{display:flex;align-items:center;gap:14px}
.burger{width:40px;height:40px;display:grid;align-content:center;gap:5px;background:none;border:0;cursor:pointer;padding:0 8px}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:width .2s ease}
.burger span:nth-child(1){width:20px}.burger span:nth-child(2){width:14px}.burger span:nth-child(3){width:20px}
.burger:hover span{width:20px}
.marque{font-family:var(--titre);font-weight:800;font-size:21px;letter-spacing:-.03em;text-decoration:none}
nav.liens{display:flex;gap:2px;align-items:center}
nav.liens a{font:inherit;font-size:14px;font-weight:500;background:none;border:0;color:var(--soft);padding:8px 11px;border-radius:999px;cursor:pointer;text-decoration:none}
nav.liens a{padding:8px 9px}
nav.liens a:hover{color:var(--ink);background:rgba(168,106,77,.09)}
nav.liens a[aria-current="page"]{color:var(--ink);font-weight:700}
.droite{display:flex;align-items:center;gap:12px}
.trait{width:1px;height:26px;background:var(--line);display:block}
@media (max-width:1060px){ .trait{display:none} }
header .cta-top{font-size:14px;padding:10px 20px}
@media (max-width:1060px){ nav.liens{display:none} }
@media (max-width:560px){
  header .wrap{gap:8px}
  .gauche{gap:8px}
  .marque{font-size:19px}
  .droite{gap:8px}
  header .cta-top{font-size:13.5px;padding:10px 15px}
  .burger{padding:0 4px;width:32px}
}
@media (max-width:400px){ header .cta-top{font-size:13px;padding:9px 12px} .marque{font-size:18px} }
@media (max-width:370px){ header .cta-top{font-size:12.5px;padding:8px 9px} .marque{font-size:16px} header .wrap,.gauche,.droite{gap:5px} }

/* ---- tiroir ---- */
.voile{position:fixed;inset:0;background:rgba(74,43,27,.38);z-index:40;opacity:0;transition:opacity .2s ease}
.voile.on{opacity:1}
.tiroir{position:fixed;top:0;left:0;bottom:0;width:min(84vw,320px);background:var(--cream);z-index:41;box-shadow:0 0 60px rgba(74,43,27,.3);transform:translateX(-100%);transition:transform .25s ease;padding:22px;display:flex;flex-direction:column;gap:6px;overflow:auto}
.tiroir.on{transform:none}
.tiroir .ferme{align-self:flex-end;background:none;border:0;font-size:26px;line-height:1;color:var(--soft);cursor:pointer;padding:4px 8px}
.tiroir h4{font-family:var(--titre);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin:18px 0 6px}
.tiroir .nav{display:block;text-decoration:none;font:inherit;font-family:var(--titre);font-weight:700;font-size:19px;text-align:left;background:none;border:0;color:var(--ink);padding:9px 0;cursor:pointer;border-bottom:1px solid var(--line)}
.tiroir a.mini{font-size:14.5px;color:var(--soft);text-decoration:none;padding:6px 0}

/* ---- boutons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--titre);font-weight:700;font-size:15.5px;text-decoration:none;border:2px solid var(--ink);background:var(--ink);color:#FFFCF7;border-radius:999px;padding:13px 26px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--ombre)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.petit{font-size:14px;padding:10px 20px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btns.centre{justify-content:center}

/* ---- pages ---- */
.page{display:none}
.page.on{display:block}
section{padding-block:clamp(38px,5.6vw,68px)}
.eyebrow{font-family:var(--titre);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.lead{color:var(--soft);font-size:18px;max-width:58ch;margin-top:16px}
.note{color:var(--soft);font-size:14.5px}
.centre{text-align:center}
.centre .lead{margin-inline:auto}

/* ---- bloc présentation ---- */
.coucou{background:var(--creme2);border-radius:28px;padding:clamp(22px,3.4vw,40px)}
.coucou-haut{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(20px,3.2vw,40px);align-items:center}
.coucou .photo{max-width:260px}
.coucou .photo{border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:var(--card);box-shadow:var(--ombre)}
.coucou .photo img{width:100%;height:100%;object-fit:cover}
.coucou-titre{font-style:italic;font-weight:700;font-size:clamp(23px,3.4vw,40px)}
.coucou .photo.illu{aspect-ratio:auto;background:#fff;max-width:none;border-radius:10px;padding:0}
.coucou.compact{padding:clamp(18px,2.6vw,30px)}
.coucou.compact .coucou-haut{grid-template-columns:.5fr 1.5fr;gap:clamp(18px,2.6vw,34px)}
.coucou.compact .photo.illu{max-width:200px}
@media (max-width:520px){ .coucou.compact .photo.illu{max-width:170px;margin:0 auto} }
.coucou .photo.illu img{height:auto;object-fit:contain}
.visuel-vide{aspect-ratio:3/4;border:1px dashed var(--line);border-radius:12px;background:var(--creme2);display:grid;place-items:center;color:var(--soft);font-size:14px}
@media (max-width:520px){ .coucou-haut{grid-template-columns:1fr;gap:22px} .coucou .photo{max-width:300px;margin:0 auto} }

/* ---- séparateur ---- */
.sep{display:flex;align-items:center;gap:16px;max-width:420px;margin:0 auto;color:var(--terra)}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}
.sep span{font-size:18px;line-height:1}

/* ---- raccourcis de page ---- */
/* ---- barre collante de section ---- */
.sousnav{position:sticky;top:104px;z-index:20;background:rgba(255,252,247,.94);backdrop-filter:blur(10px);border-block:1px solid var(--line)}
.sousnav .wrap{display:flex;gap:4px;align-items:center;justify-content:center;overflow-x:auto;scrollbar-width:none;padding-block:9px}
.sousnav .wrap::-webkit-scrollbar{display:none}
.racc{position:relative;flex:0 0 auto;font:inherit;font-family:var(--titre);font-weight:600;font-size:14.5px;color:var(--soft);background:none;border:0;padding:8px 15px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .18s ease,background .18s ease}
.racc:hover{color:var(--ink);background:rgba(168,106,77,.08)}
.racc.actif{color:var(--ink);font-weight:700;background:var(--sun-doux)}
.racc .px{display:none}
@media (max-width:620px){ .sousnav .wrap{justify-content:flex-start} .racc{font-size:14px;padding:8px 12px} }

/* ---- vos vies illustrées ---- */
.etalage{display:flex;justify-content:center;align-items:center;margin-top:34px;padding-block:10px}
.etalage img{width:30%;max-width:300px;border:6px solid #fff;border-radius:6px;box-shadow:0 16px 36px -20px rgba(74,43,27,.8);background:#fff;transition:transform .3s ease}
.etalage img:nth-child(1){transform:rotate(-7deg);margin-right:-3.5%;z-index:1}
.etalage img:nth-child(2){transform:rotate(1deg);z-index:3;width:33%}
.etalage img:nth-child(3){transform:rotate(7deg);margin-left:-3.5%;z-index:2}
.etalage img:hover{transform:translateY(-10px) rotate(0deg);z-index:4}
.etalage{cursor:pointer}
.etalage-indice{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;font-family:var(--titre);font-weight:700;font-size:12.5px;letter-spacing:.04em;color:var(--soft)}
@media (max-width:560px){ .etalage img{width:40%} .etalage img:nth-child(2){width:44%} }
@media (max-width:720px){
  .coucou .coucou-haut{display:flex;flex-direction:column}
  .coucou .photo{order:2;max-width:260px;margin-inline:auto}
  .coucou .coucou-haut > div:not(.photo){order:1}
}

/* ---- formats sur une ligne ---- */
.groupes{display:grid;grid-template-columns:3fr 1.35fr;gap:16px;margin-top:28px;align-items:stretch;text-align:left}
.groupe{border:1.5px solid rgba(168,106,77,.18);border-radius:24px;padding:16px;display:flex;flex-direction:column}
.groupe.jaune, .groupe.creme{background:var(--creme2)}
.formats{display:grid;gap:12px;align-items:stretch;flex:1}
.formats.quatre{grid-template-columns:repeat(3,1fr)}
.formats.un{grid-template-columns:1fr}
@media (max-width:900px){ .groupes{grid-template-columns:1fr} .formats.quatre{grid-template-columns:repeat(2,1fr)} .formats.un{max-width:300px;margin:0 auto} }
.format{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--ombre)}
.format .vignette{aspect-ratio:3/4;overflow:hidden;background:#fff;display:grid;place-items:center;padding:8px}
.format .vignette.carrousel{padding:0;box-shadow:none;border-radius:0}
.format .vignette.carrousel .piste img{height:100%;object-fit:contain;background:#fff}
.format .vignette.carrousel .piste{box-shadow:0 0 26px -12px rgba(74,43,27,.55)}
.format .vignette img{width:100%;height:100%;object-fit:contain;object-position:center}
.format .vignette.vide{background:var(--creme2);border-radius:12px}
.format .vignette.vide span{color:var(--soft);font-size:13px;text-align:center}
.format .texte{padding:16px 16px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.format h3{font-size:16.5px}
.format p{color:var(--soft);font-size:14px;line-height:1.45}
.format .combien{font-family:var(--titre);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.format .prix{font-family:var(--titre);font-weight:700;font-size:13.5px;color:var(--terra);margin-top:auto;padding-top:6px}

/* ---- bon cadeau ---- */
.cadeau-bloc{background:var(--sun-doux);border:1.5px solid rgba(168,106,77,.25);border-radius:28px;padding:clamp(26px,4vw,44px);display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.cadeau-bloc p{color:var(--soft);margin-top:12px;max-width:46ch}
.carte-cadeau{background:var(--ink);color:#FFFCF7;border-radius:18px;padding:24px;box-shadow:0 20px 40px -22px rgba(74,43,27,.8);transform:rotate(-2deg)}
.carte-cadeau .k{font-family:var(--titre);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sun);font-weight:700}
.carte-cadeau .m{font-family:var(--titre);font-weight:800;font-size:42px;letter-spacing:-.03em;margin-top:6px;color:var(--sun)}
.carte-cadeau .d{font-size:13.5px;color:rgba(255,252,247,.78);margin-top:10px}
@media (max-width:860px){ .cadeau-bloc{grid-template-columns:1fr} }
.montants{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.montant{background:var(--card);border:1.6px solid var(--line);border-radius:18px;padding:20px;text-align:center}
.montant b{display:block;font-family:var(--titre);font-weight:800;font-size:28px;letter-spacing:-.03em}
.montant span{font-size:14px;color:var(--soft)}

/* ---- page créneaux ---- */
.ruban{background:var(--creme2);border-radius:26px;padding:clamp(24px,3.6vw,40px);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.ruban .date{font-family:var(--titre);font-weight:800;font-size:clamp(24px,3.4vw,34px);letter-spacing:-.03em}
.chemin{margin-top:36px;display:flex;flex-direction:column;gap:2px}
.pas{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:20px 0;border-top:1px solid var(--line)}
.pas:first-child{border-top:0}
.pas .num{width:52px;height:52px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-family:var(--titre);font-weight:800;font-size:19px;color:var(--ink)}
.pas h3{font-size:19px}
.pas p{color:var(--soft);font-size:15.5px;margin-top:5px}
.rappel-pop{position:static;margin-top:18px;margin-inline:auto;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px;max-width:560px;box-shadow:var(--ombre);text-align:left;animation:calIn .14s ease-out}
.rappel-pop b{font-family:var(--titre)}
.rappel-pop a{font-family:var(--titre);font-weight:700;font-size:15px;color:var(--terra);margin-right:18px;display:inline-block;margin-top:2px}

/* ---- le bon cadeau en grand ---- */
.bon-papier{background:var(--cream);color:var(--ink);border-radius:20px;padding:clamp(26px,4vw,44px);max-width:560px;width:100%;box-shadow:0 30px 70px -30px rgba(0,0,0,.6);text-align:center;max-height:88vh;overflow:auto}
.bon-papier .marque-bon{font-family:var(--titre);font-weight:800;font-size:21px;letter-spacing:-.03em}
.bon-papier .type{font-family:var(--titre);font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-top:22px}
.bon-papier .somme{font-family:var(--titre);font-weight:800;font-size:clamp(44px,7vw,64px);letter-spacing:-.04em;line-height:1;margin-top:6px}
.bon-papier .pour{font-size:17px;margin-top:18px}
.bon-papier .pour b{font-family:var(--titre)}
.bon-papier .mot{font-style:italic;color:var(--soft);margin-top:16px;padding:16px 18px;background:var(--creme2);border-radius:14px;font-size:15px}
.bon-papier .lignes{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line);text-align:left}
.bon-papier .lignes div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:14.5px}
.bon-papier .lignes span{color:var(--soft)}
.bon-papier .lignes b{font-family:var(--titre)}
.bon-papier .pied{color:var(--soft);font-size:12.5px;margin-top:20px;line-height:1.5}
.bon-papier .ref-bon{font-family:var(--titre);font-weight:700;color:var(--terra);font-size:12px;letter-spacing:.06em}

/* ---- visionneuse ---- */
.visionneuse{position:fixed;inset:0;z-index:70;background:rgba(74,43,27,.82);backdrop-filter:blur(6px);display:grid;place-items:center;padding:clamp(20px,5vw,60px)}
.visionneuse figure{margin:0;max-height:100%;display:grid;place-items:center}
.visionneuse img{max-width:min(92vw,900px);max-height:84vh;border-radius:10px;background:#fff;box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.vx{position:absolute;top:18px;right:20px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,252,247,.92);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.vnav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,252,247,.92);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.vnav.g{left:clamp(10px,3vw,34px)}
.vnav.d{right:clamp(10px,3vw,34px)}
.vpoints{position:absolute;left:0;right:0;bottom:24px;display:flex;justify-content:center;gap:7px}
.vpoints span{width:8px;height:8px;border-radius:50%;background:rgba(255,252,247,.4);cursor:pointer}
.vpoints span.on{background:#FFFCF7}

/* ---- carrousel en pile ---- */
.carrousel{position:relative;cursor:pointer}
.carrousel .piste{position:relative;z-index:3;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--ombre)}
.carrousel .piste img{width:100%;display:none}
.carrousel .piste img.vue{display:block}
.carrousel .feuille{position:absolute;inset:0;background:#fff;border:1px solid rgba(168,106,77,.18);border-radius:8px;box-shadow:0 10px 24px -18px rgba(74,43,27,.9);transition:transform .28s ease;overflow:hidden}
.carrousel .feuille img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.carrousel .feuille.f1{z-index:2;transform:rotate(2.5deg) translate(11px,9px)}
.carrousel .feuille.f2{z-index:1;transform:rotate(-3deg) translate(-11px,13px)}
.carrousel .feuille.f3{z-index:0;transform:rotate(5.5deg) translate(19px,20px)}
.carrousel:hover .feuille.f1{transform:rotate(5deg) translate(20px,13px)}
.carrousel:hover .feuille.f2{transform:rotate(-6.5deg) translate(-20px,18px)}
.carrousel:hover .feuille.f3{transform:rotate(9deg) translate(32px,28px)}
.carrousel[data-grand]{cursor:zoom-in}
.indice-clic{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:6px;white-space:nowrap;background:rgba(255,252,247,.94);border:1px solid rgba(168,106,77,.22);border-radius:999px;padding:7px 13px;font-family:var(--titre);font-weight:700;font-size:12px;letter-spacing:.02em;color:var(--ink);box-shadow:0 8px 20px -12px rgba(74,43,27,.8);transition:background .15s ease}
.indice-clic svg{width:13px;height:13px;flex:0 0 auto;color:var(--terra)}
.carrousel:hover .indice-clic{background:#fff}
.carrousel .indice{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;display:flex;gap:5px;background:rgba(255,252,247,.9);border-radius:999px;padding:5px 9px;opacity:0;transition:opacity .2s ease}
.carrousel:hover .indice{opacity:1}
.carrousel .indice span{width:6px;height:6px;border-radius:50%;background:rgba(74,43,27,.3)}
.carrousel .indice span.on{background:var(--ink)}
@media (hover:none){ .carrousel .indice{opacity:1} }

/* ---- sections alternées ---- */
.duo{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(26px,4vw,52px);align-items:center}
.duo .visuel img{border-radius:8px;box-shadow:var(--ombre);background:#fff;width:100%}
.duo .visuel.serre{max-width:330px;margin-inline:auto}
.duo .visuel.large{max-width:420px;margin-inline:auto}
.duo{scroll-margin-top:168px}
.duo.inverse .visuel{order:2}
.duo h2{margin-top:8px}
.duo .lead{font-size:16.5px;margin-top:12px}
@media (max-width:820px){ .duo{grid-template-columns:1fr;gap:24px} .duo.inverse .visuel{order:0} }
.prix-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px;max-width:460px}
.prix-table th{font-family:var(--titre);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);text-align:right;padding:6px 0;border-bottom:1.5px solid var(--line)}
.prix-table th:first-child{text-align:left}
.prix-table td{padding:7px 0;border-bottom:1px dashed var(--line);text-align:right;font-family:var(--titre);font-weight:700;color:var(--terra)}
.prix-table td:first-child{text-align:left;color:var(--soft);font-family:var(--corps);font-weight:400}
.prix-table tr:last-child td{border-bottom:0}

/* ---- tarifs ---- */
.offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:20px}
.offre{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--ombre)}
.offre .texte{padding:22px 24px 26px;display:flex;flex-direction:column;gap:9px;flex:1}
.offre p{color:var(--soft);font-size:15px}
.combien{font-family:var(--titre);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--soft)}
.ligne{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:15px}
.ligne:last-child{border-bottom:0}
.ligne b{font-family:var(--titre);font-weight:700;color:var(--terra);white-space:nowrap}

/* ---- galerie / avis ---- */
.galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px}
.galerie figure{margin:0}
.galerie img{border-radius:6px;box-shadow:var(--ombre);background:#fff;transition:transform .25s ease}
.galerie img:hover{transform:translateY(-5px) rotate(-1deg)}
.galerie figcaption{font-size:13.5px;color:var(--soft);margin-top:9px}
.avis{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.avis blockquote{margin:0;background:var(--creme2);border:1px solid rgba(168,106,77,.18);border-radius:18px;padding:20px 22px;font-size:15.5px}
.avis .frimousse{display:block;font-size:24px;line-height:1;margin-bottom:12px}
.avis footer{margin-top:10px;color:var(--terra);font-family:var(--titre);font-weight:700;font-size:13.5px}

/* ---- shop ---- */
.shop-logo{max-width:220px;margin-bottom:6px}
.grille-shop{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:18px}
.grille-shop figure{margin:0}
.grille-shop img{border-radius:6px;box-shadow:var(--ombre)}
.grille-shop figcaption{font-family:var(--titre);font-weight:700;font-size:14px;margin-top:10px}
.grille-shop small{display:block;color:var(--soft);font-size:13px;font-weight:400;font-family:var(--corps)}

/* ---- qui suis-je ---- */
.bio{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.bio .portrait{border-radius:18px;overflow:hidden;box-shadow:var(--ombre);aspect-ratio:4/5;background:var(--card)}
.bio .portrait img{width:100%;height:100%;object-fit:cover}
.bio .portrait span{color:var(--soft);font-size:14px;text-align:center;padding:20px}
.bio p + p{margin-top:16px}
.bio p{color:var(--soft)}
.bio p strong{color:var(--ink)}
@media (max-width:860px){ .bio{grid-template-columns:1fr;gap:26px} }
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:18px;border-block:1px solid var(--line);padding-block:24px}
.stat b{display:block;font-family:var(--titre);font-weight:800;font-size:clamp(24px,3.4vw,32px);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat span{color:var(--soft);font-size:14.5px}

details{border-bottom:1px solid var(--line);padding:16px 0}
details summary{font-family:var(--titre);font-weight:700;font-size:16.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--terra);font-size:20px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--soft);font-size:15.5px;margin-top:10px}

footer.site{border-top:1px solid var(--line);padding-block:32px 44px;color:var(--soft);font-size:14.5px;margin-top:20px}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;align-items:center}
footer.site a{text-decoration:none}
footer.site a:hover{text-decoration:underline}

/* ---- flux des étapes ---- */
.flux{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:8px;margin-top:30px}
.case{flex:1 1 0;min-width:0;background:var(--card);border:1.5px solid rgba(168,106,77,.18);border-radius:20px;padding:18px 16px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--ombre)}
.case h3{font-size:16px}
.case p{color:var(--soft);font-size:14px;line-height:1.45}
.badge{width:30px;height:30px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-family:var(--titre);font-weight:800;font-size:14px;color:var(--ink)}
.quand{margin-top:auto;padding-top:10px;font-family:var(--titre);font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--terra)}
.fleche{display:grid;place-items:center;color:var(--terra);font-size:19px;flex:0 0 14px}
@media (max-width:980px){ .flux{flex-direction:column;align-items:stretch;gap:6px} .fleche{transform:rotate(90deg);padding-block:6px} }

.alerte{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;justify-content:space-between;background:var(--sun-doux);border:1.5px solid rgba(168,106,77,.3);border-radius:22px;padding:22px 26px;margin-top:34px}
.alerte.rouge{background:#FBE6DC;border-color:rgba(176,70,43,.45);margin-top:0;margin-bottom:24px}
.alerte.douce{background:var(--creme2);border-color:rgba(168,106,77,.2)}
.alerte.douce h3::before{background:var(--terra);color:#FFFCF7}
.alerte.rouge h3::before{background:#B0462B;color:#FFF6EF}
.alerte.rouge a{color:var(--ink);text-decoration:underline;font-weight:500}
.alerte.rouge a:hover{color:var(--terra)}
.alerte h3{display:flex;align-items:center;gap:9px}
.alerte h3::before{content:"!";width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--sun);display:grid;place-items:center;font-size:15px;flex:0 0 auto}
.alerte p{color:var(--soft);font-size:15px;margin-top:7px;max-width:62ch}

/* ---- réservation ---- */
.ruban.ferme{background:var(--creme2)}
.ruban.ferme .date{font-size:clamp(20px,2.6vw,27px)}
.dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:22px}
.jour{font:inherit;font-family:var(--titre);font-weight:700;font-size:15.5px;background:var(--card);border:1.5px solid rgba(168,106,77,.25);border-radius:16px;padding:16px;cursor:pointer;color:var(--ink);display:block;text-align:center;transition:background .15s ease,border-color .15s ease}
.jour:hover{background:var(--sun-doux);border-color:var(--terra)}
.jour small{display:block;margin-top:3px;font-family:var(--corps);font-weight:400;font-size:13px;color:var(--soft)}
.jour.epuise{opacity:.5;cursor:not-allowed;background:var(--creme2)}
.jour.epuise:hover{background:var(--creme2);border-color:rgba(168,106,77,.25)}

.newsletter{background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:26px;padding:clamp(24px,3.4vw,38px);display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:center}
.newsletter p{color:var(--soft);margin-top:10px;max-width:52ch}
.newsletter .btns{justify-content:flex-end}
@media (max-width:760px){ .newsletter{grid-template-columns:1fr} .newsletter .btns{justify-content:flex-start} }


/* ---- étape 1 : choix du format (mise en page façon "Ta planche illustrée") ---- */
.cadre-groupe{background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:26px;padding:24px 32px 30px}
.cadre-groupe + .cadre-groupe{margin-top:18px}
.titre-cadre{font-family:var(--titre);font-weight:800;letter-spacing:-.025em;font-size:24px;margin:0 0 4px}
.format-resa{display:grid;grid-template-columns:300px minmax(0,560px);justify-content:center;gap:clamp(26px,4vw,54px);align-items:center;width:100%;text-align:left;font:inherit;color:var(--ink);background:transparent;border:0;border-radius:18px;padding:26px 14px;cursor:pointer;transition:background .15s ease}
.format-resa + .format-resa{margin-top:14px}
.format-resa[data-groupe="petits"]{border:1px solid var(--line);border-radius:18px;padding:24px 22px}
.format-resa:hover{background:rgba(255,255,255,.55)}
.format-resa:hover h3{color:var(--terra)}
.format-resa.inverse{grid-template-columns:minmax(0,560px) 300px}
.format-resa.inverse .visuel-resa{order:2}
.duo.inverse .apercu-livre{order:2}
.format-resa h3{font-size:21px;margin-top:6px}
.format-resa .desc{color:var(--soft);font-size:15.5px;margin-top:10px}
.format-resa .prix-table{margin-top:18px;max-width:none}
.visuel-resa{position:relative;width:100%;margin-inline:auto}
.format-resa[data-sous="petite"] .visuel-resa{max-width:222px}
.visuel-resa .piste{display:block;width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--ombre)}
.visuel-resa .piste img{display:none;width:100%;height:auto}
.visuel-resa .piste img.vue{display:block}
.fl{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--terra);font-family:var(--titre);font-size:17px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -8px rgba(74,43,27,.7);transition:border-color .15s ease,background .15s ease}
.fl:hover{border-color:var(--terra);background:var(--terra);color:#FFFCF7}
.fl.prec{left:-15px}
.fl.suiv{right:-15px}
@media (max-width:980px){ .cadre-groupe{padding:22px 20px 26px} .format-resa, .format-resa.inverse{grid-template-columns:1fr;justify-content:stretch;padding:22px 0} .format-resa.inverse .visuel-resa{order:0} .visuel-resa{max-width:300px} }

/* ---- résumé des étapes ---- */
.flux.resume .case{padding-bottom:18px}
.flux.resume .case h3{margin-bottom:10px}

/* ---- aperçu du livre illustré ---- */
.apercu-livre .livre-scene{margin-top:0;gap:6px}
.apercu-livre .livre-double{max-width:none}
.apercu-livre .fl-livre{width:32px;height:32px;font-size:17px}
.duo .apercu-livre{max-width:470px;margin-inline:auto;width:100%}
.livre-scene{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.6vw,18px);margin-top:26px}
.livre-double{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(74,43,27,.14);border-radius:10px;padding:2px;box-shadow:0 26px 54px -30px rgba(74,43,27,.9);flex:1 1 auto;max-width:860px}
.page-livre{position:relative;background:#fff;aspect-ratio:1/1.414;display:grid;place-items:center;padding:clamp(14px,2.2vw,26px);overflow:hidden}
.page-livre:first-child{border-radius:8px 2px 2px 8px;background:linear-gradient(to right,#F6F1EA 0%,#fff 7%)}
.page-livre:last-child{border-radius:2px 8px 8px 2px;background:linear-gradient(to left,#F6F1EA 0%,#fff 7%)}
.page-livre img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.page-livre .folio{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-family:var(--titre);font-weight:700;font-size:11px;color:var(--soft);letter-spacing:.1em}
.page-livre.vide{background:#FBF7F1}
.page-livre.vide::after{content:"Fin";font-family:var(--titre);font-weight:700;font-size:13px;color:var(--soft);letter-spacing:.14em;text-transform:uppercase}
.fl-livre{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--terra);font-family:var(--titre);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.fl-livre:hover{background:var(--terra);border-color:var(--terra);color:#FFFCF7}
.livre-vignettes{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin-top:22px;max-width:700px;margin-inline:auto}
.livre-vignettes button{aspect-ratio:1/1.414;background:#fff;border:1.5px solid var(--line);border-radius:6px;padding:4px;cursor:pointer;display:grid;place-items:center;overflow:hidden;transition:border-color .15s ease,transform .15s ease}
.livre-vignettes button:hover{transform:translateY(-2px)}
.livre-vignettes button.actif{border-color:var(--terra);box-shadow:0 0 0 1.5px var(--terra) inset}
.livre-vignettes img{max-width:100%;max-height:100%;width:auto;height:auto}
@media (max-width:620px){ .livre-vignettes{grid-template-columns:repeat(5,1fr)} .fl-livre{width:34px;height:34px} }

/* ---- bon cadeau : choix du format en vignettes ---- */
.cartes-cadeau{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:900px){ .cartes-cadeau{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:560px){ .cartes-cadeau{grid-template-columns:repeat(2,minmax(0,1fr))} }
.carte-f{position:relative;font:inherit;color:var(--ink);text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:10px 10px 13px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,transform .15s ease}
#cad-format button{position:relative;font:inherit;color:var(--ink);text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:10px 10px 13px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,transform .15s ease}
#cad-format button:hover{border-color:var(--terra);transform:translateY(-2px)}
#cad-format .vignette-f{aspect-ratio:3/4;border-radius:11px;overflow:hidden;background:var(--creme2);display:grid;place-items:center}
#cad-format .vignette-f img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
#cad-format .vignette-f .inconnu{font-family:var(--titre);font-weight:800;font-size:34px;color:var(--terra);opacity:.55}
#cad-format b{font-family:var(--titre);font-size:14px;line-height:1.22;flex:1}
#cad-format .px-f{font-family:var(--titre);font-weight:700;font-size:12.5px;color:var(--terra)}
#cad-format button.actif{border-color:var(--terra);box-shadow:0 0 0 1.5px var(--terra) inset;background:var(--card)}
#cad-format .coche-f{position:absolute;top:16px;right:16px;width:24px;height:24px;border-radius:50%;background:var(--terra);color:#FFFCF7;display:none;place-items:center;font-size:13px;font-weight:700;box-shadow:0 4px 10px -4px rgba(74,43,27,.8)}
#cad-format button.actif .coche-f{display:grid}

/* ---- décompte avant l'ouverture ---- */
.bandeau-ouverture{display:grid;grid-template-columns:minmax(250px,auto) minmax(0,1fr);gap:clamp(22px,3.6vw,46px);align-items:stretch;text-align:left}
.bandeau-ouverture .ouv-gauche{display:flex;flex-direction:column;justify-content:center}
@media (max-width:860px){ .bandeau-ouverture{grid-template-columns:1fr} }
.date-annonce{font-family:var(--titre);font-weight:800;letter-spacing:-.025em;font-size:clamp(22px,2.6vw,28px);line-height:1.1;margin-top:4px}
.decompte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1vw,13px);width:100%;height:100%;margin-top:clamp(16px,2vw,22px)}
.decompte.ouvert{display:flex;align-items:center}
.decompte .case-d{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.decompte .case-d b{display:block;font-family:var(--titre);font-weight:800;font-size:clamp(26px,3.1vw,40px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.decompte .case-d span{display:block;font-family:var(--titre);font-weight:700;font-size:clamp(9px,.85vw,11px);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.decompte .ouvert-now{font-family:var(--titre);font-weight:800;color:var(--terra);font-size:clamp(18px,2.2vw,26px);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;width:100%;text-align:center}
/* Trois états du bandeau : annonce · ouvert · complet (attribut data-etat posé par le script) */
.bandeau-ouverture:not([data-etat="annonce"]) .st-annonce,
.bandeau-ouverture:not([data-etat="ouvert"]) .st-ouvert,
.bandeau-ouverture:not([data-etat="complet"]) .st-complet{display:none !important}
.phrase-ouverte{font-family:var(--titre);font-weight:700;font-size:clamp(18px,2vw,22px);line-height:1.35;margin:10px 0 0;max-width:30ch}
.liens-ouv{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.bandeau-ouverture .decompte{margin-top:0}
.bandeau-ouverture .case-d{background:var(--creme2);border-color:rgba(168,106,77,.18)}
.bandeau-ouverture .date-annonce{font-size:clamp(23px,2.7vw,31px)}
.annonce .liens-ouv{justify-content:center}
.annonce{background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:26px;padding:30px;text-align:center}
.annonce .decompte{justify-content:center;margin-top:20px}
.annonce .note{max-width:54ch;margin-inline:auto;margin-top:10px}
.attendant{list-style:none;padding:0;margin:8px auto 0;max-width:54ch;text-align:left;display:inline-block}
.attendant li{position:relative;padding-left:22px;color:var(--soft);font-size:15px;margin-top:7px}
.attendant li::before{content:"—";position:absolute;left:0;color:var(--terra);font-weight:700}

/* ---- contact ---- */
.barre-liens{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lignes-liens{margin-top:20px;border-top:1px solid var(--line)}
.ligne-lien{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 4px;border-bottom:1px solid var(--line)}
.ligne-lien span{font-family:var(--titre);font-weight:700;font-size:16.5px;letter-spacing:-.01em}
.ligne-lien .btn{flex:0 0 auto;white-space:nowrap;min-width:232px;justify-content:center}
.zone-contact{scroll-margin-top:150px}
.ligne-lien .emo{font-style:normal;font-size:19px;margin-right:11px;line-height:1}
.btn.accent{background:transparent;border-color:var(--terra);color:var(--terra)}
.btn.accent:hover{background:var(--terra);border-color:var(--terra);color:#FFFCF7}
.deux-btn{display:flex;gap:10px;flex-wrap:wrap}
.deux-btn .btn{min-width:100px}
@media (max-width:620px){ .ligne-lien{flex-direction:column;align-items:flex-start;gap:10px} }
.liens-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.carte-lien{display:flex;flex-direction:column;gap:3px;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:18px 20px;text-decoration:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.carte-lien:hover{border-color:var(--terra);transform:translateY(-2px)}
.carte-lien b{font-family:var(--titre);font-size:16px}
.carte-lien span{color:var(--soft);font-size:14px}
.bloc-contact{background:var(--creme2);border-radius:28px;padding:clamp(24px,3.4vw,40px);margin-block:clamp(30px,4vw,50px)}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.champ{display:flex;flex-direction:column;gap:6px}
.champ.plein{grid-column:1/-1}
.champ label{font-family:var(--titre);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.champ input,.champ select,.champ textarea{font:inherit;font-size:15.5px;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%}
.champ textarea{min-height:120px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:2px solid var(--terra);outline-offset:1px;border-color:transparent}
.champ label small{font-weight:400;text-transform:none;letter-spacing:0;font-size:12.5px}
.erreur{color:#B0462B;font-size:13.5px}
.champ.faux input,.champ.faux select,.champ.faux textarea{border-color:#B0462B}
.oblig{color:#B0462B;font-weight:700}
.note-oblig{color:var(--soft);font-size:13px;margin-top:14px}
.coche-ligne.faux span{color:#B0462B}
@media (max-width:620px){ .champs{grid-template-columns:1fr} }

/* ---- réseaux ---- */
.reseaux{display:flex;gap:12px;align-items:center}
.reseaux a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);transition:background .15s ease,border-color .15s ease}
.reseaux a:hover{background:var(--sun-doux);border-color:var(--terra)}

/* ---- boutique intégrée ---- */
.howto{border:1.4px solid rgba(168,106,77,.22);border-radius:26px;background:rgba(255,255,255,.5);padding:24px 24px 26px}
.howto-title{font-size:clamp(22px,2.8vw,26px);text-align:center;margin-bottom:24px}
.howto-title em{font-style:italic;font-weight:700}
.infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.info{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.info .t{font-family:var(--titre);font-style:italic;font-weight:700;font-size:20px;color:var(--terra);line-height:1}
.info h3{font-weight:700;font-size:16px;margin:4px 0 6px}
.info p{color:var(--soft);font-size:14px;line-height:1.45}
.info p b{color:var(--ink)}
.info a{color:var(--terra)}
#infoLivraison,#infoPay{text-align:justify;hyphens:auto}
.filters{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:26px;padding:14px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filters-right{display:flex;align-items:center;gap:12px;margin-left:auto}
#shop-tri{font:inherit;font-size:13.5px;font-weight:500;border:1.4px solid var(--line);background:rgba(255,255,255,.7);border-radius:999px;padding:7px 12px;color:var(--ink);cursor:pointer}
#shop-tri:hover{border-color:var(--ink)}
.grille-affiches{padding-top:28px}
.sig{font-family:var(--titre);font-weight:800;font-size:19px;margin-top:22px}
.redirection{position:fixed;inset:0;z-index:60;background:rgba(74,43,27,.55);display:grid;place-items:center;backdrop-filter:blur(3px)}
.boite-redir{background:var(--cream);border-radius:24px;padding:34px 40px;text-align:center;max-width:420px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.boite-redir b{font-family:var(--titre);font-size:17px;display:block;margin-top:14px}
.boite-redir .note{margin-top:8px}
.sablier{width:34px;height:34px;margin:0 auto;border-radius:50%;border:3px solid rgba(168,106,77,.25);border-top-color:var(--terra);animation:tourne .8s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
.payopt.seul{cursor:default;display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:var(--terra);background:var(--creme2)}
.payopt .cards{font-size:12.5px;color:var(--soft);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-weight:500;font-size:14px;background:rgba(255,255,255,.7);border:1.4px solid var(--line);border-radius:999px;padding:7px 15px;cursor:pointer;color:var(--ink);transition:.15s}
.chip:hover{border-color:var(--terra)}
.chip.actif{background:var(--ink);border-color:var(--ink);color:#fff}
.countTxt{font-size:13.5px;color:var(--soft)}
.tri{font-size:14px;color:var(--soft);display:flex;align-items:center;gap:8px}
.tri select{font:inherit;font-size:14px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--ink)}
.commande-deux{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:start;margin-top:24px}
@media (max-width:880px){ .commande-deux{grid-template-columns:1fr} }
.recap-shop{background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:22px;padding:22px;position:sticky;top:120px}
.recap-shop h3{font-size:16px;margin-bottom:12px}
.ligne-art{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line)}
.ligne-art b{font-family:var(--titre);font-size:14.5px;display:block}
.ligne-art span{color:var(--soft);font-size:13px}
.ligne-art .px{font-family:var(--titre);font-size:14.5px;white-space:nowrap}
.paiements{display:grid;gap:10px;margin-top:14px}
.payopt{display:flex;align-items:flex-start;gap:12px;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer}
.payopt:has(input:checked){border-color:var(--terra);background:var(--creme2)}
.payopt input{margin-top:3px;accent-color:#4A2B1B;width:18px;height:18px}
.payopt b{font-family:var(--titre);font-size:15px;display:block}
.payopt small{color:var(--soft);font-size:13.5px}
.affiche .cadre{cursor:default}
.infos-shop{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:28px;text-align:left}
.infos-shop div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.infos-shop b{display:block;font-family:var(--titre);font-size:14.5px}
.infos-shop span{color:var(--soft);font-size:14px}
.grille-affiches{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:22px}
.affiche{display:flex;flex-direction:column;gap:10px}
.affiche .cadre{background:#fff;border-radius:6px;box-shadow:var(--ombre);overflow:hidden}
.affiche .cadre img{width:100%;transition:transform .3s ease}
.affiche:hover .cadre img{transform:scale(1.03)}
.affiche h3{font-size:16px;margin-top:2px}
.formats-choix{display:flex;gap:8px}
.choix{flex:1;font:inherit;font-family:var(--titre);font-weight:700;font-size:13px;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:8px 10px;cursor:pointer;color:var(--soft);display:flex;flex-direction:column;gap:1px;align-items:center}
.choix small{font-family:var(--corps);font-weight:400;font-size:11px;color:var(--soft)}
.choix.actif small{color:var(--terra)}
.ligne-ajout{display:flex;gap:8px;align-items:center}
.qte-produit{display:flex;align-items:center;gap:6px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:4px 8px;flex:0 0 auto}
.qte-produit button{width:24px;height:24px;border:0;background:none;font:inherit;font-size:16px;line-height:1;color:var(--ink);cursor:pointer}
.qte-produit span{font-family:var(--titre);font-weight:700;font-size:14px;min-width:14px;text-align:center}
.affiche .ajouter{flex:1;justify-content:center;background:var(--card);border-color:var(--line);color:var(--ink);white-space:nowrap;font-size:13.5px;padding:10px 12px}
.affiche .ajouter:hover{background:var(--cream);border-color:var(--terra)}
.bandeau-panier{position:sticky;bottom:18px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:12px 14px 12px 22px;margin-top:22px;box-shadow:0 16px 34px -20px rgba(74,43,27,.7)}
.bandeau-panier b{font-family:var(--titre)}
.choix.actif{background:var(--sun-doux);border-color:var(--terra);color:var(--ink)}
.affiche .ajouter{align-self:stretch;justify-content:center}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.panier{position:fixed;top:0;right:0;bottom:0;width:min(92vw,400px);background:var(--cream);z-index:41;box-shadow:0 0 60px rgba(74,43,27,.3);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
.panier.on{transform:none}
.panier-tete{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.panier-tete .ferme{background:none;border:0;font-size:26px;line-height:1;color:var(--soft);cursor:pointer}
#panier-liste{flex:1;overflow:auto;padding:16px 22px}
.art{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}
.art img{border-radius:4px}
.art b{font-family:var(--titre);font-size:14.5px;display:block}
.art span{color:var(--soft);font-size:13px}
.art .qte{display:flex;align-items:center;gap:8px}
.art .qte button{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:var(--ink)}
.panier-vide{color:var(--soft);font-size:15.5px;text-align:center;padding:36px 10px;display:flex;flex-direction:column;align-items:center}
.art.resa .vignette-vide{width:52px;height:52px;border-radius:6px;background:var(--sun-doux);color:var(--terra);display:grid;place-items:center}
.art .prixart{font-family:var(--titre);font-weight:700;font-size:15px;color:var(--ink)}
.bloc-panier{padding-bottom:22px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.bloc-panier:last-child{border-bottom:0;margin-bottom:0}
.ligne-tva{color:var(--soft);font-size:13px;text-align:right;margin-top:3px}
.zone-vider{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.lien-vider{background:none;border:0;color:var(--soft);font-size:13.5px;text-decoration:underline;cursor:pointer;font-family:var(--corps)}
.lien-vider:hover{color:#B0462B}
.confirme-vider{background:#FBE6DC;border:1.5px solid rgba(176,70,43,.35);border-radius:16px;padding:14px 16px;text-align:left}
.confirme-vider b{font-family:var(--titre);font-size:14.5px;display:block}
.confirme-vider span{display:block;color:var(--soft);font-size:13px;margin-top:5px;line-height:1.45}
.btns-vider{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}
/* petites actions par ligne sur les écrans de paiement */
.actions-ligne{display:flex;gap:10px;margin-top:6px}
.actions-ligne button{background:none;border:0;padding:0;cursor:pointer;font-family:var(--corps);font-size:13px;color:var(--soft);text-decoration:underline}
.actions-ligne button:hover{color:var(--terra)}
.actions-ligne .suppr{color:#B0462B}
.actions-ligne .suppr:hover{color:#8a3520}
.recap-cmd .ligne-resa{flex-direction:column}
.recap-cmd .ligne-resa .haut{display:flex;flex-direction:row;justify-content:space-between;gap:16px;align-items:flex-start;width:100%}
.zone-modif:empty,.zone-modif-bon:empty{display:none}
.zone-modif,.zone-modif-bon{width:100%}
/* les feuilles empilées des carrousels dépassent de quelques pixels sur petit écran */
.page{overflow-x:clip}
.legal{max-width:78ch;margin-inline:auto}
.legal-nav{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 8px}
.legal-nav a{background:var(--creme2);border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;font-size:13.5px;color:var(--ink);text-decoration:none;font-family:var(--titre);font-weight:600}
.legal-nav a:hover{background:var(--sun-doux);border-color:rgba(168,106,77,.35)}
.legal section{padding-block:0}
.legal section.bloc{margin-top:46px;scroll-margin-top:100px}
.legal h2{font-size:clamp(23px,2.7vw,30px)}
.legal h3{font-family:var(--titre);font-size:17px;margin-top:24px}
.legal p,.legal li{color:var(--soft);font-size:15.5px;line-height:1.62;margin-top:9px}
.legal ul{margin-top:9px;padding-left:20px}
.legal li{margin-top:5px}
.legal b{color:var(--ink)}
.legal .carte-legale{background:var(--creme2);border:1.5px solid var(--line);border-radius:20px;padding:20px 24px;margin-top:16px}
.legal .carte-legale p{margin-top:5px}
.legal .maj{color:var(--soft);font-size:14px;margin-top:6px}
.legal .tr{width:100%;border-collapse:collapse;margin-top:14px;font-size:14.5px}
.legal .tr th,.legal .tr td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.legal .tr th{font-family:var(--titre);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}
.legal .tr td{color:var(--soft)}
.a-remplir{background:#FBE6DC;border:1.5px dashed rgba(176,70,43,.5);border-radius:14px;padding:12px 15px;margin-top:12px;font-size:14.5px;color:#8a3520}
.a-remplir b{color:#8a3520}
.bloc-modif{background:var(--creme2);border:1.5px solid var(--line);border-radius:20px;padding:22px 24px;margin-top:14px}
.bloc-modif h3{font-family:var(--titre);font-size:19px}
.bloc-modif .champ{margin-top:16px}
.avert-panier{background:var(--sun-doux);border:1.5px solid rgba(168,106,77,.3);border-radius:16px;padding:13px 15px;margin-bottom:18px;display:block}
.avert-panier b{font-family:var(--titre);font-size:14.5px;display:block}
.avert-panier span{display:block;color:var(--soft);font-size:13.5px;margin-top:5px;line-height:1.45}
.bloc-panier h4{font-family:var(--titre);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin:0 0 6px}
.colonne-droite{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.retirer{font:inherit;font-size:12.5px;color:var(--soft);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.retirer:hover{color:var(--terra)}
.recap-cmd .ligne-resa{flex:1 1 100%;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);border-right:0}
.recap-cmd .ligne-resa span{display:block;font-family:var(--corps);font-weight:400;font-size:14px;letter-spacing:0;text-transform:none;color:var(--soft);margin-top:2px}
.recap-cmd .ligne-resa b{font-size:16px}
.recap-cmd .ligne-tot{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:baseline;border-right:0;padding-top:12px}
.recap-cmd .ligne-tot span{font-family:var(--corps);font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;color:var(--soft)}
.recap-cmd .ligne-tot b{font-size:22px;color:var(--terra)}
.art.resa{align-items:flex-start}
.art.resa span{display:block}
.panier-pied{padding:18px 22px calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--creme2)}
.ligne-tot{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;color:var(--soft);font-size:15px}
.ligne-tot b{font-family:var(--titre);color:var(--ink)}
.ligne-tot.gros{font-size:17px;margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
.ligne-tot.gros b{font-size:21px}

/* ---- parcours de réservation ---- */
.fil-cadre{border:1.5px solid rgba(168,106,77,.3);background:var(--sun-doux);border-radius:20px;padding:20px 14px 16px;margin-bottom:24px}
/* Étapes : des cercles numérotés reliés par des flèches. L'étape en cours est pleine, les étapes faites sont cochées. */
.fil{display:flex;gap:0;justify-content:center;align-items:flex-start}
.pastille{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 1 118px;min-width:0;text-align:center;font-family:var(--titre);font-weight:600;font-size:13px;line-height:1.2;color:var(--soft);padding:0 2px}
.pastille b{font-weight:800;font-size:16px;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--soft);border:2px solid #D9C9B6;display:grid;place-items:center;transition:background .2s,transform .2s}
.pastille.fait{color:var(--ink)}
.pastille.fait b{background:var(--terra);border-color:var(--terra);color:#FFFCF7;font-size:0}
.pastille.fait b::before{content:"✓";font-size:18px}
.pastille.actif{color:var(--ink);font-weight:800}
.pastille.actif b{background:var(--ink);border-color:var(--ink);color:#FFFCF7;transform:scale(1.12);box-shadow:0 0 0 5px rgba(168,106,77,.22)}
.chevron{flex:0 0 auto;width:30px;height:40px;display:flex;align-items:center;justify-content:center;font-size:0;color:#CDBBA5}
.chevron::before{content:"\2192";font-size:24px;line-height:1;font-family:var(--titre);font-weight:700}
.pastille.fait + .chevron{color:var(--terra)}
.fil-etape{margin:16px 0 0;text-align:center;font-family:var(--titre);font-size:15.5px;color:var(--ink)}
.fil-etape b{color:var(--terra)}
@media (max-width:760px){
  .fil-cadre{padding:16px 8px 14px}
  .pastille{font-size:11px;gap:6px;flex:1 1 0}
  .pastille b{width:34px;height:34px;font-size:14px}
  .pastille.fait b::before{font-size:16px}
  .chevron{width:16px;height:34px}
  .chevron::before{font-size:18px}
  /* 5 étapes ne tiennent pas avec leur nom sur un téléphone : on garde les ronds numérotés + les flèches,
     et le nom de l'étape en cours est écrit en toutes lettres juste en dessous (« Étape 3 sur 5 · … ») */
  #fil .pastille{font-size:0;gap:0;flex:0 0 auto}
  #fil .pastille b{font-size:14px}
  #fil .pastille.fait b{font-size:0}
  #fil .chevron{width:22px}
}
.avert{background:#FDF0E6;border:1.5px solid rgba(168,106,77,.35);border-radius:16px;padding:13px 18px;font-size:14.5px;color:var(--ink);margin-bottom:22px;display:flex;gap:9px;align-items:flex-start}
.avert b{font-family:var(--titre);font-weight:700;color:var(--terra);flex:0 0 auto}
.avert::before{content:"!";width:22px;height:22px;border-radius:50%;background:var(--terra);color:#FFFCF7;display:grid;place-items:center;font-family:var(--titre);font-weight:800;font-size:13px;flex:0 0 auto}
.minuteur{background:var(--sun-doux);border:1.5px solid rgba(168,106,77,.3);border-radius:16px;padding:12px 18px;text-align:center;font-size:14.5px;color:var(--ink);margin-bottom:22px}
.minuteur b{font-family:var(--titre);font-variant-numeric:tabular-nums}
.minuteur.fini{background:#FBE3D8;border-color:var(--terra)}
.ecran-c{display:none}
.ecran-c.on{display:block;animation:apparait .25s ease}
.port{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:12px;font-size:13px;color:var(--soft)}
.port b{font-family:var(--titre);color:var(--ink);font-size:13.5px}
.port .mini-tarifs{font-size:13px}
.libre{margin-top:10px;display:flex;align-items:center;gap:8px;color:var(--soft);font-size:14.5px}
.libre input{font:inherit;font-size:15.5px;width:160px;background:var(--creme2);border:1.5px solid rgba(168,106,77,.2);border-radius:12px;padding:10px 14px;color:var(--ink)}
.ecran{display:none}
.ecran.on{display:block;animation:apparait .25s ease}
@keyframes apparait{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.choix-formats{margin-top:22px;display:grid;gap:18px}
.bloc-format{background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:24px;padding:22px}
.tete-bloc h3{font-size:19px}
.tete-bloc .note{margin-top:3px}
.corps-bloc{display:grid;grid-template-columns:270px minmax(210px,1fr) minmax(320px,1.05fr);gap:26px;align-items:center;margin-top:16px}
.visuel-format{border-radius:10px;background:#fff}
.texte-format h4{font-family:var(--titre);font-weight:800;font-size:17px;letter-spacing:-.02em}
.texte-format .combien{display:block;font-family:var(--titre);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);margin-top:3px}
.texte-format p{color:var(--soft);font-size:15px;margin-top:8px}
.texte-format .btn{margin-top:14px}
.tarif-format{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.tarif-format .mini-tarifs{font-size:15px}
.tarif-format .mini-tarifs th{font-size:11px}
.tarif-format .mini-tarifs td{padding:7px 0}
.tarif-format .mini-tarifs tr:last-child td{border-bottom:0}
.lignes-formats{display:grid;gap:14px;margin-top:16px}
.lignes-formats .ligne-format{display:grid;grid-template-columns:165px minmax(180px,1fr) minmax(290px,.95fr);gap:22px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.ligne-format:hover{border-color:var(--terra);transform:translateY(-2px)}
.ligne-format .texte-format p{font-size:14.5px;margin-top:6px}
.ligne-format .tarif-format{background:var(--creme2);border:0;padding:16px 18px;display:flex;flex-direction:column;justify-content:center}
.ligne-format .texte-format{align-self:center}
.ligne-format .mini-tarifs{font-size:14.5px}
.ligne-format .mini-tarifs th{font-size:10px;letter-spacing:.04em}
@media (max-width:820px){ .lignes-formats .ligne-format{grid-template-columns:100px 1fr} .ligne-format .tarif-format{grid-column:1/-1} }
@media (max-width:560px){ .lignes-formats .ligne-format{grid-template-columns:1fr} }
.bloc-format.carte-choix{display:block;cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.bloc-format.carte-choix:hover{border-color:var(--terra);transform:translateY(-2px)}
.choisir{display:inline-block;font-family:var(--titre);font-weight:700;font-size:13.5px;color:var(--terra);margin-top:12px}
.carte-choix:hover .choisir{text-decoration:underline}
.sous-format .mini-tarifs{margin-top:10px}
@media (max-width:980px){ .corps-bloc{grid-template-columns:160px 1fr} .tarif-format{grid-column:1/-1} .deux-sous{grid-template-columns:1fr} }
@media (max-width:620px){ .corps-bloc, .sous-format{grid-template-columns:1fr} }
.choix-formats .groupes{grid-template-columns:1fr 1fr}
.choix-formats .groupe{padding:20px}
.choix-formats .groupe h3{font-size:19px}
.choix-formats .groupe > .note{margin-top:4px;font-size:13.5px}
.deux-cartes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.deux-cartes:has(> :only-child){grid-template-columns:1fr}
.choix-formats .groupe .deux-cartes{flex:1}
.deux-cartes > .carte-choix:only-child{height:100%;display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:start;align-content:start}
.deux-cartes > .carte-choix:only-child .cadre-illu{grid-row:1/5}
.deux-cartes > .carte-choix:only-child b,
.deux-cartes > .carte-choix:only-child .regroupe,
.deux-cartes > .carte-choix:only-child .desc,
.deux-cartes > .carte-choix:only-child .choisir{grid-column:2}
.deux-cartes .carte-choix{padding:14px;gap:5px;background:#fff}
.deux-cartes .carte-choix b{font-size:15px;line-height:1.2}
.deux-cartes .carte-choix .regroupe{font-size:12.5px}
.deux-cartes .carte-choix .desc{font-size:13px;line-height:1.35}
.cadre-illu{display:grid;place-items:center;background:#fff;border:1px solid rgba(168,106,77,.12);border-radius:8px;padding:8px;aspect-ratio:1/1}
.cadre-illu img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border:0;border-radius:4px}
.deux-cartes .vignette-attente{aspect-ratio:auto;width:100%;height:100%;border:0}
.deux-cartes .carte-choix .desc{flex:1}
.deux-cartes .carte-choix .choisir{margin-top:auto}
.tarifs-general{margin-top:26px;background:var(--sun-doux);border:1.5px solid rgba(168,106,77,.22);border-radius:22px;padding:24px 26px}
.tarifs-general h3{font-size:17px;margin-bottom:16px}
.trois-tarifs{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:30px;align-items:start}
.bloc-tarif h4{font-family:var(--titre);font-weight:700;font-size:13.5px;color:var(--terra);margin:0 0 6px;line-height:1.25}
.bloc-tarif h5{font-family:var(--titre);font-weight:700;font-size:12.5px;color:var(--soft);margin:18px 0 2px;line-height:1.25}
.bloc-tarif h5:first-of-type{margin-top:6px}
.mini-tarifs th{white-space:nowrap}
.bloc-tarif .mini-tarifs{font-size:14px}
.bloc-tarif .mini-tarifs th{font-size:10.5px}
@media (max-width:940px){ .trois-tarifs{grid-template-columns:1fr 1fr;gap:26px} }
@media (max-width:620px){ .trois-tarifs{grid-template-columns:1fr;gap:22px} .bloc-tarif h4{min-height:0} }
@media (max-width:980px){ .choix-formats .groupes{grid-template-columns:1fr} }
@media (max-width:560px){ .deux-cartes{grid-template-columns:1fr} }
.carte-choix .choisir{font-family:var(--titre);font-weight:700;font-size:13.5px;color:var(--terra);margin-top:4px}
.carte-choix:hover .choisir{text-decoration:underline}
.vignette-attente{aspect-ratio:4/3;border:1px dashed rgba(168,106,77,.3);border-radius:8px;display:grid;place-items:center;color:var(--soft);font-size:13.5px;background:#fff}
.carte-choix{text-align:left;font:inherit;color:var(--ink);background:var(--creme2);border:1.5px solid rgba(168,106,77,.2);border-radius:20px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:border-color .15s ease,transform .15s ease}
.carte-choix:hover{border-color:var(--terra);transform:translateY(-2px)}
.carte-choix b{font-family:var(--titre);font-size:16.5px}
.carte-choix span{color:var(--soft);font-size:14px}
.carte-choix .px{font-family:var(--titre);font-weight:700;font-size:13.5px;color:var(--terra);margin-top:auto}
.carte-choix img{border-radius:8px;background:#fff;border:1px solid rgba(168,106,77,.12);aspect-ratio:4/3;object-fit:cover;object-position:center 12%}
.choix-dates.maj{opacity:.55;transition:opacity .2s}
.choix-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:22px}
.carte-date{font:inherit;text-align:left;color:var(--ink);background:var(--creme2);border:1.5px solid rgba(168,106,77,.2);border-radius:18px;padding:18px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.carte-date:hover{border-color:var(--terra);transform:translateY(-2px)}
.carte-date b{display:block;font-family:var(--titre);font-size:16px}
.carte-date span{color:var(--soft);font-size:13.5px}
.carte-date .places{display:inline-block;margin-top:9px;font-family:var(--titre);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#fff;border:1px solid rgba(168,106,77,.25);border-radius:999px;padding:4px 11px}
.carte-date.choisie{background:var(--sun-doux);border-color:var(--terra);box-shadow:var(--ombre)}
.carte-date.plein{opacity:.5;cursor:not-allowed}
.carte-date.plein:hover{border-color:var(--line);transform:none}
.carte-date.plein .places{background:var(--creme2);color:var(--soft)}
.bloc-options{display:grid;gap:22px;margin-top:22px;max-width:620px}
.segments{display:flex;flex-wrap:wrap;gap:8px}
.segments button{font:inherit;font-family:var(--titre);font-weight:700;font-size:14.5px;background:var(--creme2);border:1.5px solid rgba(168,106,77,.2);border-radius:999px;padding:10px 18px;cursor:pointer;color:var(--ink)}
.segments button:disabled{cursor:default}
.segments button.actif{background:var(--sun-doux);border-color:var(--terra);color:var(--ink)}
.total-live{display:flex;justify-content:space-between;align-items:baseline;max-width:620px;margin-top:26px;padding-top:16px;border-top:1.5px solid var(--line);color:var(--soft)}
.total-live b{font-family:var(--titre);font-weight:800;font-size:28px;color:var(--ink)}
.virement{display:block;background:var(--creme2);border:1.5px solid var(--line);border-radius:22px;padding:24px;margin-top:22px}
@media (max-width:720px){ .virement{grid-template-columns:1fr} }
.paiement-grand .ligne-tot.gros{margin-top:0;border-top:0;padding-top:0}
.paiement-colonnes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px;align-items:stretch}
.paiement-colonnes.un-seul{grid-template-columns:1fr}
.pay-col{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px;min-width:0}
.pay-col[hidden]{display:none}
.pay-wero{border:2px solid rgba(168,106,77,.45);box-shadow:0 6px 22px rgba(74,43,27,.08)}
.pay-entete{display:flex;align-items:center;gap:12px;min-height:40px}
.pay-entete h3{font-family:var(--titre);font-size:clamp(19px,2.4vw,22px);line-height:1.2;margin:0}
.pay-logo{height:34px;width:auto;max-width:120px;flex:0 0 auto;object-fit:contain}
.pay-logo[hidden]{display:none}
.pay-sous{margin:8px 0 0;color:var(--soft);font-size:15px}
.pay-etapes{margin:14px 0 0;padding-left:22px;display:grid;gap:12px}
.pay-etapes li{padding-left:2px}
.pay-etapes .copiable{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.pay-etapes .copiable b{overflow-wrap:anywhere}
.pay-wero-bloc[hidden],.pay-lydia-bloc[hidden],.pay-qr[hidden]{display:none}
.pay-qr{margin:18px 0 0;text-align:center}
.pay-qr img{display:block;margin:0 auto;max-width:170px;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#fff;padding:8px}
.pay-qr figcaption{margin-top:8px;font-size:13.5px;color:var(--soft)}
.pay-lydia-bloc{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.pay-lydia-bloc p{margin:6px 0 10px}
.pay-nom{font-family:var(--titre);font-weight:700;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--terra)}
.pay-virement .rib{margin-top:14px}
@media (max-width:760px){ .paiement-colonnes{grid-template-columns:1fr} .pay-col{padding:18px 16px} }
.rib{margin-top:16px;display:grid;gap:12px}
.rib div{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.rib span{font-family:var(--titre);font-weight:700;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--soft)}
.rib b{font-size:16px;font-family:var(--titre);letter-spacing:.01em}
.rib div.copiable{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;padding-bottom:0;border-bottom:0}
.copier{font:inherit;font-family:var(--titre);font-weight:700;font-size:12.5px;color:var(--ink);background:var(--creme2);border:1.5px solid rgba(168,106,77,.25);border-radius:999px;padding:5px 13px;cursor:pointer}
.copier:hover{background:var(--sun-doux);border-color:var(--terra)}
.copier.ok{background:var(--sun);border-color:var(--sun)}
.rib span small{font-weight:400;text-transform:none;letter-spacing:0}
.qr{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.qr img, .qr canvas, .qr table{width:168px;height:168px;background:#fff;border-radius:10px}
.coche-ligne{display:flex;align-items:flex-start;gap:11px;margin-top:20px;font-size:15.5px;line-height:1.45;cursor:pointer}
.coche-ligne input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:#4A2B1B;flex:0 0 auto}
.coche-ligne.fichier{color:var(--soft);font-size:14.5px;align-items:center;flex-wrap:wrap;gap:8px}
.coche-ligne.fichier input{font:inherit;font-size:14px;width:auto}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.recap{display:flex;flex-wrap:wrap;gap:12px 14px;background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:20px;padding:18px 22px;margin-bottom:26px}
.recap > div{display:flex;flex-direction:column;gap:2px;padding-right:14px;border-right:1px solid var(--line);flex:1 1 150px}
.recap > div:last-child{border-right:0;padding-right:0}
.recap span{font-family:var(--titre);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.recap b{font-family:var(--titre);font-weight:700;font-size:16px;color:var(--ink);line-height:1.25}
.recap .tot b{color:var(--terra);font-size:19px}
.recap-cmd{background:var(--creme2);border:1.5px solid rgba(168,106,77,.18);border-radius:20px;padding:20px 22px;margin-top:22px;display:flex;flex-wrap:wrap;gap:14px}
.recap-cmd h3{flex:1 1 100%;font-size:16px;margin-bottom:2px}
.recap-cmd > div{display:flex;flex-direction:column;gap:2px;flex:1 1 150px;padding-right:14px;border-right:1px solid var(--line)}
.recap-cmd > div:last-child{border-right:0}
.recap-cmd > .ligne-tva{flex:1 1 100%;display:block;border-right:0;padding-right:0;margin-top:-6px}
.recap-cmd span{font-family:var(--titre);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.recap-cmd b{font-family:var(--titre);font-weight:700;font-size:16px;color:var(--ink)}
.recap-cmd .tot b{color:var(--terra);font-size:19px}
.carte-choix .regroupe{color:var(--terra);font-family:var(--titre);font-weight:700;font-size:13.5px}
.bareme{margin-top:26px;max-width:620px}
.bareme h4{font-family:var(--titre);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:0 0 8px}
.mini-tarifs{width:100%;border-collapse:collapse;font-size:14.5px}
.mini-tarifs th{font-family:var(--titre);font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--soft);text-align:right;padding:5px 0;border-bottom:1.5px solid var(--line)}
.mini-tarifs th:first-child{text-align:left}
.mini-tarifs td{padding:5px 0;border-bottom:1px dashed var(--line);text-align:right;font-family:var(--titre);font-weight:700;color:var(--ink)}
.mini-tarifs td:first-child{text-align:left;font-family:var(--corps);font-weight:400;color:var(--soft)}
.mini-tarifs tr:last-child td{border-bottom:0}
.mini-tarifs tr.ici td{color:var(--terra)}
.mini-tarifs tr.ici td:first-child{color:var(--terra);font-weight:700;font-family:var(--titre)}
.carte-choix .mini-tarifs{margin-top:6px}
.panier-top{padding:10px 14px;gap:7px}
.panier-top.vide .nb{background:var(--creme2);color:var(--soft)}
.panier-top .nb{background:var(--sun-doux);color:var(--ink);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:12.5px;font-weight:800}
.panier-top.pop{animation:pop .35s ease}
.confirme{text-align:center;padding-block:10px;padding-top:34px;scroll-margin-top:140px}
.coche{width:64px;height:64px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-items:center;font-size:30px;margin:0 auto 18px}
.recap-final{display:inline-flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;background:var(--creme2);border-radius:18px;padding:16px 24px;margin-top:22px;font-size:15px;color:var(--soft)}
.recap-final b{font-family:var(--titre);color:var(--ink)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* gros titres des encadrés de l'écran virement (v7) */
.titre-bloc{font-family:var(--titre);font-size:clamp(24px,4.2vw,30px);line-height:1.15;margin:0 0 14px;color:var(--ink,inherit)}
.virement .titre-bloc{margin-bottom:16px}
.recap-cmd .titre-bloc{flex:1 1 100%;margin-bottom:2px}
#p-reserver,#p-reserver .recap{scroll-margin-top:120px}

/* format complet (v8) */
.format-resa.plein{opacity:.55;cursor:default}
.format-resa.plein:hover{background:transparent}
.format-resa.plein:hover h3{color:inherit}
.format-resa.plein .btn[disabled]{cursor:not-allowed}
.ecran[data-ecran="6"] .confirme{padding-top:96px}

/* v9 — « Tu voulais dire … ? » sous un champ mail */
.erreur b{word-break:break-all}
.lien-corriger{background:none;border:0;padding:0;margin:0 4px;font:inherit;font-weight:700;color:inherit;text-decoration:underline;cursor:pointer}

/* v9 — encadré « ton adresse mail ne fonctionne pas » sur les pages de confirmation */
.suivi-mail{max-width:560px;margin:22px auto 0;text-align:left}
.suivi-mail.alerte{display:block;padding:20px 24px;margin-top:22px}
.suivi-mail.alerte p{max-width:none;margin:0 0 8px}
.suivi-mail .champ{margin:12px 0}
.suivi-mail input{width:100%}
.suivi-mail .btn{margin-top:4px}

/* v9d — compteur du petit mot (bon cadeau) */
.compteur-mot{margin-top:6px;font-size:14px;color:var(--soft)}
.compteur-mot .n.trop{color:#B0462B;font-weight:700}
.compteur-mot .erreur{display:block;margin:6px 0 0}
.compteur-mot .apercu-mot{margin:6px 0 0;font-style:italic;word-break:break-word}
.compteur-mot .rouge{color:#B0462B;text-decoration:underline wavy;text-decoration-thickness:1px}
.champ.faux textarea{border-color:#B0462B}

/* v9d — confirmation de suppression, bandeau « retour au virement » */
.confirme-suppr{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;background:#FBE6DC;border:1.5px solid rgba(176,70,43,.45);border-radius:14px;padding:10px 14px;font-size:15px}
.confirme-suppr button{font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;border:1.5px solid rgba(60,32,16,.35);background:#fff}
.confirme-suppr button.suppr{background:#B0462B;border-color:#B0462B;color:#fff}

/* v9d — petit indicateur pendant la vérification de l'adresse mail */
button.verif-en-cours::before{content:""; display:inline-block; width:.9em; height:.9em; margin-right:.55em; vertical-align:-.12em;
  border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:tourne-verif .8s linear infinite}
@keyframes tourne-verif{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){button.verif-en-cours::before{animation-duration:2.4s}}

/* v9d — page « Modifier mon bon cadeau » */
.modif-bon-page{max-width:720px; margin:0 auto; padding:64px 0 64px}
.modif-bon-page .lead{margin:10px 0 24px}
.mb-carte{background:#fff; border:1.5px solid var(--bord,#E7DCCD); border-radius:22px; padding:26px 24px; margin-bottom:20px}
.mb-fixe{background:#FBF7F1; border-radius:14px; padding:14px 16px}
.mb-fixe p{margin:0}
.mb-pas{margin:8px 0 0; font-size:14px; opacity:.8}
.mb-ok{text-align:center}
.mb-ok .coche{margin:0 auto 12px}
.mb-aide{text-align:center; font-size:14px; opacity:.85; margin-top:28px}
@media (max-width:560px){ .mb-carte{padding:20px 16px} }
.mb-ok .btns{justify-content:center}

.modif-bon-page .champs{align-items:start}
.aide-champ{display:block; margin-top:6px; font-size:13px; opacity:.75; line-height:1.4}

input[type=date] + .erreur{display:block;margin-top:6px}

.recap .titre-recap{flex:1 1 100%;margin:0;padding:0;border:0;font-size:15px;font-family:var(--titre);color:var(--ink)}

.fil-cadre{scroll-margin-top:122px}

/* Créneaux ouverts ou complets : un encadré en longueur, texte à gauche, boutons à droite */
.bandeau-ouverture[data-etat="ouvert"],.bandeau-ouverture[data-etat="complet"]{grid-template-columns:1fr;
  background:var(--creme2);border:1.5px solid rgba(168,106,77,.2);border-radius:22px;padding:clamp(16px,2.2vw,24px) clamp(18px,3vw,34px)}
.bandeau-ouverture[data-etat="ouvert"]{max-width:760px;margin-inline:auto}
.bandeau-ouverture[data-etat="ouvert"] .decompte,.bandeau-ouverture[data-etat="complet"] .decompte{display:none}
.bandeau-ouverture[data-etat="ouvert"] .ouv-gauche,.bandeau-ouverture[data-etat="complet"] .ouv-gauche{
  display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(16px,3vw,36px);align-items:center;text-align:left}
.bandeau-ouverture[data-etat="ouvert"] .ouv-gauche > :not(.liens-ouv),.bandeau-ouverture[data-etat="complet"] .ouv-gauche > :not(.liens-ouv){grid-column:1}
.bandeau-ouverture[data-etat="ouvert"] .phrase-ouverte,.bandeau-ouverture[data-etat="complet"] .phrase-ouverte{margin:6px 0 0;max-width:none;font-size:clamp(16px,1.7vw,19px)}
.bandeau-ouverture[data-etat="ouvert"] .liens-ouv,.bandeau-ouverture[data-etat="complet"] .liens-ouv{grid-column:2;grid-row:1 / span 4;margin-top:0;justify-content:flex-end;flex-direction:column;align-items:stretch}
.bandeau-ouverture[data-etat="complet"] .liens-ouv{flex-direction:row;align-items:center}
@media (max-width:700px){
  .bandeau-ouverture[data-etat="ouvert"] .ouv-gauche,.bandeau-ouverture[data-etat="complet"] .ouv-gauche{grid-template-columns:1fr}
  .bandeau-ouverture[data-etat="ouvert"] .liens-ouv,.bandeau-ouverture[data-etat="complet"] .liens-ouv{grid-column:1;grid-row:auto;margin-top:14px;justify-content:flex-start;flex-direction:row}
}
.note-complet{margin:6px 0 0;color:var(--soft);line-height:1.5;font-size:14.5px}

.btn svg{flex:0 0 auto}

/* ===== Calendrier maison (ordinateur) ===== */
.date-native-cache{position:absolute !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important;padding:0 !important;border:0 !important;margin:0 !important;overflow:hidden}
.champ-date{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:15.5px;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.champ-date:hover{border-color:var(--terra)}
.champ-date:focus-visible,.champ-date[aria-expanded="true"]{outline:2px solid var(--terra);outline-offset:1px;border-color:transparent}
.champ-date svg{color:var(--terra);flex:0 0 auto}
.champ-date.vide span{color:var(--soft)}
.champ-date[hidden]{display:none}
.cal-pop{position:absolute;z-index:200;width:300px;background:var(--card);border:1.5px solid rgba(168,106,77,.25);border-radius:18px;box-shadow:0 18px 44px rgba(74,43,27,.22);padding:14px 14px 10px;animation:calIn .14s ease-out}
@keyframes calIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cal-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-tete b{font-family:var(--titre);font-size:16px;text-transform:capitalize}
.cal-nav{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s}
.cal-nav:hover:not([disabled]){background:var(--creme2)}
.cal-nav[disabled]{opacity:.3;cursor:default}
.cal-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal-j{font-family:var(--titre);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);padding:4px 0 6px}
.cal-jour{aspect-ratio:1;border:0;border-radius:50%;background:none;color:var(--ink);font:inherit;font-size:14.5px;cursor:pointer;transition:background .12s,transform .12s}
.cal-jour:hover:not([disabled]){background:var(--creme2);transform:scale(1.08)}
.cal-jour.auj{box-shadow:inset 0 0 0 1.5px var(--terra)}
.cal-jour.choisi{background:var(--ink);color:#FFFCF7;font-weight:700}
.cal-jour[disabled]{color:#CDBBA5;cursor:default;text-decoration:line-through;text-decoration-thickness:1px}
.cal-pied{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.cal-pied button{background:none;border:0;color:var(--terra);font:inherit;font-family:var(--titre);font-weight:700;font-size:13.5px;cursor:pointer;padding:6px 8px;border-radius:8px}
.cal-pied button:hover{background:var(--creme2)}

/* TVA : par défaut (franchise en base) on n'affiche aucune TVA ; la classe .tva-on est posée par le site si Julie active « Facturer la TVA » dans l'admin */
html:not(.tva-on) [data-tva-oui]{display:none}
html.tva-on [data-tva-non]{display:none}

/* ---- v9h : barre du haut et petits écrans ---- */
/* Sur grand écran le menu complet est visible : plus de burger ni de tiroir. */
@media (min-width:1061px){ .burger{display:none} .tiroir,#voile{display:none !important} }
/* 16 px minimum dans les champs : sinon l'iPhone zoome la page à la saisie. */
@media (max-width:760px){
  .champ input,.champ select,.champ textarea,.libre input,.suivi-mail input,.tri select{font-size:16px}
}
/* Les montants ne se coupent jamais en deux (« 300 / € »). */
.recap b,.recap-cmd b,.recap-shop b,.ligne-resa b,.ligne-tot b,.prix,.montant{white-space:nowrap}
/* 375 px : le bouton Commander ne touche plus le bord, le logo respire. */
@media (max-width:400px){
  header .wrap{padding-inline:14px}
  .marque{letter-spacing:-.02em}
}
.champ .etiq{display:block;font-family:var(--titre);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.champ .etiq small{font-weight:400;text-transform:none;letter-spacing:0;font-size:12.5px}
