/* ==========================================================================
   Print Menu page styles
   All rules scoped under .print-menu-shell to avoid leaking into theme.
   ========================================================================== */

.print-menu-page .print-menu-intro {
  padding: calc(var(--header-height, 72px) + var(--space-10)) var(--section-px) var(--space-8);
  text-align: center;
  background: var(--surface-base);
}

.print-menu-page .print-menu-intro h1 {
  font-family: var(--font-heading);
  font-size: var(--text-4xl);
  font-weight: 800;
  letter-spacing: -0.03em;
  margin: var(--space-3) 0;
  color: var(--text-primary);
}

.print-menu-page .print-menu-lede {
  max-width: 640px;
  margin: var(--space-4) auto 0;
  color: var(--text-secondary);
  font-size: var(--text-lg);
  line-height: 1.6;
}

@media (min-width: 768px) {
  .print-menu-page .print-menu-intro h1 {
    font-size: var(--text-5xl);
  }
}

/* ---- Print menu shell (the boxed download area) -------------------------- */

.print-menu-shell {
  /* Scoped design tokens for the postcard rendering */
  --pm-cream: #f3eee2;
  --pm-white: #ffffff;
  --pm-red: #b21f2d;
  --pm-meat: #cf4a45;
  --pm-veg: #9cc088;
  --pm-gold: #d8b24a;
  --pm-gold-soft: #e7c878;
  --pm-chicken: #e0a373;
  --pm-muted: #bdb6a6;
  --pm-bg1: #161616;
  --pm-bg2: #0b0b0c;
  --pm-bg3: #060606;

  max-width: 1100px;
  margin: 0 auto;
  padding: var(--space-6) 0;
  color: var(--pm-cream);
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
}

.print-menu-shell * {
  box-sizing: border-box;
}

.print-menu-shell .pm-updated {
  color: #7f7a70;
  font-size: 12.5px;
  font-weight: 500;
  text-align: right;
  margin-bottom: var(--space-3);
}
.print-menu-shell .pm-updated b { color: #cfc9bd; }

.print-menu-shell .pm-side {
  margin-top: var(--space-7);
}

.print-menu-shell .pm-side-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  flex-wrap: wrap;
}

