:root{
  --blanc:#fff;--creme:#F6F0E5;--sable:#EDE3D2;--encre:#1D1E1C;--brun:#965D38;
  --cuivre:#CA6627;--cuivre-fonce:#B5561C;--cuivre-texte:#A94F18;--gris:#555657;--ligne:#D9C9B2;
  /* jetons attendus par entonnoir.css */
  --vert:var(--encre);--vert-doux:var(--brun);--citron:var(--creme);--orange:var(--cuivre);
  --display:'IM Fell English SC',Georgia,serif;--texte:'Averia Serif Libre',Georgia,serif;
  --ease:cubic-bezier(.2,.7,.2,1);--r:6px;--ombre-photo:0 18px 30px -18px rgba(74,38,12,.5);
  --tete:92px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--tete) + 8px)}
body{margin:0;background:var(--blanc);color:var(--encre);font:400 1.0625rem/1.5 var(--texte);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,dl,dd,figure{margin:0}
:focus-visible{outline:2px solid var(--cuivre-fonce);outline-offset:3px}

.btn{display:inline-flex;align-items:center;gap:.6em;border-radius:var(--r);transition:background .2s}
.btn svg{width:1.1em;height:1.1em}
.btn-action{background:var(--encre);color:#fff;font-weight:700;font-size:1.17rem;line-height:1.15;padding:.72em 1.15em}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cuivre-texte);text-wrap:balance}

/* En-tête : blanc, logo au centre, double filet noir */
.tete{position:sticky;top:0;z-index:50;height:var(--tete);padding:0 28px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;background:var(--blanc);border-bottom:1.5px solid var(--encre)}
.tete::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--encre)}
.nav{display:flex;align-items:center;gap:26px;font-size:1.02rem;min-width:0}
.nav a{padding:12px 0;white-space:nowrap;background:linear-gradient(var(--cuivre),var(--cuivre)) left calc(100% - 8px)/0 1.5px no-repeat;transition:background-size .3s var(--ease)}
.nav-d{justify-content:flex-end}
/* menu du téléphone et de la tablette, à la largeur où la navigation du header disparaît */
.menu-btn,.menu-panneau,.menu-voile{display:none}
@media (max-width:1180px){
  .js .menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;width:44px;height:44px;padding:0 10px 0 4px;flex:none}
  .menu-btn span{display:block;width:100%;height:1.5px;background:var(--encre);transition:background .2s}
  .tete{grid-template-columns:auto auto minmax(0,1fr)}
  .nav-g{display:none}
  /* la galerie reste dans le menu */
  .nav-d a[data-carte="galerie"]{display:none}
  .menu-voile:not([hidden]){display:block;position:fixed;inset:calc(var(--tete) + 5px) 0 0;z-index:55;background:rgba(20,14,8,.45)}
  .menu-panneau:not([hidden]){display:block;position:fixed;top:calc(var(--tete) + 5px);left:0;z-index:60;width:min(100%,480px);max-height:calc(100dvh - var(--tete) - 5px);overflow-y:auto;overscroll-behavior:contain;padding:6px 16px 18px;background:var(--blanc);border-bottom:1.5px solid var(--encre);box-shadow:0 22px 34px -20px rgba(20,14,8,.6);animation:menu-descend .26s var(--ease)}
  .menu-panneau nav{display:flex;flex-direction:column}
  .menu-panneau a{display:flex;align-items:center;min-height:56px;padding:6px 0;font:400 clamp(1.5rem,6.2vw,1.9rem)/1.1 var(--display);color:var(--encre);border-top:1px solid rgba(29,30,28,.14)}
  .menu-panneau:focus{outline:none}
  .menu-croix{display:grid;place-items:center;width:44px;height:44px;margin:4px -6px 4px auto;color:var(--encre);border-radius:var(--r)}
  .menu-croix:focus-visible{outline-offset:-6px}
  .menu-croix svg{width:22px;height:22px}
  html.menu-ouvert{overflow:hidden}
}
@keyframes menu-descend{from{opacity:0;transform:translateY(-10px)}}
.logo{display:block;padding:6px}
.logo img{width:172px}

