/* Geometric separators stay on the same centre line at every font size. */
.category-nav,.is-stuck .category-nav{gap:0;justify-content:flex-start}
.category-nav a{position:relative;display:flex;align-items:center;justify-content:center;flex:1 0 auto;padding-inline:clamp(14px,1.4vw,42px);line-height:1.5}
.category-nav a:first-child{padding-left:0}
.category-nav a:last-child{padding-right:0}
.category-nav a+a:before,.is-stuck .category-nav a+a:before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:#92989d;margin:0;transform:translate(-50%,-50%)}
.is-stuck .category-nav a{padding-inline:clamp(12px,.9vw,30px)}
.is-stuck .category-nav a:first-child{padding-left:0}.is-stuck .category-nav a:last-child{padding-right:0}
.cart-close{display:grid;place-items:center;padding:0;line-height:1}
.cart-close svg,.remove-item svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.remove-item{display:grid;place-items:center;padding:0;line-height:1}
#cart-dialog[open]::backdrop{animation:cart-backdrop-in .42s ease both}
#cart-dialog.is-closing::backdrop{animation:cart-backdrop-out .28s ease both}
#cart-dialog.is-closing>*{pointer-events:none}
@keyframes cart-backdrop-in{from{background-color:#090b0d00;backdrop-filter:blur(0)}to{background-color:#090b0dd0;backdrop-filter:blur(5px)}}
@keyframes cart-backdrop-out{from{background-color:#090b0dd0;backdrop-filter:blur(5px)}to{background-color:#090b0d00;backdrop-filter:blur(0)}}
/* Short, consistent responses; content remains visible without JavaScript. */
a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.story img,.dish-photo,.masthead-brand img,.sticky-brand img,.footer-identity img{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.story,.dish,.add,.cart-primary,.outline-button,.masthead-cart,.sticky-cart,.cart-close,.gallery-controls button,#cart-upsells button{transition:transform .28s cubic-bezier(.22,1,.36,1),background-color .2s ease,border-color .2s ease,box-shadow .28s ease}
.category-nav a{transition:color .2s ease}
.category-nav a:hover,.category-nav a:focus-visible{color:var(--accent)}
.map-shell iframe{transition:opacity .3s ease}
.photo-panel{transition:background-position .65s cubic-bezier(.22,1,.36,1),background-size .65s cubic-bezier(.22,1,.36,1)}
#cart-dialog input,#cart-dialog select,#cart-dialog textarea{transition:border-color .2s ease,box-shadow .2s ease}
#cart-dialog input:focus,#cart-dialog select:focus,#cart-dialog textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #cfb28b18}
@media(hover:hover) and (pointer:fine){
 .story:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0003}
 .story:hover img{transform:scale(1.035)}
 .dish:hover{transform:translateY(-3px);box-shadow:0 14px 32px #0002}
 .masthead-brand:hover img,.sticky-brand:hover img,.footer-identity a:hover img{transform:scale(1.035)}
 .add:hover,.cart-primary:not(:disabled):hover,.outline-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
 .masthead-cart:hover,.sticky-cart:hover{transform:translateY(-2px)}
 .cart-close:hover,.gallery-controls button:hover{background:#444a50;transform:scale(1.06)}
 #cart-upsells button:hover{transform:translateY(-2px);background:#34383d}
}
button:not(:disabled):active{transform:scale(.97)}
.viewer-progress button:active{transform:none}
@media(max-width:760px){.category-nav a,.is-stuck .category-nav a{padding-inline:16px}.category-nav a:first-child{padding-left:0}.category-nav a:last-child{padding-right:0}}
/* On short landscape screens the whole drawer scrolls, keeping forms usable. */
@media(max-height:560px){
 #cart-dialog[open]{display:block;overflow-y:auto}
 #cart-dialog .cart-scroll{overflow:visible}
 #cart-dialog .cart-heading{position:sticky;top:0;z-index:2;background:#202327}
 #cart-dialog .cart-summary{position:static}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}
 .story:hover,.dish:hover,.story:hover img,button:not(:disabled):active{transform:none}
}