.print-menu-shell .pm-lbl {
  color: #cfc9bd;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.print-menu-shell .pm-btns {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.print-menu-shell .pm-dl {
  background: #26262a;
  color: #f0ece2;
  border: 1px solid #3a3a40;
  border-radius: 8px;
  padding: 8px 14px;
  font-family: inherit;
  font-weight: 600;
  font-size: 12.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
.print-menu-shell .pm-dl::before {
  content: '⬇';
  font-size: 14px;
  line-height: 1;
}
.print-menu-shell .pm-dl:hover {
  background: #303036;
  border-color: #50505a;
}
.print-menu-shell .pm-dl:focus-visible {
  outline: 2px solid var(--brand-green);
  outline-offset: 2px;
}
.print-menu-shell .pm-dl-primary {
  background: var(--brand-red);
  border-color: var(--brand-red);
  color: #fff;
}
.print-menu-shell .pm-dl-primary:hover {
  background: #c10019;
  border-color: #c10019;
}
.print-menu-shell .pm-dl[disabled] {
  opacity: 0.55;
  cursor: progress;
}

/* ---- The postcard card ---- */
.print-menu-shell .pm-bleed {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 6;
  overflow: hidden;
  border-radius: 7px;
  background:
    radial-gradient(120% 90% at 75% 95%, rgba(120,70,30,0.30), rgba(0,0,0,0) 55%),
    radial-gradient(90% 80% at 50% 60%, rgba(60,40,20,0.25), rgba(0,0,0,0) 60%),
    linear-gradient(160deg, var(--pm-bg1) 0%, var(--pm-bg2) 45%, var(--pm-bg3) 100%);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.print-menu-shell .pm-bleed.pm-back {
  background:
    radial-gradient(70% 60% at 78% 70%, rgba(120,72,32,0.34), rgba(0,0,0,0) 60%),
    radial-gradient(60% 55% at 35% 60%, rgba(50,35,20,0.22), rgba(0,0,0,0) 65%),
    linear-gradient(155deg, var(--pm-bg1) 0%, var(--pm-bg2) 50%, var(--pm-bg3) 100%);
}
.print-menu-shell .pm-postcard {
  position: absolute;
  inset: 0;
  container-type: inline-size;
}
.print-menu-shell .pm-body {
  width: 100%;
  height: 100%;
  color: var(--pm-cream);
}
.print-menu-shell .pm-front .pm-body {
  /* Tightened from 0.86cqw to absorb the +3 extra rows added during the
     audit (DIPS section was extended, MEDITERRANEAN added to gourmets,
     Persian Single + 3-Pack split). Without this, content overflowed the
     9:6 card bottom by ~12% and the cauliflower-crusts row got clipped. */
  font-size: 0.78cqw;
  display: grid;
  grid-template-columns: 0.95fr 1.15fr 1.1fr;
}
.print-menu-shell .pm-back .pm-body {
  font-size: 1.0cqw;
  display: flex;
  flex-direction: column;
  padding: 1.7cqw 2.4cqw 1.3cqw;
}

.print-menu-shell .pm-capture-stage {
  position: fixed;
  left: -99999px;
  top: 0;
  pointer-events: none;
}

/* ---- Staff print row ---- */
.print-menu-shell .pm-printrow {
  margin-top: var(--space-7);
  padding: 18px;
  border: 1px dashed #3a3a40;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  background: #202024;
}
.print-menu-shell .pm-printrow-t {
  font-size: 13px;
  color: #cfc9bd;
  font-weight: 600;
}
.print-menu-shell .pm-printrow-t span {
  display: block;
  color: #7f7a70;
  font-weight: 400;
  font-size: 12px;
  margin-top: 2px;
}
.print-menu-shell .pm-note {
  margin-top: var(--space-4);
  color: #6f6a61;
  font-size: 11.5px;
  line-height: 1.5;
}

/* =====================================================================
   POSTCARD INNER MARKUP, rendered into .pm-body by the JS
   All scoped to .print-menu-shell .pm-body so they don't leak.
   ===================================================================== */

/* ---- FRONT ---- */
.print-menu-shell .pm-body .col { padding: 0.6em 1.05em; }
.print-menu-shell .pm-body .col-mid {
  border-left: 1px solid rgba(255,255,255,0.06);
  border-right: 1px solid rgba(255,255,255,0.06);
}
.print-menu-shell .pm-body .topbar {
  margin: -0.6em -1.05em 0.5em;
  padding: 0.6em 1.05em 0.7em;
  background: linear-gradient(135deg,#5a5a5d 0%,#2c2c2e 35%,#48484b 55%,#1e1e20 100%);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom-right-radius: 1.3em;
}
.print-menu-shell .pm-body .contact .phone {
  font-size: 2.0em;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.18;
}
.print-menu-shell .pm-body .contact .web,
.print-menu-shell .pm-body .contact .addr {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.28;
}
.print-menu-shell .pm-body .logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Real eatlocal logo image (replaces the CSS-drawn placeholder) */
.print-menu-shell .pm-body img.logo-img {
  width: 5.2em;
  height: auto;
  display: block;
  object-fit: contain;
}
.print-menu-shell .pm-body .head img.logo-img {
  width: 6.5em;
}

/* Brand-mark icon (used in gourmet list, replaces the red triangle SVG) */
.print-menu-shell .pm-body img.slice {
  width: 1.4em;
  height: 1.4em;
  flex: 0 0 auto;
  object-fit: contain;
  display: inline-block;
}
.print-menu-shell .pm-body .logo .face {
  position: relative;
  width: 2.6em;
  height: 1.7em;
}
.print-menu-shell .pm-body .logo .dot {
  position: absolute;
  width: 0.42em;
  height: 0.42em;
  border-radius: 50%;
  background: var(--pm-red);
}
.print-menu-shell .pm-body .logo .d1 { left: 0.7em; top: 0; }
.print-menu-shell .pm-body .logo .d2 { left: 1.25em; top: -0.25em; }
.print-menu-shell .pm-body .logo .d3 { left: 1.55em; top: 0.25em; }
.print-menu-shell .pm-body .logo .smile {
  position: absolute;
  left: 0.35em;
  top: 0.6em;
  width: 1.9em;
  height: 1.0em;
  border: 0.28em solid var(--pm-red);
  border-top: none;
  border-radius: 0 0 2em 2em;
}
.print-menu-shell .pm-body .logo .word {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-weight: 700;
  font-size: 2.5em;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1;
}
.print-menu-shell .pm-body .wings-h {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
.print-menu-shell .pm-body .wings-h .t { font-size: 2.55em; font-weight: 700; }
.print-menu-shell .pm-body .wings-h .p { font-size: 2.0em; font-weight: 500; }
.print-menu-shell .pm-body .wings-flav {
  color: var(--pm-gold-soft);
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.28;
  text-align: center;
  margin: 0.05em 0 0.15em;
}
.print-menu-shell .pm-body .sec-h {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: 2.3em;
  margin: 0.3em 0 0.12em;
  line-height: 0.98;
}
.print-menu-shell .pm-body .rowgrid {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto;
  gap: 0.04em 0.55em;
  align-items: baseline;
  font-size: 1.5em;
  font-weight: 400;
}
.print-menu-shell .pm-body .rowgrid .name { white-space: nowrap; }
.print-menu-shell .pm-body .rowgrid .price { text-align: right; font-weight: 500; white-space: nowrap; }
.print-menu-shell .pm-body .rowgrid .small { font-size: 0.82em; color: var(--pm-muted); }
.print-menu-shell .pm-body .banner {
  background: var(--pm-red);
  text-align: center;
  font-weight: 800;
  font-size: 2.0em;
  letter-spacing: 0.06em;
  padding: 0.18em 0;
  margin: -0.6em -1.05em 0;
  color: #fff;
}
.print-menu-shell .pm-body .subhead {
  text-align: center;
  font-weight: 800;
  color: var(--pm-gold);
  font-size: 2.5em;
  line-height: 0.95;
  margin: 0.15em 0 0.3em;
}
.print-menu-shell .pm-body .sizes { font-size: 1.62em; font-weight: 400; }
.print-menu-shell .pm-body .sizes .r {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.02em 0.3em;
}
.print-menu-shell .pm-body .sizes .pr { font-weight: 500; }
.print-menu-shell .pm-body .green-h {
  text-align: center;
  color: var(--pm-veg);
  font-weight: 800;
  font-size: 2.15em;
  margin: 0.35em 0 0.15em;
}
.print-menu-shell .pm-body .note2 {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 0.04em 0.8em;
  font-size: 1.4em;
}
.print-menu-shell .pm-body .note2 .b { color: var(--pm-veg); font-weight: 600; }
.print-menu-shell .pm-body .note2 .a { font-weight: 500; }
.print-menu-shell .pm-body .hr {
  height: 2px;
  background: var(--pm-veg);
  opacity: 0.55;
  margin: 0.45em 0.2em;
}
.print-menu-shell .pm-body .hr.gold { background: var(--pm-gold); }
.print-menu-shell .pm-body .topgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.02em 1em;
  text-align: center;
}
.print-menu-shell .pm-body .topgrid div {
  font-weight: 800;
  font-size: 1.62em;
  letter-spacing: 0.01em;
  line-height: 1.12;
}
.print-menu-shell .pm-body .m  { color: var(--pm-meat); }
.print-menu-shell .pm-body .v  { color: var(--pm-veg); }
.print-menu-shell .pm-body .g  { color: var(--pm-gold); }
.print-menu-shell .pm-body .ch { color: var(--pm-chicken); }
.print-menu-shell .pm-body .prem-h {
  text-align: center;
  color: var(--pm-gold);
  font-weight: 800;
  font-size: 2.35em;
  margin: 0.2em 0 0;
}
.print-menu-shell .pm-body .prem-price {
  text-align: center;
  color: var(--pm-gold);
  font-weight: 600;
  font-size: 1.68em;
  margin-bottom: 0.12em;
}
.print-menu-shell .pm-body .prem-full {
  text-align: center;
  font-weight: 800;
  color: var(--pm-gold);
  font-size: 1.62em;
  margin: 0.1em 0;
}
.print-menu-shell .pm-body .footnote {
  text-align: center;
  font-size: 1.15em;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 0.4em;
}
.print-menu-shell .pm-body .gour-list {
  display: flex;
  flex-direction: column;
  gap: 0.04em;
  margin: 0.25em 0 0.3em;
}
.print-menu-shell .pm-body .gour-list .item {
  display: flex;
  align-items: center;
  gap: 0.55em;
  font-weight: 800;
  color: #fff;
  font-size: 1.92em;
  padding-left: 0.3em;
}
.print-menu-shell .pm-body .slice {
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
}
.print-menu-shell .pm-body .dietary {
  border: 2px solid rgba(255,255,255,0.45);
  border-radius: 0.6em;
  padding: 0.4em 0.7em 0.55em;
  margin-top: 0.4em;
}
.print-menu-shell .pm-body .dietary .dh {
  text-align: center;
  font-weight: 800;
  font-size: 2.25em;
  line-height: 0.98;
  margin-bottom: 0.18em;
}
.print-menu-shell .pm-body .diet-row {
  text-align: center;
  color: var(--pm-gold);
  font-weight: 800;
  font-size: 1.5em;
  margin-top: 0.22em;
}
.print-menu-shell .pm-body .diet-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 0.8em;
  font-size: 1.32em;
  text-align: center;
  margin-top: 0.05em;
}
.print-menu-shell .pm-body .diet-cols .l b,
.print-menu-shell .pm-body .diet-line b {
  color: var(--pm-gold);
  font-weight: 600;
}
.print-menu-shell .pm-body .diet-cols .l,
.print-menu-shell .pm-body .diet-line { font-weight: 400; }
.print-menu-shell .pm-body .diet-line {
  text-align: center;
  font-size: 1.32em;
  margin-top: 0.05em;
}

/* ---- BACK ---- */
.print-menu-shell .pm-body .head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 1em;
  margin-bottom: 0.4em;
}
.print-menu-shell .pm-body .head .left { align-self: flex-start; }
.print-menu-shell .pm-body .ltt {
  font-size: 2.0em;
  font-weight: 400;
  line-height: 1.05;
}
.print-menu-shell .pm-body .feat {
  font-size: 3.1em;
  font-weight: 800;
  color: var(--pm-red);
  line-height: 1.0;
}
.print-menu-shell .pm-body .head .logo {
  background: linear-gradient(135deg,#5a5a5d 0%,#2c2c2e 35%,#48484b 55%,#1e1e20 100%);
  padding: 0.4em 1.1em 0.5em;
  border-radius: 0.5em;
}
.print-menu-shell .pm-body .head .right {
  text-align: right;
  align-self: flex-start;
}
.print-menu-shell .pm-body .subj {
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 1.5em;
}
.print-menu-shell .pm-body .classics {
  font-size: 2.9em;
  font-weight: 800;
  line-height: 1;
}
.print-menu-shell .pm-body .classics .c  { color: var(--pm-veg); }
.print-menu-shell .pm-body .classics .pr { color: #fff; font-weight: 700; }
.print-menu-shell .pm-body .flist {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  text-align: center;
  padding: 0.2em 0;
}
.print-menu-shell .pm-body .pz .nm {
  font-weight: 800;
  font-size: 2.95em;
  color: var(--pm-veg);
  line-height: 1.0;
}
.print-menu-shell .pm-body .pz .nm .seasonal { color: var(--pm-red); }
.print-menu-shell .pm-body .pz .ing {
  font-weight: 400;
  font-size: 1.6em;
  line-height: 1.3;
  margin-top: 0.1em;
}
.print-menu-shell .pm-body .foot-rule {
  height: 2px;
  background: var(--pm-red);
  margin: 0.4em 0 0.45em;
  opacity: 0.85;
}
.print-menu-shell .pm-body .foot {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  font-size: 1.85em;
  font-weight: 500;
}
.print-menu-shell .pm-body .foot .addr { justify-self: start; }
.print-menu-shell .pm-body .foot .ph {
  display: flex;
  align-items: center;
  gap: 0.4em;
  justify-self: center;
}
.print-menu-shell .pm-body .foot .ph svg {
  width: 1em;
  height: 1em;
  fill: var(--pm-gold);
}
.print-menu-shell .pm-body .foot .web { justify-self: end; }

/* Print stylesheet: hide chrome, show only postcards */
@media print {
  .site-header,
  .site-footer,
  .print-menu-intro,
  .print-menu-shell .pm-side-bar,
  .print-menu-shell .pm-printrow,
  .print-menu-shell .pm-note,
  .print-menu-shell .pm-updated,
  .mobile-order-bar { display: none !important; }
  body { padding: 0; background: #fff; }
  .print-menu-shell .pm-side { margin: 0; }
  .print-menu-shell .pm-bleed { box-shadow: none; border-radius: 0; page-break-after: always; }
}

/* ==========================================================================
   EDITORIAL POSTCARD DESIGN
   Replaces the old Canva-derived layout. Hairlines, whitespace, type-led.
   All rules scoped to .print-menu-shell to stay isolated from theme.
   ========================================================================== */

/* Tweak base sizing for editorial layout. 0.79cqw fits all content
   including the wings drizzles row and the full dietary block. */
.print-menu-shell .pm-front .pm-body {
  font-size: 0.79cqw;
  grid-template-columns: 0.96fr 1.18fr 1.0fr;
}
.print-menu-shell .pm-back .pm-body {
  font-size: 1.04cqw;
  padding: 1.6cqw 2.4cqw 1.2cqw;
}

/* Override the old .col padding for editorial density */
.print-menu-shell .pm-body .col {
  padding: 1.2em 1.4em;
  display: flex;
  flex-direction: column;
  gap: 0.55em;
}
.print-menu-shell .pm-body .col-mid,
.print-menu-shell .pm-body .col-right {
  border-left: 1px solid rgba(255,255,255,0.10);
}

/* --- Brand head (front-left only) --- */
.print-menu-shell .pm-body .ed-card-head {
  display: flex;
  align-items: center;
  gap: 0.7em;
  padding-bottom: 0.7em;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  margin-bottom: 0.2em;
}
.print-menu-shell .pm-body .ed-card-head img.logo-img {
  width: 4em;
  height: auto;
}
.print-menu-shell .pm-body .ed-card-head-meta { flex: 1; }
.print-menu-shell .pm-body .ed-phone {
  font-size: 1.4em;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.05;
}
.print-menu-shell .pm-body .ed-contact-sub {
  font-size: 0.92em;
  color: rgba(243, 238, 226, 0.65);
  line-height: 1.35;
  margin-top: 0.15em;
}

/* --- Eyebrow + title --- */
.print-menu-shell .pm-body .ed-eyebrow {
  font-size: 0.9em;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(243, 238, 226, 0.55);
  display: block;
  line-height: 1.1;
}
.print-menu-shell .pm-body .ed-eyebrow-accent { color: var(--pm-veg); }
.print-menu-shell .pm-body .ed-eyebrow-spaced { margin-top: 0.5em; }

.print-menu-shell .pm-body .ed-title {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.4em;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 0.95;
  margin: 0.1em 0 0.5em;
  color: #fff;
}
.print-menu-shell .pm-body .ed-title-accent { color: var(--pm-red); }

/* --- Section block --- */
.print-menu-shell .pm-body .ed-section {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}

/* --- Wings hero (top of left col) --- */
.print-menu-shell .pm-body .ed-section-wings {
  padding-bottom: 0.5em;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 0.2em;
}
.print-menu-shell .pm-body .ed-wings-headline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5em;
}
.print-menu-shell .pm-body .ed-wings-label {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.0em;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}
.print-menu-shell .pm-body .ed-wings-price {
  font-size: 1.6em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--pm-red);
}
.print-menu-shell .pm-body .ed-wings-flav {
  margin-top: 0.25em;
  font-size: 0.95em;
  line-height: 1.4;
  color: rgba(243, 238, 226, 0.78);
}
.print-menu-shell .pm-body .ed-wings-drizzles {
  margin-top: 0.2em;
  font-size: 0.85em;
  line-height: 1.4;
  color: rgba(243, 238, 226, 0.58);
}
.print-menu-shell .pm-body .ed-wings-drizzles-label {
  color: var(--pm-gold);
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* --- Menu rows with dotted leaders --- */
.print-menu-shell .pm-body .ed-rows {
  display: flex;
  flex-direction: column;
  gap: 0.05em;
  margin-top: 0.15em;
}
.print-menu-shell .pm-body .ed-row {
  display: flex;
  align-items: baseline;
  gap: 0.35em;
  font-size: 1.15em;
  line-height: 1.55;
}
.print-menu-shell .pm-body .ed-name {
  flex-shrink: 0;
  font-weight: 500;
  color: #fff;
}
.print-menu-shell .pm-body .ed-name-sub {
  font-weight: 400;
  color: rgba(243, 238, 226, 0.55);
  font-size: 0.85em;
}
.print-menu-shell .pm-body .ed-dots {
  flex: 1;
  border-bottom: 1px dotted rgba(243, 238, 226, 0.28);
  margin-bottom: 0.35em;
  min-width: 0.5em;
}
.print-menu-shell .pm-body .ed-price {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: rgba(243, 238, 226, 0.95);
}

/* --- Feature block (BYO + Gourmets - middle and right cols) --- */
.print-menu-shell .pm-body .ed-feature {
  display: flex;
  flex-direction: column;
  gap: 0.45em;
}

/* --- 4-cell size strip --- */
.print-menu-shell .pm-body .ed-sizes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.3em;
  padding: 0.65em 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.print-menu-shell .pm-body .ed-size {
  text-align: center;
}
.print-menu-shell .pm-body .ed-size-label {
  display: block;
  font-size: 0.78em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(243, 238, 226, 0.55);
  line-height: 1;
}
.print-menu-shell .pm-body .ed-size-price {
  display: block;
  font-size: 1.55em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin-top: 0.2em;
}

/* --- BYO rules (Standard / Premium topping prices) --- */
.print-menu-shell .pm-body .ed-byo-rules {
  display: flex;
  flex-direction: column;
  gap: 0.1em;
  padding: 0.55em 0 0.25em;
}
.print-menu-shell .pm-body .ed-byo-rule {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.4em;
  font-size: 0.98em;
  line-height: 1.4;
}
.print-menu-shell .pm-body .ed-byo-rule-label {
  color: rgba(243, 238, 226, 0.7);
  font-weight: 500;
}
.print-menu-shell .pm-body .ed-byo-rule-val {
  font-weight: 600;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

/* --- Toppings (flat 2-col, no color coding) --- */
.print-menu-shell .pm-body .ed-toppings {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.05em 0.7em;
  margin-top: 0.2em;
}
.print-menu-shell .pm-body .ed-topping {
  font-size: 1.0em;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(243, 238, 226, 0.95);
}

/* --- Footnote (premium toppings overrides) --- */
.print-menu-shell .pm-body .ed-footnote {
  font-size: 0.82em;
  color: rgba(243, 238, 226, 0.5);
  line-height: 1.35;
  margin-top: 0.4em;
  font-style: italic;
}

/* --- Pizza list (gourmets) --- */
.print-menu-shell .pm-body .ed-pizza-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.05em 0.7em;
  margin-top: 0.2em;
}
.print-menu-shell .pm-body .ed-pizza {
  font-size: 1.05em;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
}

/* --- Dietary block (bottom of right col) --- */
.print-menu-shell .pm-body .ed-dietary {
  margin-top: auto;
  padding-top: 0.7em;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.print-menu-shell .pm-body .ed-diet-rows {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  margin-top: 0.3em;
}
.print-menu-shell .pm-body .ed-diet-line {
  display: flex;
  justify-content: space-between;
  gap: 0.6em;
  font-size: 0.9em;
  line-height: 1.4;
  color: rgba(243, 238, 226, 0.78);
}
.print-menu-shell .pm-body .ed-diet-line b {
  color: #fff;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* =====================================================================
   BACK SIDE, Classics list
   ===================================================================== */
.print-menu-shell .pm-body .ed-back-head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.2em;
  padding-bottom: 0.9em;
  border-bottom: 1px solid rgba(255,255,255,0.14);
  margin-bottom: 0.6em;
}
.print-menu-shell .pm-body .ed-back-head img.logo-img {
  width: 5.5em;
  height: auto;
}
.print-menu-shell .pm-body .ed-back-head-meta {
  text-align: right;
}
.print-menu-shell .pm-body .ed-back-title {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.2em;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  margin: 0.1em 0 0.15em;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.print-menu-shell .pm-body .ed-back-tag {
  display: block;
  font-size: 0.85em;
  color: rgba(243, 238, 226, 0.6);
  font-style: italic;
}

.print-menu-shell .pm-body .ed-classics-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.2em 0;
}
.print-menu-shell .pm-body .ed-classic {
  display: grid;
  grid-template-columns: 11em 1fr;
  gap: 0.2em 1.0em;
  align-items: baseline;
  padding: 0.4em 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.print-menu-shell .pm-body .ed-classic:last-child {
  border-bottom: none;
}
.print-menu-shell .pm-body .ed-classic-name {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--pm-veg);
  line-height: 1.1;
  margin: 0;
}
.print-menu-shell .pm-body .ed-classic-ing {
  font-size: 0.95em;
  line-height: 1.4;
  color: rgba(243, 238, 226, 0.78);
  margin: 0;
}
.print-menu-shell .pm-body .ed-seasonal {
  display: inline-block;
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 0.55em;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--pm-red);
  vertical-align: 0.18em;
  margin-left: 0.3em;
}

/* ---- Sold-Out treatment (scoped to print menu) ---- */
.print-menu-shell .pm-body .is-sold-out {
  opacity: 0.4;
}
.print-menu-shell .pm-body .ed-row.is-sold-out .ed-name,
.print-menu-shell .pm-body .ed-row.is-sold-out .ed-price,
.print-menu-shell .pm-body .ed-pizza.is-sold-out,
.print-menu-shell .pm-body .ed-classic.is-sold-out .ed-classic-name {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.print-menu-shell .pm-body .ed-sold-out-tag {
  display: inline-block;
  font-size: 0.55em;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--pm-red);
  vertical-align: 0.2em;
  margin-left: 0.4em;
  text-decoration: none;
}

.print-menu-shell .pm-body .ed-back-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.7em;
  border-top: 1px solid rgba(255,255,255,0.14);
  margin-top: 0.5em;
  font-size: 0.95em;
  font-weight: 500;
  color: rgba(243, 238, 226, 0.72);
}

/* ==========================================================================
   MARKETING-FORWARD POSTCARD DESIGN (.mk-*)
   Mail-drop / box-topper layout: bold brand hero + condensed menu band.
   All container queries scaled off .pm-body font-size below.
   ========================================================================== */

/* Override the editorial body font-sizing - marketing layout needs a bigger
   base because the hero copy + brand band drive the visual identity.
   Bumped from 0.92cqw → 1.0cqw to make data band readable from the fridge. */
.print-menu-shell .pm-front .pm-body {
  font-size: 1.0cqw;
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  padding: 0;
  background: var(--pm-bg2);
}
.print-menu-shell .pm-back .pm-body {
  font-size: 1.1cqw;
  display: flex;
  flex-direction: column;
  padding: 0;
}

/* Override the editorial body .col padding (was 1.2em 1.4em) - marketing
   uses zone-based padding instead. */
.print-menu-shell .pm-front .pm-body .col {
  padding: 0;
  display: block;
  gap: 0;
}

/* ──────────────── ZONE 1: Top brand band ──────────────── */
.print-menu-shell .pm-body .mk-top-band {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.2em;
  padding: 0.7em 1.4em;
  background: linear-gradient(90deg, rgba(178, 31, 45, 0.95) 0%, rgba(178, 31, 45, 0.85) 100%);
  color: #fff;
  border-bottom: 2px solid rgba(0, 0, 0, 0.3);
}
.print-menu-shell .pm-body .mk-top-logo img.logo-img {
  width: 4.5em;
  height: auto;
  display: block;
  filter: brightness(0) invert(1);
}
.print-menu-shell .pm-body .mk-top-tag {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  line-height: 1.05;
}
.print-menu-shell .pm-body .mk-top-since {
  font-size: 0.7em;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--pm-gold);
}
.print-menu-shell .pm-body .mk-top-contact {
  text-align: right;
  line-height: 1;
}
.print-menu-shell .pm-body .mk-top-phone {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.2em;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.print-menu-shell .pm-body .mk-top-url {
  font-size: 0.95em;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--pm-gold);
  margin-top: 0.15em;
}

/* ──────────────── ZONE 2: Hero strip ────────────────
   Tighter padding + smaller story block → more room for menu band below. */
.print-menu-shell .pm-body .mk-hero {
  display: grid;
  grid-template-columns: 33% 67%;
  gap: 1em;
  padding: 0.7em 1.2em 0.8em;
  background:
    radial-gradient(80% 60% at 30% 50%, rgba(120, 70, 30, 0.18), transparent 70%),
    linear-gradient(135deg, var(--pm-bg1) 0%, var(--pm-bg2) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.print-menu-shell .pm-body .mk-hero-story {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.3em;
  padding-right: 0.7em;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.print-menu-shell .pm-body .mk-eyebrow {
  font-size: 0.78em;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pm-veg);
}
.print-menu-shell .pm-body .mk-hero-headline {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.05em;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #fff;
  margin: 0.15em 0 0.35em;
}
.print-menu-shell .pm-body .mk-hero-sub {
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(243, 238, 226, 0.85);
  margin: 0;
}
.print-menu-shell .pm-body .mk-hero-cta {
  margin-top: 0.4em;
  padding-top: 0.35em;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.print-menu-shell .pm-body .mk-hero-cta-label {
  display: block;
  font-size: 0.72em;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(243, 238, 226, 0.6);
}
.print-menu-shell .pm-body .mk-hero-cta-url {
  display: block;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.35em;
  font-weight: 700;
  color: var(--pm-gold);
  letter-spacing: -0.01em;
  margin-top: 0.05em;
}

.print-menu-shell .pm-body .mk-hero-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7em;
}

.print-menu-shell .pm-body .mk-feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.3em;
  padding: 0.7em 0.9em;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 6px;
  border-left: 3px solid;
}
.print-menu-shell .pm-body .mk-card-red    { border-left-color: var(--pm-red); }
.print-menu-shell .pm-body .mk-card-green  { border-left-color: var(--pm-veg); }

.print-menu-shell .pm-body .mk-card-eyebrow {
  font-size: 0.7em;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(243, 238, 226, 0.6);
}
.print-menu-shell .pm-body .mk-card-title {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.6em;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  margin: 0.1em 0 0.4em;
  color: #fff;
}
.print-menu-shell .pm-body .mk-accent-red    { color: var(--pm-red); }
.print-menu-shell .pm-body .mk-accent-green  { color: var(--pm-veg); }

.print-menu-shell .pm-body .mk-card-sizes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.2em;
  padding: 0.4em 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 0.4em;
}
.print-menu-shell .pm-body .mk-card-size {
  text-align: center;
}
.print-menu-shell .pm-body .mk-card-size-lbl {
  display: block;
  font-size: 0.62em;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(243, 238, 226, 0.55);
}
.print-menu-shell .pm-body .mk-card-size-amt {
  display: block;
  font-size: 1.15em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #fff;
  margin-top: 0.1em;
}

.print-menu-shell .pm-body .mk-card-rules {
  font-size: 0.78em;
  line-height: 1.5;
  color: rgba(243, 238, 226, 0.78);
}
.print-menu-shell .pm-body .mk-card-rules b {
  color: #fff;
  font-weight: 600;
}

.print-menu-shell .pm-body .mk-card-pizzalist {
  font-size: 0.78em;
  line-height: 1.45;
  color: rgba(243, 238, 226, 0.85);
}
.print-menu-shell .pm-body .mk-card-pizza {
  font-weight: 600;
  color: #fff;
}
.print-menu-shell .pm-body .mk-card-pizza-sep {
  color: rgba(243, 238, 226, 0.35);
  margin: 0 0.25em;
}

/* ──────────────── ZONE 3: Menu data band ──────────────── */
.print-menu-shell .pm-body .mk-data {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.35em;
  padding: 0.5em 1.2em 0.7em;
  background: var(--pm-bg2);
}

.print-menu-shell .pm-body .mk-wings-hero {
  padding: 0.45em 0.8em;
  background: linear-gradient(90deg, rgba(216, 178, 74, 0.18) 0%, rgba(216, 178, 74, 0.08) 60%, transparent 100%);
  border-left: 3px solid var(--pm-gold);
  border-radius: 0 4px 4px 0;
}
.print-menu-shell .pm-body .mk-wings-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5em;
  margin-bottom: 0.15em;
}
.print-menu-shell .pm-body .mk-wings-label {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.5em;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--pm-gold);
}
.print-menu-shell .pm-body .mk-wings-prices {
  font-size: 1.15em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #fff;
}
.print-menu-shell .pm-body .mk-wings-line {
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 0.5em;
  font-size: 1.1em;
  line-height: 1.35;
  padding: 0.05em 0;
}
.print-menu-shell .pm-body .mk-wings-line-lbl {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85em;
  color: var(--pm-gold);
  padding-top: 0.1em;
}
.print-menu-shell .pm-body .mk-wings-line-list {
  color: rgba(243, 238, 226, 0.95);
}

