@charset "UTF-8";
:root{--paper:#f7f4ee;--ink:#252a22;--accent:#946b48;--muted:#686a61;--line:#dedbd2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{text-align:center;padding:27px 20px 24px}h1,h2,h3,p{margin:0}h1{font:43px/1.1 Georgia,serif;letter-spacing:-2px}header p{font-size:9px;letter-spacing:4px;color:var(--accent);margin-top:9px}main,footer{max-width:900px;margin:auto;padding:0 25px}.tabs{display:flex;position:sticky;top:0;z-index:5;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:4px}.tabs button{flex:1;min-width:0;border:0;border-bottom:2px solid transparent;background:transparent;padding:16px 5px;color:var(--muted);font-size:14px}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.menu-panel{padding-top:28px;min-height:340px}.menu-panel[hidden]{display:none}.menu-panel h2{font:29px Georgia,serif;margin-bottom:9px}.dish{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:19px 0;border-bottom:1px solid var(--line)}.dish h3{font:21px/1.25 Georgia,serif}.dish p{color:var(--muted);font-size:12px;margin-top:7px;max-width:600px}.dish>span{font-size:14px;white-space:nowrap;padding-top:2px;font-variant-numeric:tabular-nums}.allergens,.fine{font-size:11px;color:var(--muted);margin:20px 0 0}.formula-controls{display:flex;gap:20px;justify-content:space-between;margin:25px 0}.segmented{display:flex;background:#eeebe3;border-radius:3px;padding:3px;flex:1}.segmented button{flex:1;background:transparent;border:0;padding:10px 8px;font-size:13px;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-radius:2px}.formula-list>div{display:flex;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.formula-list strong{font-weight:400;white-space:nowrap}.gallery{padding:40px 0 25px}.gallery-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.gallery h2{font:25px Georgia,serif}.gallery-controls{display:flex;gap:7px}.gallery-controls button{border:1px solid var(--line);background:none;min-width:38px;height:36px;padding:0 10px;font-size:13px;color:var(--ink)}.gallery-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bda58c transparent;overscroll-behavior-x:contain;padding-bottom:10px}.gallery-track figure{flex:0 0 31%;margin:0;scroll-snap-align:start;min-width:0}.gallery-track img{width:100%;height:210px;object-fit:cover;display:block}.gallery-track figcaption{font-size:10px;color:var(--muted);padding-top:7px}.gallery-track small{font-size:9px}footer{text-align:center;padding-top:25px;padding-bottom:30px;border-top:1px solid var(--line)}.phone{font:25px Georgia,serif}address{font-style:normal;font-size:13px;color:var(--muted);margin:12px 0}.gps-links{display:flex;justify-content:center;gap:23px;font-size:12px;margin:18px 0}.gps-links a{border-bottom:1px solid #b8b7ab;padding-bottom:4px}.legal{font-size:10px;color:var(--muted)}.skip{position:fixed;top:-100px}.skip:focus{top:5px;background:white;z-index:10}.legal-page{padding-top:20px;padding-bottom:40px}.legal-page h2{font:24px Georgia;margin:25px 0 10px}.legal-page p{font-size:13px;color:var(--muted)}@media(max-width:600px){header{padding:23px 15px 21px}h1{font-size:39px}main,footer{padding-left:20px;padding-right:20px}.tabs{margin:0 -20px;padding:0 13px;gap:0}.tabs button{font-size:12px;padding:15px 4px}.menu-panel{padding-top:22px}.menu-panel h2{font-size:25px}.dish{padding:17px 0;gap:12px}.dish h3{font-size:19px}.dish>span{font-size:13px}.dish p{font-size:11px}.formula-controls{gap:10px}.segmented button{padding:10px 5px;font-size:12px}.gallery-track figure{flex-basis:68%}.gallery-track img{height:220px}.gallery{padding-top:32px}.allergens{font-size:10px}.formula-list{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.tabs,.gallery,footer{display:none}.menu-panel[hidden]{display:block}.menu-panel{min-height:0}body{background:#fff}}

/* Affichage du catalogue dynamique */
.brand-trigger{display:inline-block;color:inherit;background:none;border:0;margin:0;padding:0;font:inherit;letter-spacing:inherit;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.loading,.empty-category{padding:20px 0;color:var(--muted);font-style:italic}
.public-menus{margin:0 0 20px;padding:16px 18px 22px;background:#eeebe3;border-top:2px solid var(--accent)}
.public-menus-heading{font:23px Georgia,serif;margin-bottom:3px}
.public-menus .dish{border-color:#d8d1c5}.public-menus .dish:last-child{border:0}

/* Gestion secrète : volontairement absente de l'interface client. */
body.admin-open{overflow:hidden}
.admin-overlay[hidden],#admin-login[hidden],#admin-dashboard[hidden],.admin-page[hidden]{display:none!important}
.admin-overlay{position:fixed;inset:0;z-index:100;background:rgba(24,27,22,.75);padding:22px 18px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.admin-dialog{width:min(860px,100%);max-height:min(94vh,950px);overflow:auto;overscroll-behavior:contain;display:block;background:#fdfbf7;color:#252a22;border:1px solid #dcd7cd;box-shadow:0 28px 80px rgba(0,0,0,.25)}
.admin-top{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:27px 32px 22px;border-bottom:1px solid var(--line)}
.admin-overline{font-size:10px;font-weight:700;letter-spacing:2.7px;color:var(--accent)}
.admin-top h2{font:30px/1.13 Georgia,serif;margin-top:8px}
.icon-btn{border:1px solid var(--line);font:30px/1 Arial,sans-serif;background:transparent;color:var(--ink);width:43px;height:43px;display:grid;place-items:center;flex-shrink:0}
.admin-login{padding:32px;max-width:530px;margin:auto}.admin-login>p{font-size:14px;color:var(--muted);margin:0 0 24px}
.admin-login form{display:grid;gap:12px}.admin-login label,.admin-field>span,.form-note-editor label{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.2px}
.admin-login input,.admin-field input,.admin-field textarea,.form-note-editor textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #c9c6bc;background:#fff;border-radius:2px;color:var(--ink);padding:12px 13px;font:15px/1.3 Arial,sans-serif;outline:0}
.admin-login input:focus,.admin-field input:focus,.admin-field textarea:focus,.form-note-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #946b4830}
.admin-primary{color:#fff;background:var(--ink);border:1px solid var(--ink);padding:13px 19px;font-weight:700;font-size:13px;min-height:45px}
.admin-primary:disabled{opacity:.6;cursor:wait}.admin-message{font-size:12px;color:var(--muted);min-height:18px}
.admin-message[data-kind=error],#login-message:not(:empty){color:#a33d28}
.admin-message[data-kind=success]{color:#386b42}.admin-message[data-kind=warning]{color:#835728}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 32px;border-bottom:1px solid var(--line)}
.admin-nav{display:flex;gap:20px;overflow-x:auto}.admin-tab{border:0;border-bottom:2px solid transparent;padding:17px 0;background:transparent;color:#6e6b63;white-space:nowrap;font-size:13px}
.admin-tab.active{color:var(--ink);border-color:var(--accent);font-weight:700}
.admin-link{border:0;background:transparent;text-decoration:underline;color:var(--muted);white-space:nowrap;font-size:11px}
.admin-page{padding:27px 32px 30px}.admin-section-title{display:flex;justify-content:space-between;margin-bottom:23px}.admin-section-title h3{font:25px Georgia,serif}.admin-section-title p{font-size:12px;color:var(--muted);margin-top:7px}
.admin-categories{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.admin-category{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;font-size:12px}.admin-category.selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.admin-item{padding:18px 20px;margin-bottom:12px;border:1px solid #dedbd2;background:#fff}
.admin-item-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.admin-item-bar strong{font-size:12px;letter-spacing:.5px}
.admin-item-actions{display:flex;gap:5px}.admin-mini,.admin-danger{border:1px solid var(--line);background:#fff;color:var(--ink);min-height:34px;padding:6px 10px;font-size:12px}.admin-mini{font-size:18px;min-width:34px;padding:4px}.admin-mini:disabled{opacity:.25}.admin-danger{color:#933f33}
.admin-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,155px);gap:13px}.admin-full{grid-column:1/-1}
.admin-field textarea{resize:vertical;min-height:66px}.admin-toggle{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:12px;color:var(--muted);cursor:pointer}
.admin-toggle input{width:17px;height:17px;accent-color:#252a22;cursor:pointer}
.admin-outline{border:1px dashed var(--accent);background:transparent;padding:13px 16px;color:var(--ink);font-size:13px;width:100%}
.admin-empty{text-align:center;padding:24px;color:var(--muted);font-size:13px;background:#f1eee7;margin-bottom:15px}
.admin-formula-title{margin:0 0 14px;font:19px Georgia,serif}.admin-formula-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:25px}
.admin-formula-block{border-top:1px solid var(--line);padding:20px 0}.admin-formula-block h4{font:19px Georgia,serif;margin:0 0 14px}.admin-formula-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.form-note-editor{margin-top:9px}.form-note-editor textarea{resize:vertical;min-height:80px}
.admin-bottom{background:#f0ede6;border-top:1px solid var(--line);padding:20px 32px 24px}
.admin-bottom-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px}
.admin-bottom-actions .admin-primary{margin-left:auto}
.admin-subtle{background:transparent;border:1px solid #d0cbbf;color:var(--ink);font-size:12px;padding:13px 12px;min-height:45px}
.admin-small{font-size:11px;color:var(--muted);margin:12px 0 0}
@media(max-width:600px){.admin-overlay{padding:0;align-items:stretch}.admin-dialog{width:100%;max-height:100dvh;height:100dvh;border:0}.admin-top{padding:20px 17px 18px}.admin-top h2{font-size:27px}.admin-toolbar{padding:0 17px}.admin-nav{gap:18px}.admin-tab{font-size:12px;padding:15px 0}.admin-link{font-size:10px}.admin-login{padding:24px 18px}.admin-page{padding:24px 17px}.admin-section-title h3{font-size:23px}.admin-item{padding:14px}.admin-edit-grid{grid-template-columns:minmax(0,1fr) 96px;gap:10px}.admin-mini{min-width:32px}.admin-item-actions{gap:3px}.admin-danger{padding:4px 7px;font-size:11px}.admin-formula-labels,.admin-formula-prices{grid-template-columns:1fr;gap:7px}.admin-formula-labels{margin-bottom:18px}.admin-bottom{padding:18px 17px 32px}.admin-bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-bottom-actions .admin-primary{grid-column:1/-1;margin-left:0}.admin-small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.admin-dialog{scroll-behavior:auto}}

/* Bannière horizontale compacte, contrastes feutrés et identité préservée. */
.hero-banner{
  width:100%; background:#100c09; display:flex; justify-content:center;
  overflow:hidden;
}
.hero-tap{
  display:block; width:min(100%,1536px); padding:0; margin:0;
  line-height:0; border:0; background:transparent; cursor:default;
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.hero-tap picture,.hero-tap img{display:block;width:100%}
.hero-tap img{
  height:clamp(220px,28vw,390px);
  object-fit:cover;
  object-position:center 50%;
}
.hero-tap:focus-visible{outline:3px solid #d6a773;outline-offset:-4px}
@media(max-width:640px){
  .hero-tap{width:100%}
  .hero-tap img{height:clamp(165px,48vw,260px);object-fit:cover;object-position:center 48%}
}
@media print{.hero-banner{display:none}}
