/* Pas de Chichis, site vitrine statique, V3 « L'album de famille » (13/10/2026).
   Palette : roses poudrés (logo #fbddd5), tirages blanc cassé chaud, framboise pour l'action, bordeaux pour titres et texte.
   Contrastes texte (WCAG 2.x) vérifiés par outils/verifier-site.cjs. */
@font-face{font-family:"Literata";src:url("/assets/fonts/literata-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Literata";src:url("/assets/fonts/literata-italique.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Kalam";src:url("/assets/fonts/kalam-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Metric-adjusted fallback to limit layout shift while Literata loads (approximated, not measured). */
@font-face{font-family:"Literata Fallback";src:local("Georgia"),local("Noto Serif"),local("DejaVu Serif");size-adjust:106%;ascent-override:90%;descent-override:24%;line-gap-override:0%}

:root{
  --bordeaux:#5b1f2b; --bordeaux-2:#4a1822; --rose:#fbddd5; --framboise:#a8394a; --framboise-2:#8f2e3e;
  --papier:#fdf0ec; --encadre:#f8e1dc; --tirage:#fffaf7; --encre:#4e1b25; --doux:#7a3a46; --legende:#7d3f4a; --blanc:#fff; --ferme:#7f5660;
  --ruban:rgba(251,221,213,.92); --ruban-bord:rgba(168,57,74,.18);
  --filet:rgba(91,31,43,.14);
  --r:6px; --r-lg:8px;
  --ombre:0 1px 2px rgba(78,27,37,.10),0 6px 16px rgba(78,27,37,.08);
  --ombre-forte:0 2px 3px rgba(78,27,37,.14),0 10px 24px rgba(78,27,37,.12);
  --largeur:1180px; --marge:clamp(20px,5vw,40px);
  --entete:72px;
  --slab:"Literata","Literata Fallback",Georgia,serif;
  --main:"Kalam","Segoe Print","Bradley Hand",cursive;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;font-synthesis:none;scroll-padding-bottom:96px}
@media (min-width:900px){html{scroll-padding-top:calc(var(--entete) + 16px);scroll-padding-bottom:16px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--slab);font-size:1.0625rem;line-height:1.65;font-weight:400}
@media (min-width:900px){body{font-size:1.125rem}}
img{max-width:100%;height:auto;display:block}
a{color:var(--framboise-2);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--bordeaux);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--framboise);outline-offset:3px;border-radius:4px}
.sombre :focus-visible,.pied :focus-visible{outline-color:var(--rose)}
h1,h2,h3{font-family:var(--slab);color:var(--bordeaux);line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em;font-weight:600;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
h1{font-size:clamp(2rem,1.2rem + 3.4vw,3.5rem);letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,1.15rem + 1.9vw,2.5rem)}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em;text-wrap:pretty}
.contenu{max-width:var(--largeur);margin:0 auto;padding:0 var(--marge)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nowrap,.service,.tel-txt{white-space:nowrap}
.evitement{position:absolute;left:12px;top:12px;z-index:100;background:var(--rose);color:var(--bordeaux);padding:10px 16px;border-radius:8px;font-weight:600;transform:translateY(-200%);transition:transform .15s}
.evitement:focus{transform:translateY(0)}

/* Accroche manuscrite */
.main{font-family:var(--main);font-weight:400;color:var(--framboise);line-height:1.15;letter-spacing:0}
.surtitre{display:inline-block;font-family:var(--main);font-size:1.2rem;font-weight:400;letter-spacing:0;line-height:1.2;color:var(--framboise);margin-bottom:.45rem;transform:rotate(-1.5deg);transform-origin:left center}
.teinte .surtitre{color:var(--framboise-2)}
.sombre .surtitre{color:var(--rose)}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:.8em 1.4em;border-radius:8px;
  font:600 1rem/1.2 var(--slab);text-decoration:none;border:2px solid transparent;transition:background-color .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s;cursor:pointer;text-align:center}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-plein{background:var(--framboise);color:var(--blanc);box-shadow:0 6px 16px rgba(168,57,74,.28)}
.btn-plein:hover{background:var(--framboise-2);color:var(--blanc);transform:translateY(-1px);box-shadow:0 10px 22px rgba(168,57,74,.32)}
.btn-trait{border-color:var(--bordeaux);color:var(--bordeaux);background:transparent}
.btn-trait:hover{background:var(--bordeaux);color:var(--rose)}
.sombre .btn-trait{border-color:var(--rose);color:var(--rose)}
.sombre .btn-trait:hover{background:var(--rose);color:var(--bordeaux)}
.lien-fleche{font-weight:600;text-decoration:none;color:var(--framboise-2);display:inline-flex;gap:.4em;align-items:center}
.lien-fleche::after{content:"→";content:"→" / "";transition:transform .18s}
.lien-fleche:hover::after{transform:translateX(4px)}
.lien-fleche:hover{text-decoration:underline}

/* En-tête : voir le bloc « En-tête V2 ter » en fin de fichier */

/* Barre d'appel mobile : collante en bas, hauteur réelle (aucune réserve fixe à calculer) */
.barre-mobile{position:sticky;bottom:0;z-index:60;background:var(--tirage);border-top:1px solid var(--filet);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;
  padding:10px var(--marge) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(63,24,32,.18)}
.barre-mobile .btn{min-height:52px;width:100%;min-width:0;padding:.55em .8em;white-space:normal}
.barre-mobile .btn > span{min-width:0}
.barre-mobile .btn-trait{border-color:var(--bordeaux);color:var(--bordeaux)}
.barre-mobile .btn-trait:hover{background:var(--bordeaux);color:var(--tirage)}
.appel-mobile > span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.appel-mobile b{font-weight:700;font-size:1.02rem}
.appel-mobile small{font-size:.82rem;font-weight:500;opacity:.92;letter-spacing:.02em;font-variant-numeric:tabular-nums}
/* Width measured in em on the bar itself: reacts to text enlargement (200 %), not only to narrow screens. */
.barre-mobile{container-type:inline-size;container-name:barre}
@container barre (max-width:19em){.barre-mobile .btn-trait .libelle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@container barre (max-width:12em){.appel-mobile small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (max-height:500px){.barre-mobile{position:static}}
@media (min-width:900px){.barre-mobile{display:none}}

/* Sections */
.section{padding:clamp(56px,8vw,112px) 0}
.section.serre{padding:clamp(40px,6vw,72px) 0}
.sombre{background:var(--bordeaux);color:var(--rose)}
.sombre h2,.sombre h3{color:var(--blanc)}
.sombre a:not(.btn){color:var(--rose)}
.teinte{background:var(--encadre)}
.intro{max-width:62ch;color:var(--doux);font-size:1.05em}
.sombre .intro{color:var(--rose)}

/* Accueil : bloc principal */
.hero{padding:0 0 clamp(48px,7vw,96px)}
.hero .contenu{display:grid;gap:24px;align-items:center}
.hero h1{font-size:clamp(1.75rem,1.2rem + 2.6vw,2.2rem)}
.hero .main-accroche{font-size:clamp(1.8rem,1.4rem + 2vw,2.7rem);margin:.15em 0 .55em;display:block;text-wrap:balance}
.hero .chapeau{font-size:1.08em;max-width:52ch;color:var(--doux)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.6rem 0 1.6rem}
@media (max-width:479px){.hero .actions .btn{width:100%}}
.preuves{list-style:none;padding:0;margin:0;font-size:.86rem;color:var(--encre);line-height:1.5}
.preuves li{display:inline}
.preuves li + li::before{content:" · ";content:" · " / "";color:var(--framboise)}
.preuves strong{font-weight:700;color:var(--bordeaux)}
.preuves .etoile{color:var(--framboise)}
.hero .texte-hero{padding-top:16px}
@media (min-width:900px){
  .hero{padding-top:clamp(28px,5vw,72px)}
  .hero h1{font-size:clamp(2rem,1.2rem + 3.4vw,3.5rem)}
  .hero .contenu{grid-template-columns:1.08fr .92fr;gap:64px}
  .hero .texte-hero{padding-top:0}
  .preuves{display:flex;flex-wrap:wrap;gap:8px 10px;font-size:.88rem}
  .preuves li{display:inline-flex;align-items:center;gap:.4em;font-weight:500;padding:.45em .9em;border-radius:999px;background:var(--tirage);border:1px solid var(--filet)}
  .preuves li + li::before{content:none}
}
html[lang="nl-BE"] .hero h1{max-width:16ch}
@media (min-width:900px){html[lang="nl-BE"] .hero h1{font-size:clamp(2rem,1.2rem + 3vw,3.1rem)}}

/* Formule */
.formule .contenu{display:grid;gap:28px;align-items:center}
.formule .prix{font-weight:800;font-size:clamp(4.5rem,3rem + 6vw,7.5rem);line-height:.9;color:var(--blanc);letter-spacing:-.04em;margin:.1em 0 .1em}
.formule .detail{font-size:1.15em;color:var(--rose);margin:0}
.jours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0 0 1rem}
.jours li{border:1px solid rgba(251,221,213,.35);border-radius:var(--r);padding:12px 12px;background:rgba(255,255,255,.04)}
.jours b{display:block;color:var(--blanc);font-weight:600;font-size:1.02rem}
.jours span{color:var(--rose);font-size:.92rem;line-height:1.35;display:block}
.formule .note{font-size:.95rem;color:var(--rose);margin:0 0 1.2rem}
@media (min-width:900px){.formule .contenu{grid-template-columns:.9fr 1.1fr;gap:72px}.jours li{padding:14px 16px}}

/* Horaires */
.horaires-grille{display:grid;gap:28px;align-items:start}
@media (min-width:900px){.horaires-grille{grid-template-columns:.85fr 1.15fr;gap:72px}}
.carte-horaires,.trajets{background:var(--tirage);border-radius:var(--r-lg);box-shadow:var(--ombre);padding:8px clamp(16px,3vw,28px)}
.carte-horaires table,.trajets table{width:100%;border-collapse:collapse;font-size:.98rem}
.carte-horaires th,.carte-horaires td,.trajets th,.trajets td{padding:13px 4px;text-align:left;vertical-align:top;border-bottom:1px solid var(--filet)}
.carte-horaires tr:last-child th,.carte-horaires tr:last-child td,.trajets tr:last-child th,.trajets tr:last-child td{border-bottom:0}
.carte-horaires th,.trajets th{font-weight:600;color:var(--bordeaux);width:34%}
.carte-horaires td,.trajets td{font-variant-numeric:tabular-nums}
.carte-horaires .ferme td,.carte-horaires .ferme th{color:var(--ferme)}
.pastille{display:inline-block;margin:4px 0 0;font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--framboise-2);background:var(--encadre);border-radius:999px;padding:.15em .65em}
.service{display:block}

/* Assiettes (carrousel mobile) */
.assiettes{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--marge);padding:4px var(--marge) 18px;margin:0 calc(var(--marge) * -1);scrollbar-width:thin;border-radius:4px}
.assiettes:focus-visible{outline:3px solid var(--framboise);outline-offset:-3px}
.assiettes figure{margin:0;scroll-snap-align:start}
@media (min-width:700px){.assiettes{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;padding:4px 0 0;margin:0;gap:20px}}
.tete-section{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 32px;margin-bottom:28px}
.tete-section > div{max-width:640px}
.tete-section p{margin:0}