/* 2-row data layout (replaces the old 4-col grid which had empty space in
   Desserts/Drinks/Dips because Sides+Salads was 12 items tall).
   Row 1: SIDES & SALADS full-width with 3 internal cols (12 items in 4 rows).
   Row 2: DESSERTS / DRINKS / DIPS equal 3-col. No wasted vertical space. */
.print-menu-shell .pm-body .mk-data-row {
  padding: 0.4em 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.print-menu-shell .pm-body .mk-data-row + .mk-data-row { padding-top: 0.4em; }
.print-menu-shell .pm-body .mk-data-row:last-of-type {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
/* Row 1: full-width SIDES & SALADS with internal 3-col distribution */
.print-menu-shell .pm-body .mk-data-row-1 .mk-mini-block {
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 0.7em;
  align-items: start;
}
.print-menu-shell .pm-body .mk-data-row-1 .mk-mini-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.2em;
  row-gap: 0.05em;
}
/* Row 2: 3 equal columns for Desserts/Drinks/Dips */
.print-menu-shell .pm-body .mk-data-row-2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8em 1.2em;
}
.print-menu-shell .pm-body .mk-mini-block {
  min-width: 0;
}
.print-menu-shell .pm-body .mk-mini-label {
  display: block;
  font-size: 0.92em;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pm-veg);
  margin-bottom: 0.3em;
  line-height: 1.1;
}
.print-menu-shell .pm-body .mk-mini-items {
  display: flex;
  flex-direction: column;
  gap: 0.05em;
}
.print-menu-shell .pm-body .mk-line {
  display: flex;
  align-items: baseline;
  gap: 0.25em;
  font-size: 1.18em;
  line-height: 1.3;
}
.print-menu-shell .pm-body .mk-line-n {
  flex-shrink: 1;
  min-width: 0;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.print-menu-shell .pm-body .mk-line-dots {
  flex: 1;
  border-bottom: 1px dotted rgba(243, 238, 226, 0.22);
  margin-bottom: 0.3em;
  min-width: 0.4em;
}
.print-menu-shell .pm-body .mk-line-p {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: rgba(243, 238, 226, 0.95);
  flex-shrink: 0;
}

/* Toppings section - proper grid instead of comma-strip.
   Container has its own eyebrow + grid of topping cells. */
.print-menu-shell .pm-body .mk-toppings-strip {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}
.print-menu-shell .pm-body .mk-toppings-block {
  display: grid;
  grid-template-columns: 6.5em 1fr;
  gap: 0.6em;
  align-items: start;
}
.print-menu-shell .pm-body .mk-toppings-lbl {
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.95em;
  color: var(--pm-veg);
  padding-top: 0.18em;
  line-height: 1.2;
}
.print-menu-shell .pm-body .mk-toppings-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.02em 0.5em;
}
.print-menu-shell .pm-body .mk-toppings-grid--prem {
  grid-template-columns: repeat(5, 1fr);
}
.print-menu-shell .pm-body .mk-toppings-grid--driz {
  grid-template-columns: repeat(3, 1fr);
}
.print-menu-shell .pm-body .mk-topping {
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Color-coded toppings (category-driven, set by PHP transformer's `c` field) */
.print-menu-shell .pm-body .mk-topping--m  { color: var(--pm-meat); }   /* meats */
.print-menu-shell .pm-body .mk-topping--c  { color: var(--pm-cream); }  /* cheese */
.print-menu-shell .pm-body .mk-topping--v  { color: var(--pm-veg); }    /* veggies */
.print-menu-shell .pm-body .mk-topping--g  { color: var(--pm-gold); }   /* premium */
.print-menu-shell .pm-body .mk-topping--d  { color: #ffffff; }          /* drizzles */
.print-menu-shell .pm-body .mk-topping--ch { color: var(--pm-chicken); }/* chicken-specific */

.print-menu-shell .pm-body .mk-toppings-foot {
  font-size: 0.85em;
  font-style: italic;
  color: rgba(243, 238, 226, 0.6);
  padding-left: 7.1em;
  line-height: 1.3;
}

/* Dietary section - 4-col grid (one tile per option) */
.print-menu-shell .pm-body .mk-dietary-strip {
  display: grid;
  grid-template-columns: 6.5em 1fr;
  gap: 0.6em;
  align-items: start;
  padding-top: 0.3em;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.print-menu-shell .pm-body .mk-dietary-lbl {
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.95em;
  color: var(--pm-veg);
  padding-top: 0.18em;
  line-height: 1.2;
}
.print-menu-shell .pm-body .mk-dietary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.1em 0.6em;
}
.print-menu-shell .pm-body .mk-dietary-cell {
  font-size: 1.08em;
  line-height: 1.3;
  color: rgba(243, 238, 226, 0.95);
}
.print-menu-shell .pm-body .mk-dietary-cell b {
  display: block;
  font-weight: 700;
  color: #fff;
  font-size: 1.0em;
  letter-spacing: 0.01em;
}
.print-menu-shell .pm-body .mk-dietary-cell-price {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--pm-gold);
}

/* ════════════════ BACK SIDE ════════════════ */
.print-menu-shell .pm-body .mk-back-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1em;
  padding: 1em 1.4em;
  background: linear-gradient(135deg, var(--pm-bg1) 0%, var(--pm-bg2) 100%);
  border-bottom: 2px solid rgba(0, 0, 0, 0.3);
}
.print-menu-shell .pm-body .mk-back-headline {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
}
.print-menu-shell .pm-body .mk-back-title {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.4em;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  margin: 0.1em 0;
  color: #fff;
}
.print-menu-shell .pm-body .mk-back-price {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
  margin-top: 0.15em;
}
.print-menu-shell .pm-body .mk-back-price-lbl {
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(243, 238, 226, 0.55);
}
.print-menu-shell .pm-body .mk-back-price-amt {
  font-size: 1.4em;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--pm-gold);
}
.print-menu-shell .pm-body .mk-back-feature-tag {
  text-align: right;
  padding: 0.5em 0.8em;
  background: var(--pm-red);
  color: #fff;
  border-radius: 4px;
  line-height: 1.1;
}
.print-menu-shell .pm-body .mk-back-feature-tag span {
  display: block;
  font-size: 0.7em;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}