/* Premier écran : une seule photo du lieu, puis les mots, les repères et la réservation sur une même ligne */
.hero{padding:22px 24px 0}
.hero-photo{height:max(360px,calc(100svh - var(--tete) - 200px));overflow:hidden;border-radius:var(--r);background:var(--encre)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero-bas{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px clamp(28px,3vw,48px);padding:24px 0}
.hero-mots h1{font:400 clamp(1.9rem,2.55vw,2.6rem)/1.04 var(--display);color:var(--encre);letter-spacing:.01em;text-wrap:balance}
.hero-mots .sous{margin-top:6px;font-size:1.06rem;color:var(--gris);font-style:italic;text-wrap:balance}
.hero-infos{padding-left:28px;border-left:1.5px solid var(--cuivre);font-size:.98rem;line-height:1.5}
.hero-infos dt{font-weight:700}
.hero-infos dd{color:var(--gris)}
.hero-infos dd + dt{margin-top:8px}
.hero-resa{padding-left:28px;border-left:1px solid rgba(29,30,28,.14)}
.hero-resa h2{margin-bottom:6px;font:400 1.4rem/1.1 var(--display)}
/* le compteur et le bouton sur une ligne ; la consigne n'apparaît que si le visiteur valide sans nombre */
.hero-resa .sel--hero{grid-template-columns:auto auto;gap:6px 16px}
.hero-resa .sel-astuce{display:none}
.hero-resa .sel--hero.a-choisir .sel-astuce{display:block}

@media (hover:hover){
  .btn-action:hover{background:var(--cuivre-fonce)}
  .nav a:hover{background-size:100% 1.5px}
}

@media (max-width:1240px){
  .hero-bas{grid-template-columns:minmax(0,1fr) auto}
  .hero-infos{display:none}
}
@media (max-width:1000px){
  :root{--tete:72px}
  .tete{padding:0 16px;gap:12px}
  .logo img{width:126px}
  .hero{padding:0}
  /* assez basse pour que le bouton du sélecteur tienne dans le premier écran du téléphone (390x844) */
  .hero-photo{height:auto;aspect-ratio:16/10;border-radius:0}
  .hero-bas{grid-template-columns:minmax(0,1fr);padding:24px 16px 8px}
  .hero-mots h1{font-size:clamp(2.1rem,7vw,3rem)}
  .hero-infos{display:block}
  .hero-resa{padding:18px 0 0;border-left:0;border-top:1px solid rgba(29,30,28,.14)}
  .hero-resa .sel--hero{grid-template-columns:minmax(0,1fr);padding:0}
}
@media (max-width:640px){
  .nav-d a[data-privatiser]{display:none}
  .btn-action{font-size:1.17rem;padding:.62em .85em}
}
/* le bouton du header reste sur une ligne : logo et marges se resserrent, la flèche disparaît */
@media (max-width:440px){
  .tete{gap:4px;padding:0 8px 0 8px}
  .tete .logo{padding:6px 0}
  .tete .logo img{width:clamp(84px,25vw,108px)}
  .tete .btn-action{white-space:nowrap;padding:.62em .6em}
  .tete .btn-action svg{display:none}
}
@media (max-width:400px){
  .logo{padding:6px 0}
  .logo img{width:clamp(84px,25vw,108px)}
  .btn-action{white-space:nowrap;padding:.62em .6em}
}

/* Chapitres : chacun s'ouvre sur son titre, seul sur sa ligne */
.chap{padding:clamp(64px,8vw,116px) 0 clamp(56px,7vw,100px)}
.chap-in,.chap-tete{max-width:1392px;margin-inline:auto;padding-inline:clamp(16px,3.4vw,48px)}
.chap-tete{text-align:center}
.titre{margin-top:8px;font:400 clamp(2.5rem,4.6vw,4rem)/1.04 var(--display);color:var(--encre);letter-spacing:.02em;text-wrap:balance}
.chap-champagnes .titre{color:var(--blanc)}
.chap-phrase{margin-top:26px;font-size:clamp(1.1rem,1.6vw,1.32rem);font-style:italic;color:var(--gris);text-wrap:balance}
.lien{display:inline-block;padding:12px 0;font-weight:700;color:var(--encre);border-bottom:0;background:linear-gradient(var(--cuivre),var(--cuivre)) left calc(100% - 8px)/100% 1.5px no-repeat}
.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 32px;margin-top:clamp(28px,4vw,48px)}
.actions--g{justify-content:flex-start}
.bistrot-bas .actions--g{grid-column:1 / span 3}
.actions--c{justify-content:center}