/* Duo image/texte */
.duo{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.duo{grid-template-columns:1fr 1fr;gap:72px}.duo.inverse > :first-child{order:2}}
.visuel-double{position:relative;margin:0 0 40px}
.atouts{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:10px}
.atouts li{display:flex;gap:12px;align-items:flex-start}
.atouts li::before{content:"";flex:none;width:10px;height:10px;margin-top:.55em;border-radius:50%;background:var(--framboise)}

/* Maison */
.portrait{margin:0}
.devise{font-size:1.15em;font-weight:600;color:var(--bordeaux);margin:.2em 0 1em}
.prenoms{font-family:var(--main);font-weight:400;font-size:1.55rem;color:var(--bordeaux);line-height:1.25;margin:.3em 0 1em}
.signature{font-family:var(--main);font-weight:400;font-size:1.7rem;color:var(--framboise);margin:0}

/* Encart groupes (accueil : une colonne, bouton sous les étiquettes) */
.encart{background:var(--tirage);border-radius:var(--r-lg);box-shadow:var(--ombre);padding:clamp(24px,4vw,48px);display:grid;gap:24px;justify-items:start;border-top:6px solid var(--framboise)}
.etiquettes{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:1rem 0 0}
.etiquettes li{border:1px solid rgba(168,57,74,.4);border-radius:999px;padding:.35em .95em;font-size:.92rem;color:var(--encre);background:var(--papier)}

/* Avis */
.avis{display:grid;gap:16px}
@media (min-width:700px){.avis{grid-template-columns:1fr 1fr;gap:22px}}
.avis a{display:block;background:var(--tirage);border:1px solid var(--filet);border-radius:var(--r-lg);padding:24px 26px;text-decoration:none;color:var(--encre);transition:transform .18s,box-shadow .18s,border-color .18s}
.avis a:hover{transform:translateY(-2px);box-shadow:var(--ombre);border-color:rgba(168,57,74,.45);color:var(--encre)}
.avis .chiffre{display:block;font-weight:800;font-size:2.3rem;line-height:1;color:var(--bordeaux);letter-spacing:-.02em}
.avis .quoi{display:block;margin:.35em 0 .9em;color:var(--doux)}

/* Venir */
.venir{display:grid;gap:28px}
@media (min-width:900px){.venir{grid-template-columns:1fr 1fr;gap:72px}}
.adresse{font-style:normal;font-size:1.15em;line-height:1.55;margin:0 0 1rem}
.adresse strong{color:var(--bordeaux)}
.tel-grand{display:inline-block;font-weight:700;font-size:1.6rem;color:var(--bordeaux);text-decoration:none;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.tel-grand:hover{color:var(--framboise)}
.bloc-info{background:var(--tirage);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);box-shadow:var(--ombre)}
.bloc-info h3{margin-bottom:.4em}
.bloc-info + .bloc-info{margin-top:18px}
.bloc-info p:last-child,.bloc-info ul:last-child{margin-bottom:0}