.print-menu-shell .pm-body .mk-back-feature-tag strong {
  display: block;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.3em;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.print-menu-shell .pm-body .mk-classics-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55em 1em;
  padding: 0.9em 1.4em;
  background:
    radial-gradient(60% 50% at 50% 100%, rgba(120, 72, 32, 0.20), transparent 70%),
    var(--pm-bg2);
}
.print-menu-shell .pm-body .mk-classic-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0.55em 0.7em;
  padding-bottom: 7.2em;
  background: rgba(255, 255, 255, 0.03);
  border-left: 3px solid var(--pm-veg);
  border-radius: 0 4px 4px 0;
  overflow: hidden;
  min-height: 9em;
}
/* Text block sits at the top, above the pizza strip and any glow effects. */
.print-menu-shell .pm-body .mk-classic-card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.18em;
  flex: 0 0 auto;
}
/* Regular (non-feature) classics: center the name + ingredients horizontally.
   The Margherita feature card keeps its left-aligned side-pizza layout. */
.print-menu-shell .pm-body .mk-classic-card:not(.mk-classic-card--feature) .mk-classic-card-body {
  text-align: center;
}
.print-menu-shell .pm-body .mk-classic-card:not(.mk-classic-card--feature) .mk-classic-card-head {
  justify-content: center;
}
/* Pizza strip - fills the empty band between the description text and
   the card bottom. object-fit:cover + object-position scales the square
   pizza icon to fill the wide-aspect strip while showing the top of the
   pizza (crust + topping arc). Bleeds past card padding to the edges. */
