/* Marée Basse : sauge du logo (#9DB089), vert d'action mesuré (#56694A, blanc dessus 5,97:1), encre vert presque noir.
   Titres dans la police du client (Orig Jazzyrabbit, celle du logo, du store et de la carte), texte en Karla.
   Un seul rayon (26 px) sur les boutons et les blocs. Premier écran reproduit du modèle Dollop. */
:root{
  --sauge:#9DB089;--sauge-clair:#E6EADE;--action:#56694A;--ink:#1E261B;--paper:#F3F5EE;--blanc:#fff;--muted:#4B5546;--line:rgba(30,38,27,.16);
  --r:26px;--gutter:clamp(20px,4.2vw,64px);
  --display:'Orig Jazzyrabbit','Karla',system-ui,sans-serif;--ui:'Karla',system-ui,sans-serif;--body:'Karla',system-ui,sans-serif;
  /* alias lus par l'admin et la page de connexion */
  --paper-2:#E6EADE;--cream:#F3F5EE;--wine:#56694A;--green-ink:#56694A;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);color:var(--ink);background:var(--blanc);line-height:1.6;font-size:17px;overflow-x:hidden}
img,picture{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:.005em}
:focus-visible{outline:2px solid var(--action);outline-offset:3px;border-radius:6px}
.wrap{padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}
.pre{white-space:pre-line}
.kicker-s{font-family:var(--ui);font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--action);margin-bottom:16px}

/* BOUTONS : un seul gabarit. Fond clair : survol blanc à contour encre. Fond sombre : survol blanc. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:var(--r);background:var(--action);color:var(--blanc);font-family:var(--ui);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--action);transition:background .2s,color .2s,box-shadow .2s}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.ghost-clair{background:transparent;color:var(--blanc);box-shadow:inset 0 0 0 1.5px var(--blanc)}
@media (hover:hover){
  .btn:hover{background:var(--blanc);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--blanc);box-shadow:inset 0 0 0 1.5px var(--ink)}
  .btn.ghost-clair:hover,.btn.clair:hover,.hero .btn:hover{background:var(--blanc);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--blanc)}
}

/* MENU EN PILULE (Dollop) */
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav nav a[aria-current=page]::after{transform:none}
@media (hover:hover){.nav nav a:hover::after{transform:none}}
.burger,.mm-fermer{display:none;width:44px;height:44px;border-radius:12px;background:var(--ink);position:relative}
.burger i,.mm-fermer i{position:absolute;left:12px;right:12px;height:2px;background:var(--blanc);transition:transform .3s}
.burger i:first-child{top:17px}.burger i:last-child{top:25px}
.mm-fermer{display:block;background:var(--sauge)}
.mm-fermer i{display:block;top:21px;left:12px;right:auto;width:20px;background:var(--ink)}.mm-fermer i:first-child{transform:rotate(45deg)}.mm-fermer i:last-child{transform:rotate(-45deg)}

/* MENU TÉLÉPHONE : plein écran, glisse depuis la droite */
.menu-mobile{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--blanc);display:flex;flex-direction:column;padding:14px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);visibility:hidden}
.menu-mobile.ouvert{transform:none;visibility:visible}
.menu-mobile[hidden]{display:none}
.mm-haut{display:flex;align-items:center;justify-content:center;position:relative;height:64px;margin-bottom:28px}
.mm-haut img{height:40px;width:auto}
.mm-haut .mm-fermer{position:absolute;right:10px;top:10px}
.menu-mobile ul{list-style:none}
.menu-mobile li{border-bottom:1px solid rgba(255,255,255,.16)}
.menu-mobile li a{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;font-family:var(--display);font-size:2rem;line-height:1.1}
.menu-mobile li a::after{content:"";width:10px;height:10px;border-top:2px solid var(--sauge);border-right:2px solid var(--sauge);transform:rotate(45deg);margin-right:6px}
.menu-mobile li a[aria-current=page]{color:var(--sauge)}
.mm-bas{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:12px;font-weight:600}
.mm-bas a:first-child{font-family:var(--display);font-size:1.6rem;color:var(--sauge)}

