/* Catalog only. Keep image masks/blending in site.css and ordering behavior in site.js. */
.rail{
  top:72px;
  padding-block:0;
  border-top:0;
  background:var(--night);
}
.chips{gap:24px;padding:4px 3px;scroll-padding-inline:3px}
.chip{
  position:relative;
  min-height:48px;
  padding:0 2px;
  border-radius:0;
  font-size:14px;
  font-weight:500;
  transition:color .18s ease-out;
  touch-action:manipulation;
}
.chip::after{
  content:"";
  position:absolute;
  inset:auto 0 -4px;
  height:2px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s var(--ease);
}
.chip:hover,.chip[aria-pressed="true"]{background:transparent;color:var(--honey-2)}
.chip.hot:hover,.chip.hot[aria-pressed="true"]{background:transparent;color:var(--tobiko-2)}
.chip[aria-pressed="true"]::after{transform:scaleX(1)}
.chip:focus-visible{outline-offset:-2px}

.menu-tools{gap:14px;margin-top:22px}
.menu-tools label{font-size:13px;color:var(--sand)}
.menu-tools input{
  max-width:280px;
  min-height:44px;
  padding:9px 13px;
  border-radius:6px;
  background:transparent;
  border-width:1px;
  font-size:15px;
}
.menu-tools input:focus-visible{outline:2px solid var(--honey-2);outline-offset:3px}
.shop{column-gap:32px}
#menu{min-width:0}
#menu .section{padding-top:44px;scroll-margin-top:140px}
#menu .section:first-child{padding-top:28px}
#menu .section h2{
  gap:16px;
  margin-bottom:20px;
  font-size:clamp(30px,3vw,42px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.045em;
  text-wrap:balance;
  animation:none;
}
#menu .section h2::before{display:none}
#menu .section h2::after{content:"";height:1px;flex:1;min-width:24px;background:var(--line-2)}
#menu .deals h2{font-size:clamp(28px,2.6vw,36px);color:var(--tobiko-2)}
#menu .deals h2 .ic{width:25px;height:25px}
#menu .grid{gap:28px 24px;align-items:stretch}

#menu .card{
  padding-bottom:16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#menu .ph{
  aspect-ratio:3/2;
  border-radius:0;
  background:transparent;
  overflow:hidden;
  touch-action:manipulation;
}
/* scale-down caps the painted photo at its intrinsic resolution. No hover zoom. */
#menu .ph img{object-fit:scale-down;transform:none;transition:transform .28s var(--ease)}
#menu .wide .ph{aspect-ratio:1.9}
#menu .ph:focus-visible{outline-offset:-3px}
#menu .badge{
  top:8px;
  right:0;
  min-width:46px;
  min-height:32px;
  padding:6px 10px;
  border-radius:3px;
  font-size:13px;
  line-height:1.2;
}
#menu .badge .ic{width:20px;height:20px}
#menu .body{padding:12px 0 0;gap:8px}
#menu .body h3{
  font-size:20px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
#menu .body h3 button{display:block;width:100%;min-height:44px;line-height:inherit}
#menu .card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:-4px}
#menu .w{font-size:13px;line-height:1.4;color:var(--sand)}
#menu .tags{gap:6px}
#menu .tag{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600}
#menu .desc{font-size:13px;line-height:1.55;text-wrap:pretty}
#menu .offer{font-size:13px;font-weight:600;line-height:1.45}
#menu .row{
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  padding-top:16px;
}
#menu .price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 7px;
  font-size:23px;
  font-weight:700;
  letter-spacing:-.045em;
  color:var(--cream);
  font-variant-numeric:tabular-nums;
}
#menu .price.sale{color:var(--tobiko-2)}
#menu .price s{margin:0;font-size:13px;font-weight:500;letter-spacing:0}
#menu .row>[data-slot]{flex:none;width:126px;min-width:0;margin-left:auto}
#menu .add{
  width:100%;
  min-height:44px;
  padding-inline:10px;
  border:1px solid var(--honey);
  border-radius:6px;
  background:transparent;
  color:var(--honey-2);
  font-size:13px;
  font-weight:600;
  touch-action:manipulation;
  transition:background-color .16s ease-out,color .16s ease-out,transform .12s ease-out;
}
#menu .add:active{transform:scale(.97)}
#menu .add .ic{width:18px;height:18px;stroke-width:2}
#menu .step{width:100%;min-height:44px;border-radius:6px;background:var(--comb-2)}
#menu .step button{width:44px;height:44px;border-radius:6px;touch-action:manipulation}
#menu .step span{font-size:15px;font-weight:600}
#menu .in-cart .row{position:relative}
#menu .in-cart .row::after{content:"";position:absolute;inset:auto 0 -12px;height:1px;background:var(--honey)}
#menu .soldout{padding:12px 6px;border-radius:6px;font-size:12px;font-weight:500}
#menu .off .price{color:var(--sand)}