.print-menu-shell .pm-body .mk-classic-card-img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 7em;
  object-fit: cover;
  object-position: center 30%;
  z-index: 0;
  opacity: 0.95;
  pointer-events: none;
}
.print-menu-shell .pm-body .mk-classic-card.is-sold-out .mk-classic-card-img {
  opacity: 0.28;
  filter: grayscale(0.6);
}
/* Margherita / seasonal feature card spans both columns at the bottom -
   fills the empty 7th-cell gap and gets visual emphasis as the seasonal pick. */
.print-menu-shell .pm-body .mk-classic-card--feature {
  grid-column: 1 / -1;
  border-left-color: var(--pm-red);
  background: linear-gradient(90deg, rgba(178, 31, 45, 0.18) 0%, rgba(178, 31, 45, 0.04) 60%, transparent 100%);
  /* Right side reserved for the pizza graphic. The Seasonal pill is
     moved inline with the title (see head override below) so the entire
     right half is empty space for the pizza. */
  padding: 0.55em 11em 0.55em 0.7em;
}
/* Sunlight glow rising from beneath the pizza - warm golden radial
   gradient anchored at center-bottom of the pizza area. Sits behind
   the image (z-index 0; body text is z-index 1) so the pizza appears
   lit from below. */
.print-menu-shell .pm-body .mk-classic-card--feature::before {
  content: '';
  position: absolute;
  bottom: -1.5em;
  right: 0;
  width: 55%;
  height: 7em;
  background: radial-gradient(
    ellipse at center 80%,
    rgba(255, 220, 110, 0.55) 0%,
    rgba(255, 180, 60, 0.28) 30%,
    rgba(255, 150, 40, 0.10) 55%,
    transparent 75%
  );
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
/* Feature-card header: pack the title + Seasonal pill together at the
   left so the right side of the card is fully available for the pizza. */
.print-menu-shell .pm-body .mk-classic-card--feature .mk-classic-card-head {
  justify-content: flex-start;
  gap: 0.5em;
  align-items: center;
  flex-wrap: wrap;
}
.print-menu-shell .pm-body .mk-classic-card--feature .mk-classic-card-pills {
  margin: 0;
}
.print-menu-shell .pm-body .mk-classic-card--feature .mk-classic-card-img {
  /* Same wide-band treatment as the 6 classics, but positioned on the
     right half of the wider card. Pulled up to fill the full vertical
     empty space alongside the title/description rather than only the
     bottom strip, uses the space efficiently. */
  left: auto;
  right: 0;
  top: 0.3em;
  bottom: 0;
  width: 50%;
  height: auto;
  transform: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center 50%;
  z-index: 1;
}
/* "The Pizza of Summer!" - bright yellow tagline shown only on the
   seasonal feature card. Sits below the topping description in the
   left body, left-aligned and oversized for marketing emphasis. */
.print-menu-shell .pm-body .mk-classic-card-tagline {
  display: none;
}
.print-menu-shell .pm-body .mk-classic-card--feature .mk-classic-card-tagline {
  display: block;
  margin: 0.35em 0 0;
  text-align: left;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.025em;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.005em;
  color: #ffd84d;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
  position: relative;
  z-index: 3;
}
.print-menu-shell .pm-body .mk-classic-card--feature .mk-classic-card-name {
  color: var(--pm-red);
}
.print-menu-shell .pm-body .mk-classic-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.4em;
}
.print-menu-shell .pm-body .mk-classic-card-name {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 1.7em;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--pm-veg);
  line-height: 1.05;
  margin: 0;
}
.print-menu-shell .pm-body .mk-classic-card-pills {
  display: flex;
  gap: 0.3em;
}
.print-menu-shell .pm-body .mk-pill-seasonal,
.print-menu-shell .pm-body .mk-pill-soldout {
  font-size: 0.55em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 2px;
}
.print-menu-shell .pm-body .mk-pill-seasonal {
  background: var(--pm-red);
  color: #fff;
}
.print-menu-shell .pm-body .mk-pill-soldout {
  background: rgba(178, 31, 45, 0.2);
  color: var(--pm-red);
  border: 1px solid var(--pm-red);
}
.print-menu-shell .pm-body .mk-classic-card-ing {
  font-size: 1.05em;
  line-height: 1.4;
  color: rgba(243, 238, 226, 0.88);
  margin: 0;
}