/* PREMIER ÉCRAN : règles dans src/styles/critique.css (en ligne dans chaque page, aucun saut au chargement) */
.ouvert.ferme i{background:#C9CFC0}

/* SECTIONS */
section{scroll-margin-top:96px}
.histoire,.specialites,.verre,.producteurs,.avis,.infos,.faq{padding-block:clamp(80px,9vw,136px)}
section h2{font-size:clamp(2.3rem,4.2vw,3.6rem);margin-bottom:24px}
.histoire-in{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,110px);align-items:start}
.histoire-txt{position:sticky;top:120px}
.histoire-txt p:not(.kicker-s){color:var(--muted);margin-top:16px;max-width:52ch}
.histoire-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.histoire-photos .ph:nth-child(even){margin-top:120px}
.ph{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--paper)}
.ph picture,.ph img{width:100%;height:100%}.ph img{object-fit:cover}
[data-media="accueil.histoire-1"] img{object-position:50% 45%}
[data-media="accueil.histoire-3"] img{object-position:42% 60%}
.ph figcaption{position:absolute;left:14px;bottom:14px;right:14px;width:fit-content;background:var(--blanc);color:var(--ink);font-weight:600;font-size:.82rem;line-height:1.3;padding:8px 14px;border-radius:14px}

.specialites{background:var(--paper)}
.tete{max-width:760px;margin-bottom:52px}
.tete p:not(.kicker-s){color:var(--muted);font-size:1.06rem;max-width:58ch}
.plats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.plat-img{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;margin-bottom:18px;background:var(--sauge-clair)}
.plat-img picture,.plat-img img{width:100%;height:100%}.plat-img img{object-fit:cover}
.plat-l{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.plat h3{font-size:1.7rem}
.plat>p,.menu-l p{color:var(--muted);font-size:.95rem;margin-top:6px;line-height:1.5}
.prix{font-family:var(--ui);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.menus h3{margin-bottom:6px}
.menu-l{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}
.menu-l b{font-weight:600}
.aussi{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.aussi h3{font-size:1.9rem;margin-bottom:12px}
.aussi .lignes{columns:2;column-gap:56px}
.lignes{list-style:none}
.lignes li{break-inside:avoid;padding:14px 0;border-bottom:1px solid var(--line)}
.lignes b{font-weight:600}
.lignes p{color:var(--muted);font-size:.93rem;margin-top:3px;line-height:1.5}
.carte-bas{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:44px}
.ardoise{font-family:var(--display);font-size:1.6rem;line-height:1.15}

.verre-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);align-items:start}
.verre-txt p{color:var(--muted);max-width:52ch}
.verre-img{margin-top:40px;border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;background:var(--paper)}
.verre-img picture,.verre-img img{width:100%;height:100%}.verre-img img{object-fit:cover}
.verre-carte{position:sticky;top:120px;background:var(--paper);border-radius:var(--r);padding:clamp(24px,3vw,44px)}
.verre-carte .lignes li:last-child{border-bottom:0}
.lien{display:inline-block;margin-top:22px;font-weight:600;color:var(--action);border-bottom:2px solid currentColor;padding-bottom:2px}
@media (hover:hover){.lien:hover{color:var(--ink)}}
.mention{margin-top:18px;font-size:.84rem;color:var(--muted)}

.producteurs{background:var(--sauge);color:var(--ink)}
.prod-in{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,110px);align-items:start}
.producteurs .kicker-s{color:var(--ink)}
.prod-txt p:not(.kicker-s){max-width:44ch;font-size:1.06rem}
.prod-m{width:120px;height:auto;margin-top:48px}
.prod-liste{list-style:none;border-top:1px solid rgba(30,38,27,.3)}
.prod-liste li{display:grid;grid-template-columns:1.25fr .9fr 1fr;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(30,38,27,.3)}
.prod-liste b{font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.1}
.prod-liste .lieu{font-weight:600}