/* La maison : les mots du restaurant face à la vitrine, photo jamais affichée plus large que sa source (464 px) */
.chap-in.maison-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(32px,6vw,110px);align-items:center;max-width:1180px}
.maison-mots{align-self:center}
.maison h2{margin-top:10px;font:400 clamp(2.3rem,4vw,3.8rem)/1.06 var(--display);color:var(--encre);text-wrap:balance}
.maison .chap-phrase{margin-top:22px}
.maison figure{overflow:hidden;border-radius:var(--r);box-shadow:var(--ombre-photo)}
.maison img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.maison-detail{aspect-ratio:464/640}
@media (max-width:860px){
  .chap-in.maison-in{grid-template-columns:minmax(0,1fr)}
  .maison-detail{width:100%;max-width:440px;justify-self:center}
}

/* Bistrot : la carte, la photo d'un plat à droite */
.chap-bistrot{padding-bottom:clamp(48px,6vw,84px)}
.chap-bistrot .chap-phrase{margin-bottom:clamp(28px,4vw,48px)}
.bistrot-bas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.86fr);gap:0 clamp(24px,3.2vw,48px);padding-top:clamp(28px,3.4vw,46px)}
.extrait h3{font:400 clamp(1.7rem,2.5vw,2.25rem)/1.1 var(--display);color:var(--encre);letter-spacing:.04em;margin:0 0 12px}
.extrait ul{list-style:none;margin:0;padding:0}
.extrait li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0}
.extrait .n{font-size:.98rem;letter-spacing:.015em;min-width:0}
.extrait em{color:var(--gris)}
.extrait .p{white-space:nowrap}
.burger{grid-column:4;grid-row:1;align-self:stretch;position:relative;overflow:hidden;border-radius:var(--r);box-shadow:var(--ombre-photo)}
.burger img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform .9s var(--ease)}

/* Privatisation : la salle en pleine largeur, les capacités posées dans son ombre */
.priv{position:relative;min-height:min(720px,50vw);display:flex;align-items:stretch;background:var(--encre);color:var(--creme);overflow:hidden}
.priv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;transition:transform .9s var(--ease)}
.priv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,6,.78) 0,rgba(14,10,6,.5) 26%,rgba(14,10,6,.12) 44%,rgba(14,10,6,.3) 58%,rgba(14,10,6,.9) 100%)}
.priv-in{position:relative;z-index:1;width:100%;max-width:1392px;margin-inline:auto;padding:clamp(36px,4.4vw,64px) clamp(16px,3.4vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(90px,14vw,190px)}
.priv-tete{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 32px}
.priv h2{margin:0;font:400 clamp(2.5rem,5vw,4.4rem)/1 var(--display);letter-spacing:.01em}
.priv-tete p{grid-column:1;font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:44ch}
.priv-actions{grid-column:2;grid-row:1 / span 2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}
/* bouton de verre : fond sombre flouté et filet clair, lisible quelle que soit la photo derrière */
.btn-verre{font-weight:700;font-size:1.17rem;line-height:1.15;padding:.72em 1.15em;color:#fff;background:rgba(16,12,9,.42);border:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);box-shadow:0 10px 28px -12px rgba(0,0,0,.6);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.btn-verre svg{width:1.25em;height:1.25em}
@media (hover:hover){
  .btn-verre:hover{background:rgba(16,12,9,.62)}
}
.priv-salons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px clamp(20px,3vw,44px)}
.priv-salons li{padding-top:12px;border-top:1.5px solid var(--cuivre);display:flex;flex-direction:column;gap:2px}
.priv-salons b{font:400 clamp(2.1rem,4.2vw,3.6rem)/1.08 var(--texte)}
.priv-salons span{font-weight:700}
.priv-salons small{margin-top:4px;max-width:38ch;font-size:.98rem;line-height:1.45;color:var(--sable);text-wrap:pretty}

/* Fêtes de fin d'année : le texte de la maison, centré, sur le crème */
.fetes{background:var(--creme);text-align:center}
.fetes-in{max-width:860px}
.fetes h2{margin:10px 0 0;font:400 clamp(2.3rem,4.6vw,4rem)/1.04 var(--display);color:var(--encre);text-wrap:balance}
.fetes-liste{list-style:none;margin:22px 0 0;padding:0;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.6}
.fetes .chap-phrase{margin-top:22px}
.fetes-fin{margin-top:18px;font-weight:700;color:var(--cuivre-texte)}
.fetes .actions{justify-content:center}

/* Pâtisseries : l'assiette au centre, les desserts de part et d'autre, comme à table */
.chap-patisseries{background:var(--blanc)}
.table-dessert{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,31vw,440px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);margin-top:clamp(34px,4.6vw,64px)}
.extrait--large li{padding:13px 0;border-bottom:1px solid rgba(29,30,28,.14)}
.extrait--large .n{font-size:1.04rem}
.assiette{overflow:hidden;border-radius:var(--r);box-shadow:var(--ombre-photo)}
.assiette img{width:100%;transition:transform .9s var(--ease)}

