.kiosk-header{
  padding: 3vh 4vw 1.5vh;
  text-align: center;
}
.kiosk-header h1{ font-size: clamp(2rem, 4vw, 3.2rem); }
.kiosk-header .eyebrow{ display:block; margin-bottom:.6em; }
.admin-link{
  position: fixed; bottom: 14px; right: 14px;
  font-size: .7rem; color: var(--line); text-decoration: none;
  font-family: var(--font-mono);
}
.admin-link:hover{ color: var(--paper-dim); }

#category-tabs, #subcategory-tabs{
  display:flex; flex-wrap: wrap; gap: .5em;
  justify-content: center;
  padding: 0 4vw 1vh;
}
#subcategory-tabs{ padding-top: 0; }

.tab-btn{
  font-family: var(--font-display);
  font-size: 1.05rem;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  color: var(--paper-dim);
  padding: .4em .9em;
}
.tab-btn.active{ color: var(--copper-hi); border-bottom-color: var(--copper); }
.tab-btn:hover{ color: var(--paper); }

.subtab-btn{
  font-family: var(--font-mono);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--paper-dim);
  padding: .4em 1em;
}
.subtab-btn.active{ border-color: var(--sage); color: var(--sage-hi); }

#menu-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 22px;
  padding: 2vh 4vw 8vh;
}

.menu-tile{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 0;
  overflow: hidden;
  text-align: left;
  color: var(--paper);
  transition: transform .15s, border-color .15s;
}
.menu-tile:hover{ transform: translateY(-3px); border-color: var(--copper); }

.menu-tile-img{
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center;
  background-color: var(--ink-soft);
  display: flex; align-items: center; justify-content: center;
}
.menu-tile-title{
  font-family: var(--font-display);
  font-size: 1.15rem;
  padding: .7em .9em .9em;
}

.detail-gallery{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 1em;
}
.detail-gallery img{
  width: 100%; border-radius: var(--radius);
  border: 1px solid var(--line);
  aspect-ratio: 4/3; object-fit: cover;
}
.detail-gallery figcaption{
  font-size: .75rem; color: var(--paper-dim); margin-top: .3em;
}