.avis-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;margin-bottom:48px}
.avis-tete h2{margin-bottom:0;flex:1 1 100%}
.note{display:flex;align-items:center;gap:16px}
.note b{font-family:var(--display);font-weight:400;font-size:clamp(4rem,8vw,6.4rem);line-height:.9;color:var(--action)}
.note>span{font-weight:600;line-height:1.35}
.avis-tete .lien{margin-top:0}
.avis-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.carte-avis{background:var(--paper);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.carte-avis blockquote{font-size:1.02rem;line-height:1.55}
.carte-avis figcaption{font-weight:600;color:var(--action)}

.infos{background:var(--paper)}
.infos-in{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,6vw,100px);align-items:start}
.infos-p{color:var(--muted)}
.tel-grand{display:inline-block;margin:24px 0 28px;font-family:var(--display);font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:var(--action);border-bottom:2px solid currentColor}
.hours{list-style:none;max-width:420px}
.hours li{display:grid;grid-template-columns:130px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}
.hours b{font-weight:600}
.hours .off{color:var(--muted)}
.fermeture{margin-top:12px;font-weight:600;color:var(--action)}
.adresse{margin:28px 0 20px;font-weight:600;line-height:1.5}
.box{background:var(--ink);color:var(--blanc);border-radius:var(--r);padding:clamp(28px,3.4vw,48px)}
.box h3{font-size:2.2rem}
.box>p{color:rgba(255,255,255,.82);margin:10px 0 20px;max-width:48ch}
.resa{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.18)}
.resa label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sauge-clair)}
.resa .wide{grid-column:1/-1}
.resa input,.resa select{width:100%;height:50px;border:0;border-radius:12px;background:var(--paper);color:var(--ink);font:500 16px/1 var(--body);letter-spacing:0;text-transform:none;padding:0 16px;appearance:none;-webkit-appearance:none}
.resa input::placeholder{color:#5E6859}
.sel{position:relative;display:block}
.sel::after{content:"";position:absolute;right:18px;top:19px;width:8px;height:8px;border-right:2px solid var(--action);border-bottom:2px solid var(--action);transform:rotate(45deg);pointer-events:none}
.sel select{padding-right:42px;cursor:pointer}
.nb{display:grid;grid-template-columns:50px 1fr 50px;gap:6px}
.nb button{height:50px;border-radius:12px;background:var(--action);color:var(--blanc);font-size:1.3rem;font-weight:600}
.nb input{text-align:center;-moz-appearance:textfield}
.nb input::-webkit-inner-spin-button,.nb input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.resa .btn{margin-top:6px}
.box .note{margin-top:16px;font-size:.88rem;color:rgba(255,255,255,.75)}
.box .erreur{grid-column:1/-1;color:var(--blanc)}
.merci{margin-top:24px;font-weight:600}

.faq-liste{max-width:980px}
.faq-liste details{border-top:1px solid var(--line)}
.faq-liste details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-weight:600;font-size:1.08rem;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;display:grid;place-items:center;color:var(--action);font-weight:400;font-size:1.6rem;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details.ferme summary::after{transform:none}
.faq details>div{overflow:hidden}
.faq details>div>p{padding:0 46px 22px 0;color:var(--muted);max-width:68ch}

/* PIED DE PAGE */
footer.site{background:var(--ink);color:rgba(255,255,255,.82);padding:72px 0 calc(28px + env(safe-area-inset-bottom));font-size:.95rem}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.foot-logo{height:40px;width:auto;margin-bottom:18px}
.foot p{max-width:34ch;line-height:1.55}
.foot .reseaux{margin-top:14px;font-weight:600}
.foot h2{font-family:var(--ui);font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sauge);margin-bottom:16px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot .hrs li{display:grid;grid-template-columns:88px 1fr;gap:10px}
.foot a,.bottom a{transition:color .2s;display:inline-block;padding-block:11px;margin-block:-11px}
.foot ul{gap:12px}
@media (hover:hover){.foot a:hover,.bottom a:hover{color:var(--blanc);text-decoration:underline;text-underline-offset:3px}}
.bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.84rem}
.bottom nav{display:flex;gap:20px;flex-wrap:wrap}

/* BARRE DU BAS (téléphone) : trois cases égales, même fond, texte blanc */