.print-menu-shell .pm-body .mk-back-order-band {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1em;
  padding: 0.8em 1.4em;
  background: var(--pm-red);
  color: #fff;
  text-align: center;
}
.print-menu-shell .pm-body .mk-back-order-label {
  font-size: 0.8em;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  opacity: 0.85;
}
.print-menu-shell .pm-body .mk-back-order-phone {
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 2.6em;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  margin: 0.05em 0;
}
.print-menu-shell .pm-body .mk-back-order-details {
  font-size: 0.95em;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.print-menu-shell .pm-body .mk-back-order-sep {
  opacity: 0.55;
}
.print-menu-shell .pm-body .mk-back-order-hours {
  margin-top: 0.15em;
  font-size: 0.75em;
  font-weight: 500;
  opacity: 0.75;
  letter-spacing: 0.02em;
}

/* Sold-out treatment carries through to new layout */
.print-menu-shell .pm-body .mk-line.is-sold-out .mk-line-n,
.print-menu-shell .pm-body .mk-line.is-sold-out .mk-line-p,
.print-menu-shell .pm-body .mk-card-pizza.is-sold-out,
.print-menu-shell .pm-body .mk-classic-card.is-sold-out .mk-classic-card-name {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.print-menu-shell .pm-body .mk-line.is-sold-out,
.print-menu-shell .pm-body .mk-classic-card.is-sold-out {
  opacity: 0.45;
}
