.drawer__inner{min-height:100%;display:grid;align-content:start;gap:var(--s-6);padding:calc(var(--s-4) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) calc(var(--s-6) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left))}
.drawer__close{justify-self:end;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--cream-on-sage);background:none;color:var(--cream)}
.drawer__close .icon{width:1.5rem;height:1.5rem}
.drawer__list{display:grid;gap:0}
.drawer__link{display:flex;align-items:center;min-height:3.5rem;padding:var(--s-1) 0;font-size:var(--fs-xl);font-weight:800;letter-spacing:-0.035em;line-height:1;text-decoration:none;color:var(--cream);border-bottom:1px solid color-mix(in oklab,var(--cream) 30%,var(--sage))}
.drawer__link[aria-current="page"]::after{content:"";width:0.6rem;height:0.6rem;margin-left:var(--s-3);background:var(--red)}
.drawer__contact{display:flex;flex-wrap:wrap;gap:0 var(--s-5)}
.drawer__contact a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--cream);font-weight:600}

.filters{display:grid;gap:var(--s-4);padding:var(--s-4) 0;margin-bottom:var(--s-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filters__group{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.filters__title{width:100%;font-size:var(--fs-xs);font-weight:600;margin-bottom:var(--s-1);padding:0}
.chip{position:relative;display:inline-flex;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s-3);border:1px solid var(--sage);font-weight:600;font-size:var(--fs-sm)}
.chip input:checked+span{background:var(--sage);color:var(--cream)}
.chip input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}

.item__panel{padding:0 0 var(--s-4)}
@media (min-width:40em){.item__panel{padding-left:calc(3.75rem + var(--s-3))}}
.nutri{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}
.nutri caption{text-align:left;font-weight:800;font-size:var(--fs-sm);padding-bottom:var(--s-2)}
.nutri th,.nutri td{padding:0.4rem 0;border-bottom:1px solid var(--line-soft);text-align:left;font-weight:400}
.nutri td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:var(--s-3)}
.nutri thead th{font-weight:600;border-bottom:2px solid var(--ink);vertical-align:bottom}
.nutri thead th+th{text-align:right;padding-left:var(--s-3)}
.nutri tbody th{font-weight:600}
.nutri .is-sub th{font-weight:400;padding-left:var(--s-3)}
.nutri tbody tr:first-child th,.nutri tbody tr:first-child td{border-bottom:1px solid var(--ink)}
.nutri--full{font-size:var(--fs-sm)}
.nutri__basis{display:block;font-weight:400;font-size:var(--fs-2xs);color:var(--sage-deep)}
.panel-more{margin-top:var(--s-2)}

.sheet{padding:0;margin:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:var(--ink);overflow:hidden}
.sheet[open]{display:flex;align-items:flex-end;justify-content:center}
.sheet::backdrop{background:color-mix(in oklab,var(--ink) 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sheet__panel{position:relative;width:100%;max-height:92dvh;max-height:92svh;display:flex;flex-direction:column;background:var(--cream);touch-action:pan-y}
.sheet__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;min-height:3rem;background:var(--cream);border-bottom:1px solid var(--line-soft);cursor:grab;touch-action:none}
.sheet__grip{width:2.5rem;height:3px;background:var(--line)}
.sheet__close{position:absolute;right:calc(var(--s-2) + var(--safe-right));top:0.125rem;display:grid;place-items:center;width:var(--tap);height:var(--tap);border:0;background:none;color:var(--ink)}
.sheet__close .icon{width:1.4rem;height:1.4rem}
.sheet__content{overflow-y:auto;overscroll-behavior:contain;padding:0 calc(var(--gutter) + var(--safe-right)) calc(var(--s-6) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));-webkit-overflow-scrolling:touch}
@media (min-width:48em){
.sheet[open]{align-items:center}
.sheet__panel{width:min(46rem,calc(100vw - 4rem));max-height:min(88vh,56rem);border:1px solid var(--sage)}
.sheet__bar{justify-content:flex-end;cursor:default}
.sheet__grip{display:none}
.sheet__close{position:static;margin-right:var(--s-2)}
}
.detail{display:grid;gap:var(--s-5);padding-top:var(--s-4)}
.detail__media{margin:0 calc((var(--gutter) + var(--safe-right)) * -1) 0 calc((var(--gutter) + var(--safe-left)) * -1);background:var(--mist)}
.detail__media img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media (min-width:48em){.detail__media{margin:0}}
.detail__head{display:grid;gap:var(--s-2)}
.detail__category{font-size:var(--fs-xs);font-weight:600;color:var(--sage-deep)}
.detail__title{font-size:var(--fs-xl);font-weight:800;line-height:1;letter-spacing:-0.035em;color:var(--sage)}
.detail__price{font-size:var(--fs-lg);font-weight:800;letter-spacing:-0.02em}
.detail__desc{font-size:var(--fs-md);line-height:1.5}
.detail__block{display:grid;gap:var(--s-3)}
.detail__subtitle{font-size:var(--fs-sm);font-weight:800}
.allergens{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;padding:0}
.allergen{display:inline-flex;align-items:center;gap:var(--s-2);min-height:2rem;padding:0 var(--s-3);border:1px solid var(--line);font-size:var(--fs-xs);color:color-mix(in oklab,var(--ink) 60%,var(--cream))}
.allergen.is-contains{border-color:var(--ink);color:var(--ink);font-weight:800}
.allergen.is-trace{border-color:var(--sage);color:var(--ink);font-weight:600}
.allergen__level{font-weight:400;font-size:var(--fs-2xs)}
.note{font-size:var(--fs-xs);padding:var(--s-3) var(--s-4);background:var(--mist)}
.extras-list{display:grid;border-top:1px solid var(--line)}
.extras-list li{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-sm)}