/* PAGE CARTE */
.rubriques{position:relative}
.rubriques summary{list-style:none;cursor:pointer}
.rubriques summary::-webkit-details-marker{display:none}
.rubriques summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);margin-left:4px}
.rubriques ul{position:absolute;z-index:5;top:60px;left:0;min-width:240px;list-style:none;background:var(--blanc);color:var(--ink);border-radius:18px;padding:8px;border:1px solid var(--line)}
.rubriques a{display:block;padding:11px 14px;border-radius:12px;font-weight:600}
@media (hover:hover){.rubriques a:hover{background:var(--paper)}}
.rubrique{padding-block:clamp(64px,7vw,104px)}
.rubrique.papier{background:var(--paper)}
.rub-in{display:grid;grid-template-columns:1fr 2.2fr;gap:clamp(28px,5vw,90px);align-items:start}
.rub-in>h2{position:sticky;top:110px}
.grp+.grp{margin-top:48px}
@media (min-width:1101px){#boissons .rub-corps,#pour-commencer .rub-corps{display:grid;grid-template-columns:1fr 1fr;gap:48px 56px;align-items:start}#boissons .grp+.grp,#pour-commencer .grp+.grp{margin-top:0}#boissons .mention{grid-column:1/-1}}
.grp-tete h3{font-size:1.9rem}
.grp-tete p{color:var(--muted);margin-top:4px}
.grp .lignes{margin-top:10px}
.grp.fav{background:var(--sauge-clair);border-radius:var(--r);padding:clamp(22px,2.6vw,36px)}
.grp.fav .lignes li:last-child{border-bottom:0}
.tag{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:10px;border:1px solid var(--action);color:var(--action);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px}
.menus-l{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.menu-carte{background:var(--sauge-clair);border-radius:var(--r);padding:28px}
.menu-carte h3{font-size:1.7rem}
.menu-carte p{color:var(--muted);margin-top:8px}
.rub-vide{font-size:1.1rem;color:var(--muted)}
.carte-fin{padding-block:64px 96px}
.carte-fin .mentions{color:var(--muted);font-size:.9rem;margin:18px 0 48px}
.encart{background:var(--ink);color:var(--blanc);border-radius:var(--r);padding:clamp(28px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.encart h2{margin:0;font-size:clamp(2rem,3.4vw,3rem)}

/* PAGES LÉGALES */
.legal{padding-top:140px;padding-bottom:96px;max-width:860px}
.legal h1{font-size:clamp(2.6rem,5vw,3.8rem);margin-bottom:18px}
.legal .lead{font-size:1.1rem;color:var(--muted);margin-bottom:24px}
.legal h2{font-size:1.7rem;margin:36px 0 10px}
.legal p{color:var(--ink);max-width:70ch}
.legal a{color:var(--action);text-decoration:underline;text-underline-offset:3px}

/* TABLETTE ET TÉLÉPHONE */
@media (max-width:1100px){
  .plats{grid-template-columns:1fr 1fr}
  .avis-grille{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
}
@media (max-width:900px){
  .histoire-in,.verre-in,.prod-in,.infos-in,.rub-in{grid-template-columns:1fr}
  .histoire-txt,.verre-carte,.rub-in>h2{position:static}
  .histoire-photos{margin-top:8px;gap:12px}
  .histoire-photos .ph:nth-child(even){margin-top:0}
  .aussi .lignes{columns:1}
  .prod-m{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .plats,.avis-grille,.foot,.menus-l{grid-template-columns:1fr}
  .plat-img{aspect-ratio:4/3}
  [data-media^="accueil.plat"] img{object-position:50% 50%}
  .ph figcaption{left:8px;bottom:8px;right:8px;font-size:.72rem;padding:6px 10px;border-radius:10px}
  .prod-liste li{grid-template-columns:1fr auto;gap:2px 16px}
  .prod-liste .produit{grid-column:1/-1;color:var(--ink)}
  .prod-liste .produit:empty{display:none}
  .resa{grid-template-columns:1fr}
  .hours li{grid-template-columns:110px 1fr}
  .avis-tete{align-items:flex-start}
  .carte-bas .btn,.infos .btn.ghost,.encart .btn{width:100%}
  .rubriques ul{right:0}
  .bottom{flex-direction:column}
}
@media (max-width:360px){
}
