/* No Milk Today — café & cantine du matin, Bordeaux
   Identité reprise de la maquette d'origine : Playfair Display + Karla, crème / brun / terracotta / jaune. */

:root{
  --creme:#F7F0E8;
  --creme-2:#F5E6DC;
  --brun:#2C2416;
  --brun-2:#4A3B28;
  --terracotta:#C4724A;
  --terracotta-fonce:#A25632; /* terracotta assombri : texte et aplats avec texte, contraste AA ≥ 4,5:1 */
  --peche:#E8956D;
  --jaune:#FAC775;
  --vert:#7A8B5C;
  --trait:#E3D5C5;
  --radius:18px;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Karla',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--creme);
  color:var(--brun);
  line-height:1.65;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
::selection{background:var(--jaune);color:var(--brun)}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--brun);color:var(--creme);padding:.5rem 1rem;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* ── Bandeau d'annonce (facultatif) ── */
.notice{
  background:var(--brun);color:var(--creme-2);
  font-size:.82rem;padding:.6rem 1rem;text-align:center;letter-spacing:.01em;
}
.notice strong{color:var(--jaune);font-weight:700}

/* ── Nav ── */
.site-nav{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  padding:.8rem 5vw;position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--creme) 90%,transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--trait);
}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.logo-img{height:52px;width:auto;flex-shrink:0}
.logo-name{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.15rem;letter-spacing:.01em;white-space:nowrap}
.nav{display:flex;align-items:center;gap:1.7rem}
.nav a{text-decoration:none;font-size:.85rem;font-weight:700}
.nav a:hover,.nav a[aria-current="page"]{color:var(--terracotta-fonce)}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.nav .btn{padding:.6rem 1.3rem;font-size:.82rem}
.nav .btn:hover,.nav .btn[aria-current="page"]{color:var(--creme);text-decoration:none}
.nav-toggle{
  display:none;background:none;border:2px solid var(--brun);border-radius:99px;
  padding:.45rem 1.1rem;font:700 .82rem var(--sans);color:var(--brun);cursor:pointer;
}
@media(max-width:1080px){
  .nav-toggle{display:inline-block}
  .nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:flex-start;gap:.2rem;
    padding:1rem 5vw 1.6rem;background:var(--creme);border-bottom:1px solid var(--trait);
  }
  .nav.is-open{display:flex}
  .nav a{padding:.6rem 0;font-size:1.05rem}
  .nav .btn{margin-top:.6rem;padding:.8rem 1.6rem;font-size:.9rem}
}
@media(max-width:420px){.logo-name{display:none}}

/* ── Boutons ── */
.btn{
  display:inline-block;padding:.85rem 1.8rem;border-radius:99px;
  font:700 .9rem var(--sans);text-decoration:none;cursor:pointer;
  border:2px solid var(--brun);background:transparent;color:var(--brun);
  transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:var(--brun);color:var(--creme)}
.btn-dark:hover{background:var(--terracotta-fonce);border-color:var(--terracotta-fonce)}
.btn-ghost:hover{background:var(--brun);color:var(--creme)}
.btn-light{background:var(--creme);border-color:var(--creme);color:var(--brun)}
.btn-light:hover{background:var(--jaune);border-color:var(--jaune)}
.btn-ghost-light{border-color:#8A7A62;color:var(--creme)}
.btn-ghost-light:hover{background:var(--creme);border-color:var(--creme);color:var(--brun)}
.btn-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:2rem}

/* ── Hero ── */
.hero{padding:9vh 5vw 8vh;position:relative;max-width:1200px}
.hero-kicker,.eyebrow{
  font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--terracotta-fonce);margin-bottom:1rem;
}
.hero-kicker{margin-bottom:1.4rem}
h1{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(2.9rem,8.5vw,6.6rem);
  line-height:1.02;letter-spacing:-.015em;max-width:16ch;
}
h1 em,h2 em{font-style:italic;font-weight:700}
h1 .barre{position:relative;display:inline-block;white-space:nowrap}
h1 .barre::after{
  content:"";position:absolute;left:-2%;right:-2%;top:54%;height:.075em;
  background:var(--terracotta);border-radius:99px;transform:rotate(-2deg);
}
h1 .swap{color:var(--terracotta);font-style:italic;display:inline-block;min-width:5.4ch}
.page-hero{padding-top:7vh;padding-bottom:5vh}
.page-hero h1{font-size:clamp(2.5rem,6.4vw,4.8rem);max-width:18ch}
.hero-sub{margin-top:2rem;font-size:1.08rem;max-width:48ch;color:var(--brun-2)}
.hero-cta{display:flex;gap:1rem;margin-top:2.4rem;flex-wrap:wrap;align-items:center}
.hero-hours{flex-basis:100%;font-size:.85rem;color:var(--brun-2)} /* toujours à la ligne, sous les boutons */
.hero-hours strong{color:var(--brun)}
.hero-logo{position:absolute;right:7vw;top:9vh;width:min(220px,18vw);opacity:.9;transform:rotate(4deg)}
@media(max-width:900px){.hero-logo{display:none}}