/* Grands Champagnes : le seul moment sur fond noir, comme la façade qui porte le panneau */
.chap-champagnes{position:relative;background:var(--encre);color:var(--creme);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%);padding:0;align-items:stretch}
.champagnes-in{grid-column:1;grid-row:1;width:100%;max-width:920px;margin-left:auto;padding:clamp(64px,7vw,100px) clamp(24px,4vw,64px) 0 clamp(16px,3.4vw,48px)}
.champagnes-actions{grid-column:1;grid-row:2;width:100%;max-width:920px;margin:0 0 0 auto;padding:clamp(26px,3vw,38px) clamp(24px,4vw,64px) clamp(56px,6vw,90px) clamp(16px,3.4vw,48px)}
.vitrine{border-radius:var(--r) 0 0 var(--r);grid-column:2;grid-row:1;margin-top:clamp(-96px,-6vw,-48px);margin-bottom:-4px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);z-index:1;position:relative;overflow:hidden}
.vitrine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .9s var(--ease)}
.chap-champagnes .chap-phrase{color:var(--sable)}
.filet-double{margin-top:clamp(22px,3vw,36px);padding:clamp(14px,2vw,24px) clamp(14px,2.2vw,28px);border:1.5px solid rgba(246,240,229,.7);outline:1px solid rgba(246,240,229,.7);outline-offset:3px;border-radius:6px}
.filet-double table{width:100%;border-collapse:collapse}
.filet-double th,.filet-double td{padding:8px 0 8px 12px;text-align:right;font-weight:400;white-space:nowrap}
.filet-double thead th{font-size:.82rem;font-style:italic;color:var(--sable);line-height:1.2;vertical-align:bottom}
.filet-double tbody th{text-align:left;padding-left:0;white-space:normal;font-size:.98rem;letter-spacing:.015em}
.chap-champagnes .lien{color:var(--blanc)}
/* sur fond sombre, le bouton passe en blanc */
:is(.priv,.chap-champagnes) .btn-action{background:var(--blanc);color:var(--encre)}
@media (hover:hover){
  :is(.priv,.chap-champagnes) .btn-action:hover{background:var(--cuivre-fonce);color:#fff}
}

/* Tous les jours : le jour et la nuit encadrent les heures */
.jours{max-width:1392px;margin:clamp(30px,4vw,56px) auto 0;padding-inline:clamp(16px,3.4vw,48px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,5fr);gap:clamp(20px,3vw,44px);align-items:center}
.jours figure{overflow:hidden;border-radius:var(--r);box-shadow:var(--ombre-photo)}
.jours img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.jours-jour{aspect-ratio:.92;margin-top:clamp(0px,5vw,72px)}
.jours-nuit{aspect-ratio:1;margin-bottom:clamp(0px,5vw,72px)}
.jours-nuit img{object-position:50% 80%}
.jours-heures{font:400 clamp(2.3rem,4.1vw,3.9rem)/1.05 var(--texte);color:var(--encre);white-space:nowrap}
.jours-cuisine{margin-top:10px;font-size:clamp(1.1rem,1.5vw,1.3rem);font-style:italic;color:var(--gris)}
.jours address{font-style:normal;margin-top:22px;font-size:1.1rem;line-height:1.55}
.jours .actions{margin-top:22px;gap:10px 24px}

/* Pied : blanc, sous son double filet noir */
.pied{margin:clamp(16px,2vw,28px);padding:clamp(36px,5vw,70px) 20px clamp(26px,3vw,40px);background:var(--blanc);border:1.5px solid var(--encre);outline:1px solid var(--encre);outline-offset:-7px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.pied-logo{width:clamp(210px,23vw,320px)}
.pied-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 28px}
.pied-nav a,.pied-infos a{display:inline-block;padding:12px 2px}
.pied-infos{font-size:1.06rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.7}
.pied-infos a{text-transform:none;padding:6px 2px;min-height:44px;line-height:32px}
.pied-note{font-size:.84rem;color:var(--gris)}

/* Barre fixe du téléphone : seulement une fois le sélecteur du hero sorti de l'écran */
.barre{display:none}
@media (max-width:760px){
  .js .barre{display:block}
  .barre{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--blanc);border-top:1.5px solid var(--encre);transform:translateY(110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s}
  .barre.visible{transform:none;visibility:visible;transition-delay:0s}
  .barre .btn{width:100%;justify-content:center}
  .pied{margin-bottom:92px}
}

/* Révélations : uniquement avec JavaScript et sans préférence de mouvement réduit */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveler]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
  .js [data-reveler].vu{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .menu-panneau:not([hidden]){animation:none}
}