/* Occasions (page groupes) */
.occasions{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:14px}
@media (min-width:700px){.occasions{grid-template-columns:1fr 1fr;gap:18px}}
.occasions li{background:var(--tirage);border-radius:var(--r);padding:18px 20px;box-shadow:var(--ombre);border-left:4px solid var(--framboise)}
.occasions strong{display:block;color:var(--bordeaux);font-weight:600;margin-bottom:.15em}

/* Étapes numérotées */
.etapes{list-style:none;padding:0;margin:1rem 0 1.4rem;display:grid;gap:14px;counter-reset:e}
.etapes li{counter-increment:e;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.etapes li::before{content:counter(e);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--framboise);color:var(--blanc);font-weight:700}

/* Page intérieure : en-tête avec médaillon */
.tete-page{padding:clamp(28px,5vw,72px) 0 clamp(28px,4vw,48px);border-bottom:1px solid var(--filet)}
.tete-page h1{font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem);max-width:22ch}
.tete-page .intro{margin-bottom:0}
.tete-page .main{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);display:block;margin-top:.35em}
.tete-avec-visuel{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.visuel-tete{margin:0;order:-1;width:88px}
@media (min-width:900px){
  .tete-avec-visuel{grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:center}
  .visuel-tete{order:0;width:auto}
}

/* Carte */
.a-confirmer{background:#fff3c4;color:#4d3800;border:2px dashed #b38600;border-radius:10px;padding:10px 16px;font-weight:700;font-size:.95rem;margin:0 0 24px}
.ancres{position:sticky;top:0;z-index:40;background:rgba(253,240,236,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--filet)}
.ancres ul{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;gap:8px}
.ancres a{display:inline-block;padding:.4em 1em;border-radius:999px;border:1px solid rgba(168,57,74,.45);text-decoration:none;color:var(--bordeaux);font-weight:600;font-size:.92rem;background:var(--tirage)}
.ancres a:hover{background:var(--bordeaux);color:var(--rose);border-color:var(--bordeaux)}
@media (min-width:900px){.ancres{top:var(--entete)}}
.carte-grille{display:grid;gap:clamp(40px,6vw,64px)}
@media (min-width:1000px){.carte-grille{grid-template-columns:1fr 1fr;gap:40px 72px;align-items:start}}
.rubrique h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);border-bottom:2px solid var(--bordeaux);padding-bottom:.35em;margin-bottom:.4em;scroll-margin-top:72px}
@media (min-width:900px){.rubrique h2{scroll-margin-top:calc(var(--entete) + 72px)}}
.plats{list-style:none;padding:0;margin:0}
.plats li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 18px;padding:14px 0;border-bottom:1px dotted rgba(91,31,43,.3)}
.plats li:last-child{border-bottom:0}
.plats .nom{font-weight:600;color:var(--encre)}
.plats .prix{font-weight:700;color:var(--bordeaux);font-variant-numeric:tabular-nums;white-space:nowrap}
.plats .desc,.plats .trad{grid-column:1/-1;font-size:.9rem;color:var(--doux);line-height:1.45;font-style:normal}
.plats .trad::before{content:"";display:inline-block;width:14px;height:1px;background:currentColor;vertical-align:middle;margin-right:8px;opacity:.6}
.formule-carte{background:var(--bordeaux);color:var(--rose);border-radius:var(--r-lg);padding:clamp(22px,4vw,36px);display:grid;gap:10px 32px;align-items:center;margin-bottom:clamp(40px,6vw,64px)}
.formule-carte h2{color:var(--blanc);margin:0 0 .25em}
.formule-carte .prix{font-weight:800;font-size:3.6rem;line-height:1;color:var(--blanc);letter-spacing:-.03em;order:-1;margin:0}
.formule-carte p{margin:0}
@media (min-width:800px){.formule-carte{grid-template-columns:auto 1fr}}
.rubrique h3{font-size:1.1rem;margin:1.6em 0 .2em}
.boissons > div > h3:first-child{margin-top:.4em}
.chien{display:flex;justify-content:flex-end;align-items:flex-end;gap:2px;margin:1.4rem 0 0}
.chien .bichon{flex:none;display:block;width:132px;height:auto}
.chien .mot{font-family:var(--main);font-size:1.45rem;line-height:1;color:var(--framboise-2);transform:rotate(-5deg);transform-origin:right bottom;margin:0 0 .9rem;white-space:nowrap}
@media (max-width:600px){.chien .bichon{width:102px}.chien .mot{font-size:1.25rem;margin-bottom:.7rem}}
.chiens{display:flex;align-items:center;gap:.5em;font-weight:600;color:var(--bordeaux);margin-top:.8em}
.chiens .patte{flex:none;width:1.3em;height:1.3em}
.note-carte{background:var(--encadre);border-radius:var(--r);padding:18px 22px;margin-top:24px;font-size:.98rem}
.note-carte p:last-child{margin:0}

/* Texte long (légal) */
.texte{max-width:72ch}
.texte h2{font-size:1.4rem;margin-top:2em}
.texte h2:first-child{margin-top:0}
.texte a{overflow-wrap:anywhere}
.texte dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 20px;margin:0 0 1em}
.texte dt{font-weight:600;color:var(--bordeaux)}
.texte dd{margin:0}
@media (max-width:599px){.texte dl{grid-template-columns:1fr;gap:0}.texte dd{margin-bottom:.7em}}
.a-completer{background:#fff3c4;color:#4d3800;padding:0 .3em;border-radius:4px;font-weight:600}

/* Pied de page */
.pied{background:var(--bordeaux);color:var(--rose);padding:56px 0 28px;font-size:.95rem}
.pied a{color:var(--rose);display:inline-block;padding:3px 0;min-height:24px}
.pied a:hover{color:var(--blanc)}
.pied .grille{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}
.pied .grille > :first-child{grid-column:1/-1}
@media (min-width:800px){.pied .grille{grid-template-columns:1.3fr 1fr 1fr 1fr}.pied .grille > :first-child{grid-column:auto}}
.pied .titre-pied{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);opacity:.9;margin:0 0 .9em;font-weight:600}
.pied .marque{display:inline-block;margin-bottom:.6em}
.pied .marque img{width:211px;height:auto}
.pied ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.pied address{font-style:normal}
.pied .bas{margin-top:40px;padding-top:20px;border-top:1px solid rgba(251,221,213,.22);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:.85rem}
.pied .bas ul{display:flex;flex-wrap:wrap;gap:4px 24px}

/* Erreur */
.erreur{min-height:60vh;display:grid;place-items:center;text-align:center}