.consent{position:fixed;left:calc(var(--s-3) + var(--safe-left));right:calc(var(--s-3) + var(--safe-right));bottom:calc(var(--s-3) + var(--safe-bottom));z-index:70;display:grid;gap:var(--s-3);max-width:30rem;padding:var(--s-4);background:var(--cream);border:1px solid var(--sage)}
.consent[hidden]{display:none}
.consent__text{font-size:var(--fs-xs)}
.consent__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--s-2)}

.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.share{display:grid;gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--sage)}
.share__title{font-size:var(--fs-sm);font-weight:800}
.share__list{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;padding:0}
.share__list a,.share__list button{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-3);border:1px solid var(--sage);background:none;font-weight:600;font-size:var(--fs-sm);text-decoration:none;color:var(--ink)}
.tags-line{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;padding:0}
.tags-line a{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 var(--s-3);border:1px solid var(--line);font-size:var(--fs-xs);font-weight:600;text-decoration:none;color:var(--sage-deep)}

.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--sage)}
.pagination__pages{display:flex;gap:var(--s-1);list-style:none;padding:0}
.pagination__pages a,.pagination__pages span{display:grid;place-items:center;min-width:var(--tap);min-height:var(--tap);font-weight:600;text-decoration:none;color:var(--ink);border:1px solid transparent}
.pagination__pages [aria-current]{border-color:var(--sage)}

.toast{position:fixed;left:50%;bottom:calc(var(--s-5) + var(--safe-bottom));transform:translateX(-50%);z-index:80;max-width:calc(100vw - 2rem);padding:var(--s-3) var(--s-5);background:var(--ink);color:var(--cream);font-weight:600;font-size:var(--fs-sm)}
.toast[hidden]{display:none}

@media (prefers-reduced-motion:no-preference){
.sheet[open] .sheet__panel{animation:sheet-up .32s var(--ease)}
.sheet.is-dragging .sheet__panel{transition:none}
.sheet__panel{transition:transform .25s var(--ease)}
@media (min-width:48em){.sheet[open] .sheet__panel{animation:sheet-in .22s var(--ease)}}
.chip span,.size-option span{transition:background-color .15s var(--ease),color .15s var(--ease)}
}
@keyframes sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes sheet-in{from{transform:translateY(1rem);opacity:0}to{transform:none;opacity:1}}
.list__title{font-size:var(--fs-lg);font-weight:800;letter-spacing:-0.025em;color:var(--sage);padding:var(--s-4) 0 var(--s-3)}
.list__empty{padding:var(--s-4) 0}
.list__empty[hidden]{display:none}
.list__items{display:grid;border-top:2px solid var(--sage)}
.list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2) var(--s-3);align-items:center;padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft)}
.list__name{font-weight:600;text-decoration:none;color:var(--ink);display:grid}
.list__name small{font-weight:400;font-size:var(--fs-xs);color:var(--sage-deep)}
.list__qty{display:flex;align-items:center;gap:var(--s-1);border:1px solid var(--sage);grid-column:1;justify-self:start}
.list__qty .num{min-width:1.75rem;text-align:center;font-weight:600}
.list__price{grid-column:2;grid-row:1;font-weight:600}
.list__remove{grid-column:2;grid-row:2;justify-self:end;font-size:var(--fs-xs)}
.list__footer{display:grid;gap:var(--s-3);padding-top:var(--s-4)}
.list__footer[hidden]{display:none}
.list__total{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-md)}
.list__note{margin-top:var(--s-5);font-size:var(--fs-xs);color:color-mix(in oklab,var(--ink) 78%,var(--cream))}
.button:disabled{background:var(--mist);border-color:var(--line);color:color-mix(in oklab,var(--ink) 60%,var(--cream));cursor:not-allowed}
.promo{padding:0;margin:auto;border:0;background:transparent;width:min(32rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);overflow:visible;color:var(--ink)}
.promo::backdrop{background:color-mix(in oklab,var(--ink) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.promo__panel{position:relative;background:var(--cream);border:1px solid var(--sage)}
.promo__link{display:block}
.promo__img{display:block;width:100%;height:auto;max-height:calc(100dvh - 4rem);object-fit:contain}
.promo__close{position:absolute;top:var(--s-2);right:var(--s-2);z-index:1;display:grid;place-items:center;width:var(--tap);height:var(--tap);border:1px solid var(--sage);background:var(--cream);color:var(--ink)}
.promo__close .icon{width:1.4rem;height:1.4rem}
@media (prefers-reduced-motion:no-preference){.promo[open] .promo__panel{animation:sheet-in .25s var(--ease)}}