.status{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.35rem .95rem;margin-bottom:1.4rem;
  border:1px solid var(--trait);border-radius:99px;background:#fff;
  font-size:.8rem;font-weight:700;
}
.status::before{content:"";width:9px;height:9px;border-radius:50%;background:#B9AD9C}
.status[data-open="true"]::before{background:#5F9A4C;box-shadow:0 0 0 4px rgba(95,154,76,.18)}
.status[data-open="false"]::before{background:var(--terracotta)}

/* ── Marquee promesse ── */
.marquee{background:var(--terracotta-fonce);color:var(--creme);overflow:hidden;padding:.75rem 0;white-space:nowrap}
.marquee-inner{
  display:inline-block;animation:slide 26s linear infinite;
  font-family:var(--serif);font-style:italic;font-size:1rem;letter-spacing:.03em;
}
.marquee-inner span{margin:0 1.6rem}
@keyframes slide{to{transform:translateX(-50%)}}

/* ── Sections communes ── */
.section{padding:5.5rem 5vw}
.section h2{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(1.9rem,4.6vw,3.3rem);letter-spacing:-.01em;line-height:1.05;
}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.section-head p{max-width:40ch;font-size:.95rem;color:var(--brun-2)}
.alt,.sept{background:var(--creme-2)}

/* ── Manifeste ── */
.manifesto{background:var(--brun);color:var(--creme-2)}
.manifesto .eyebrow,.weekend .eyebrow,.dark .eyebrow{color:var(--jaune)}
.manifesto h2{color:var(--creme);max-width:26ch;margin-bottom:3.2rem}
.promises{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:860px){.promises{grid-template-columns:1fr}}
/* 5 cartes : 3 + 2, la dernière rangée s'étire */
.promises-5{grid-template-columns:repeat(6,1fr)}
.promises-5 > *{grid-column:span 2}
.promises-5 > *:nth-child(n+4){grid-column:span 3}
@media(max-width:860px){.promises-5{grid-template-columns:1fr}.promises-5 > *,.promises-5 > *:nth-child(n+4){grid-column:auto}}
.promise{border:1px solid #5A4A34;border-radius:var(--radius);padding:2rem 1.7rem}
.promise .scope{
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--peche);display:block;margin-bottom:.9rem;
}
.promise h3{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.55rem;margin-bottom:.6rem;color:var(--creme)}
.promise p{font-size:.92rem;color:#C9B99F}
.promise.hl{background:var(--terracotta-fonce);border-color:var(--terracotta-fonce)}
.promise.hl .scope{color:var(--jaune)}
.promise.hl p{color:var(--creme)}
.signature-line{
  margin-top:3rem;padding:1.8rem 2rem;border-left:4px solid var(--jaune);
  background:#3A2F1F;border-radius:0 var(--radius) var(--radius) 0;max-width:720px;
}
.signature-line p{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.5;color:var(--creme)}
.signature-line small{display:block;margin-top:.7rem;font-size:.85rem;color:#C9B99F}

/* ── Cartes plats ── */
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
.dish{
  background:#fff;border:1px solid var(--trait);border-radius:var(--radius);
  padding:1.6rem;display:flex;flex-direction:column;gap:.5rem;
  transition:transform .15s ease,box-shadow .15s ease;
}
.dish:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(44,36,22,.1)}
a.dish-link{text-decoration:none;color:inherit}
a.dish-link:hover h3{color:var(--terracotta-fonce)}
.dish-tags{display:flex;gap:.4rem;flex-wrap:wrap}
.tag{
  font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-radius:99px;padding:.2rem .65rem;white-space:nowrap;
}
.tag.v{background:#E4EAD6;color:#4A5A2E}
.tag.vg{background:#F5E6DC;color:#8A5230}
.tag.sg{background:#FAEEDA;color:#7A5818}
.tag.sl{background:#EFE4F2;color:#6B4A78}
.tag.jour{background:var(--brun);color:var(--creme)}
.dish-jour{background:var(--creme-2);border-style:dashed;border-color:#C9B08C}
.tag.new{background:var(--terracotta-fonce);color:#fff}
.dish h3{font-family:var(--serif);font-weight:700;font-size:1.25rem;line-height:1.25}
.dish p{font-size:.9rem;color:var(--brun-2);flex:1}
.dish .price{font-size:.92rem;font-weight:700;color:var(--terracotta-fonce)}
.dish .allergenes{flex:none;font-size:.78rem;color:var(--brun-2);letter-spacing:.01em}
.dish .option{flex:none;font-size:.86rem;font-weight:700;color:var(--brun)}
.dish p:empty{display:none}
.formules{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:1.2rem;margin-bottom:1rem}
@media(max-width:860px){.formules{grid-template-columns:1fr}}
.info-card.accent .hours li{border-color:rgba(247,240,232,.35);color:var(--creme);font-size:.95rem}
.sous-titre{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.5rem;margin:2.4rem 0 1.1rem}
.legend{margin-top:2rem;font-size:.8rem;color:var(--brun-2);letter-spacing:.02em}
.menu-note{
  margin-top:1.2rem;padding:1.3rem 1.6rem;background:var(--creme-2);border-radius:var(--radius);
  font-size:.92rem;color:var(--brun-2);max-width:680px;
}
.alt .menu-note,.sept .menu-note{background:#fff}
.menu-note strong{color:var(--brun)}
.badge,.sept-badge{
  display:inline-block;background:var(--jaune);color:var(--brun);
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:99px;padding:.35rem 1rem;margin-bottom:1rem;
}

/* ── Le lieu ── */
.lieu{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
@media(max-width:860px){.lieu{grid-template-columns:1fr;gap:2.5rem}}
.lieu h2{margin-bottom:1.6rem}
.lieu p{margin-bottom:1.1rem;color:var(--brun-2);max-width:56ch}
.lieu p strong{color:var(--brun)}
.garden{
  position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 18px 40px rgba(44,36,22,.18);aspect-ratio:4/3;width:100%;
}
.garden svg{width:100%;height:100%}
/* Photo facultative : si le fichier est absent, l'illustration reste visible. */
.garden img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ── Week-end ── */
.weekend{background:var(--brun);color:var(--creme-2);text-align:center}
.weekend h2{color:var(--creme);max-width:22ch;margin:0 auto 1.4rem}
.weekend p{max-width:52ch;margin:0 auto 1rem;color:#C9B99F}
.weekend p strong{color:var(--creme)}
.weekend a.mail{color:var(--jaune);font-weight:700}
.weekend .btn-row{justify-content:center}

/* ── Infos pratiques ── */
.infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.info-card{border:1px solid var(--trait);border-radius:var(--radius);padding:1.8rem;background:#fff}
.info-card h3{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.3rem;margin-bottom:.9rem}
.info-card p,.info-card li{font-size:.92rem;color:var(--brun-2)}
.info-card p + p{margin-top:.8rem}
.info-card a{font-weight:700;color:var(--terracotta-fonce)}
.hours{list-style:none;font-size:.88rem}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.32rem 0;border-bottom:1px dashed var(--trait)}
.hours li:last-child{border:none}
.hours .closed{color:var(--terracotta-fonce);font-weight:700}
.hours li.is-today{font-weight:700;color:var(--brun)}
.info-card.accent{background:var(--terracotta-fonce);border-color:var(--terracotta-fonce);color:var(--creme)}
.info-card.accent h3{color:#fff}
.info-card.accent p{color:var(--creme)}
.info-card.accent a{color:#fff}
/* ── Variantes claires (rubrique produits du traiteur) ── */
.info-card .scope{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta-fonce);margin-bottom:.7rem}
.info-card.accent .scope{color:var(--jaune)}
.sept .signature-line{background:#fff;border-left-color:var(--terracotta)}
.sept .signature-line p{color:var(--brun)}
.sept .signature-line small{color:var(--brun-2)}

/* ── Instagram + avis Google ── */
.follow{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:1.2rem}
.follow .price a{color:inherit}

/* ── FAQ ── */
.faq{max-width:820px;margin-bottom:2rem}
.faq details{border-top:1px solid var(--trait);padding:1.1rem 0}
.faq details:last-child{border-bottom:1px solid var(--trait)}
.faq summary{cursor:pointer;font-family:var(--serif);font-weight:700;font-size:1.15rem;line-height:1.35;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--terracotta-fonce);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:.7rem;color:var(--brun-2);font-size:.97rem;max-width:68ch}
.faq a{color:var(--terracotta-fonce);font-weight:700}

/* ── Réservation (module Octotable) ── */
.booking{border:1px solid var(--trait);border-radius:var(--radius);overflow:hidden;background:#fff;max-width:900px}
.booking iframe{display:block;width:100%;height:min(820px,85vh);border:0}
.menu-note a,.legend a{color:var(--terracotta-fonce);font-weight:700}

/* ── Pages légales ── */
.legal{padding:4rem 5vw 5rem;max-width:calc(72ch + 10vw)}
.legal h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1rem}
.legal h2{font-family:var(--serif);font-weight:700;font-size:1.4rem;margin:2.2rem 0 .6rem}
.legal p,.legal li{color:var(--brun-2)}
.legal ul{padding-left:1.2rem;margin-top:.4rem}
.legal a{color:var(--terracotta-fonce);font-weight:700}
.todo{background:var(--jaune);border-radius:4px;padding:0 .3rem;color:var(--brun)}

/* ── Footer ── */
footer{background:var(--brun);color:var(--creme-2);padding:4rem 5vw 2.5rem}
.foot-grid{display:flex;justify-content:space-between;gap:2.5rem;flex-wrap:wrap;margin-bottom:3rem}
.foot-brand{display:flex;align-items:center;gap:1.1rem}
.foot-brand .logo-img{height:84px}
.foot-brand-name{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.7rem;color:var(--creme)}
.socials{display:flex;gap:.8rem;margin-top:1.2rem;flex-wrap:wrap}
.socials a{font-size:.8rem;font-weight:700;text-decoration:none;border:1px solid #5A4A34;border-radius:99px;padding:.45rem 1.1rem}
.socials a:hover{background:var(--terracotta-fonce);border-color:var(--terracotta-fonce);color:#fff}
.foot-col p{font-size:.87rem;color:#C9B99F}
.foot-col a{color:var(--creme-2)}
.foot-col .promesse{font-family:var(--serif);font-style:italic;color:var(--creme);font-size:1rem;line-height:1.7;margin-top:1rem}
.foot-links{list-style:none;font-size:.87rem}
.foot-links li{margin-bottom:.45rem}
.foot-links a{text-decoration:none;color:var(--creme-2)}
.foot-links a:hover{color:var(--jaune)}
.foot-legal a{color:inherit}
.foot-legal{
  border-top:1px solid #4A3B28;padding-top:1.5rem;font-size:.76rem;color:#A8977C;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;
}

@media(prefers-reduced-motion:reduce){
  .marquee-inner{animation:none}
  html{scroll-behavior:auto}
  *{transition:none!important}
}


/* ═══════════ THÈME « JARDIN » : formes organiques, sauge / terracotta / moutarde, écriture à la main ═══ */
:root{--creme:#F8F0E6;--creme-2:#F1E3D1;--sauge:#66796B;--sauge-fonce:#47574D;--moutarde:#E3B96F;--radius:28px;--hand:'Caveat',cursive}
main{position:relative;overflow-x:clip}
.deco-hero{position:absolute;top:-30px;right:-70px;width:min(50vw,660px);z-index:0;pointer-events:none}
.hero{z-index:1}
.hero-logo{display:none}
h1,.section h2{font-weight:700}
h1 .swap{font-family:var(--hand);font-style:normal;font-size:1.3em;line-height:.75;vertical-align:-.04em}
.hero-kicker,.eyebrow{font-family:var(--hand);font-size:1.6rem;letter-spacing:0;text-transform:none;line-height:1}
.notice{background:var(--sauge-fonce)}
.marquee{background:var(--moutarde);color:var(--brun)}
.icones{display:flex;justify-content:center;padding:2.6rem 5vw 0;color:#B98556}
.ico{width:clamp(50px,12vw,104px);aspect-ratio:1;border:2px solid currentColor;margin-left:-2px;display:grid;place-items:center}
.ico svg{width:64%}
.manifesto,.weekend,footer{position:relative}
.manifesto::before,.weekend::before,footer::before,.sept::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:inherit;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22c100-22 200-22 300 0s200 22 300 0 200-22 300 0 200 22 300 0v18z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22c100-22 200-22 300 0s200 22 300 0 200-22 300 0 200 22 300 0v18z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.sept{position:relative}
.manifesto{background:var(--sauge-fonce)}
.icones + .manifesto{margin-top:3.5rem}
.manifesto .eyebrow,.weekend .eyebrow{color:var(--moutarde)}
.promise{border-color:rgba(248,240,230,.28)}
.promise p{color:#DDE4DB}
.promise .scope{color:var(--moutarde)}
.promise.hl{background:var(--terracotta-fonce);border-color:var(--terracotta-fonce)}
.signature-line{background:rgba(0,0,0,.2);border-left-color:var(--moutarde)}
.signature-line small{color:#DDE4DB}
.dish,.info-card{border:0;box-shadow:0 10px 30px rgba(71,87,77,.12)}
.dish-jour{background:#fff}
.sept-badge{background:var(--moutarde)}
.weekend{background:var(--terracotta-fonce)}
.weekend p{color:#F6E4D8}
.info-card.accent{background:var(--sauge-fonce);border-color:var(--sauge-fonce)}
.garden{border-radius:46% 54% 50% 50%/52% 46% 54% 48%;box-shadow:none}
footer{background:var(--sauge-fonce)}
.foot-col p{color:#D3DCD2}
.socials a{border-color:rgba(248,240,230,.35)}
.foot-legal{border-top-color:rgba(248,240,230,.2);color:#C3CEC2}
@media(max-width:900px){
  .deco-hero{width:56vw;right:-13vw;top:-26px}
  .hero-sub,h1{position:relative}
}

/* Petits titres manuscrits, y compris dans les en-têtes de section */
.section-head .eyebrow{font-size:1.6rem;color:var(--terracotta-fonce);max-width:none}
.manifesto .section-head .eyebrow,.weekend .section-head .eyebrow{color:var(--moutarde)}
/* Mots en italique des titres : écrits à la main */
h1 em,.section h2 em{font-family:var(--hand);font-style:normal;font-weight:700;color:var(--terracotta);font-size:1.22em;line-height:.8}
.weekend h2 em,.manifesto h2 em{color:var(--moutarde)}
/* Formes organiques des pages intérieures */
.deco-page{position:absolute;top:-70px;right:-90px;width:min(36vw,440px);z-index:0;pointer-events:none}
.page-hero{z-index:1}
.page-hero .hero-sub{max-width:44ch}
.icones-page{padding-top:0;padding-bottom:1rem;justify-content:flex-start}
.booking{border:0;box-shadow:0 10px 30px rgba(71,87,77,.12)}
.faq details,.faq details:last-child{border-color:#E2D3BE}
@media(max-width:900px){.deco-page{width:46vw;right:-16vw;top:-40px}}

/* Toutes les pastilles pleines (« Voir le menu », « Réserver », « Demander un devis »…) en terracotta */
.btn-dark{background:var(--terracotta-fonce);border-color:var(--terracotta-fonce);color:var(--creme)}
.btn-dark:hover{background:var(--brun);border-color:var(--brun)}
.tag.jour{background:var(--terracotta-fonce);color:var(--creme)}

/* Formes organiques : elles éclosent à l'arrivée, puis flottent doucement */
.deco-hero path,.deco-page path{transform-box:fill-box;transform-origin:center;animation:eclore 1s cubic-bezier(.2,.8,.2,1) both,flotte 16s ease-in-out 1.1s infinite alternate}
.deco-hero g:nth-of-type(2) path,.deco-page g:nth-of-type(2) path{animation-delay:.18s,1.3s;animation-duration:1s,19s}
.deco-hero g:nth-of-type(3) path{animation-delay:.36s,1.5s;animation-duration:1s,22s}
.deco-hero image{animation:apparait .9s .7s both}
.icones .ico{animation:apparait .6s both}
.icones .ico:nth-child(2){animation-delay:.08s}.icones .ico:nth-child(3){animation-delay:.16s}.icones .ico:nth-child(4){animation-delay:.24s}.icones .ico:nth-child(5){animation-delay:.32s}.icones .ico:nth-child(6){animation-delay:.4s}
@keyframes eclore{from{opacity:0;transform:scale(.45)}}
@keyframes flotte{to{transform:translate(8px,-10px) rotate(5deg) scale(1.03)}}
@keyframes apparait{from{opacity:0;translate:0 10px}}
@media(prefers-reduced-motion:reduce){.deco-hero path,.deco-page path,.deco-hero image,.icones .ico{animation:none}}

/* Formules du midi (menu.html, après les plats) : deux « tickets » prix + composition, puis les choix en colonnes */
.formules-midi{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.formule{
  position:relative;border-radius:var(--radius);padding:1.7rem 1.8rem 1.8rem;
  background:var(--sauge-fonce);color:var(--creme);display:flex;flex-direction:column;gap:.5rem;
}
.formule-complete{background:var(--terracotta-fonce)}
.formule-prix{font-family:var(--serif);font-weight:700;font-size:clamp(2.3rem,6vw,3.1rem);line-height:1}
.formule-compo{font-family:var(--hand);font-size:1.75rem;line-height:1.05;color:var(--moutarde)}
.formule-complete .formule-compo{color:#FBE3C0}
.formule-compo span{white-space:nowrap}
.formule-compo i{font:400 .85rem var(--sans);font-style:normal;color:var(--creme);opacity:.85;margin:0 .2rem}
.formule-choix{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem 2rem;
  background:#fff;border-radius:var(--radius);padding:1.6rem 1.8rem 1.8rem;box-shadow:0 8px 24px rgba(71,87,77,.10);
}
.formule-choix-titre{grid-column:1/-1;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brun-2);margin-bottom:.5rem}
.formule-choix h4{font-family:var(--hand);font-size:1.6rem;line-height:1;color:var(--terracotta-fonce);margin-bottom:.4rem}
.formule-choix ul{list-style:none;font-size:.92rem;color:var(--brun)}
.formule-choix li{padding:.4rem 0;border-bottom:1px dashed rgba(44,36,22,.18)}
.formule-choix li:last-child{border:none}
.formule-choix small{display:inline-block;margin-left:.3rem;padding:.05rem .5rem;border-radius:99px;background:var(--moutarde);font-size:.72rem;font-weight:700;white-space:nowrap}
@media(max-width:760px){
  .formule-choix{grid-template-columns:1fr;row-gap:1.1rem}
  .formule-choix-titre{margin-bottom:0}
}
@media(max-width:520px){.formules-midi{grid-template-columns:1fr}.formule-choix{grid-column:auto}}

/* Trois écritures, pas plus : Playfair Display en gras pour les titres et les prix, Karla pour tout le texte,
   Caveat pour les accents manuscrits. L'italique de Playfair est abandonné (il lisait comme une quatrième écriture). */
.logo-name,.foot-brand-name,.promise h3,.sous-titre,.info-card h3{font-style:normal}
.marquee-inner,.signature-line p,.foot-col .promesse{font-family:var(--sans);font-style:normal}
.marquee-inner{font-weight:700}
.signature-line p{font-size:1.1rem}

/* Légende des abréviations : toujours sur une seule ligne (elle rétrécit un peu sur téléphone) */
.legend .abrev{white-space:nowrap;display:inline-block;max-width:100%}
@media(max-width:480px){.legend .abrev{font-size:clamp(.6rem,2.75vw,.8rem);letter-spacing:0}}

/* Cartes boissons : nom + description en dessous, prix à droite (verre · bouteille pour les vins) */
.boissons li{align-items:flex-start}
.boissons li > span:first-child{flex:1}
.boissons li > span:last-child{flex:none;font-weight:700;color:var(--terracotta-fonce);white-space:nowrap}
.boissons li > span:last-child:empty{display:none}
.boissons small{display:block;font-size:.8rem;line-height:1.45;color:var(--brun-2);margin-top:.1rem}
.boissons i{font-style:normal;color:var(--brun-2);font-weight:400;margin:0 .1rem}
.carte-note{font-size:.78rem;color:var(--brun-2);margin:-.4rem 0 .8rem;letter-spacing:.02em}
/* Suppléments : un peu d'air et un trait plein avant la liste des options */
.boissons li.sep{margin-top:1.4rem;padding-top:.9rem;border-top:1px solid rgba(44,36,22,.25)}
.supplements{color:var(--terracotta-fonce)}
/* Rubrique sans grand titre : le petit titre manuscrit fait office de titre */
.section-head .eyebrow-seul{font-size:2.4rem;margin-bottom:0}
.section-head .eyebrow-seul + h2{margin-top:.25rem}
.section-head .legend{flex-basis:100%;max-width:none;margin-top:-1rem}
/* Force une nouvelle rangée dans la grille des plats (ex. : les douceurs commencent au cookie) */
.menu-grid .dish-ligne{grid-column:1}
/* Phrase d'intro sur sa propre ligne, sous le titre, sans limite de largeur */
.section-head .intro-ligne{flex-basis:100%;max-width:none;margin-top:-.2rem}