/* ===================== V2 bis : dynamique (amélioration progressive) ===================== */
/* Opening status badge: space reserved from first paint (html.js set inline), text filled by JS. */
.etat{display:none}
.js .etat{display:inline-flex;align-items:center;gap:.5em;min-height:2em;padding:.2em .85em;border-radius:999px;font-size:.82rem;font-weight:600;line-height:1.3;visibility:hidden;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.js .etat.pret{visibility:visible}
.etat::before{content:"";flex:none;width:.6em;height:.6em;border-radius:50%;background:currentColor}
.etat.ouvert::before{background:#2f8f5b;box-shadow:0 0 0 3px rgba(47,143,91,.22)}
.etat.ferme::before{background:#9b8a8d}
.hero .etat{background:var(--tirage);color:var(--encre);border:1px solid var(--filet);margin-bottom:.9rem}
@media (prefers-reduced-motion:no-preference){.etat.ouvert::before{animation:pouls 2.4s ease-in-out infinite}}
@keyframes pouls{50%{box-shadow:0 0 0 6px rgba(47,143,91,.05)}}

/* Hero entrance (CSS only: completes even if site.js never loads) */
@media (prefers-reduced-motion:no-preference){
  .js .hero .texte-hero{animation:entree .7s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes entree{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes entree-img{from{transform:scale(1.03)}to{transform:none}}

/* Scroll reveals (classes added by JS only on blocks below the fold) */
.anim .revele{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.anim .revele.vu{opacity:1;transform:none}

}

/* Photos: zoom on hover (desktop), links open the viewer */
a.agrandir{display:block;border-radius:inherit;color:inherit}


/* Carousel dots: height reserved only when JS runs */
.points{display:none}
.js .points{display:flex;justify-content:center;gap:2px;height:28px;margin-top:2px}
.points button{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
.points button::before{content:"";width:9px;height:9px;border-radius:50%;background:rgba(91,31,43,.28);transition:transform .2s,background-color .2s}
.points button[aria-current="true"]::before{background:var(--framboise);transform:scale(1.3)}
@media (min-width:700px){.js .points{display:none}}

/* Photo viewer */
.visionneuse{border:0;padding:0;background:transparent;max-width:min(94vw,980px);width:100%;max-height:94vh;overflow:visible}
.visionneuse::backdrop{background:rgba(30,10,14,.86)}
.visionneuse figure{margin:0}
.visionneuse button:focus-visible{outline:3px solid var(--blanc);outline-offset:3px}
.visionneuse .v-fermer{top:-14px;right:-6px}
.visionneuse .v-prec{left:6px;top:calc(39vh - 24px)}
.visionneuse .v-suiv{right:6px;top:calc(39vh - 24px)}
.visionneuse .v-compteur{position:absolute;left:0;right:0;top:-10px;text-align:center;color:var(--rose);font-size:.85rem;margin:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.visionneuse[open]{animation:entree .25s ease-out}}

/* Contact form */
.formulaire-grille{display:grid;gap:32px;align-items:start}
@media (min-width:1000px){.formulaire-grille{grid-template-columns:1.5fr 1fr;gap:56px}}
.formulaire{background:var(--tirage);border-radius:var(--r-lg);box-shadow:var(--ombre);padding:clamp(20px,4vw,40px)}
.formulaire fieldset{border:0;margin:0 0 1.4rem;padding:0;min-width:0}
.formulaire legend{font-weight:700;color:var(--bordeaux);font-size:1.15rem;margin-bottom:.6rem;padding:0}
.choix{display:grid;gap:10px}
@media (min-width:600px){.choix{grid-template-columns:1fr 1fr}}
.choix label{display:flex;gap:.7em;align-items:flex-start;border:2px solid var(--filet);border-radius:var(--r);padding:12px 14px;cursor:pointer;font-weight:600;color:var(--encre)}
.choix label:has(input:checked){border-color:var(--framboise);background:var(--papier)}
.choix input{width:20px;height:20px;margin:.15em 0 0;accent-color:var(--framboise);flex:none}
.champs{display:grid;gap:18px}
@media (min-width:600px){.champs{grid-template-columns:1fr 1fr}.champ.large{grid-column:1/-1}}
.champ label{display:block;font-weight:600;color:var(--encre);margin-bottom:.3rem}
.champ .oblig{font-weight:400;color:var(--doux);font-size:.85em}
.champ .aide{display:block;font-size:.86rem;color:var(--doux);margin:-.1rem 0 .35rem}
.champ input,.champ select,.champ textarea{width:100%;font:inherit;font-size:1rem;color:var(--encre);background:var(--papier);border:2px solid rgba(91,31,43,.32);border-radius:10px;padding:.65em .8em;min-height:48px}
.champ textarea{min-height:120px;resize:vertical}
.champ input:focus-visible,.champ select:focus-visible,.champ textarea:focus-visible{outline:3px solid var(--framboise);outline-offset:1px;border-color:var(--framboise)}
.champ [aria-invalid="true"]{border-color:var(--framboise-2);background:#fff6f6}
.erreur-champ{color:var(--framboise-2);font-weight:600;font-size:.9rem;margin:.35rem 0 0}
.erreur-champ::before{content:"! ";content:"! " / ""}
.js .formulaire:not(.groupe) .si-groupe{display:none}
.resume-erreurs{border:2px solid var(--framboise-2);background:#fff6f6;border-radius:var(--r);padding:14px 18px;margin-bottom:1.4rem}
.resume-erreurs:focus{outline:3px solid var(--framboise);outline-offset:2px}
.resume-erreurs p{margin:0 0 .4rem;font-weight:700;color:var(--framboise-2)}
.resume-erreurs ul{margin:0;padding-left:1.2em}
.resume-erreurs a{color:var(--framboise-2)}
.piege{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.avertissement{background:var(--encadre);border-left:4px solid var(--framboise);border-radius:10px;padding:12px 16px;margin:0 0 1.4rem;font-size:.98rem}
.indispo{background:#fff3c4;border-left-color:#b38600;color:#4d3800}
.formulaire .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.etat-envoi{border-radius:var(--r);padding:14px 18px;margin-top:1.2rem;font-weight:600}
.etat-envoi:focus{outline:3px solid var(--framboise);outline-offset:2px}
.etat-envoi.envoi{background:var(--encadre);color:var(--encre)}
.etat-envoi.succes{background:#e6f4ec;color:#1d5b39;border:2px solid #2f8f5b}
.etat-envoi.echec{background:#fff6f6;color:var(--framboise-2);border:2px solid var(--framboise-2)}
.mention-rgpd{font-size:.86rem;color:var(--doux);margin:1.2rem 0 0}
.js .hero .etat{display:flex;width:fit-content}
.hero .contenu{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.hero .contenu{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.js .etat{white-space:normal;text-overflow:clip}

/* ===================== En-tête V2 ter (13/10/2026) =====================
   Mobile (< 56.25em de large) : grille sur 2 ou 3 rangées, comme avant.
   Bureau : UNE seule ligne, grille sans retour à la ligne. Les paliers sont des requêtes
   de conteneur en em : à 100 %, 56.25em = 900 px, 68.75em = 1100 px, 85em = 1360 px ;
   quand le texte est agrandi (200 %), la même largeur vaut deux fois moins d'em, donc
   l'en-tête repasse en disposition mobile au lieu de déborder.
   DOM : marque, nav, état, langues, appel (ordre de tabulation = ordre visuel bureau). */
.entete{background:rgba(253,240,236,.96);color:var(--encre);position:relative;z-index:50;border-bottom:1px solid var(--filet);font-size:1rem;container:entete / inline-size}
@media (min-width:900px){.entete{position:sticky;top:0}}
.entete .contenu{max-width:85em;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"marque langues" "nav nav";align-items:center;gap:4px 16px;padding-top:10px;padding-bottom:8px}
.js .entete .contenu{grid-template-areas:"marque langues" "nav nav" "etat etat"}
.js .entete.accueil .contenu{grid-template-areas:"marque langues" "nav nav"}
.marque{display:inline-block;line-height:0;padding:4px 0;justify-self:start;border-radius:4px}
.marque img{display:block;width:auto;height:34px}
.marque:hover img{filter:brightness(.92)}
.entete .marque{grid-area:marque}
@media (max-width:359px){.entete .marque img{height:28px}}
.langues{grid-area:langues;display:flex;gap:2px;font-size:.85rem;font-weight:600;letter-spacing:.06em}
.langues a{color:var(--doux);text-decoration:none;padding:8px 8px;border-radius:6px;min-height:24px}
.langues a:hover{color:var(--bordeaux);background:rgba(168,57,74,.08)}
.langues a[aria-current="true"]{color:var(--bordeaux);box-shadow:inset 0 -2px 0 var(--framboise);border-radius:0}
.nav{grid-area:nav;display:flex;flex-wrap:wrap;gap:0 20px;font-size:.98rem;min-width:0}
.nav a{color:var(--encre);text-decoration:none;padding:8px 2px;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--framboise-2);border-bottom-color:rgba(168,57,74,.4)}
.nav a[aria-current="page"]{border-bottom-color:var(--framboise);color:var(--bordeaux)}
.entete .appel{display:none;grid-area:appel}
.entete .etat{grid-area:etat;justify-self:start;background:rgba(168,57,74,.07);color:var(--encre);margin:2px 0 4px;white-space:nowrap;text-overflow:ellipsis;max-width:100%}
.js .entete .etat-doublon{display:none}
.etat .court{display:none}
@container entete (min-width:56.25em){
  .entete .contenu,.js .entete .contenu,.js .entete.accueil .contenu{grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-template-areas:"marque nav etat langues appel";gap:0 1em;min-height:var(--entete);padding-top:8px;padding-bottom:8px}
  .entete .marque img{height:34px}
  .nav{flex-wrap:nowrap;justify-content:center;gap:1em;font-size:.95rem}
  .js .entete .etat,.js .entete .etat-doublon{display:inline-flex;background:transparent;padding:0;margin:0;min-height:0;font-size:.8rem}
  .entete .etat .court{display:inline}
  .entete .etat .long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .langues{gap:0}
  .langues a{padding:8px 6px}
  .entete .appel{display:inline-flex;width:2.75em;min-height:2.75em;padding:0;background:var(--framboise);color:var(--blanc);box-shadow:none}
  .entete .appel span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .entete .appel:hover{background:var(--framboise-2);color:var(--blanc)}
}
@container entete (min-width:68.75em){
  .entete .contenu,.js .entete .contenu,.js .entete.accueil .contenu{gap:0 1.375em}
  .entete .marque img{height:38px}
  .nav{gap:1.5em;font-size:.98rem}
  .entete .appel{width:auto;padding:.55em 1.05em}
  .entete .appel span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}
@container entete (min-width:85em){
  .entete .etat .court{display:none}
  .entete .etat .long{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .nav{gap:1.75em}
}
/* Compactage au défilement (bureau, transformations seulement : aucun décalage de mise en page) */
@media (min-width:900px){
  .entete{transition:transform .25s ease,box-shadow .25s ease}
  .entete .contenu{transition:transform .25s ease}
  .entete .marque{transition:transform .25s ease;transform-origin:left center}
  .entete.compact{transform:translateY(-8px);box-shadow:0 6px 18px rgba(78,27,37,.12)}
  .entete.compact .contenu{transform:translateY(4px)}
  .entete.compact .marque{transform:scale(.9)}
}

/* ===================== V3 « L'album de famille » ===================== */
/* Paper grain, pink-tinted, very light (decorative). */
body{background-color:var(--papier);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .66  0 0 0 0 .22  0 0 0 0 .29  0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
.teinte{background-color:var(--encadre)}
.intro{color:var(--doux)}

/* Adhesive tape: pink, torn edges (markup .ruban, or ::before on cards) */
.ruban,.carte-horaires::before,.encart::before,.formule-carte::before,.note-papier .ruban{position:absolute;z-index:3;left:50%;top:-13px;width:min(38%,130px);height:28px;background:var(--ruban);box-shadow:0 1px 1px var(--ruban-bord);transform:translateX(-50%) rotate(var(--rr,-4deg));pointer-events:none;
  clip-path:polygon(3% 8%,10% 0,20% 9%,31% 1%,44% 8%,57% 0,70% 9%,82% 2%,94% 10%,100% 4%,97% 50%,100% 94%,90% 100%,78% 91%,65% 100%,52% 92%,38% 100%,25% 92%,13% 100%,2% 93%,4% 50%)}
.carte-horaires::before,.encart::before,.formule-carte::before{content:""}

/* Hero */
.hero{padding:clamp(18px,4vw,56px) 0 clamp(48px,7vw,96px)}
.hero h1{font-size:clamp(2rem,1.25rem + 3vw,3.35rem);line-height:1.08;margin-bottom:.5em;max-width:none}
.h1-voix{display:block}
.h1-voix em{font-style:italic;font-weight:400}
.h1-desc{display:block;font-size:clamp(1rem,.92rem + .35vw,1.15rem);font-weight:500;line-height:1.45;color:var(--doux);margin-top:.85em;letter-spacing:0;max-width:44ch}
html[lang="nl-BE"] .hero h1{max-width:none}
.hero .chapeau{color:var(--encre)}
.hero .etat{background:var(--tirage)}
.preuves li{background:var(--tirage)}
@media (min-width:900px){.preuves li{border-radius:4px}}
.album{position:relative;order:-1;padding-top:14px}
.tirages{position:relative;height:clamp(230px,64vw,330px)}
.pose{position:absolute;margin:0;transform:rotate(var(--r));perspective:1400px;transition:transform .25s ease-out}
.p1{left:0;top:16px;width:40%}
.p2{left:31%;top:42px;width:38%;z-index:2}
.p3{right:0;top:4px;width:35%}
@media (min-width:900px){
  .hero .contenu{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px}
  .album{order:0;padding-top:0}
  .tirages{height:560px}
  .p1{left:0;top:6%;width:52%}
  .p2{left:30%;top:41%;width:50%}
  .p3{right:0;top:0;width:47%}
}
.recto-verso{display:block;position:relative;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.45,.05,.25,1)}
.pose.retourne .recto-verso{transform:rotateY(180deg)}
.face,.dos{background-color:var(--tirage);box-shadow:var(--ombre-forte);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.face{display:block;position:relative;padding:4% 4% 16%}
.face img,.tirage-galerie img,.visuel-double img,.portrait img,.visuel-tete img{filter:saturate(.9)}
.face img{width:100%;aspect-ratio:1;object-fit:cover}
.leg{font-family:var(--main);font-weight:400;color:var(--legende);line-height:1.2}
.face .leg{position:absolute;left:5%;right:5%;bottom:3.5%;font-size:clamp(.78rem,.62rem + .55vw,1.2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.face .ruban{width:42%;height:clamp(16px,2.2vw,28px);top:calc(clamp(16px,2.2vw,28px) / -2)}
.dos{position:absolute;inset:0;transform:rotateY(180deg);display:grid;place-items:center;text-align:center;padding:10%;font:400 clamp(.9rem,.7rem + .9vw,1.55rem)/1.3 var(--main);color:var(--encre);
  background-image:repeating-linear-gradient(transparent 0 1.85em,rgba(168,57,74,.16) 1.85em calc(1.85em + 1px))}
.pose .verso{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .js .pose{animation:tombe .65s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:var(--dl,0s)}
  .tirages:hover .pose:hover{transform:rotate(0deg) translateY(-4px);z-index:5}
}
@keyframes tombe{from{transform:translateY(-24px) rotate(0deg)}to{transform:rotate(var(--r))}}

/* Pause button (WCAG 2.2.2): shown only when JS runs and motion is allowed; space reserved from first paint */
.pause-photos{display:none}
.js .pause-photos{display:inline-flex;align-items:center;gap:.6em;margin:12px 0 0;min-height:44px;padding:.35em 1em .35em .8em;border:1.5px solid rgba(91,31,43,.32);border-radius:999px;background:var(--tirage);color:var(--bordeaux);font:600 .88rem/1.2 var(--slab);cursor:pointer}
.pause-photos:hover{border-color:var(--framboise);color:var(--framboise-2)}
.pause-icone{display:inline-block;width:10px;height:12px;border-left:3.5px solid currentColor;border-right:3.5px solid currentColor;flex:none}
.en-pause .pause-icone{width:0;height:0;border-right:0;border-left:11px solid currentColor;border-top:6.5px solid transparent;border-bottom:6.5px solid transparent}
.marqueur-photo{margin:.6rem 0 0;font-size:.8rem;line-height:1.4}

/* Prints in the dishes gallery */
.assiettes{padding-top:16px;padding-bottom:22px}
.tirage-galerie{transform:rotate(var(--r,-1deg))}
.tirage-galerie:nth-child(1){--r:-1.5deg}.tirage-galerie:nth-child(2){--r:1.2deg}.tirage-galerie:nth-child(3){--r:-.8deg}
.tirage-galerie a.agrandir{display:block;position:relative;background:var(--tirage);padding:10px 10px 42px;box-shadow:var(--ombre-forte);transition:transform .2s ease-out}
.tirage-galerie img{width:100%;aspect-ratio:1;object-fit:cover}
.tirage-galerie .leg{position:absolute;left:14px;right:14px;bottom:8px;font-size:1.2rem}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.tirage-galerie a.agrandir:hover{transform:rotate(calc(var(--r) * -1)) translateY(-4px)}}

/* Terrace: two prints */
.visuel-double{margin:0 0 56px}
.visuel-double a.agrandir{display:block;position:relative;background:var(--tirage);box-shadow:var(--ombre-forte);color:inherit}
.visuel-double .grand{padding:12px 12px 44px;transform:rotate(-1.2deg)}
.visuel-double .grand img{width:100%;aspect-ratio:6/5;object-fit:cover}
.visuel-double .petit{position:absolute;right:-6px;bottom:-52px;width:44%;padding:7px 7px 30px;transform:rotate(3deg);z-index:2}
.visuel-double .petit img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:30% 40%}
.visuel-double .leg{position:absolute;left:14px;bottom:9px;font-size:1.2rem}
.visuel-double .petit .leg{left:9px;bottom:4px;font-size:1rem}

/* House: facade print */
.portrait{position:relative;background:var(--tirage);padding:12px 12px 46px;box-shadow:var(--ombre-forte);transform:rotate(1.5deg);max-width:460px;justify-self:center;width:100%}
.portrait img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 20%}
@media (min-width:900px){.portrait img{aspect-ratio:4/5}}
.portrait .leg{position:absolute;left:14px;bottom:10px;font-size:1.25rem}
.prenoms{color:var(--bordeaux)}

/* Interior page heads: a small print instead of a round medallion */
.visuel-tete{position:relative;background:var(--tirage);padding:6px 6px 8px;box-shadow:var(--ombre);transform:rotate(2deg);width:96px}
.visuel-tete img{width:100%;aspect-ratio:1;object-fit:cover}
.visuel-tete .ruban{width:50%;height:16px;top:-8px}
.visuel-tete .leg{display:none}
@media (min-width:900px){
  .visuel-tete{width:auto;padding:12px 12px 46px;box-shadow:var(--ombre-forte)}
  .visuel-tete .ruban{width:40%;height:28px;top:-13px}
  .visuel-tete .leg{display:block;position:absolute;left:14px;right:14px;bottom:10px;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Pinned notes and cards */
.formule .contenu{display:block}
.note-papier{position:relative;max-width:1000px;margin:0 auto;background:var(--tirage);padding:clamp(38px,5vw,58px) clamp(22px,5vw,58px) clamp(28px,4vw,46px);box-shadow:var(--ombre-forte);transform:rotate(-.6deg);display:grid;gap:24px 56px;align-items:center}
@media (min-width:900px){.note-papier{grid-template-columns:.9fr 1.1fr}}
.formule .prix{color:var(--bordeaux);font-weight:700;font-size:clamp(3.6rem,2.5rem + 4vw,5.6rem);letter-spacing:-.02em;line-height:.95}
.formule .detail,.formule .note{color:var(--doux)}
.jours li{border:1.5px dashed rgba(168,57,74,.35);background:var(--papier);border-radius:4px}
.jours b{color:var(--bordeaux)}
.jours span{color:var(--doux)}
.carte-horaires{position:relative;border-radius:2px;box-shadow:var(--ombre-forte);transform:rotate(.5deg);padding-top:14px}
.encart{position:relative;border-top:0;border-radius:2px;box-shadow:var(--ombre-forte);transform:rotate(-.4deg)}
.avis a{border-radius:2px;box-shadow:var(--ombre);border-color:transparent}
.avis a:nth-child(1){transform:rotate(-.7deg)}.avis a:nth-child(2){transform:rotate(.6deg)}
.avis a:hover{transform:rotate(0) translateY(-3px)}
.bloc-info,.occasions li,.formulaire{border-radius:4px}
.occasions li{border-left:0;border-top:3px solid var(--rose)}
.etiquettes li{border-radius:4px;background:var(--tirage)}
.pastille{border-radius:4px;background:var(--encadre)}
.ancres a{border-radius:6px}
.formule-carte{position:relative;background:var(--tirage);color:var(--encre);border-radius:2px;box-shadow:var(--ombre-forte);transform:rotate(-.4deg)}
.formule-carte h2{color:var(--bordeaux)}
.formule-carte .prix{color:var(--bordeaux)}
.choix label{border-radius:4px}
.champ input,.champ select,.champ textarea{border-radius:6px;background:var(--tirage)}

/* Photo viewer as a large print */
.visionneuse figure{background:var(--tirage);padding:12px 12px 52px;position:relative;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.visionneuse img{width:100%;max-height:72vh;object-fit:contain;background:var(--encadre);border-radius:0}
.visionneuse figcaption{position:absolute;left:14px;right:14px;bottom:12px;margin:0;padding:0;text-align:left;color:var(--legende);font:italic 400 .95rem/1.35 var(--slab);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.visionneuse button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:var(--framboise);color:var(--blanc);font:700 1.6rem/1 var(--slab);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.visionneuse button:hover{background:var(--framboise-2)}

/* Reduced motion: no flip, the back text is shown under each photo */
@media (prefers-reduced-motion:reduce){
  .recto-verso{transform:none!important}
  .tirages{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;padding-top:8px}
  .pose{position:relative;inset:auto;width:auto;left:auto;right:auto;top:auto}
  .pose .verso{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:block;margin:.6em 4% 0;font:400 clamp(.85rem,.7rem + .4vw,1.05rem)/1.3 var(--main);color:var(--encre)}
}
/* V3 adjustments after screenshot review */
.nav{gap:0 16px;font-size:.95rem}
.tirages{height:clamp(200px,56vw,300px)}
.p2{left:29%;width:36%}
@media (min-width:900px){.tirages{height:600px}.p2{left:32%;top:52%;width:50%}}
@media (prefers-reduced-motion:reduce){
  .js .pause-photos{display:none}
  .tirages .pose{position:relative;left:auto;right:auto;top:auto;width:auto;transform:rotate(var(--r))}
  .tirages{height:auto}
}
/* Pause button, minimal (Anaïs 13/10): 24x24 icon only, absolute in the album's bottom-right corner, no layout space */
.album{position:relative}
.js .pause-photos{position:absolute;right:0;bottom:0;z-index:6;display:grid;place-items:center;width:24px;height:24px;min-height:0;margin:0;padding:0;border:1px solid rgba(91,31,43,.35);border-radius:50%;background:rgba(253,240,236,.8);color:var(--bordeaux);opacity:.6;cursor:pointer;transition:opacity .15s}
.js .pause-photos:hover,.js .pause-photos:focus-visible{opacity:1;border-color:var(--framboise);color:var(--framboise-2)}
.js .pause-photos:focus-visible{outline:2px solid var(--framboise);outline-offset:2px}
.pause-photos .pause-icone{width:9px;height:11px;border-left-width:3px;border-right-width:3px}
.en-pause .pause-photos .pause-icone{width:0;height:0;border-right:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.album .marqueur-photo{margin-top:.4rem}
@media (prefers-reduced-motion:reduce){.js .pause-photos{display:none}}
/* Single status badge, header only (Anaïs 13/10). Mobile: compact form on the logo row. */
.js .entete .contenu,.js .entete.accueil .contenu{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"marque etat langues" "nav nav nav";column-gap:10px}
.js .entete .etat{display:inline-flex;justify-self:end;margin:0;padding:.15em .6em;min-height:24px;font-size:.78rem}
.entete .etat .court{display:inline}
.entete .etat .long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:359px){.js .entete .contenu,.js .entete.accueil .contenu{column-gap:4px}.js .entete .etat{padding:.15em .45em}.langues a{padding:8px 5px}}
@container entete (min-width:56.25em){
  .js .entete .contenu,.js .entete.accueil .contenu{grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-template-areas:"marque nav etat langues appel";column-gap:1em}
  .js .entete .etat{padding:0;min-height:0;font-size:.8rem}
}
@container entete (min-width:68.75em){.js .entete .contenu,.js .entete.accueil .contenu{column-gap:1.375em}}
@container entete (min-width:85em){.entete .etat .court{display:none}.entete .etat .long{position:static;width:auto;height:auto;overflow:visible;clip:auto}}
/* Washi tape, more readable (Anaïs 13/10): deeper pink, translucent, fine diagonal stripes, soft shadow, light edge, torn short ends */
:root{--ruban:rgba(240,169,156,.82)}
.ruban,.carte-horaires::before,.encart::before,.formule-carte::before,.note-papier .ruban{
  background-color:var(--ruban);
  background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 3px,transparent 3px 8px),linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,0) 30%);
  box-shadow:0 1px 2px rgba(91,31,43,.18);filter:drop-shadow(0 1px 1px rgba(91,31,43,.18));
  clip-path:polygon(0 6%,4% 0,8% 10%,12% 2%,16% 0,84% 0,88% 8%,92% 1%,96% 9%,100% 3%,97% 22%,100% 40%,96% 58%,100% 76%,97% 92%,100% 100%,88% 92%,84% 100%,16% 100%,12% 93%,8% 100%,4% 91%,0 100%,3% 80%,0 62%,4% 44%,0 26%)}
.face .ruban{top:calc(clamp(16px,2.2vw,28px) * -.36)}
.ruban{top:-14px;height:30px}
.visuel-tete .ruban{top:-7px}
@media (min-width:900px){.visuel-tete .ruban{top:-11px}}
.pose.p1 .ruban{--rr:-6deg}.pose.p2 .ruban{--rr:5deg}.pose.p3 .ruban{--rr:-3deg}

/* ===== Logo as a mask: colour follows currentColor (header variants) ===== */
.logo-entete{display:block;height:36px;width:auto;aspect-ratio:2304/480;overflow:visible}
.marque{color:var(--framboise)}
@media (max-width:359px){.entete .logo-entete{height:28px}}
@container entete (min-width:68.75em){.entete .logo-entete{height:42px}}
.marque:hover .logo-entete{opacity:.85}

/* ===== Review tags as external links ===== */
.preuves a{display:inline-flex;align-items:center;gap:.35em;min-height:24px;color:inherit;text-decoration:none;border-radius:4px}
.preuves a:hover{color:var(--framboise-2);text-decoration:underline;text-underline-offset:.2em}
.preuves a:focus-visible{outline:2px solid var(--framboise);outline-offset:2px}
.sortant{width:.7em;height:.7em;flex:none;opacity:.7}
.preuves a:hover .sortant,.preuves a:focus-visible .sortant{opacity:1}
@media (min-width:900px){
  .preuves li{padding:0;background:transparent;border:0}
  .preuves a{padding:.45em .9em;border-radius:4px;background:var(--tirage);border:1px solid var(--filet);font-weight:500}
  .preuves a:hover{border-color:rgba(168,57,74,.5);text-decoration:none}
}
.avis a .sortant{width:.8em;height:.8em;margin-left:.3em;vertical-align:baseline}
@media (min-width:900px){.tirages{height:660px}}
@media (max-width:419px){.entete .logo-entete{height:29px}}
@media (max-width:359px){.entete .logo-entete{height:25px}}
@media (max-width:899px){.entete .marque{min-width:0;width:100%}.entete .logo-entete{height:auto;width:min(100%,160px)}}
@media (max-width:359px){.entete .etat .court{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.js .entete .etat{padding:0 .4em;gap:0;min-width:24px;justify-content:center}.entete .logo-entete{width:min(100%,140px)}}

/* ===== Header: « rose framboise clair » (variant 8, validated by Anaïs on 13/10). Contrasts in verifier-site.cjs.
   Active-link underline in burgundy (raspberry would fail 3:1 as a non-text mark on this pink). ===== */
.entete-v8 .entete,.entete-v8 .entete.compact{background:#e6a0a0;color:#4e1b25;border-bottom:1px solid transparent;box-shadow:none}
.entete-v8 .entete.compact{box-shadow:0 4px 14px rgba(91,31,43,.12)}
.entete-v8 :is(.marque,.nav a,.entete .etat){color:#4e1b25}
.entete-v8 .nav a:hover{color:#4e1b25;border-bottom-color:rgba(91,31,43,.45)}
.entete-v8 .nav a[aria-current="page"]{color:#4e1b25;border-bottom-color:var(--bordeaux)}
.entete-v8 .langues a{color:#6e2a37}
.entete-v8 .langues a:hover{color:#4e1b25;background:rgba(255,255,255,.3)}
.entete-v8 .langues a[aria-current="true"]{color:#4e1b25;box-shadow:inset 0 -2px 0 var(--bordeaux)}
.entete-v8 .entete .etat{background:rgba(255,255,255,.35)}
.entete-v8 .entete .appel{background:var(--bordeaux);color:var(--papier)}
.entete-v8 .entete .appel:hover{background:var(--bordeaux-2);color:var(--blanc)}
.entete-v8 .entete :focus-visible{outline-color:var(--bordeaux)}
/* Header status badge without background or border (Anaïs 13/10): dot + text straight on the header pink.
   Dot: closed #5b1f2b (5.91:1 on #e6a0a0), open #2a5f3d (3.53:1; #2f6b45 gave 2.99:1). Pulse only when open. */
.entete-v8 .entete .etat,.entete-v8 .entete.compact .etat{background:none;border:0;box-shadow:none;padding-left:0;padding-right:0;color:#4e1b25}
.entete-v8 .entete .etat.ferme::before{background:#5b1f2b;box-shadow:none}
.entete-v8 .entete .etat.ouvert::before{background:#2a5f3d;box-shadow:0 0 0 3px rgba(42,95,61,.22)}
@keyframes pouls-entete{50%{box-shadow:0 0 0 6px rgba(42,95,61,.06)}}
@media (prefers-reduced-motion:no-preference){.entete-v8 .entete .etat.ouvert::before{animation:pouls-entete 2.4s ease-in-out infinite}}
@media (prefers-reduced-motion:reduce){.entete-v8 .entete .etat.ouvert::before{animation:none}}
/* Pas de Chichis burgundy for logo and action buttons (Anaïs 13/10). Raspberry stays for small accents only. */
:root{--bordeaux-survol:#451620}
.entete-v8 .marque,.marque{color:var(--bordeaux)}
.btn-plein{background:var(--bordeaux);color:var(--papier);box-shadow:0 6px 16px rgba(91,31,43,.25)}
.btn-plein:hover{background:var(--bordeaux-survol);color:var(--blanc);box-shadow:0 10px 22px rgba(91,31,43,.3)}
.entete-v8 .entete .appel{background:var(--bordeaux);color:var(--papier)}
.entete-v8 .entete .appel:hover{background:var(--bordeaux-survol);color:var(--blanc)}
.btn-trait{border-color:var(--bordeaux);color:var(--bordeaux)}
.btn-trait:hover{background:var(--bordeaux);color:var(--papier)}
.visionneuse button{background:var(--bordeaux);color:var(--papier)}
.visionneuse button:hover{background:var(--bordeaux-survol)}
.formulaire .btn[disabled]{opacity:.55}

/* ===================== Button system V3 (Anaïs 13/10: harmonise CTAs with the album) =====================
   One primary: deep raspberry #8f2e3e, white text (7.99:1), identical everywhere (hero, header, mobile bar,
   form, viewer). #a8394a was rejected for buttons: only 2.96:1 against the header pink #e6a0a0, the header
   button would melt into the bar; #8f2e3e reaches 3.77:1 there and 7.17:1 on the paper.
   Hover: burgundy #5b1f2b (12.53:1). Pressed: #451620 (15.12:1) + 1 px down. Focus: 3 px ring, burgundy in the header.
   One secondary: 2 px #8f2e3e outline, #8f2e3e text (7.17 paper, 6.39 pink, 7.71 print), faint raspberry wash on hover.
   Same radius (8 px), height (48 px), weight (600), icon size (1.1em) for all. */
:root{--cta:#8f2e3e;--cta-survol:#5b1f2b;--cta-presse:#451620;--cta-rayon:8px;--cta-h:48px}
.btn,.entete .appel,.entete-v8 .entete .appel,.barre-mobile .btn{min-height:var(--cta-h);border-radius:var(--cta-rayon);font-weight:600;border:2px solid transparent;box-shadow:none;transition:background-color .15s,color .15s,border-color .15s,transform .1s}
.btn svg,.entete .appel svg{width:1.1em;height:1.1em}
.btn-plein,.entete-v8 .entete .appel,.barre-mobile .btn-plein,.visionneuse button{background:var(--cta);color:var(--blanc);border-color:var(--cta)}
.btn-plein:hover,.entete-v8 .entete .appel:hover,.barre-mobile .btn-plein:hover,.visionneuse button:hover{background:var(--cta-survol);border-color:var(--cta-survol);color:var(--blanc);transform:none;box-shadow:none}
.btn-plein:active,.entete-v8 .entete .appel:active,.barre-mobile .btn-plein:active,.visionneuse button:active{background:var(--cta-presse);border-color:var(--cta-presse);transform:translateY(1px)}
.btn-trait,.barre-mobile .btn-trait,.sombre .btn-trait{background:transparent;color:var(--cta);border-color:var(--cta)}
.btn-trait:hover,.barre-mobile .btn-trait:hover,.sombre .btn-trait:hover{background:rgba(143,46,62,.08);color:var(--cta-survol);border-color:var(--cta-survol)}
.btn-trait:active,.barre-mobile .btn-trait:active{background:rgba(143,46,62,.16);transform:translateY(1px)}
.btn:focus-visible,.barre-mobile .btn:focus-visible,.visionneuse button:focus-visible{outline:3px solid var(--framboise);outline-offset:3px}
.entete-v8 .entete .appel:focus-visible{outline:3px solid var(--bordeaux);outline-offset:3px}
.formulaire .btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
@container entete (min-width:56.25em){.entete-v8 .entete .appel{width:var(--cta-h);min-height:var(--cta-h);padding:0}}
@container entete (min-width:68.75em){.entete-v8 .entete .appel{width:auto;padding:.5em 1.05em}}
.barre-mobile{background:var(--tirage)}
@media (prefers-reduced-motion:reduce){.btn:active,.entete .appel:active{transform:none}}
/* Contact links turned into primary buttons keep a little air above them */
.bloc-info .btn-plein,.encart .btn-plein + .btn-plein{margin-top:.6rem}
.encart{justify-items:start}

/* Header logo (Anaïs 14/10/2026, option B): powder pink #fbddd5, drawn as inline SVG for a crisp edge. It is thickened
   by its own outline in the same pink (stroke under the fill, 1.4 px, so about 0.7 px each side: not a visible contour)
   instead of the fractional drop-shadows that blurred it; lifted by one soft drop-shadow only. */
.entete-v8 .entete .marque{filter:drop-shadow(0 1px 2px rgba(91,31,43,.35))}
.entete-v8 .entete .marque:hover .logo-entete{opacity:.9}
/* Added in the repository after the V3 import: SEO travel table and FAQ (13/10), drinks and dogs (14/10). */
.faq h3:not(:first-child){margin-top:1.6em}
/* Phone and tablet only (fix of 14/10/2026): the hero print legends may wrap on two lines instead of being cut,
   and the first legend stops before the second print, which overlaps it. Desktop layout unchanged. */
@media (max-width:899px){
  .pose .face{padding-bottom:25%}
  .pose .face .leg{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.05;bottom:4%}
  .pose.p1 .face .leg{right:30%}
}