@media (hover:hover){
  .lien{transition:color .2s}
  .lien:hover{color:var(--encre)}
  .pied-nav a:hover,.pied-infos a:hover{color:var(--cuivre-fonce)}
}

/* léger zoom au survol, sur pointeur seulement ; le hero n'en a pas */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .maison figure:hover img,.assiette:hover img,.burger:hover img,.jours figure:hover img,.vitrine:hover img,.cm-photo:not(:has(img[src*="gravures/"])):hover img,.ent-photo:hover img.vue,.cm-tete-photos img:hover,.priv:hover .priv-photo{transform:scale(1.035)}
  .cm-photo img,.cm-tete-photos img{transition:transform .9s var(--ease)}
}
@media (max-width:1100px){
  .bistrot-bas{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px clamp(20px,3vw,40px)}
  .burger{display:none}
  .bistrot-bas .actions--g{grid-column:1 / -1}
  .jours{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jours-mots{grid-column:1 / -1;grid-row:1;text-align:center}
  .jours-mots .actions{justify-content:center}
  .jours-jour,.jours-nuit{margin:0;aspect-ratio:1}
}
@media (max-width:760px){
  .bistrot-bas{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .table-dessert{grid-template-columns:minmax(0,1fr);justify-items:stretch}
  .assiette{order:-1;width:100%;aspect-ratio:1.5}
  .assiette img{height:100%;object-fit:cover;object-position:50% 100%}
  .chap-champagnes{display:block}
  .champagnes-in{max-width:none;padding:clamp(52px,8vw,72px) 16px 0}
  .champagnes-actions{max-width:none;padding:26px 16px 40px}
  .vitrine{margin:0;max-height:none;aspect-ratio:1.1}
  .priv{min-height:0}
  .priv-tete{grid-template-columns:minmax(0,1fr)}
  .priv-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:12px}
  .priv-in{gap:120px}
}
@media (max-width:640px){
  .chap-phrase{text-align:center}
  .maison .chap-phrase{text-align:left}
  .bistrot-bas{grid-template-columns:minmax(0,1fr)}
  .burger{display:block;grid-column:1;grid-row:auto;margin-top:0;aspect-ratio:1;overflow:hidden}
  .priv-salons{grid-template-columns:minmax(0,1fr)}
  .priv-in{gap:90px}
  .actions{justify-content:flex-start;gap:6px 24px}
  .actions .btn,.priv-actions .btn{width:100%;justify-content:center}
  .actions--c{justify-content:center}
  .jours{grid-template-columns:minmax(0,1fr)}
  .filet-double th,.filet-double td{padding-left:8px}
  .filet-double tbody th{font-size:.9rem}
  .filet-double td{font-size:.92rem}
  .filet-double thead th{font-size:.74rem}
}

/* Modale de l'entonnoir */
.ent-boite{border-radius:var(--r)}
.ent-photo{background:var(--encre)}
.ent-droite .eyebrow{color:var(--cuivre-texte)}
.ent-droite h2,.ent-droite h2 em{color:var(--encre);font-style:normal}
.sel--modale .sel-pm,.sel--carte .sel-pm{border-radius:6px}
.sel-rapides button{border-radius:6px;border-color:var(--ligne)}
.sel-rapides button[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:#fff}
.sel-paliers li{opacity:1;color:var(--gris)}
.sel-paliers li.actif{color:var(--encre)}
.sel-indice{border-radius:6px}
.sel-paliers li.actif::before,.sel-paliers li[data-p="groupe"].actif::before{background:var(--encre)}
.sel-paliers li[data-p="privatisation"].actif::before{background:var(--cuivre)}
.ent-photo .legende small{background:var(--blanc);color:var(--encre);border-radius:var(--r)}
.ent-photo .legende p{font-family:var(--display);text-wrap:balance}
.sel-astuce,.sel-indice b,.ent-onglet b{text-wrap:balance}
.sel-indice p,.ent-onglet p{text-wrap:pretty}
.ent-fermer{border-radius:6px}
/* le module de réservation s'affiche sombre : la barre et le cadre le reçoivent sans filet blanc */
.ent-outil:has([data-mode="iframe"]) .ent-barre{background:var(--encre);color:var(--creme);border-bottom-color:#3a3a36}
.ent-outil:has([data-mode="iframe"]) .ent-barre .titre span{color:var(--sable)}
.ent-outil:has([data-mode="iframe"]) .ent-externe{border-color:#5c5c56}
.ent.outil:has([data-mode="iframe"]) .ent-fermer{background:var(--encre);border-color:#5c5c56;color:var(--creme)}
/* la barre tient à 520 px, largeur du module : titre, nombre de convives et lien d'ouverture restent entiers */
.ent-barre{gap:10px;padding-right:58px}
.ent-barre .titre b{font-size:1.05rem}
.ent-retour{padding-right:6px;font-size:.8rem;min-height:44px}
.ent-externe{font-size:.72rem;padding:7px 9px;min-height:44px}
.ent-charge{color:var(--sable)}
.ent-charge i{border-color:#4a4a44;border-top-color:var(--cuivre)}
.ent-onglet b{color:var(--encre)}
.ent-onglet p{color:var(--encre);overflow-wrap:anywhere}
@media (hover:hover){
  .ent-outil:has([data-mode="iframe"]) .ent-retour:hover,.ent-outil:has([data-mode="iframe"]) .ent-externe:hover{background:#34342f}
  .ent.outil:has([data-mode="iframe"]) .ent-fermer:hover{background:#34342f}
}
/* le panneau de contact n'a pas besoin de la hauteur du module de réservation */
@media (min-width:761px){
  .ent-outil:has([data-mode="onglet"]){height:min(520px,calc(100dvh - 48px))}
}
@media (max-width:760px){
  .ent-boite{border-radius:12px 12px 0 0}
}
@media (max-width:480px){
  .ent-barre{flex-wrap:wrap;row-gap:4px}
  .ent-barre .titre{order:3;flex-basis:100%;padding:0 4px 2px}
  .ent-externe{margin-left:0}
}

/* Cartes en modale : la carte imprimée, blanche, titres noirs */
.cm{
  --cm-fond:#fff;--cm-fond-2:#FBF8F2;--cm-encre:var(--encre);--cm-accent:#1D1E1C;--cm-accent-nuit:#100E0C;--cm-chaud:var(--cuivre-texte);
  --cm-soleil:var(--creme);--cm-soleil-vif:#fff;--cm-doux:var(--gris);--cm-ligne:rgba(29,30,28,.14);
  --cm-titre:var(--display);--cm-serif:var(--texte);--cm-texte:var(--texte);--cm-rayon:6px;--cm-forme-photo:6px
}
.cm-boite{border-radius:var(--r)}
.cm-titre-barre{display:none}
/* onglets : jamais de coupure sèche, un fondu au bord où le défilement continue */
.cm-nav-piste{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fondu-g,0px),#000 calc(100% - var(--fondu-d,28px)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fondu-g,0px),#000 calc(100% - var(--fondu-d,28px)),transparent 100%)}
.cm-boite:focus,.ent-boite:focus{outline:none}
.cm-fermer{border-radius:6px}
.cm-tete{background:var(--blanc);color:var(--encre)}
/* galerie : le dégradé reste sous les légendes, pour qu'elles se lisent sur une photo claire */
.cm-vignette:has(.cm-vignette-legende)::after{opacity:1}
.cm-tete::before{display:none}
.cm-tete h2{color:var(--encre);font-size:clamp(2.8rem,6vw,5rem);line-height:1}
.cm-surtitre{color:var(--cuivre-texte)}
.cm-rubrique:has(img[src*="gravures/"]){grid-template-columns:170px minmax(0,1fr);gap:clamp(20px,3.4vw,52px)}
.cm-rubrique:nth-of-type(even):has(img[src*="gravures/"]){grid-template-columns:minmax(0,1fr) 170px}
.cm-rubrique:has(img[src*="gravures/"]) .cm-photo{aspect-ratio:auto;max-height:none;background:none;box-shadow:none;border-radius:0;overflow:visible}
.cm-rubrique:has(img[src*="gravures/"]) .cm-photo img{object-fit:contain;height:auto;max-width:170px;margin-inline:auto}
.cm-rubrique--sans-photo .cm-contenu,.cm-rubrique:has(img[src*="gravures/"]) .cm-contenu{max-width:860px}
.cm-contenu h3{color:var(--encre);font-size:clamp(2rem,3.2vw,2.8rem);text-transform:none}
.cm-numero{color:var(--cuivre-texte)}
.cm-nom-texte{font-size:1rem;font-family:var(--texte);letter-spacing:.02em}
.cm-desc{font-style:italic;color:var(--gris);max-width:none;text-wrap:balance}
.cm-intro,.cm-note,.cm-mention,.cm-tete h2{text-wrap:balance}
/* les colonnes de prix partagent une même largeur, en-tête et lignes, quelle que soit la taille de leur texte */
.cm-entete-colonnes,.cm-plats--colonnes .cm-plat{grid-template-columns:minmax(0,1fr) repeat(var(--cm-nb),4.9rem)}
.cm-prix,.cm-case{font-family:var(--texte);font-size:1.02rem;color:var(--encre)}
.cm-badge{font-family:var(--texte);border-radius:var(--r)}
.cm-entete-colonnes{font-size:.68rem;letter-spacing:.06em;text-transform:none;font-style:italic}
.cm-nav-piste button{border-radius:6px;text-transform:none;letter-spacing:.02em;font-size:.92rem;min-height:44px}
.cm-nav-piste button[aria-current="true"]{background:var(--encre);border-color:var(--encre);color:#fff}
.cm-barre-texte i{background:var(--cuivre);box-shadow:none}
.cm .cm-bouton{background:var(--encre);color:#fff;font-weight:700;font-size:1.17rem;border-radius:var(--r);box-shadow:none}
@media (hover:hover){
  .cm .cm-bouton:hover{background:var(--cuivre-fonce)}
}
@media (max-width:900px){
  .cm-rubrique:has(img[src*="gravures/"]),.cm-rubrique:nth-of-type(even):has(img[src*="gravures/"]){grid-template-columns:minmax(0,1fr);gap:10px}
  .cm-rubrique:has(img[src*="gravures/"]) .cm-photo img{max-width:112px;margin-inline:0}
}
/* téléphone : une feuille délimitée, sa barre de titre et sa barre de réservation fixes, le contenu défile entre les deux */
@media (max-width:680px){
  .cm{padding:max(26px,env(safe-area-inset-top)) 0 0}
  .cm-boite{height:100%;border-radius:12px 12px 0 0;box-shadow:none}
  .cm-titre-barre{display:flex;align-items:center;flex:none;min-height:54px;padding:4px 58px 4px 16px;background:#fff;border-bottom:1px solid var(--cm-ligne);font:400 1.5rem/1.05 var(--display);color:var(--encre)}
  .cm-fermer{top:5px;right:5px;background:none;box-shadow:none;border-radius:var(--r);color:var(--encre)}
  .cm-tete,.cm-tete--seule{display:flex;flex-direction:column-reverse;gap:0;height:auto;min-height:0;padding:0;background:#fff;color:var(--encre)}
  .cm-tete::after{display:none}
  .cm-tete-photos{position:relative;inset:auto;height:clamp(96px,17dvh,140px);min-height:0}
  .cm-tete-photos img:first-child{inset:0;width:100%;height:100%;border-radius:0;box-shadow:none}
  .cm-tete .cm-tete-texte,.cm-tete--seule .cm-tete-texte{position:static;align-self:stretch;padding:12px 16px 14px}
  .cm-tete-texte>div{margin:0}
  .cm-surtitre,.cm-tete-note{display:none}
  .cm-tete h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .cm-intro{margin:0;max-width:none;font-size:1.02rem;line-height:1.35;color:var(--gris);opacity:1}
  .cm-nav{padding-right:0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
  .cm-nav-piste{padding:8px 16px;gap:6px;min-height:0}
  .cm-nav-piste button{font-size:.92rem;padding:8px 12px;letter-spacing:.01em}
  .cm-rubrique{padding:28px 16px 30px}
  .cm-photo{box-shadow:none;border-radius:var(--r);aspect-ratio:16/10}
  .cm-rubrique:nth-of-type(odd) .cm-visuel>.cm-photo:first-child{border-radius:var(--r)}
  .cm-rubrique:has(img[src*="gravures/"]),.cm-rubrique:nth-of-type(even):has(img[src*="gravures/"]){display:block;position:relative}
  .cm-rubrique:has(img[src*="gravures/"]) .cm-visuel{position:absolute;top:22px;right:16px;width:76px;z-index:1}
  .cm-rubrique:has(img[src*="gravures/"]) .cm-photo img{max-width:76px;margin-inline:auto 0}
  .cm-rubrique:has(img[src*="gravures/"]) :is(h3,.cm-numero,.cm-note){padding-right:88px}
  .cm-contenu h3{font-size:2rem}
  .cm-nom,.cm-nom-texte,.cm-prix{font-size:1rem}
  .cm-choix{display:block}
  .cm-choix-sep{display:none}
  /* plusieurs choix : une puce et un retrait montrent où chacun finit, même sur deux lignes */
  .cm-desc:has(.cm-choix-sep) .cm-choix{position:relative;padding-left:14px;margin-top:5px}
  .cm-desc:has(.cm-choix-sep) .cm-choix::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--cuivre)}
  .cm-plat{padding:13px 0}
  .cm-entete-colonnes,.cm-plats--colonnes .cm-plat{grid-template-columns:minmax(0,1fr) repeat(var(--cm-nb),3.9rem);column-gap:8px}
  .cm-entete-colonnes{font-size:.64rem;letter-spacing:0}
  .cm-barre{box-shadow:none}
  .cm .cm-barre .cm-bouton{font-size:1rem}
  /* la modale de réservation, de la même famille : croix sans carton */
  .ent-fermer{background:none;border:0;box-shadow:none;border-radius:var(--r);color:#fff}
  .ent.outil .ent-fermer{color:var(--encre)}
  .ent.outil:has([data-mode="iframe"]) .ent-fermer{background:none;border:0;color:var(--creme)}
  .ent-boite{box-shadow:none}
  .sel-go{box-shadow:none}
}
/* « Glaces & sorbets » tient sur une ligne à côté de sa gravure */
@media (max-width:380px){
  .cm-contenu h3{font-size:1.85rem}
}

/* Au-delà de 1440 px : une seule colonne centrée, mêmes bords pour le header, le hero, les chapitres et le pied.
   Le fond et la photo de la privatisation restent en pleine largeur, leur texte reste dans la colonne. */
@media (min-width:1441px){
  :root{--bord:max(48px,calc((100vw - 1600px)/2))}
  .tete{padding-inline:var(--bord)}
  .hero{padding-inline:var(--bord)}
  .chap-in,.chap-tete,.jours,.priv-in{max-width:none;padding-inline:var(--bord)}
  .chap-champagnes{padding-inline:var(--bord)}
  .champagnes-in,.champagnes-actions{max-width:none;margin:0;padding-left:0}
  .vitrine{border-radius:var(--r)}
  .pied{margin-inline:var(--bord)}
}
