/* Red Platter home (T1) sections. Facts: linked only by index.html; semantic tokens only; mobile first (390/768/1280). */

/* hero: static photo, text on a solid panel */
.hero { position: relative; background: var(--color-bg); padding-bottom: var(--space-7); }
.hero__media { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; object-position: 38% 50%; }
.hero__panel {
  position: relative; z-index: 1; width: min(100% - 2 * var(--gutter), 40rem); margin: calc(-1 * var(--space-8)) auto 0;
  padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-2);
}
.hero__panel h1 { font-size: var(--step-4); margin-bottom: var(--space-3); }
.hero__panel p { color: var(--color-text); }
@media (min-width: 768px) { .hero__media { aspect-ratio: 16 / 9; max-height: 80vh; } }
@media (min-width: 1100px) {
  .hero__panel { position: absolute; left: max(var(--gutter), calc((100% - var(--container)) / 2)); bottom: var(--space-8); width: 30rem; margin: 0; }
  .hero { padding-bottom: 0; }
}

.section--alt { background: var(--color-surface-2); }

/* trust row */
.trust { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(2, 1fr); }
.trust li { display: grid; justify-items: center; gap: var(--space-2); text-align: center; padding: var(--space-4) var(--space-3); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-1); font-weight: 600; color: var(--color-heading); }
.trust .icon { width: 2rem; height: 2rem; color: var(--color-primary); }
@media (min-width: 768px) { .trust { grid-template-columns: repeat(4, 1fr); } }

/* section headers */
.sec-head { max-width: 40rem; margin-bottom: var(--space-6); }
.sec-head .label { display: block; margin-bottom: var(--space-3); }

/* three feature cards */
.features { display: grid; gap: var(--space-5); }
.features .card__media { aspect-ratio: 4 / 3; }
@media (min-width: 768px) { .features { grid-template-columns: repeat(3, 1fr); } }

/* signature combos: plain grid by default, stacked and pinned by home.js on desktop */
.combos__stage { display: grid; gap: var(--space-5); }
.combo { display: grid; grid-template-rows: auto 1fr; background: var(--color-surface); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-1); }
.combo .ph { aspect-ratio: 4 / 3; border-width: 0 0 2px; }
.combo__body { padding: var(--space-5); }
.combo__body h3 { font-size: var(--step-2); margin-bottom: var(--space-2); }
.combo__body p { margin: 0; }
@media (min-width: 768px) { .combos__stage { grid-template-columns: repeat(2, 1fr); } }
.combos.is-stacked .combos__stage { display: block; position: relative; height: min(60vh, 34rem); max-width: 56rem; margin-inline: auto; }
.combos.is-stacked .combo { position: absolute; inset: 0; grid-template-rows: none; grid-template-columns: 1.3fr 1fr; will-change: transform; box-shadow: var(--shadow-2); }
.combos.is-stacked .combo .ph { aspect-ratio: auto; border-width: 0 2px 0 0; height: 100%; }
.combos.is-stacked .combo__body { align-self: center; padding: var(--space-6); }

/* family table */
.split { display: grid; gap: var(--space-6); align-items: center; }
.split__media { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-2); }
.split__media img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 900px) {
  .split { grid-template-columns: 1.1fr 1fr; gap: var(--space-8); }
  .split--flip .split__media { order: 2; }
}

/* dish cards */
.dishes { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
.dish .card__media, .dish .ph { aspect-ratio: 1 / 1; width: 100%; }
.dish .ph { border-width: 0 0 2px; }
.dish__meta a { display: inline-flex; align-items: center; gap: var(--space-1); white-space: nowrap; }
.dish__meta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
@media (min-width: 560px) { .dishes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .dishes { grid-template-columns: repeat(4, 1fr); } }

/* function room band (dark) */
.band-photo { display: grid; gap: var(--space-6); align-items: center; }
.band-photo__media { border-radius: var(--radius-lg); overflow: hidden; }
.band-photo__media img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.ticks { list-style: none; margin: 0 0 var(--space-5); padding: 0; display: grid; gap: var(--space-3); }
.ticks li { display: flex; gap: var(--space-3); align-items: flex-start; }
.ticks .icon { color: var(--color-accent); margin-top: .15em; }
@media (min-width: 900px) { .band-photo { grid-template-columns: 1fr 1.1fr; gap: var(--space-8); } }

/* closing CTA + contact and map */
.cta-panel { display: grid; gap: var(--space-6); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-2); }
.facts { display: grid; gap: var(--space-4); margin: 0; }
.facts p { display: flex; gap: var(--space-3); margin: 0; align-items: flex-start; }
.facts .icon { color: var(--color-primary); margin-top: .1em; }
.map { position: relative; min-height: 18rem; border-radius: var(--radius-md); overflow: hidden; }
.map .ph { position: absolute; inset: 0; border-radius: var(--radius-md); }
.map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (min-width: 900px) { .cta-panel { grid-template-columns: 1fr 1fr; padding: var(--space-8); align-items: stretch; } }

/* QA fixes (home): tap targets and combos overflow */
.nav__brand { display: inline-flex; align-items: center; min-height: 44px; }
.dish__meta a { min-height: 44px; }
.combos { overflow-x: clip; }