@media(hover:hover) and (pointer:fine){
  #menu .ph:hover img,#menu .ph:focus-visible img{transform:translateY(-3px)}
  #menu .add:hover{background:var(--honey);color:var(--honey-ink)}
}
/* Two readable columns beside the cart on medium desktop screens. */
@media(min-width:701px) and (max-width:899px){
  #menu .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:900px) and (max-width:1199px){
  #menu .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #menu .grid.wide{grid-template-columns:1fr}
}
@media(min-width:1200px){
  #menu .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #menu .grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .rail{top:64px}
  .chips{gap:22px}
  .chip{font-size:13px;min-height:44px}
  .menu-tools{gap:8px;margin-top:16px}
  .menu-tools label{width:auto;font-size:12px}
  .menu-tools input{max-width:none;width:100%}
  .menu-tools span:empty{display:none}
  #menu .section{padding-top:34px}
  #menu .section:first-child{padding-top:24px}
  #menu .section h2{font-size:30px;gap:12px;margin-bottom:14px}
  #menu .deals h2{font-size:28px}
  #menu .deals h2 .ic{width:22px;height:22px}
  #menu .grid{gap:24px 14px}
  #menu .card{padding-bottom:4px}
  #menu .ph{aspect-ratio:1.35}
  #menu .wide .ph{aspect-ratio:1.85}
  #menu .badge{top:3px;min-height:27px;min-width:40px;font-size:12px;padding:5px 7px}
  #menu .badge .ic{width:17px;height:17px}
  #menu .body{padding-top:7px;gap:7px}
  #menu .body h3{font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.025em}
  #menu .card-meta{margin-top:-3px}
  #menu .w{font-size:12px}
  #menu .desc{font-size:12px;line-height:1.5}
  #menu .offer{font-size:12px;line-height:1.4}
  #menu .row{flex-wrap:wrap;gap:10px;padding-top:12px}
  #menu .price{font-size:21px;min-height:25px}
  #menu .price s{font-size:12px}
  #menu .row>[data-slot]{width:100%;margin:0}
  #menu .wide .row{flex-wrap:nowrap}
  #menu .wide .row>[data-slot]{width:140px;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){
  .chip,.chip::after,#menu .ph img,#menu .add{transition:none}
  #menu .ph:hover img,#menu .ph:focus-visible img,#menu .add:active{transform:none}
}

/* Quiet lacquer edges connect the food, gold controls and glass background. */
#menu .card{
  border:1px solid #302718;
  border-radius:7px;
  background:rgba(10,9,6,.48);
  padding-bottom:12px;
  overflow:hidden;
  transition:border-color .18s ease-out;
}
#menu .body{padding:10px 12px 0}
#menu .row{border-top:1px solid #292215;padding-top:12px}
#menu .card.in-cart{border-color:#8e6b21}
#menu .in-cart .row::after{display:none}
#menu .card:focus-within{border-color:var(--honey)}
@media(hover:hover) and (pointer:fine){#menu .card:hover{border-color:#725923}}
@media(max-width:700px){
  #menu .card{padding-bottom:9px;border-color:#292215}
  #menu .body{padding:6px 8px 0}
  #menu .row{padding-top:10px}
  #menu .wide .row>[data-slot]{width:126px}
}
@media(prefers-reduced-motion:reduce){#menu .card{transition:none}}
