/* La carte : une carte imprimée posée sur la nappe vert bouteille. */
.menu-page{background:#152923;color:#f0ece2;--paper:#f8f3e7;--paper-ink:#24372f;--paper-muted:#56645a;--paper-gold:#755e2c;--paper-rule:#bea57066}
.menu-shell{width:100%;max-width:860px;margin:auto;padding:48px 5% 90px}
.menu-intro{margin:0 0 30px;text-align:center}
.menu-intro h1{font-weight:300;font-size:clamp(44px,6.5vw,76px);letter-spacing:-.055em;margin:0 0 12px}
.menu-intro>p{font-size:16px;line-height:1.7;color:#c8d1c7;margin:0}
.menu-demo{text-wrap:balance;margin:0 auto 22px;max-width:36rem;text-align:center;color:#d9c89d;font-size:13px;line-height:1.6;padding:9px 16px;border:1px solid #bea57044;border-radius:999px}

/* Navigation : catégorie active entre les flèches, liens sans JavaScript. */
.menu-category-nav{position:sticky;top:var(--menu-header-offset,94px);z-index:5;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:0 0 18px;padding:6px 0;background:#152923f2;backdrop-filter:blur(10px)}
.menu-category-nav::-webkit-scrollbar{display:none}
.menu-category-nav a{position:relative;flex:0 1 auto;max-width:100%;display:inline-flex;align-items:center;min-height:46px;padding:6px 14px;text-align:center;overflow-wrap:anywhere;color:#b9c4b8;font-size:15px;transition:color .2s ease}
.menu-category-nav.has-category-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;column-gap:16px}
.menu-category-nav.has-category-controls>a{display:none}
.menu-category-current{min-width:0;text-align:center;color:#f2eadb;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.menu-category-step{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #bea57077;border-radius:50%;background:transparent;color:#f2eadb;cursor:pointer;transition:background .2s,border-color .2s}
.menu-category-step span{font-size:24px;line-height:1}
.menu-category-step:hover:not(:disabled){background:#bea5701a;border-color:#bea570}
.menu-category-step:disabled{opacity:.3;cursor:default}
.menu-category-nav a:after{content:'';position:absolute;left:18px;right:18px;bottom:8px;height:1px;background:#bea570;transform:scaleX(0);transition:transform .25s ease-out}
.menu-category-nav a:hover{color:#f2eadb}
.menu-category-nav a[aria-current]{color:#f2eadb}
.menu-category-nav a[aria-current]:after{transform:scaleX(1)}

/* Le papier : ivoire, double filet doré imprimé dans la marge. */
.menu-paper-surface{position:relative;color:var(--paper-ink);background:radial-gradient(120% 80% at 50% 0,#fffcf4 0,var(--paper) 55%,#efe8d8 100%);padding:58px 9% 46px;box-shadow:0 1px 0 #ffffff80 inset,0 24px 70px #050f0b66}
.menu-paper-surface:before,.menu-paper-surface:after{content:'';position:absolute;pointer-events:none;border:1px solid var(--paper-rule)}
.menu-paper-surface:before{inset:12px}
.menu-paper-surface:after{inset:16px;border-color:#bea57033}
.menu-paper-surface{scroll-margin-top:var(--menu-category-offset,170px)}
.menu-paper-brand{text-align:center;margin:0 0 40px}
.menu-paper-brand img{width:150px;height:auto;filter:brightness(.27) sepia(.3)}

.menu-category{outline:none;scroll-margin-top:var(--menu-category-offset,170px)}
.menu-category+.menu-category{margin-top:64px}
.menu-category-heading{position:relative;text-align:center;margin:0 0 26px}
.menu-category-index{display:block;font-size:11px;letter-spacing:.24em;color:var(--paper-gold);margin-bottom:8px}
.menu-category-heading h2{font-size:clamp(30px,4.2vw,42px);font-weight:300;letter-spacing:-.035em;line-height:1.15;margin:0}
.menu-category-heading:after{content:'';display:block;width:132px;height:10px;margin:16px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='10'%3E%3Cpath d='M0 5h58m16 0h58' stroke='%23a3854b' stroke-width='1'/%3E%3Cpath d='M66 1.5l3.5 3.5-3.5 3.5-3.5-3.5z' fill='none' stroke='%23a3854b'/%3E%3C/svg%3E") center/contain no-repeat}
.menu-category-permalink{position:absolute;right:-12px;bottom:18px;display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--paper-gold);opacity:0;transition:opacity .2s}
.menu-category-permalink:focus-visible{opacity:1}
@media(hover:hover){.menu-category-heading:hover .menu-category-permalink{opacity:.8}}

/* Un plat : nom, points de conduite, prix ; puis la description. */
.menu-item{padding:16px 0 18px}
.menu-item+.menu-item{border-top:1px solid #a3854b1f}
.menu-item-line{display:flex;align-items:baseline;gap:10px}
.menu-item h3{flex:0 1 auto;font-weight:400;font-size:20px;line-height:1.35;letter-spacing:-.01em;margin:0}
.menu-leader{flex:1 1 24px;min-width:24px;border-bottom:1px dotted #a3854b99;transform:translateY(-.3em)}
.menu-price{flex:none;font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums}
.menu-item-sub{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:5px}
.menu-item-sub p{margin:0;font-size:15px;line-height:1.6;color:var(--paper-muted);max-width:32rem;min-width:0;overflow-wrap:anywhere}
.menu-item-sub .menu-unit{margin-left:auto}
.menu-unit{flex:none;font-size:12.5px;color:var(--paper-muted);white-space:nowrap}
.menu-prices{list-style:none;margin:8px 0 0;padding:0}
.menu-prices li{display:flex;align-items:baseline;gap:10px;padding:3px 0}
.menu-prices .menu-unit{font-size:14px;color:var(--paper-ink)}
.menu-prices .menu-price{font-size:17px}
.menu-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:9px 0 0;font-size:12.5px;line-height:1.5;color:var(--paper-muted)}

.menu-tag,.unavailable-label{padding:2px 8px;border:1px solid #a3854b55;border-radius:999px;color:#5c5636}
.unavailable-label{background:#f1e2d6;border-color:#b0806077;color:#6e3f2b}
.menu-item.unavailable h3,.menu-item.unavailable .menu-price,.menu-item.unavailable .menu-item-sub p{opacity:.55}
.menu-item.unavailable .menu-price{text-decoration:line-through;text-decoration-thickness:1px}

/* Fin de page : la catégorie suivante, comme on tourne une page. */
.menu-pager{display:flex;justify-content:space-between;gap:16px;margin-top:26px;padding-top:6px;border-top:1px solid var(--paper-rule)}
.menu-pager a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--paper-gold);font-size:14px}
.menu-pager a:hover{color:var(--paper-ink)}
.menu-pager-next{margin-left:auto}
.menu-footnote{margin:34px auto 0;max-width:30rem;text-align:center;font-size:12.5px;line-height:1.7;color:var(--paper-muted)}

/* Mode feuilleté (ajouté par menu-public.js) : une catégorie par page, glissement natif. */
.menu-reader.is-paged .menu-pages{position:relative;display:flex;align-items:flex-start;gap:12%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;transition:height .3s ease-out}
.menu-reader.is-paged .menu-pages::-webkit-scrollbar{display:none}
.menu-reader.is-paged .menu-category{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.menu-reader.is-paged .menu-category+.menu-category{margin-top:0}

.menu-actions{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:40px}
.menu-empty{padding:30px;border:1px solid #bea57066;line-height:1.8}
.menu-reader a:focus-visible,.menu-reader button:focus-visible,.menu-actions a:focus-visible{outline:2px solid #a67e33;outline-offset:4px}

@media(max-width:600px){
 .menu-shell{padding:30px 16px 56px}
 .menu-intro{margin-bottom:22px}
 .menu-intro>p{font-size:15px}
 .menu-demo{border-radius:10px;font-size:12.5px}
 .menu-category-nav{margin:0 -16px 14px;padding:4px 16px}
 .menu-category-nav.has-category-controls{column-gap:10px}
 .menu-category-current{font-size:16px}
 .menu-category-nav a{padding:0 14px}
 .menu-category-nav a:after{left:14px;right:14px}
 .menu-paper-surface{padding:44px 26px 32px}
 .menu-paper-surface:before{inset:8px}
 .menu-paper-surface:after{inset:11px}
 .menu-paper-brand{margin-bottom:28px}
 .menu-paper-brand img{width:120px}
 .menu-item h3{font-size:18px}
 .menu-price{font-size:17px}
 .menu-item-sub{gap:14px}
 .menu-item-sub p{font-size:14.5px}
 .menu-actions{flex-direction:column;gap:18px}
}
@media(prefers-reduced-motion:reduce){.menu-reader *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.menu-paper-brand img[data-custom-brand]{filter:none;max-height:100px;object-fit:contain}




.menu-description{min-width:0;max-width:32rem}
.menu-description p.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:3.2em;overflow:hidden}
.menu-description-toggle{display:block;min-height:44px;padding:4px 0;border:0;background:none;color:var(--paper-ink);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.menu-description-toggle[hidden]{display:none}
.menu-description-toggle:focus-visible{outline:2px solid #a3854b;outline-offset:3px;border-radius:2px}
@media print{.menu-description p.is-collapsed{display:block;max-height:none;overflow:visible}.menu-description-toggle{display:none}}
