/* Web Chef portfolio art-direction pass — loaded after each compiled theme. */
html { --priority-offset: 42px; }

/* Shared demo rail: compact, legible, and impossible to clip on narrow screens. */
.wcm-demo {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 6px clamp(12px, 3vw, 28px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  overflow: visible !important;
  background: #100e0c !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

@media (max-width: 360px) {
  html:has(body[data-theme="fathom"]), body[data-theme="fathom"] { overflow-x: clip !important; max-width: 100%; }
  body[data-theme="fathom"] .fm-contact, body[data-theme="fathom"] .fm-menu { min-width: 0 !important; }
}
@media (max-width: 899px) {
  .mobile-priority-nav { top: calc(42px + var(--header-h, 3.75rem)) !important; }
}
.wcm-demo__home,
.wcm-demo__buy {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
.wcm-demo__home {
  flex: 0 1 auto !important;
  color: #fff8ed !important;
  font: 700 12px/1.1 Arial, sans-serif !important;
  letter-spacing: .02em !important;
}
.wcm-demo__buy {
  flex: 0 0 auto !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #a8441f !important;
  color: #fff !important;
  font: 800 11px/1 Arial, sans-serif !important;
  text-decoration: none !important;
}

/* 01 — Nightstack: a wider, grittier after-dark street poster. */
body[data-theme="nightstack"] {
  background:
    linear-gradient(rgba(255,83,42,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,83,42,.025) 1px, transparent 1px),
    #080706 !important;
  background-size: 42px 42px !important;
}
body[data-theme="nightstack"] .site-header__inner,
body[data-theme="nightstack"] .wrap,
body[data-theme="nightstack"] .hero-ticket__inner,
body[data-theme="nightstack"] .site-footer__inner { max-width: 1320px !important; }
body[data-theme="nightstack"] .hero-ticket { min-height: min(860px, 88vh) !important; }
body[data-theme="nightstack"] .hero-ticket__inner { gap: clamp(36px, 7vw, 104px) !important; }
body[data-theme="nightstack"] .hero-ticket__title {
  font-size: clamp(4.4rem, 8.8vw, 8.8rem) !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}
body[data-theme="nightstack"] .hero-ticket__frame {
  transform: rotate(1.1deg) !important;
  box-shadow: 22px 24px 0 rgba(255,75,37,.12) !important;
}
body[data-theme="nightstack"] .menu-categories {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 42px 64px !important;
  align-items: start !important;
}
body[data-theme="nightstack"] .menu-category:first-child { grid-column: 1 / -1; }
body[data-theme="nightstack"] .break-bleed__cap { border-left: 4px solid #ff512d !important; }

/* 02 — Rizzo's: butcher paper, counter stamps, denser board. */
body[data-theme="rizzos"] {
  background-color: #f1eadc !important;
  background-image: repeating-linear-gradient(0deg, rgba(67,39,25,.018) 0 1px, transparent 1px 5px) !important;
}
body[data-theme="rizzos"] .counter__title {
  font-size: clamp(4.8rem, 9.5vw, 10.5rem) !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}
body[data-theme="rizzos"] .counter__copy { padding-inline: clamp(26px, 5vw, 88px) !important; }
body[data-theme="rizzos"] .counter__photo { border-bottom: 9px solid #96382f !important; }
body[data-theme="rizzos"] .counter-board {
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-inline: clamp(22px, 4vw, 64px) !important;
}
body[data-theme="rizzos"] .ticket-line__thumb:empty { display: none !important; }
body[data-theme="rizzos"] .ticket-line__thumb:empty + .ticket-line__body { grid-column: 1 / -1 !important; }
body[data-theme="rizzos"] .ticket-line { border-bottom: 1px dashed rgba(185,61,50,.48) !important; }
body[data-theme="rizzos"] .break-bleed__inner { transform: rotate(-.6deg) !important; }

/* 03 — NAMI: quiet editorial rhythm, copy before spectacle on mobile. */
body[data-theme="nami"] .oma__copy { padding: clamp(34px, 6vw, 92px) !important; }
body[data-theme="nami"] .oma__title {
  font-size: clamp(4rem, 8vw, 8rem) !important;
  letter-spacing: -.035em !important;
}
body[data-theme="nami"] .oma__marks { opacity: .42 !important; }
body[data-theme="nami"] .oma-menu { padding-block: clamp(70px, 10vw, 150px) !important; }
body[data-theme="nami"] .oma-menu__intro,
body[data-theme="nami"] .oma-list { max-width: 980px !important; }
body[data-theme="nami"] .oma-row__line { padding-block: 20px !important; }
body[data-theme="nami"] .oma-row__name { font-size: clamp(1.3rem, 2.1vw, 1.85rem) !important; }
body[data-theme="nami"] .oma-story { border-block: 1px solid #d02e26 !important; }

/* 04 — Smoke & Rye: cinematic, but edited rather than endless. */
body[data-theme="smoke-and-rye"] .pit { min-height: min(900px, 92vh) !important; }
body[data-theme="smoke-and-rye"] .pit__copy { max-width: 760px !important; }
body[data-theme="smoke-and-rye"] .pit__title {
  font-size: clamp(5.5rem, 11vw, 12rem) !important;
  line-height: .75 !important;
  letter-spacing: -.055em !important;
}
body[data-theme="smoke-and-rye"] .pit-menu { max-width: 1440px !important; margin-inline: auto !important; }
body[data-theme="smoke-and-rye"] #menu-mains {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2px !important;
  background: #2b2019 !important;
}
body[data-theme="smoke-and-rye"] #menu-mains > .pit-cat__title { grid-column: 1 / -1 !important; }
body[data-theme="smoke-and-rye"] #menu-mains .pit-item {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  min-width: 0 !important;
  background: #17100d !important;
}
body[data-theme="smoke-and-rye"] #menu-mains .pit-item__photo {
  grid-column: auto !important;
  grid-row: auto !important;
  order: 1 !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
}
body[data-theme="smoke-and-rye"] #menu-mains .pit-item__copy {
  grid-column: auto !important;
  grid-row: auto !important;
  order: 2 !important;
  min-height: 220px !important;
  padding: clamp(26px, 3vw, 44px) !important;
}
body[data-theme="smoke-and-rye"] #menu-mains .pit-item--plain .pit-item__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100% !important;
}
body[data-theme="smoke-and-rye"] .pit-item__photo { min-height: 390px !important; max-height: 580px !important; }
body[data-theme="smoke-and-rye"] .pit-item__copy { padding: clamp(30px, 5vw, 72px) !important; }
body[data-theme="smoke-and-rye"] .pit-item__desc { max-width: 48ch !important; }
body[data-theme="smoke-and-rye"] .pit-story__panel { transform: rotate(-1deg) !important; box-shadow: 18px 20px 0 rgba(239,82,26,.2) !important; }

/* 05 — Loud Bird: flash-lit diner hero with image and copy in separate panels. */
body[data-theme="loud-bird"] .mq-hero{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)!important;align-items:stretch!important;gap:0!important;padding:0!important;min-height:calc(100svh - 2.75rem)!important;overflow:hidden!important}
body[data-theme="loud-bird"] .mq-hero__stage{display:block!important;width:auto!important;min-height:calc(100svh - 2.75rem)!important;grid-template-columns:none!important;align-items:stretch!important;gap:0!important}
body[data-theme="loud-bird"] .mq-hero__photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;object-fit:cover!important}
body[data-theme="loud-bird"] .mq-hero__side{width:auto!important;max-width:none!important;margin:0!important;padding:clamp(2rem,5vw,6rem)!important;position:relative!important;z-index:2!important}
body[data-theme="loud-bird"] .mq-hot{width:auto!important;font-size:clamp(4rem,9vw,9.5rem)!important;line-height:.78!important;letter-spacing:-.075em!important;color:#111!important;opacity:1!important}
body[data-theme="loud-bird"] .mq-scale{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
body[data-theme="loud-bird"] .mq-scale li{min-width:0!important;display:block!important;font-size:clamp(1rem,1.7vw,1.6rem)!important;color:#111!important}
body[data-theme="loud-bird"] .mq-scale li::before{display:none!important}
body[data-theme="loud-bird"] .mq-tile__copy { min-height: 0 !important; padding: 20px !important; }
body[data-theme="loud-bird"] .mq-grid { align-items: start !important; gap: 8px !important; }
body[data-theme="loud-bird"] .mq-menu { padding-bottom: clamp(80px, 10vw, 150px) !important; }
body[data-theme="loud-bird"] .mq-scream {
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding-inline: clamp(18px, 4vw, 56px) !important;
  color: #ffe147 !important;
  text-shadow: 5px 5px 0 #e9471c !important;
}
body[data-theme="loud-bird"] .mq-story { border-top: 14px solid #ffe147 !important; }

@media (max-width: 899px) {
  body[data-theme="loud-bird"] .mq-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  body[data-theme="loud-bird"] .mq-hero__stage {
    width: 100% !important;
    min-height: 56svh !important;
  }
  body[data-theme="loud-bird"] .mq-hot {
    font-size: clamp(4.5rem, 20vw, 8rem) !important;
  }
  body[data-theme="loud-bird"] .mq-hero__side {
    width: 100% !important;
    max-width: none !important;
    min-height: 44svh !important;
    padding: 2rem 1.25rem 2.5rem !important;
  }
}

@media (max-width: 360px) {
  body[data-theme="loud-bird"] .mq-hero__stage { min-height: 46svh !important; }
  body[data-theme="loud-bird"] .mq-hot { font-size: 4.2rem !important; }
}

/* 06 — Mira: Miami produce-crate geometry and a completed desktop grid. */
body[data-theme="mira"] .mira-hero__wordwrap { min-height: 250px !important; max-height: 410px !important; overflow: hidden !important; }
body[data-theme="mira"] .mira-hero__word {
  font-size: clamp(10rem, 25vw, 25rem) !important;
  letter-spacing: -.09em !important;
  line-height: .7 !important;
}
body[data-theme="mira"] .mira-hero__copy { padding: clamp(34px, 6vw, 92px) !important; }
body[data-theme="mira"] .mira-hero__shot { transform: rotate(-4deg) !important; box-shadow: 12px 12px 0 #ff553c !important; }
body[data-theme="mira"] .mira-menu { padding-block: clamp(64px, 9vw, 132px) !important; }
body[data-theme="mira"] .mira-menu__head,
body[data-theme="mira"] .mira-scroller { max-width: 1240px !important; margin-inline: auto !important; }
body[data-theme="mira"] .mira-scroller {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  overflow: visible !important;
}
body[data-theme="mira"] .mira-card__fill { min-height: 150px !important; }
body[data-theme="mira"] .mira-card { min-width: 0 !important; border: 2px solid #113f35 !important; }
body[data-theme="mira"] .mira-card:nth-child(even) { transform: translateY(18px) rotate(.6deg) !important; }
body[data-theme="mira"] .mira-story__box { box-shadow: 14px 14px 0 #b9f400 !important; }

/* 07 — Sunup: a real morning edition, not a narrow beige column. */
body[data-theme="sunup"] {
  background:
    repeating-linear-gradient(0deg, rgba(53,37,24,.018) 0 1px, transparent 1px 6px),
    #f2ecdf !important;
}
body[data-theme="sunup"] .gaz-index,
body[data-theme="sunup"] .front,
body[data-theme="sunup"] .gaz-menu,
body[data-theme="sunup"] .story,
body[data-theme="sunup"] .letters,
body[data-theme="sunup"] .gaz-foot { max-width: 1180px !important; }
body[data-theme="sunup"] .front { padding-top: clamp(40px, 6vw, 80px) !important; }
body[data-theme="sunup"] .front__grid { gap: clamp(38px, 7vw, 92px) !important; }
body[data-theme="sunup"] .front__title {
  font-size: clamp(4.4rem, 8vw, 8.5rem) !important;
  line-height: .86 !important;
  letter-spacing: -.05em !important;
}
body[data-theme="sunup"] .front__kicker,
body[data-theme="sunup"] .gaz-menu__kicker,
body[data-theme="sunup"] .story__kicker { color: #a13d36 !important; font-weight: 800 !important; }
body[data-theme="sunup"] .stop { border-width: 3px 1px 1px !important; border-top-color: #a13d36 !important; box-shadow: 9px 9px 0 rgba(161,61,54,.12) !important; }
body[data-theme="sunup"] .gaz-ads { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 28px !important; }
body[data-theme="sunup"] .story__photo { transform: rotate(.7deg) !important; box-shadow: 12px 14px 0 rgba(161,61,54,.14) !important; }

/* 08 — Fathom: working-harbor manifest with stronger information density. */
body[data-theme="fathom"] .fm-hero {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  min-height: min(760px, 82vh) !important;
}
body[data-theme="fathom"] .fm-hero__copy {
  position: relative !important;
  padding: clamp(38px, 6vw, 92px) !important;
  background:
    linear-gradient(90deg, transparent 0 94%, rgba(10,57,68,.07) 94%),
    #f3efe3 !important;
}
body[data-theme="fathom"] .fm-hero__copy::before {
  content: "CATCH / 08  •  BELL HARBOR  •  TIDE TABLE";
  position: absolute;
  top: 26px;
  left: clamp(38px, 6vw, 92px);
  color: #ef572f;
  font: 800 11px/1 monospace;
  letter-spacing: .18em;
}
body[data-theme="fathom"] .fm-hero h1 {
  font-size: clamp(4.8rem, 8.4vw, 8.2rem) !important;
  line-height: .82 !important;
  letter-spacing: -.055em !important;
}
body[data-theme="fathom"] .fm-hero__photo { border-width: 0 0 0 8px !important; border-color: #ff552f !important; }
body[data-theme="fathom"] .fm-menu { padding-bottom: clamp(68px, 9vw, 130px) !important; }
body[data-theme="fathom"] .fm-row__fill {
  background-image: repeating-linear-gradient(90deg, rgba(9,57,67,.18) 0 1px, transparent 1px 7px) !important;
}
body[data-theme="fathom"] .fm-story__strip { border-block: 8px solid #073b45 !important; }
body[data-theme="fathom"] .fm-contact { border-top: 12px solid #edc74c !important; }

@media (max-width: 760px) {
  .wcm-demo { padding-inline: 14px !important; }
  .wcm-demo__home { max-width: none !important; overflow: visible !important; }
  .wcm-demo__buy-long { display: none !important; }
  .wcm-demo__buy-short { display: inline !important; }

  body[data-theme="nightstack"] .hero-ticket { min-height: 0 !important; }
  body[data-theme="nightstack"] .hero-ticket__title { font-size: clamp(4rem, 18vw, 6rem) !important; }
  body[data-theme="nightstack"] .hero-ticket__frame { transform: none !important; box-shadow: 8px 10px 0 rgba(255,75,37,.12) !important; }
  body[data-theme="nightstack"] .menu-categories { grid-template-columns: 1fr !important; gap: 30px !important; }
  body[data-theme="nightstack"] .menu-category:first-child { grid-column: auto; }

  body[data-theme="rizzos"] .counter__title { font-size: clamp(4rem, 17vw, 6rem) !important; }
  body[data-theme="rizzos"] .counter__copy { padding-inline: 18px !important; }
  body[data-theme="rizzos"] .break-bleed__inner { transform: none !important; }

  body[data-theme="nami"] .oma { display: flex !important; flex-direction: column !important; }
  body[data-theme="nami"] .oma__cloth { display: flex !important; flex-direction: column !important; }
  body[data-theme="nami"] .oma__copy { order: 1 !important; padding: 34px 20px 28px !important; }
  body[data-theme="nami"] .oma__marks { order: 2 !important; padding-inline: 20px !important; }
  body[data-theme="nami"] .oma-today { order: 3 !important; margin: 18px 20px 34px !important; }
  body[data-theme="nami"] .oma__spring { order: 4 !important; min-height: 22px !important; }
  body[data-theme="nami"] .oma__sign,
  body[data-theme="nami"] .oma__edge { position: absolute !important; opacity: .16 !important; }
  body[data-theme="nami"] .oma__plate { order: 2 !important; min-height: 62vh !important; }
  body[data-theme="nami"] .oma__title { font-size: clamp(4rem, 18vw, 6rem) !important; }

  body[data-theme="smoke-and-rye"] .pit { min-height: 760px !important; }
  body[data-theme="smoke-and-rye"] .pit__title { font-size: clamp(5rem, 21vw, 7rem) !important; }
  body[data-theme="smoke-and-rye"] #menu-mains { grid-template-columns: 1fr !important; }
  body[data-theme="smoke-and-rye"] #menu-mains > .pit-cat__title { grid-column: auto !important; }
  body[data-theme="smoke-and-rye"] #menu-mains .pit-item__copy { min-height: 0 !important; padding: 28px 20px !important; }
  body[data-theme="smoke-and-rye"] #menu-mains .pit-item--plain .pit-item__copy { min-height: 260px !important; }
  body[data-theme="smoke-and-rye"] #menu-mains .pit-item__photo { aspect-ratio: 5 / 4 !important; }
  body[data-theme="smoke-and-rye"] .pit-item__photo { min-height: 330px !important; }

  body[data-theme="loud-bird"] .mq-scream { text-shadow: 3px 3px 0 #e9471c !important; }

  body[data-theme="mira"] .mira-hero__wordwrap { min-height: 160px !important; max-height: 210px !important; }
  body[data-theme="mira"] .mira-hero__word { font-size: 48vw !important; }
  body[data-theme="mira"] .mira-scroller { grid-template-columns: 1fr !important; padding-inline: 16px !important; }
  body[data-theme="mira"] .mira-card:nth-child(even) { transform: none !important; }

  body[data-theme="sunup"] .front__title { font-size: clamp(4rem, 17vw, 6rem) !important; }
  body[data-theme="sunup"] .gaz-ads { grid-template-columns: 1fr !important; }

  body[data-theme="fathom"] .fm-hero { grid-template-columns: 1fr !important; min-height: 0 !important; }
  body[data-theme="fathom"] .fm-hero__copy { padding: 82px 18px 38px !important; }
  body[data-theme="fathom"] .fm-hero__copy::before { left: 18px; top: 36px; font-size: 9px; }
  body[data-theme="fathom"] .fm-hero__photo { border-width: 6px 0 0 !important; }
}
