:root {
  --ink: #171611;
  --paper: #f2eadb;
  --cream: #fffaf0;
  --accent: #ed5d3a;
  --acid: #d8e64b;
  --muted: #6b675e;
  --line: color-mix(in srgb, var(--ink), transparent 78%);
  --display: "Fraunces", Georgia, serif;
  --body: "Work Sans", system-ui, sans-serif;
  --mono: "DM Mono", ui-monospace, monospace;
  --ease: cubic-bezier(.2,.8,.2,1);
  --scroll-track: #17161112;
  --scroll-thumb: #6b675e99;
  --scroll-thumb-hover: #171611bb;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); }
html { scrollbar-color: var(--scroll-thumb) var(--scroll-track); scrollbar-width: thin; }
html ::-webkit-scrollbar { width: 11px; height: 11px; }
html ::-webkit-scrollbar-track { background: var(--scroll-track); }
html ::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--scroll-thumb); background-clip: padding-box; }
html ::-webkit-scrollbar-thumb:hover { background-color: var(--scroll-thumb-hover); }
button, input, select { font: inherit; }
a { color: inherit; }
.skip { position: fixed; z-index: 20; top: .5rem; left: .5rem; padding: .7rem 1rem; background: var(--ink); color: white; transform: translateY(-150%); }
.skip:focus { transform: none; }
.wordmark { display: inline-flex; align-items: center; gap: 8px; font: 600 19px/1 var(--body); text-decoration: none; letter-spacing: -.6px; white-space: nowrap; }
.wordmark i { width: 28px; height: 28px; display: inline-block; flex: none; background: url("/landing/venue-menus-mark-imagegen.png") center/contain no-repeat; }
.studio-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(1.2rem,4vw,4.5rem); border-bottom: 1px solid var(--line); }
.eyebrow, .section-no { margin: 0 0 1.2rem; font: 500 .72rem/1.2 var(--mono); text-transform: uppercase; letter-spacing: .12em; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 1.2rem; border: 1px solid var(--ink); background: transparent; border-radius: 4px; color: inherit; text-decoration: none; cursor: pointer; font-weight: 750; transition: transform .2s var(--ease),box-shadow .2s var(--ease),background .2s ease; }
.button:hover { transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--ink); }
.button:active { transform: translate(0,0); box-shadow: 1px 1px 0 var(--ink); }
.button:focus-visible, input:focus-visible, select:focus-visible, .landing a:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
.button.primary { background: var(--ink); color: var(--cream); }
.button.quiet { background: color-mix(in srgb,var(--cream),transparent 35%); }
.button.danger { background: #9d2929; color: white; }
.button.warning { background: #f3c66a; color: var(--ink); }
.button:disabled,.button[aria-disabled="true"] { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.sync-dot { display: inline-block; width: .5rem; height: .5rem; margin-left: .4rem; border-radius: 50%; background: #6bd685; box-shadow: 0 0 0 3px #6bd68522; }

/* Landing: permanent Free offer and Untappd replacement positioning. */
.landing { --ink: #151310; --paper: #f1eadf; --cream: #f5efe4; --accent: #efc866; --acid: #efc866; --muted: #6f695f; max-width: 1100px; margin: 0 auto; background: var(--paper); font: 400 15px/1.5 var(--body); }
html:has(.landing) { background: #f1eadf; }
.landing h1, .landing h2, .landing h3, .landing p { margin: 0; }
.landing h1, .landing h2, .landing h3 { font-family: var(--display); font-weight: 600; letter-spacing: -.045em; }
.landing h1 { font-size: clamp(42px,6.5vw,72px); line-height: 1.02; }
.landing h2 { font-size: 32px; line-height: 1.1; }
.landing h3 { font-size: 24px; line-height: 1.15; }
.landing a { text-underline-offset: 4px; touch-action: manipulation; }
.landing a:hover { opacity: .78; }
.landing a:active { opacity: .65; }
.landing a:focus-visible { outline: 3px solid #a17619; outline-offset: 4px; }
.lp-nav { display: flex; justify-content: space-between; align-items: center; padding: 22px 30px; border-bottom: 1px solid #15131025; gap: 20px; }
.lp-logo { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; letter-spacing: -.6px; font-size: 19px; text-decoration: none; white-space: nowrap; }
.lp-logo img { width: 28px; height: 28px; object-fit: contain; }
.lp-nav-links { display: flex; align-items: center; gap: 20px; font-size: 13px; }
.lp-nav-links a { text-decoration: none; }
.lp-button { gap: 4px; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; background: var(--ink); color: #fffaf0; border: 1px solid var(--ink); border-radius: 999px; padding: 11px 22px; text-decoration: none; font-weight: 600; font-size: 14px; }
.lp-muted { color: var(--muted); }
.lp-small { font-size: 12px; }
.landing .lp-kicker { font-size: 12px; letter-spacing: .04em; margin-bottom: 18px; }
.landing .lp-copy { font-size: 16px; line-height: 1.65; max-width: 490px; margin: 20px 0 24px; }
.landing .lp-note { font-size: 12px; margin-top: 12px; color: var(--muted); }
.lp-foot { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #15131025; padding: 24px 30px; font-size: 12px; }
.lp-foot nav { display: flex; flex-wrap: wrap; gap: 16px; }
.lp-hero { padding: 36px 30px 32px; }
.lp-hero-topline { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.landing .lp-hero .lp-kicker { margin: 0; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: #705516; }
.lp-hero-aside { font-size: 10px; max-width: 170px; }
/* Disable automatic optical sizing so Safari honors the explicit Fraunces axis. */
.landing .lp-hero h1 { font-optical-sizing: none; font-variation-settings: "opsz" 9; font-size: clamp(58px, 9.6vw, 110px); line-height: .93; margin: 25px 0 28px; letter-spacing: -.065em; }
.lp-hero h1 span { display: block; }
.lp-free-line { color: #705516; padding-top: 7px; }
.lp-hero-bottom { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.landing .lp-hero .lp-copy { margin: 0; max-width: 430px; font-size: 13px; line-height: 1.5; }
.lp-hero .lp-button { gap: 20px; font-size: 12px; padding: 12px 22px; white-space: nowrap; }
.lp-hero .lp-note { font-size: 11px; }
.lp-free-offer { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 30px; }
.lp-free-offer h2 { font-size: 28px; }
.landing .lp-free-offer > div > p { margin-top: 10px; font-size: 12px; color: var(--muted); }
.lp-price { display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; align-items: center; }
.lp-price > p:first-child { grid-column: 2; font-size: 12px; }
.lp-zero { grid-row: 1 / 4; font-family: var(--display); font-size: 100px; letter-spacing: .02em; line-height: .9; }
.lp-price strong { font-size: 13px; }
.landing .lp-price-note { margin: 0; }
.lp-theme-demo { margin: 0 30px; background: #fffaf0; border: 1px solid #d8cfc0; }
.lp-demo-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 17px 20px; border-bottom: 1px solid #d8cfc0; }
.lp-demo-toolbar h2 { font: 600 11px/1.5 var(--body); letter-spacing: 0; }
.lp-demo-toolbar > span { background: var(--accent); padding: 3px 10px; border-radius: 999px; font-size: 10px; white-space: nowrap; }
.lp-demo-picker { min-width: 0; padding: 0; margin: 0; border: 0; }
.lp-visually-hidden, .lp-demo-options input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.lp-demo-stage { padding: 20px; }
.lp-demo-image { aspect-ratio: 16 / 9; }
.lp-demo-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.lp-demo-options { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding: 0 20px 20px; }
.lp-demo-options label { position: relative; cursor: pointer; }
.lp-demo-option { display: block; height: 100%; padding: 10px 2px 8px; border: 1px solid transparent; color: #514b42; font-size: 9px; line-height: 1.4; text-align: center; }
.lp-demo-option i { display: block; width: 28px; height: 28px; border-radius: 50%; margin: 0 auto 7px; border: 1px solid #15131030; }
.lp-demo-options label:hover .lp-demo-option { background: var(--paper); }
.lp-demo-options label:active .lp-demo-option { opacity: .65; }
.lp-demo-options input:checked + .lp-demo-option { border-color: #705516; background: var(--paper); }
.lp-demo-options input:focus-visible + .lp-demo-option { outline: 3px solid #705516; outline-offset: 3px; }
.lp-demo-caption { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #d8cfc0; padding: 16px 20px; font-size: 10px; color: var(--muted); }
.lp-demo-caption strong { color: var(--ink); }
.lp-demo-picker [data-demo-theme] { display: none; }
.lp-demo-picker:has(input[value="velvet-copper"]:checked) [data-demo-theme="velvet-copper"] { display: block; }
.lp-demo-picker:has(input[value="cobalt-club"]:checked) [data-demo-theme="cobalt-club"] { display: block; }
.lp-demo-picker:has(input[value="sea-glass"]:checked) [data-demo-theme="sea-glass"] { display: block; }
.lp-demo-picker:has(input[value="burgundy-ledger"]:checked) [data-demo-theme="burgundy-ledger"] { display: block; }
.lp-demo-picker:has(input[value="pine"]:checked) [data-demo-theme="pine"] { display: block; }
.lp-demo-picker:has(input[value="marigold"]:checked) [data-demo-theme="marigold"] { display: block; }
.lp-ledger { margin: 0; padding: 0 30px 32px; }
.lp-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 15px 0; border-bottom: 1px solid #15131030; font-size: 14px; }
.lp-row dd { margin: 0; font-size: 12px; white-space: nowrap; }
.lp-contract { background: var(--accent); padding: 24px 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.lp-contract h2 { font-size: 24px; line-height: 1.15; }
.lp-contract p { font-size: 13px; }
.lp-start-heading { padding: 38px 30px 24px; }
.landing .lp-start-heading p { font-size: 13px; color: var(--muted); margin-top: 12px; }
.lp-start-paths { padding: 0 30px 35px; }
.lp-start-path { display: grid; grid-template-columns: 36px 1fr auto; gap: 18px; padding: 22px 0; border-top: 1px solid #15131040; align-items: center; }
.lp-number { font-family: var(--display); font-size: 28px; color: #705516; }
.lp-start-path h3 { font-size: 24px; }
.landing .lp-start-path p { font-size: 13px; color: var(--muted); margin-top: 5px; max-width: 360px; }
.lp-start-path a { width: 44px; height: 44px; border: 1px solid var(--ink); border-radius: 50%; display: flex; justify-content: center; align-items: center; text-decoration: none; font-size: 22px; }
.lp-start-path a:hover { background: var(--accent); opacity: 1; }
.lp-final { padding: 34px 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #e9dfcc; }
.lp-final h2 { font-size: 26px; }
.landing .lp-final p { font-size: 12px; margin-top: 8px; }
.lp-switch-scope, .lp-switch-faq { padding: 36px 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; border-top: 1px solid var(--line); }
.lp-switch-scope p, .lp-switch-faq p { font-size: 14px; line-height: 1.7; }
.landing .lp-switch-scope p + p { margin-top: 14px; color: var(--muted); }
.lp-switch-faq details { border-bottom: 1px solid var(--line); }
.lp-switch-faq summary { cursor: pointer; padding: 18px 0; font-weight: 600; font-size: 14px; }
.lp-switch-faq summary:hover { color: #705516; }
.lp-switch-faq summary:active { opacity: .65; }
.lp-switch-faq summary:focus-visible { outline: 3px solid #a17619; outline-offset: 4px; }
.landing .lp-switch-faq details p { padding-bottom: 18px; color: var(--muted); }
.lp-positioning { padding: 38px 30px; scroll-margin-top: 24px; }
.lp-positioning-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.lp-positioning-columns h3 { padding-bottom: 16px; border-bottom: 2px solid var(--ink); }
.lp-positioning-columns ul { list-style: none; padding: 0; margin: 0; }
.lp-positioning-columns li { padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.lp-positioning-columns strong { font-weight: 600; }
.landing .lp-positioning-columns p { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.7; }
@media screen and (max-width: 700px) {
  .lp-positioning { padding: 30px 20px; }
  .lp-positioning-columns { grid-template-columns: 1fr; gap: 28px; }
  .lp-switch-scope, .lp-switch-faq { grid-template-columns: 1fr; padding: 30px 20px; gap: 22px; }
}
@media (max-width: 480px) {
  .lp-nav { padding: 20px; }
  .lp-nav-links { gap: 14px; }
  .lp-pricing-link { display: none; }
  .lp-final { padding: 28px 20px; align-items: start; flex-direction: column; }
  .lp-foot { padding: 22px 20px; flex-wrap: wrap; }
  .lp-ledger { padding: 0 20px 25px; }
  .lp-contract { grid-template-columns: 1fr; }
  .lp-start-paths { padding: 0 20px 24px; }
  .lp-start-path { grid-template-columns: 36px 1fr 44px; gap: 12px; }
  .lp-start-heading { padding: 30px 20px 24px; }
}

@media screen and (max-width: 700px) {
  .lp-free-offer { flex-direction: column; align-items: start; }
}
@media (max-width: 540px) {
  .lp-hero { padding: 28px 20px; }
  .lp-hero-aside { display: none; }
  .landing .lp-hero h1 { font-size: clamp(40px, 11.6vw, 58px); margin: 25px 0; }
  .lp-hero-bottom { flex-direction: column; align-items: start; gap: 20px; }
  .lp-theme-demo { margin: 0 20px; }
  .lp-demo-toolbar, .lp-demo-caption { padding: 14px; }
  .lp-demo-stage { padding: 12px; }
  .lp-demo-options { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 12px 12px; }
  .lp-demo-option { font-size: 10px; }
  .lp-demo-caption { flex-direction: column; }
  .lp-free-offer { padding: 28px 20px; }
  .lp-free-offer h2 { font-size: 26px; }
}

.lp-comparison { padding: 38px 30px 48px; scroll-margin-top: 24px; }
.lp-comparison-head { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: end; margin-bottom: 24px; }
.lp-comparison-head > p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.landing .lp-comparison-hint { margin-bottom: 14px; color: var(--muted); font-size: 12px; }
.lp-comparison-scroll { overflow-x: auto; border: 1px solid #15131030; }
.lp-comparison-scroll:focus-visible { outline: 3px solid #a17619; outline-offset: 4px; }
.lp-comparison table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 13px; }
.lp-comparison th, .lp-comparison td { width: 24%; padding: 16px; text-align: left; vertical-align: middle; border-right: 1px solid #15131020; border-bottom: 1px solid #15131020; overflow-wrap: break-word; }
.lp-comparison th:last-child, .lp-comparison td:last-child { border-right: 0; }
.lp-comparison thead th { background: var(--ink); color: var(--cream); font-weight: 600; }
.lp-comparison th:first-child { width: 28%; }
.lp-comparison tbody th[scope="row"] { font-weight: 600; background: var(--cream); }
.lp-comparison .lp-our-column { background: #f7eac5; }
.lp-comparison thead .lp-our-column { background: var(--accent); color: var(--ink); }
.lp-comparison .lp-category-row th { width: auto; padding: 10px 16px; background: #e9dfcc; font-weight: 600; }
.lp-comparison .lp-included { font-weight: 400; }
.landing .lp-comparison .lp-free { color: #386044; font-weight: 600; }
.lp-comparison .lp-coming { color: #705516; font-weight: 600; }
.landing .lp-comparison-note { margin-top: 16px; color: var(--muted); font-size: 12px; line-height: 1.65; }
@media (max-width: 800px) {
  .lp-comparison-head { grid-template-columns: 1fr; gap: 18px; }
  .lp-comparison table { width: 760px; }
  .lp-comparison th, .lp-comparison td { width: 200px; padding: 14px; }
  .lp-comparison th:first-child { width: 160px; }
  .lp-comparison thead th:first-child, .lp-comparison tbody th[scope="row"] { position: sticky; left: 0; z-index: 1; }
}
@media (max-width: 480px) {
  .lp-comparison { padding: 30px 20px 38px; }
  .landing #compare .lp-comparison-scroll { container-type: inline-size; margin-inline: -20px; border-inline: 0; }
  .landing #compare table { width: calc(200cqw - 80px); }
  .landing #compare th, .landing #compare td { width: 25%; padding-inline: 10px; }
}

.lp-workflow, .lp-themes, .lp-design-range, .lp-holidays { padding: 38px 30px; scroll-margin-top: 24px; }
.lp-proof-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: end; margin-bottom: 26px; }
.lp-proof-heading > p { color: var(--muted); font-size: 14px; line-height: 1.65; }
.lp-workflow-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 0 0 28px; padding: 20px 0; border-block: 1px solid #15131030; list-style: none; }
.lp-workflow-steps strong { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.lp-workflow-steps span { color: var(--muted); font-size: 12px; }
.lp-output-main { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 20px; }
.lp-output-more { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 20px; }
.lp-output, .lp-design-gallery figure, .lp-theme-gallery figure { margin: 0; min-width: 0; }
.lp-output figcaption { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; font-size: 13px; font-weight: 600; }
.lp-output figcaption a { color: var(--muted); font-size: 11px; font-weight: 400; }
.lp-output > a, .lp-design-gallery a, .lp-theme-gallery a { display: block; border: 1px solid #15131030; border-radius: 5px; overflow: hidden; }
.lp-output img, .lp-design-gallery img, .lp-theme-gallery img { width: 100%; height: auto; display: block; }
.landing .lp-output > a:hover, .landing .lp-design-gallery a:hover, .landing .lp-theme-gallery a:hover { opacity: 1; border-color: #705516; box-shadow: 0 0 0 2px #705516; }
.landing .lp-proof-note { margin-top: 18px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.lp-service-details { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 32px; padding-top: 28px; border-top: 1px solid #15131030; }
.lp-service-details h3 { font-size: 24px; }
.landing .lp-service-details p { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.lp-design-range { background: #e9dfcc; }
.lp-design-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.lp-themes { border-top: 1px solid #15131030; }
.lp-theme-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
.lp-design-gallery figcaption, .lp-theme-gallery figcaption { display: grid; gap: 4px; padding-top: 12px; font-size: 13px; }
.lp-design-gallery figcaption span, .lp-theme-gallery figcaption span { color: var(--muted); font-size: 12px; }
@media screen and (max-width: 700px) {
  .lp-proof-heading, .lp-service-details { grid-template-columns: 1fr; gap: 20px; }
  .lp-output-main { grid-template-columns: 1fr; }
  .lp-output-more { gap: 12px; }
  .lp-output figcaption { flex-direction: column; align-items: start; gap: 4px; }
  .lp-design-gallery, .lp-theme-gallery { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 480px) {
  .lp-workflow, .lp-themes, .lp-design-range, .lp-holidays { padding: 30px 20px; }
  .lp-workflow-steps { grid-template-columns: 1fr; gap: 16px; }
  .lp-output-more { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .lp-output-more figcaption { font-size: 11px; }
  .lp-output-more figcaption a { font-size: 10px; }
}

/* Search guides */
.seo-page { --ink: #151310; --paper: #f1eadf; --cream: #f5efe4; --accent: #efc866; --acid: #efc866; --muted: #6f695f; background: var(--paper); }
.seo-head { width: min(100% - 48px,1280px); min-height: 78px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; color: var(--ink); border-bottom: 1px solid var(--line); }
.seo-head nav { display: flex; align-items: center; gap: clamp(1rem,2.4vw,2.4rem); }
.seo-head nav a { color: inherit; font-size: .82rem; font-weight: 650; text-decoration: none; }
.seo-head .nav-cta { min-height: 42px; display: inline-flex; align-items: center; padding: .65rem 1rem; border: 1px solid var(--ink); border-radius: 4px; background: var(--ink); color: var(--cream); }
.seo-hero { width: min(100% - 48px,1280px); margin: 0 auto; padding: clamp(3rem,6vw,6rem) 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,5vw,5rem); color: var(--ink); }
.seo-hero-inner { min-width: 0; }
.seo-hero-image { min-width: 0; }
.seo-hero-image img { display: block; width: 100%; height: auto; max-height: 620px; aspect-ratio: 16/9; object-fit: contain; }
.seo-hero-image:has(img[src*="portrait"]) img { aspect-ratio: 9/16; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 2rem; color: var(--muted); font: 500 .68rem var(--mono); text-transform: uppercase; }
.breadcrumbs a { text-underline-offset: .2rem; }
.seo-hero h1 { max-width: 15ch; margin: 0; font: 800 clamp(3rem,5.2vw,5.2rem)/.98 var(--display); letter-spacing: -.035em; text-wrap: balance; }
.seo-lead { max-width: 52ch; margin: 1.5rem 0 0; color: var(--muted); font-size: clamp(1rem,1.3vw,1.15rem); line-height: 1.65; }
.seo-hero .hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.seo-hero .button.primary { border-color: var(--ink); background: var(--ink); color: var(--cream); }
.seo-hero .button.quiet { border-color: var(--ink); background: transparent; color: var(--ink); }
@media screen and (max-width: 900px) {
  .seo-hero { grid-template-columns: 1fr; gap: 2.5rem; }
  .seo-hero h1 { max-width: 18ch; }
  .seo-hero-image:has(img[src*="portrait"]) { max-width: 420px; justify-self: center; width: 100%; box-sizing: border-box; }
}
.seo-answer { width: min(100% - 48px,1180px); display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.78fr); gap: clamp(3rem,7vw,8rem); align-items: center; margin: 0 auto; padding: clamp(5rem,10vw,9rem) 0; }
.seo-answer h2,.seo-workflow h2,.seo-prices h2,.seo-faq h2,.seo-related h2,.seo-cta h2 { margin: 0; font: 700 clamp(2.6rem,5vw,5rem)/.98 var(--display); letter-spacing: 0; text-wrap: balance; }
.seo-answer > div > p:last-child { max-width: 64ch; margin: 1.5rem 0 0; color: var(--muted); font-size: 1.08rem; line-height: 1.75; }
.seo-hero-image,.seo-answer figure { margin: 0; border: 1px solid var(--ink); background: var(--ink); box-shadow: 12px 14px 0 #1513101f; }
.seo-answer img { width: 100%; display: block; }
.seo-answer figcaption { padding: .65rem .8rem; color: white; font: 500 .62rem var(--mono); text-transform: uppercase; }
.seo-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.seo-points article { min-height: 350px; padding: clamp(2rem,4vw,4rem); border-right: 1px solid var(--ink); }
.seo-points article:last-child { border-right: 0; }
.seo-points span { font: 500 .68rem var(--mono); color: #8a5f00; }
.seo-points h2 { max-width: 15ch; margin: 5rem 0 1rem; font: 650 clamp(1.8rem,3vw,3rem)/1 var(--display); letter-spacing: 0; }
.seo-points p { max-width: 45ch; margin: 0; color: var(--muted); line-height: 1.65; }
.seo-workflow,.seo-prices { display: grid; grid-template-columns: minmax(0,.8fr) minmax(420px,1fr); gap: clamp(3rem,8vw,9rem); padding: clamp(5rem,10vw,9rem) max(24px,calc((100% - 1180px)/2)); background: var(--ink); color: white; }
.seo-workflow ol { margin: 0; padding: 0; list-style: none; }
.seo-workflow li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid #ffffff38; }
.seo-workflow li span { color: var(--accent); font: 500 .68rem var(--mono); }
.seo-workflow li strong { font: 650 1.35rem var(--display); }
.seo-workflow li p { margin: .5rem 0 0; color: #ffffffae; line-height: 1.55; }
.seo-prices > div:first-child > p:last-child { color: #ffffffa8; line-height: 1.6; }
.seo-price-table { border-top: 1px solid white; }
.seo-price-table > div { display: grid; grid-template-columns: 1fr auto; gap: .45rem 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid #ffffff40; }
.seo-price-table strong { font: 650 1.2rem var(--display); }
.seo-price-table span { color: var(--accent); font: 500 .78rem var(--mono); }
.seo-price-table small { grid-column: 1/-1; color: #ffffffa8; }
.seo-faq { width: min(100% - 48px,1180px); display: grid; grid-template-columns: minmax(0,.75fr) minmax(420px,1fr); gap: clamp(3rem,8vw,9rem); margin: 0 auto; padding: clamp(5rem,10vw,9rem) 0; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--ink); }
.faq-list summary { padding: 1.4rem 2.5rem 1.4rem 0; cursor: pointer; font-weight: 750; line-height: 1.4; }
.faq-list p { max-width: 60ch; margin: 0; padding: 0 2rem 1.5rem 0; color: var(--muted); line-height: 1.65; }
.seo-related { padding: clamp(5rem,8vw,7rem) max(24px,calc((100% - 1180px)/2)); border-top: 1px solid var(--ink); }
.seo-related > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 3rem; background: var(--ink); border: 1px solid var(--ink); }
.seo-related a { min-height: 220px; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: 1.5rem; background: var(--cream); text-decoration: none; }
.seo-related a:hover { background: white; }
.seo-related span { color: var(--muted); font: 500 .65rem var(--mono); text-transform: uppercase; }
.seo-related strong { font: 650 clamp(1.35rem,2vw,2rem)/1.05 var(--display); }
.seo-cta { min-height: 590px; display: grid; place-content: center; justify-items: center; padding: 5rem 24px; background: var(--accent); text-align: center; }
.seo-cta h2 { max-width: 14ch; }
.seo-cta > p:not(.eyebrow) { max-width: 58ch; margin: 1.4rem auto; line-height: 1.6; }
.seo-footer { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: 4rem max(24px,calc((100% - 1180px)/2)); background: var(--ink); color: white; }
.seo-footer p { color: #ffffff94; }
.seo-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1rem 2rem; }
.seo-footer nav a { font-size: .8rem; text-decoration: none; }
.seo-footer small { grid-column: 1/-1; color: #ffffff70; }

@keyframes hero-in { from { opacity: 0; transform: translateY(18px); } }

/* Studio */
.studio { background: #e9e5dc; }
.studio-head { position: sticky; top: 0; z-index: 10; gap: 1.25rem; background: #f7f3eaee; backdrop-filter: blur(12px); }
.studio-head > div { display: flex; align-items: center; gap: .6rem; font-size: .75rem; color: var(--muted); }
.studio-support { min-height: 44px; padding: .65rem .75rem; flex-shrink: 0; white-space: nowrap; }
.studio-nav { position: fixed; top: 76px; bottom: 0; width: 180px; padding: 2rem 1.2rem; border-right: 1px solid var(--line); background: #f7f3ea; }
.studio-nav a { display: block; padding: .8rem .9rem; margin-bottom: .3rem; border-radius: 3px; text-decoration: none; font-size: .86rem; }
.studio-nav a.active { color: white; background: var(--ink); }
@media screen and (min-width: 701px) {
  .studio-nav a[data-studio-parent="menu"] { position: relative; margin-left: 14px; }
  .studio-nav a[data-studio-parent="menu"]::before { content: ""; position: absolute; left: -8px; top: -.3rem; bottom: 0; border-left: 1px solid var(--line); pointer-events: none; }
  .studio-nav a[data-studio-parent="menu"]::after { content: ""; position: absolute; left: -8px; top: 50%; width: 8px; border-top: 1px solid var(--line); pointer-events: none; }
  .studio-nav a[data-studio-link="languages"]::before { bottom: 50%; }
}
.workspace { margin-left: 180px; padding: clamp(1.5rem,4vw,4rem); }
.workspace-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 2rem; }
.workspace-head > div:first-child { flex: 1; min-width: 0; }
.workspace-head .workspace-actions { flex-shrink: 0; }
.workspace-head .button { white-space: nowrap; }
.workspace-head h1 { white-space: nowrap; margin: 0; font: 650 clamp(2.5rem,5vw,5.5rem)/.9 var(--display); letter-spacing: -.055em; }
.menu-picker { display: inline-flex; align-items: center; gap: .75rem; margin: 1rem 1rem 0 0; font: .65rem var(--mono); text-transform: uppercase; }
.menu-picker select { min-height: 38px; padding: .4rem 2.25rem .4rem .7rem; border: 1px solid var(--line); appearance: none; background: #faf8f2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23171611' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right .75rem center; }
.version-context { margin: 0 0 1.5rem; max-width: 75ch; font-size: .8rem; line-height: 1.5; }
.version-context p { margin: .35rem 0; color: var(--muted); }
.version-context a { text-underline-offset: .2em; }
.screen-version { color: var(--muted); font-size: .78rem; line-height: 1.5; }
@media (forced-colors: active) { .menu-picker select { appearance: auto; background-image: none; } }
.workspace-actions { display: flex; gap: .7rem; }
.panel { margin-bottom: 1.5rem; padding: clamp(1rem,2.5vw,2rem); background: #faf8f2; border: 1px solid var(--line); box-shadow: 5px 5px 0 #17161112; }
.panel-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.panel-head .section-no { margin-bottom: .5rem; color: var(--accent); }
.panel-head h2 { margin: 0; font: 600 2.2rem var(--display); }
.panel-head > p { max-width: 40ch; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.onboarding-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,1.15fr); gap: clamp(2rem,5vw,5rem); margin-bottom: 1.5rem; padding: clamp(1.5rem,3vw,3rem); border: 1px solid var(--ink); background: var(--ink); color: var(--cream); box-shadow: 8px 8px 0 color-mix(in srgb,var(--accent),transparent 15%); }
.onboarding-panel[hidden] { display: none; }
.onboarding-copy { align-self: center; }
.onboarding-copy .section-no { margin-bottom: .7rem; color: var(--acid); }
.onboarding-copy h2 { max-width: 11ch; margin: 0; font: 600 clamp(2rem,3.6vw,3.8rem)/.98 var(--display); }
.onboarding-copy > p:not(.section-no) { max-width: 52ch; margin: 1rem 0 0; color: #ffffffb8; line-height: 1.55; }
.onboarding-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.4rem; }
.onboarding-actions .button { border-color: var(--cream); }
.onboarding-actions .button.quiet { background: transparent; color: var(--cream); }
.onboarding-actions .button.primary { border-color: var(--acid); background: var(--acid); color: var(--ink); }
.onboarding-publication { align-self: center; min-width: 0; }
.onboarding-publication h3 { margin: 0 0 1rem; font: 600 1.1rem var(--body); }
.onboarding-publication dl { margin: 0; }
.onboarding-publication dl > div { padding: .9rem 0; border-top: 1px solid #ffffff2e; }
.onboarding-publication dt { margin-bottom: .4rem; font-weight: 600; font-size: .85rem; }
.onboarding-publication dd { margin: 0; color: #ffffffb8; font-size: .8rem; line-height: 1.5; }
.onboarding-publication > p { color: #ffffffb8; font-size: .74rem; line-height: 1.5; }
.onboarding-publication summary { cursor: pointer; font-size: .8rem; padding: .5rem 0; }
.onboarding-publication ul { padding-left: 1.2rem; font-size: .8rem; line-height: 1.6; overflow-wrap: anywhere; }
.onboarding-steps { align-self: stretch; display: grid; align-content: center; margin: 0; padding: 0; list-style: none; }
.onboarding-steps li { display: grid; grid-template-columns: 2.2rem 1fr; gap: .8rem; align-items: center; padding: 1rem 0; border-top: 1px solid #ffffff2e; color: #ffffff70; }
.onboarding-steps li:last-child { border-bottom: 1px solid #ffffff2e; }
.onboarding-steps li > span { width: 2rem; height: 2rem; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 500 .68rem var(--mono); }
.onboarding-steps li div { display: grid; gap: .18rem; }
.onboarding-steps strong { color: inherit; font-size: .92rem; }
.onboarding-steps small { font-size: .74rem; }
.onboarding-steps li.current { color: var(--cream); }
.onboarding-steps li.current > span { border-color: var(--acid); background: var(--acid); color: var(--ink); }
.onboarding-steps li.complete { color: #9bd9a6; }
.onboarding-steps li.complete > span::after { content: "✓"; }
.onboarding-steps li.complete > span { font-size: 0; }
.onboarding-steps li.complete > span::after { font-size: .8rem; }
.inline-alert { margin-top: 1rem; padding: .8rem 1rem; border-left: 4px solid #f3c66a; background: #f3c66a1c; color: inherit; line-height: 1.45; }
.confirm-dialog { width: min(100% - 2rem,520px); padding: 0; border: 1px solid var(--ink); background: var(--cream); color: var(--ink); box-shadow: 12px 12px 0 #17161155; }
.confirm-dialog::backdrop { background: #171611b8; }
.confirm-dialog form { padding: clamp(1.5rem,4vw,2.5rem); }
.confirm-dialog h2 { margin: 0; font: 600 2rem var(--display); }
.confirm-dialog p { line-height: 1.55; }
.confirm-dialog form > div:last-child { display: flex; justify-content: flex-end; gap: .7rem; margin-top: 1.5rem; }
.status { font: .7rem var(--mono); text-transform: uppercase; }
.item { display: grid; grid-template-columns: 3rem minmax(220px,1fr) minmax(220px,.7fr) 7rem 6.5rem auto; gap: .8rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.item-order { display: grid; grid-template-columns: 1fr 1fr; }
.item-order button, .icon-button { min-width: 30px; min-height: 34px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.item input { width: 100%; min-height: 40px; padding: .55rem .65rem; border: 1px solid transparent; background: transparent; }
.item input:hover, .item input:focus { border-color: var(--line); background: white; }
.item-name { font: 600 1.05rem var(--display); }
.item-meta { color: var(--muted); font-size: .78rem; }
.item > * { min-width: 0; }
.item-metadata { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .35rem .6rem; }
.item-metadata label { display: grid; gap: .15rem; font-size: .65rem; }
.item .item-metadata input { padding: .35rem; border-color: var(--line); font-size: .78rem; }
.item-error { grid-column: 2/-1; margin: 0; }
.item .save:disabled { opacity: .5; cursor: wait; }
.price-wrap { position: relative; }
.price-wrap::before { content: "$"; position: absolute; left: .3rem; top: .65rem; font: .7rem var(--mono); color: var(--muted); }
.price-wrap input { padding-left: 1rem; font: .78rem var(--mono); }
.switch-control { position: relative; display: inline-flex; align-items: center; gap: .5rem; font-size: .72rem; }
.switch-control input { position: absolute; opacity: 0; }
.switch-control i { flex: 0 0 38px; width: 38px; height: 22px; border-radius: 99px; background: #bbb6ad; transition: .2s; }
.switch-control i::after { content: ""; display: block; width: 16px; height: 16px; margin: 3px; border-radius: 50%; background: white; transition: transform .2s; }
.switch-control input:checked + i { background: #438459; }
.switch-control input:checked + i::after { transform: translateX(16px); }
.row-actions { display: flex; gap: .3rem; }
.add-form { display: grid; grid-template-columns: 1.5fr 1fr 1fr .8fr; gap: .8rem; margin-top: 2rem; padding: 1.2rem; background: var(--paper); }
.add-form h3 { grid-column: 1/-1; margin: 0; font: 600 1.25rem var(--display); }
.add-form label { display: grid; gap: .4rem; font: .65rem var(--mono); text-transform: uppercase; }
.add-form input, .add-form select { min-height: 44px; padding: .6rem; border: 1px solid var(--line); background: white; }
.add-form .wide { grid-column: 1/4; }
.add-form .button { align-self: end; }
.inline-form,.schedule-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; gap: .8rem; align-items: end; margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.inline-form { grid-template-columns: minmax(200px,1fr) auto; }
.inline-form label,.schedule-form label { display: grid; gap: .4rem; font: .65rem var(--mono); text-transform: uppercase; }
.inline-form input,.inline-form select,.schedule-form input,.schedule-form select,.share-controls input,.share-controls textarea,.studio-field,.billing form input[type=number],.ai-result input { min-height: 44px; padding: .6rem; border: 1px solid var(--line); background: white; }
.screen-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding-top: 1.2rem; }
.screen-card { display: grid; gap: 1rem; padding: 1rem; border: 1px solid var(--line); background: var(--paper); }
.screen-card h3 { margin: 0; font: 600 1.2rem var(--display); }
.screen-card > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; }
.screen-card select, .layout-fields select, .layout-preview-tools select { min-height: 42px; padding: .4rem; border: 1px solid var(--line); background: white; }
.analytics-list { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; padding-top: 1.2rem; }
.schedule-list { padding-top: 1rem; }
.schedule-list p { display: grid; grid-template-columns: 1fr auto 2.5rem; gap: 1rem; align-items: center; margin: 0; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.schedule-list time { color: var(--muted); font: .68rem var(--mono); }
.metric { padding: 1rem; background: var(--paper); border-left: 4px solid var(--accent); }
.metric strong { display: block; font: 600 2rem var(--display); }
.metric span { font: .68rem var(--mono); color: var(--muted); }
.toast { position: fixed; z-index: 20; right: 1.5rem; bottom: 1.5rem; max-width: 320px; margin: 0; padding: .8rem 1rem; color: white; background: var(--ink); transform: translateY(150%); transition: transform .25s var(--ease); }
.toast.show { transform: none; }
.member-list { padding-top: 1rem; }
.subheading { margin: 2rem 0 0; font: 600 1.4rem var(--display); }
.integration-card { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1.2rem; padding: 1.2rem; color: var(--cream); background: var(--ink); }
.integration-card > div { display: flex; gap: .7rem; align-items: center; }
.integration-card > div:first-child { flex-direction: column; align-items: flex-start; min-width: 8rem; }
.integration-card span { color: #ffffffaa; font-size: .78rem; }
.integration-card .button { white-space: nowrap; flex-shrink: 0; }
.integration-card .layout-help { color: #ffffffaa; }
.integration-card .button.primary, .integration-card .button.quiet { color: var(--ink); background: var(--paper); }
.member-list p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.member-list b { font: 500 .68rem var(--mono); text-transform: uppercase; color: var(--accent); }
.invite-form { display: grid; grid-template-columns: 1fr 10rem auto; gap: .8rem; align-items: end; margin-top: 1.2rem; }
.invite-form label { display: grid; gap: .4rem; font: .65rem var(--mono); text-transform: uppercase; }
.invite-form input,.invite-form select { min-height: 44px; padding: .6rem; border: 1px solid var(--line); background: white; }

/* Authentication */
.auth { min-height: 100svh; background: var(--ink); color: var(--cream); }
.auth main { min-height: 100svh; display: grid; grid-template-columns: minmax(180px,1fr) minmax(320px,1.25fr); }
.auth main > .wordmark { align-self: start; margin: 2rem; }
.auth section { display: grid; align-content: center; padding: clamp(2rem,8vw,8rem); background: var(--paper); color: var(--ink); }
.auth h1 { max-width: 7ch; margin: 0 0 2.5rem; font: 650 clamp(3.5rem,7vw,7rem)/.85 var(--display); letter-spacing: -.06em; }
.auth form { display: grid; gap: 1rem; max-width: 520px; }
.auth form label { display: grid; gap: .5rem; font: .68rem var(--mono); text-transform: uppercase; }
.auth form input { min-height: 52px; padding: .8rem; border: 1px solid var(--ink); background: var(--cream); }
.source-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; margin: .4rem 0 0; padding: 0; border: 0; }
.source-options legend { grid-column: 1/-1; margin-bottom: .1rem; font: .68rem var(--mono); text-transform: uppercase; }
.auth form .source-option { position: relative; align-content: start; gap: .65rem; min-height: 132px; padding: .9rem 1rem; border: 1px solid var(--ink); background: var(--cream); cursor: pointer; text-transform: none; }
.auth form .source-option:has(input:checked) { background: white; box-shadow: 4px 4px 0 var(--accent); }
.auth form .source-option input { width: 1.15rem; min-height: auto; height: 1.15rem; margin: 0; accent-color: var(--ink); }
.source-option span { display: grid; gap: .3rem; }
.source-option strong { font: 700 .9rem var(--body); }
.source-option small,.field-help { color: var(--muted); font: .72rem/1.35 var(--body); text-transform: none; }
.field-error { min-height: 1em; color: #a4321b; font: .72rem/1.35 var(--body); text-transform: none; }
.form-error { margin: 0; color: #a4321b; }
.auth label.optional::after { content: "Optional"; justify-self: end; margin-top: -1.3rem; color: var(--muted); font: .62rem var(--mono); }
.auth input[aria-invalid="true"] { border: 2px solid #a4321b; }
.checkout-note { max-width: 520px; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.auth-legal { max-width: 520px; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.auth-switch { margin-top: 1.5rem; color: var(--muted); font-size: .85rem; }
.sent { max-width: 520px; padding: 1rem; border-left: 4px solid #438459; background: #43845918; }

/* Public and fixed display menus */
.public-menu, .display { --ink: #171611; --paper: #f2eadb; background: var(--paper); }
.menu-shell { max-width: 1100px; margin: auto; padding: clamp(1.2rem,5vw,5rem); }
.menu-header { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; padding-bottom: 1.6rem; border-bottom: 3px solid var(--ink); }
.menu-header p { margin: 0 0 .5rem; font: .68rem var(--mono); text-transform: uppercase; letter-spacing: .14em; color: var(--accent); }
.menu-header h1 { margin: 0; font: 650 clamp(3rem,8vw,7rem)/.85 var(--display); letter-spacing: -.06em; }
/* A stable paper surface keeps venue names legible across mixed-tone artwork. */
.public-menu:not(.print) .menu-shell:is([data-background-mode="image"],[data-background-mode="generated"]) .menu-header h1 { width: fit-content; max-width: 100%; box-sizing: border-box; padding: .04em .14em .1em; background: color-mix(in srgb,var(--paper) 92%,transparent); }
.menu-header strong { font: 500 .68rem var(--mono); }
.menu-section { margin-top: 2.5rem; }
.menu-section h2 { margin: 0 0 .8rem; font: 500 .7rem var(--mono); letter-spacing: .15em; text-transform: uppercase; color: var(--accent); }
.menu-item { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1.5rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.menu-item h3 { margin: 0; font: 600 clamp(1.4rem,3vw,2.25rem)/1 var(--display); }
.menu-item p { margin: .3rem 0 0; max-width: 62ch; color: var(--muted); line-height: 1.4; }
.menu-item dl { grid-column: 2; grid-row: 1/3; display: grid; grid-auto-flow: column; gap: 1.2rem; margin: 0; align-items: center; }
.menu-item dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.menu-item dd { margin: 0; text-align: right; font: 500 .75rem var(--price-font, var(--mono)); font-variant-numeric: tabular-nums; }
.menu-item dd b { display: block; color: var(--muted); font-weight: 400; }
.menu-item.sold-out { opacity: .48; }
.sold-label { display: inline-block; margin-left: .7rem; padding: .15rem .35rem; color: var(--paper); background: var(--ink); vertical-align: middle; font: .55rem var(--mono); text-transform: uppercase; }
.loading { font: 600 2rem var(--display); }
.embed .menu-shell { padding: 1rem; }
.embed .menu-header strong { display: none; }
body.display { width: 100vw; height: 100dvh; overflow: hidden; display: grid; place-items: center; background: #101010; }
.display-frame { position: relative; width: min(100vw, 177.777778dvh); height: min(100dvh, 56.25vw); container-type: size; overflow: hidden; background: var(--paper); }
.portrait .display-frame { width: min(100vw, 56.25dvh); height: min(100dvh, 177.777778vw); }
.display .menu-shell { position: relative; width: 100%; height: 100%; max-width: none; padding: 23cqh 10cqw 10cqh; background-size: cover; background-position: center; }
.display .menu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 4cqw; }
.display .menu-column { min-width: 0; }
.display .menu-section { margin-top: 2.2cqh; break-inside: avoid; }
.display .menu-section h2 { font-size: 1.3cqh; margin-bottom: .7cqh; }
.display .menu-item { grid-template-columns: 4.2cqw minmax(0,1fr) auto; padding: 1.45cqh 0; gap: .25cqh 1.1cqw; }
.display .menu-item h3 { font-size: 3.6cqh; }
.display .menu-item p { margin-top: .444cqh; font-size: 1.45cqh; white-space: normal; overflow-wrap: anywhere; }
.display .display-prices { grid-column: 3; grid-row: 1/3; display: grid; grid-auto-flow: column; gap: 1.3cqh; align-items: center; }
.display .display-price { display: inline-flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; text-align: right; }
.display .display-price b { flex-basis: 100%; color: var(--muted); font: 400 1.1cqh/1 var(--body); }
.display .price-whole { font: 700 3.6cqh/1 var(--price-font, var(--display)); font-variant-numeric: tabular-nums; }
.display .price-cents { margin: .19em 0 0 .1em; padding-bottom: .12em; border-bottom: .08em solid currentColor; font: 700 1.45cqh/1 var(--price-font, var(--body)); font-variant-numeric: tabular-nums; }
.display .tap-number { grid-column: 1; grid-row: 1/3; align-self: center; color: var(--accent); font: 600 4.2cqh/1 var(--display); font-variant-numeric: tabular-nums; }
.display.portrait .menu-grid { grid-template-columns: 1fr; }
.display.portrait .menu-shell { padding: 19cqh 15cqw 14cqh; }
.display.portrait .menu-item { grid-template-columns: minmax(max-content, 7cqw) minmax(0,1fr) auto; column-gap: 2cqw; padding-block: .55cqh; }
.display.portrait .menu-item h3 { font-size: 1.75cqh; line-height: 1.08; }
.display.portrait .menu-item p { font-size: 1cqh; margin-top: .25cqh; }
.display.portrait .tap-number { font-size: 2cqh; }
.display.portrait .price-whole { font-size: 1.75cqh; }
.display.portrait .price-cents { font-size: .9cqh; }

@media (max-width: 950px) {
  .item { grid-template-columns: 3rem minmax(0,1fr) 6.5rem auto; }
  .item .item-meta { grid-column: 2; }
  .item .price-wrap { grid-column: 3; grid-row: 1; }
  .item .switch-control { grid-column: 3; }
  .item .row-actions { grid-column: 4; grid-row: 1/3; }
  .seo-answer,.seo-workflow,.seo-prices,.seo-faq { grid-template-columns: 1fr; }
  .seo-points { grid-template-columns: 1fr; }
  .seo-points article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink); }
  .seo-points article:last-child { border-bottom: 0; }
  .seo-points h2 { margin-top: 2.5rem; }
  .onboarding-panel { grid-template-columns: 1fr; }
}

@media screen and (max-width: 700px) {
  .seo-head { width: min(100% - 32px,1280px); min-height: 68px; }
  .seo-head nav > a:not(.nav-cta) { display: none; }
  .seo-hero { width: min(100% - 32px,1280px); padding: 2rem 0 3rem; }
  .breadcrumbs { margin-bottom: 1.5rem; }
  .seo-hero h1 { font-size: clamp(3rem,13vw,4.8rem); }
  .seo-answer,.seo-faq { width: min(100% - 32px,1180px); }
  .seo-answer { grid-template-columns: 1fr; }
  .seo-answer > *, .seo-workflow > *, .seo-workflow li > * { min-width: 0; }
  .seo-answer h2, .seo-answer p, .seo-workflow h2, .seo-workflow strong, .seo-workflow p { overflow-wrap: anywhere; }
  .seo-answer figure { min-width: 0; }
  .seo-answer h2,.seo-workflow h2,.seo-prices h2,.seo-faq h2,.seo-related h2,.seo-cta h2 { font-size: clamp(2.6rem,12vw,4.2rem); }
  .seo-workflow,.seo-prices { grid-template-columns: 1fr; padding-left: 16px; padding-right: 16px; }
  .seo-faq { grid-template-columns: 1fr; }
  .seo-related { padding-left: 16px; padding-right: 16px; }
  .seo-related > div { grid-template-columns: 1fr; }
  .seo-related a { min-height: 180px; }
  .seo-footer { grid-template-columns: 1fr; padding-left: 16px; padding-right: 16px; }
  .seo-footer nav { justify-content: flex-start; }
  .seo-footer small { grid-column: 1; }
  .workspace-head, .panel-head { align-items: stretch; flex-direction: column; }
  .studio-nav { position: sticky; top: 76px; z-index: 9; width: auto; max-width: 100vw; min-width: 0; box-sizing: border-box; display: flex; gap: .2rem; overflow-x: auto; padding: .5rem 1rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .studio-head { padding-inline: 1rem; gap: .7rem; }
  .studio-nav a { white-space: nowrap; margin: 0; }
  .workspace { margin: 0; padding: 1rem; }
  .workspace-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .item { grid-template-columns: 2.6rem 1fr auto; gap: .5rem; padding: 1rem 0; }
  .item .item-meta { grid-column: 2; }
  .item .price-wrap { grid-column: 2; grid-row: auto; max-width: 7rem; }
  .item .switch-control { grid-column: 2; }
  .item .row-actions { grid-column: 3; grid-row: 1/5; align-self: stretch; flex-direction: column; }
  .add-form { grid-template-columns: 1fr 1fr; }
  .add-form h3, .add-form .wide { grid-column: 1/-1; }
  .screen-grid, .analytics-list { grid-template-columns: minmax(0,1fr); }
  .invite-form,.auth main { grid-template-columns: 1fr; }
  .source-options { grid-template-columns: 1fr; }
  .auth form .source-option { min-height: 0; grid-template-columns: auto 1fr; align-items: start; }
  .schedule-form,.inline-form { grid-template-columns: 1fr; }
  .auth main > .wordmark { min-height: 15vh; }
  .menu-item { grid-template-columns: 1fr; }
  .menu-item dl { grid-column: 1; grid-row: auto; justify-content: start; }
}
.public-menu.print { --ink: #171611 !important; --paper: #fff !important; --muted: #6b675e !important; --line: #17161133 !important; background: white; }
@media print {
  @page { margin: .55in; }
  .public-menu { background: white; }
  .menu-shell { max-width: none; padding: 0; }
  .menu-section { break-inside: avoid; }
  .menu-item { break-inside: avoid; }
  .menu-header strong { color: var(--ink); }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto!important; animation: none!important; transition: none!important; } }
@media (forced-colors: active) { html { scrollbar-color: auto; } }

/* Sharing extends the existing Studio panels and form controls. */
.share-controls { display: grid; gap: 18px; }
.share-controls label { display: grid; gap: 8px; }
.share-controls input, .share-controls textarea { width: 100%; min-width: 0; }
.share-controls .workspace-actions { flex-wrap: wrap; }
.share-controls summary { cursor: pointer; margin-bottom: 12px; }
.screen-card [data-copy] { margin-top: 8px; }
#untappd-help, #untappd-error { grid-column: 1/-1; margin: 0; }
[hidden] { display: none !important; }

.display-brand { position: absolute; bottom: 1.11cqh; right: .9375cqw; padding: .37cqh .42cqw; background: var(--paper); color: var(--ink); font: 1.11cqh/1.4 var(--body); }

.studio .panel, #schedule-conflicts, .calendar-screen { scroll-margin-top: 90px; }
.share-controls textarea { font: .85rem/1.5 var(--mono); }
.share-controls summary:focus-visible, .share-controls textarea:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
@media screen and (max-width: 700px) {
  .studio .panel, #schedule-conflicts, .calendar-screen { scroll-margin-top: 145px; }
  .integration-card, .integration-card > div { flex-wrap: wrap; }
}
.workspace-head > div { min-width: 0; }
.workspace-head h1, .screen-card h3 { overflow-wrap: anywhere; }
.member-list span { min-width: 0; overflow-wrap: anywhere; }
.add-form input, .add-form select { min-width: 0; width: 100%; }
@media screen and (max-width: 700px) {
  .item-order { display: flex; flex-direction: column; }
}
.menu-header { flex-wrap: wrap; }
.menu-header > div { min-width: 0; max-width: 100%; }
.menu-header h1 { overflow-wrap: anywhere; }

/* Plain themes share content/layout; the catalog owns color, type and border choice. */
[data-border] { --theme-rule: 1px solid; --theme-radius: 0px; }
[data-border="double"] { --theme-rule: 4px double; }
[data-border="bold"] { --theme-rule: 3px solid; }
[data-border="rounded"] { --theme-rule: 1px solid; --theme-radius: 18px; }
.public-menu[data-preset][data-border] .menu-header { border-bottom: var(--theme-rule) var(--accent); }
.public-menu[data-preset][data-border="rounded"] .menu-section { border: 1px solid var(--line); border-radius: var(--theme-radius); padding: 1.2rem; }
.public-menu[data-preset][data-border="double"] .menu-shell { border-inline: 4px double var(--line); }
.public-menu[data-preset][data-border="bold"] .menu-section h2 { border-bottom: 3px solid var(--accent); padding-bottom: .7rem; }
.public-menu[data-preset]:not(.print) .menu-header h1 { font-size: clamp(2.4rem,7vw,5rem); line-height: 1.05; letter-spacing: -.035em; }
.public-menu[data-preset] .menu-header { grid-template-columns: minmax(0,1fr); gap: 1rem; }
.public-menu.print { --accent: #171611 !important; --heading: #171611 !important; }
.public-menu.print .menu-header h1 { font-size: clamp(1.8rem,5.5vw,3rem); line-height: 1.1; letter-spacing: -.035em; }
.display.plain-display .menu-shell { padding: 5cqh 5cqw 6cqh; }
.plain-display .menu-shell::before { content: ""; position: absolute; inset: 2cqh 2cqw 3cqh; border: var(--theme-rule) var(--line); border-radius: var(--theme-radius); pointer-events: none; }
.plain-display .plain-menu-header { padding-bottom: 2cqh; border-bottom: var(--theme-rule) var(--accent); }
.plain-menu-header p { margin: 0 0 .7cqh; color: var(--accent); font: 600 1.7cqh/1.2 var(--body); text-transform: uppercase; letter-spacing: .12em; }
.plain-menu-header h1 { margin: 0; font: 600 5.5cqh/1.1 var(--display); letter-spacing: -.025em; }
.plain-display .menu-item { padding-block: 1.55cqh; }
.plain-display .menu-item h3 { font-size: 3.2cqh; line-height: 1.08; }
.plain-display .menu-item p { font-size: 1.6cqh; }
.plain-display.portrait .menu-item { padding-block: .6cqh; }
.plain-display.portrait .plain-menu-header h1 { font-size: 4cqh; }
.theme-preview-note { position: fixed; z-index: 20; left: 50%; bottom: 8px; transform: translateX(-50%); margin: 0; max-width: calc(100% - 32px); padding: 8px 14px; border: 1px solid currentColor; border-radius: 6px; color: var(--ink); background: var(--paper); font: 500 12px/1.3 system-ui,sans-serif; text-align: center; }
.theme-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; margin-top: 24px; }
.theme-card { min-width: 0; border: 1px solid var(--line); }
.theme-preview.display { display: block; position: relative; margin: 16px; aspect-ratio: 16 / 9; container-type: inline-size; overflow: hidden; text-decoration: none; color: var(--ink); background: var(--paper); font-family: var(--body); }
.theme-preview .display-frame { position: absolute; inset: 0 auto auto 0; width: 1920px; height: 1080px; transform: scale(var(--theme-preview-scale, 0)); transform-origin: top left; }
.theme-preview:hover { opacity: 1; }
.theme-preview:focus-visible { outline: 3px solid #235b79; outline-offset: 3px; }
.theme-card-details { padding: 0 16px 20px; }
.theme-card-details h3 { margin: 0; font: 600 20px var(--body); }
.theme-card-details p { min-height: 2.8em; color: var(--muted); font-size: 13px; line-height: 1.4; }
.theme-current-label { display: inline-block; padding: 4px 6px; border: 1px solid; border-radius: 3px; font: 500 11px var(--body); vertical-align: middle; }
.theme-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.theme-card-actions .button { min-height: 44px; padding: 10px 12px; font-size: 12px; }
.theme-card-actions .button:disabled { opacity: .55; cursor: default; }
@media screen and (min-width: 1600px) { .theme-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media print {
  .theme-preview-note { display: none; }
  .public-menu[data-preset][data-border="double"] .menu-shell { border-inline: 0; }
  .public-menu[data-preset][data-border="rounded"] .menu-section { border: 0; padding: 0; }
}

.plain-display .display-brand { right: 5cqw; bottom: 1cqh; padding: 0 .42cqw; }

/* Borders and small labels scale with the TV canvas, including Studio thumbnails. */
.display .display-frame { --theme-rule: .093cqh solid; --theme-radius: 0px; }
.display[data-border="double"] .display-frame { --theme-rule: .37cqh double; }
.display[data-border="bold"] .display-frame { --theme-rule: .278cqh solid; }
.display .menu-item { border-top-width: .093cqh; }
.display .sold-label { margin-left: .65cqh; padding: .14cqh .32cqh; font-size: .82cqh; }
.display .loading { font-size: 3cqh; }

.display[data-border="rounded"] .display-frame { --theme-radius: 1.67cqh; }

/* Approved taphouse concepts: live type and CSS frames, never backing images. */
[data-layout="taphouse"] .menu-item h3 { font-family: var(--item-font); font-weight: 700; text-transform: var(--item-case, none); }
[data-layout="taphouse"] :is(.menu-header h1,.plain-menu-header h1) { text-transform: var(--heading-case); }
.plain-display[data-layout="taphouse"] .plain-menu-header { text-align: center; }
.plain-display[data-layout="taphouse"] .plain-menu-header h1 { font-size: 8cqh; font-weight: 700; color: var(--heading, var(--ink)); }
.plain-display[data-layout="taphouse"] .plain-menu-header p { font-size: 2.4cqh; letter-spacing: .22em; }
.plain-display[data-layout="taphouse"] .menu-shell::before { border-color: var(--frame); }
.plain-display[data-layout="taphouse"] .tap-number { font-family: var(--utility-font); }
.plain-display[data-layout="taphouse"] .display-price { align-items: baseline; flex-wrap: nowrap; font: 700 3cqh/1 var(--utility-font); white-space: nowrap; }
.plain-display[data-layout="taphouse"] .display-price b { flex-basis: auto; margin-right: .5cqh; }
.plain-display[data-layout="taphouse"] :is(.price-whole,.price-cents) { font: inherit; font-family: var(--price-font, inherit); font-variant-numeric: tabular-nums; }
.plain-display[data-layout="taphouse"] .price-cents { margin: 0; padding: 0; border: 0; }
.plain-display[data-layout="taphouse"] .price-cents::before { content: "."; }
.plain-display[data-layout="taphouse"].portrait .plain-menu-header h1 { font-size: 4cqh; }
.plain-display[data-layout="taphouse"].portrait .display-price { font-size: 1.75cqh; }
.public-menu[data-layout="taphouse"] .menu-item dd { font-family: var(--price-font, var(--utility-font)); }

/* The five dark themes share the classic two-column rows. Light lives in type, not artwork. */
:is(.display, .public-menu):is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) {
  --menu-glint: color-mix(in srgb, var(--accent), white 26%);
}
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .menu-shell::before { display: none; }
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .plain-menu-header {
  padding-bottom: 2.2cqh;
  border-bottom: 0;
}
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .plain-menu-header h1 {
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.05;
  text-shadow: 0 .14cqh .25cqh rgb(0 0 0 / .32), 0 0 1.4cqh color-mix(in srgb, var(--heading), transparent 86%);
}
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .plain-menu-header p { font-size: 1.8cqh; color: var(--accent); }
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .menu-grid { column-gap: 4.5cqw; }
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .menu-item { padding-block: 1.25cqh; border-color: color-mix(in srgb, var(--line), transparent 32%); }
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .menu-item h3 { font-weight: 600; letter-spacing: -.015em; }
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .tap-number { text-shadow: 0 .1cqh .2cqh rgb(0 0 0 / .35); }
.plain-display:is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]).portrait .menu-item { padding-block: .55cqh; }
.public-menu:not(.print):is([data-preset="velvet-copper"], [data-preset="juniper-night"], [data-preset="indigo-marigold"], [data-preset="aubergine-rose"], [data-preset="slate-sea-glass"]) .menu-header h1 { text-shadow: 0 1px 2px rgb(0 0 0 / .35), 0 0 14px color-mix(in srgb, var(--heading), transparent 86%); }

/* A copper foil highlight across the glyphs follows the accent color when customized. */
.plain-display[data-preset="velvet-copper"]:not(:has(.menu-shell[data-custom-heading="true"])) .plain-menu-header h1,
.plain-display[data-preset="velvet-copper"] .tap-number,
.public-menu[data-preset="velvet-copper"]:not(.print):not(:has(.menu-shell[data-custom-heading="true"])) .menu-header h1 {
  background-image: linear-gradient(165deg, color-mix(in srgb, var(--accent), white 48%) 0%, color-mix(in srgb, var(--accent), white 16%) 27%, var(--accent) 47%, color-mix(in srgb, var(--accent), black 24%) 63%, color-mix(in srgb, var(--accent), white 27%) 84%, var(--accent) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 .12cqh .12cqh rgb(0 0 0 / .5));
  text-shadow: none;
}
.plain-display[data-preset="velvet-copper"] .plain-menu-header h1 { letter-spacing: -.055em; }
.plain-display[data-preset="velvet-copper"] .tap-number { border-color: var(--line); }
.plain-display[data-preset="velvet-copper"] .display-price { font-size: 3.8cqh; }
.plain-display[data-preset="velvet-copper"].portrait .display-price { font-size: 1.85cqh; }
.plain-display[data-preset="velvet-copper"]:not(.portrait) .menu-item { padding-block: 1.05cqh; }
.plain-display[data-preset="velvet-copper"] .menu-detail-metadata { font-size: 2.08cqh; line-height: 1.2; }
.plain-display[data-preset="velvet-copper"].portrait .menu-detail-metadata { font-size: 1.3cqh; }
.public-menu[data-preset="velvet-copper"] .menu-detail-metadata { font-size: 1.3em; }
:is(.plain-display, .public-menu)[data-preset="velvet-copper"] .menu-detail-metadata .detail-separator { margin-inline: .25em; }
.plain-display[data-preset="juniper-night"] .plain-menu-header h1 { font-weight: 500; }
.plain-display[data-preset="indigo-marigold"] .plain-menu-header { border-bottom: .18cqh solid var(--accent); }
.plain-display[data-preset="aubergine-rose"] .menu-item h3 { font-weight: 500; }
.plain-display[data-preset="slate-sea-glass"] .tap-number { font-family: var(--body); font-weight: 700; }
.public-menu.print[data-preset="velvet-copper"] .menu-header h1,
.public-menu.print[data-preset="velvet-copper"] .tap-number { background: none; -webkit-text-fill-color: currentColor; filter: none; text-shadow: none; }

/* Blue Steel and Velvet Copper use raised, underlined cents in TV and Studio previews. */
.plain-display:is([data-preset="blue-steel"], [data-preset="velvet-copper"]) .display-price { align-items: flex-start; }
.plain-display:is([data-preset="blue-steel"], [data-preset="velvet-copper"]) .display-price b { align-self: center; }
.plain-display:is([data-preset="blue-steel"], [data-preset="velvet-copper"]) .price-cents { font-size: .45em; margin: .19em 0 0 .1em; padding-bottom: .12em; border-bottom: .08em solid currentColor; }
.plain-display:is([data-preset="blue-steel"], [data-preset="velvet-copper"]) .price-cents::before { content: none; }

[data-border="rounded-double"] { --theme-rule: 5px double; --theme-radius: 18px; }
[data-border="dashed"] { --theme-radius: 18px; }
[data-border="asymmetric"] { --theme-rule: 2px solid; }
[data-border="dashed"] .menu-item { border-top-style: dashed; }
[data-border="corners"] .menu-item { border-top-style: dotted; }
.display[data-border="rounded-double"] .display-frame { --theme-rule: .65cqh double; --theme-radius: 2.8cqh; }
.display[data-border="dashed"] .display-frame { --theme-radius: 1.67cqh; }
.plain-display[data-layout="taphouse"][data-border="double"] .menu-shell::before { border-width: .7cqh; }
.plain-display[data-layout="taphouse"][data-border="bold"] .menu-shell::before { border-width: 1cqh; }
.plain-display[data-layout="taphouse"][data-border="rounded"] .menu-shell::before { border-width: .35cqh; border-radius: 3.5cqh; }
.plain-display[data-border="asymmetric"] .menu-shell::before { border-width: .15cqh .15cqh 1cqh 1cqh; }
.plain-display[data-border="corners"] .menu-shell::before {
  border-width: .35cqh;
  mask: linear-gradient(#000 0 0) top left, linear-gradient(#000 0 0) top right, linear-gradient(#000 0 0) bottom left, linear-gradient(#000 0 0) bottom right;
  mask-size: 3cqw 5cqh;
  mask-repeat: no-repeat;
}
.public-menu[data-preset][data-border="rounded-double"] .menu-section { border: 5px double var(--frame); border-radius: var(--theme-radius); padding: 1.2rem; }
.public-menu[data-preset][data-border="dashed"] .menu-section { border: 1px solid var(--frame); border-radius: var(--theme-radius); padding: 1.2rem; }
.public-menu[data-preset][data-border="asymmetric"] .menu-shell { border-left: 7px solid var(--frame); border-bottom: 7px solid var(--frame); }
.public-menu[data-preset][data-border="corners"] .menu-header { border-top: 2px solid var(--frame); padding-top: 1.6rem; }
@media print {
  .public-menu[data-layout="taphouse"] { --frame: #171611 !important; }
  .public-menu[data-preset]:is([data-border="rounded-double"],[data-border="dashed"]) .menu-section { border: 0; padding: 0; }
  .public-menu[data-preset][data-border="asymmetric"] .menu-shell { border: 0; }
}

.plain-display[data-layout="taphouse"] .repeated-section-title .menu-section h2 { display: none; }
.plain-display[data-layout="taphouse"] .repeated-section-title .menu-section:first-child > .section-items > .menu-item:first-of-type { border-top: 0; }
.plain-display[data-layout="taphouse"] .menu-column { position: relative; }
.plain-display[data-layout="taphouse"]:not(.portrait) .menu-column + .menu-column::before { content: ""; position: absolute; top: 2.2cqh; bottom: 0; left: -2cqw; border-left: .1cqh solid var(--line); }
.plain-display[data-layout="taphouse"] .tap-number { border-right: .1cqh solid var(--line); padding-right: .6cqw; }
.plain-display[data-layout="taphouse"] .display-brand { bottom: 3.8cqh; font-size: 1.4cqh; }
.public-menu[data-layout="taphouse"] .menu-header h1 { color: var(--heading, var(--ink)); }
@media print {
  .public-menu[data-layout="taphouse"] { --heading: #171611 !important; }
}

/* Dark catalog frames share the same canvas and print-safe content flow. */
[data-border="square-dashed"] .menu-item { border-top-style: dashed; }
.plain-display[data-border="square-dashed"] .menu-shell::before { border-width: .6cqh; }
.plain-display[data-border="open"] .menu-shell::before { border-width: .8cqh 0; }
.plain-display[data-border="open"] .plain-menu-header { border-bottom-width: .6cqh; }
.plain-display:is([data-border="accent-corners"],[data-border="inset-dashed"]) .menu-shell::after { content: ""; position: absolute; inset: 2cqh 2cqw 3cqh; border: .65cqh solid var(--frame); pointer-events: none; }
.plain-display[data-border="accent-corners"] .menu-shell::after {
  mask: linear-gradient(#000 0 0) top left, linear-gradient(#000 0 0) top right, linear-gradient(#000 0 0) bottom left, linear-gradient(#000 0 0) bottom right;
  mask-size: 3cqw 5cqh;
  mask-repeat: no-repeat;
}
.plain-display[data-border="inset-dashed"] .menu-shell::after { inset: 2.8cqh 2.5cqw 3.8cqh; border: .1cqh dashed var(--frame); }
.public-menu[data-preset][data-border="open"] .menu-header { border-block: 4px solid var(--frame); padding-top: 1.6rem; }
.public-menu[data-preset][data-border="accent-corners"] .menu-header { border-top: 4px solid var(--frame); padding-top: 1.6rem; }
.public-menu[data-preset][data-border="inset-dashed"] .menu-section { border: 1px dashed var(--frame); padding: 1.2rem; }
@media print {
  .public-menu[data-preset][data-border="inset-dashed"] .menu-section { border: 0; padding: 0; }
}

/* Comparisons adapt the landing table and its existing paper / ink / gold tokens. */
.comparison-intro, .comparison-directory, .comparison-decision { padding: 42px 30px; }
.comparison-intro { border-bottom: 1px solid var(--line); }
.comparison-intro nav { margin-bottom: 28px; font-size: 12px; }
.comparison-intro h1 { max-width: 19ch; margin: 0; font: 600 clamp(36px,5.5vw,64px)/1.08 var(--display); text-wrap: balance; overflow-wrap: break-word; }
.comparison-intro > p { max-width: 72ch; margin: 24px 0; color: var(--muted); font-size: 17px; }
.comparison-page h2 { font: 600 clamp(27px,3vw,38px)/1.15 var(--display); }
.comparison-page h3 { font: 600 23px/1.2 var(--display); }
.comparison-page .lp-comparison th, .comparison-page .lp-comparison td { width: auto; }
.comparison-page .lp-comparison th:first-child { width: 30%; }
.comparison-page .lp-comparison table { min-width: 650px; }
.comparison-page .lp-comparison-head h2 { margin: 0; }
.comparison-sources { margin-top: 20px; font-size: 13px; }
.comparison-sources summary { padding: 12px 0; cursor: pointer; font-weight: 600; }
.comparison-sources li { margin-bottom: 12px; overflow-wrap: anywhere; }
.comparison-directory > p, .comparison-decision p { max-width: 76ch; color: var(--muted); }
.comparison-categories { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 24px 0 36px; }
.comparison-categories a { padding: 8px 0; font-size: 13px; }
.comparison-directory section { padding-top: 20px; scroll-margin-top: 20px; }
.comparison-directory ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 30px; padding: 0; list-style: none; }
.comparison-directory li { min-width: 0; border-top: 1px solid var(--line); }
.comparison-directory li a { display: grid; gap: 10px; padding: 22px 0; text-decoration: none; }
.comparison-directory strong { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; }
.comparison-directory li a > span { color: var(--muted); font-size: 13px; }
.comparison-directory a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.comparison-page a:focus-visible, .comparison-sources summary:focus-visible { outline: 3px solid #705516; outline-offset: 4px; }
.comparison-page a:active { opacity: .75; }

/* About: a source-of-truth page for the product and its operator. */
.about-page { --ink:#151310; --paper:#f1eadf; --cream:#fffaf0; --accent:#efc866; --muted:#686158; margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.65 var(--body); }
.about-page ::selection { background:var(--accent); color:var(--ink); }
.about-page a { color:inherit; text-underline-offset:4px; }
.about-page a:hover { opacity:.72; }
.about-page a:active { opacity:.55; }
.about-page a:focus-visible { outline:3px solid #705516; outline-offset:4px; }
.about-page main { max-width:1200px; margin:0 auto; }
.about-hero { padding:clamp(64px,10vw,128px) 30px 70px; }
.about-status { display:flex; justify-content:space-between; gap:24px; padding-bottom:18px; border-bottom:1px solid #15131035; color:var(--muted); font:500 12px/1.4 var(--body); }
.about-status strong { color:#705516; }
.about-hero h1 { max-width:1050px; margin:40px 0 34px; font:600 clamp(52px,8.2vw,96px)/.96 var(--display); letter-spacing:-.04em; text-wrap:balance; }
.about-hero h1 a { text-decoration-color:#a17619; text-decoration-thickness:.05em; }
.about-lead { max-width:750px; margin:0 0 0 auto; font-size:clamp(20px,2.4vw,29px); line-height:1.45; text-wrap:pretty; }
.about-facts { padding:0 30px 80px; }
.about-facts dl { display:grid; grid-template-columns:repeat(4,1fr); margin:0; border-top:1px solid #15131035; border-bottom:1px solid #15131035; }
.about-facts dl div { padding:20px 22px 24px 0; }
.about-facts dl div + div { padding-left:22px; border-left:1px solid #15131035; }
.about-facts dt { margin-bottom:8px; color:var(--muted); font:500 11px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.about-facts dd { margin:0; font:600 18px/1.35 var(--display); }
.about-answer { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(270px,.75fr); gap:clamp(40px,8vw,110px); padding:85px 30px; background:var(--cream); border-block:1px solid #15131025; }
.about-answer h2,.about-story h2,.about-clarity h2 { max-width:700px; margin:0 0 24px; font:600 clamp(38px,5vw,64px)/1 var(--display); letter-spacing:-.035em; }
.about-answer > div > p,.about-story > div > p,.about-clarity > p { max-width:70ch; margin:0; font-size:17px; line-height:1.75; }
.about-answer aside { align-self:end; padding-top:24px; border-top:4px solid var(--accent); }
.about-answer aside p { margin:0; font:600 clamp(29px,3.5vw,44px)/1.12 var(--display); letter-spacing:-.03em; }
.about-story { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr); gap:clamp(50px,10vw,140px); padding:100px 30px; }
.about-story > div > p + p { margin-top:20px; }
.about-person { align-self:end; padding:28px 0; border-block:1px solid #15131035; }
.about-person .about-name { margin:0 0 10px; font:600 34px/1 var(--display); letter-spacing:-.025em; }
.about-person nav { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:26px; font-size:13px; }
.about-clarity { margin:0 30px 100px; padding:clamp(32px,5vw,58px); background:var(--accent); }
.about-clarity > p { font-size:19px; }
.about-clarity > div { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.about-page .button:hover { transform:none; box-shadow:none; }
@media (max-width:760px) {
  .about-hero { padding:58px 20px 50px; }
  .about-status { align-items:flex-start; flex-direction:column; gap:5px; }
  .about-hero h1 { margin-top:32px; font-size:clamp(46px,14vw,70px); }
  .about-lead { font-size:20px; }
  .about-facts { padding:0 20px 60px; }
  .about-facts dl { grid-template-columns:1fr 1fr; }
  .about-facts dl div { padding:17px 14px 19px 0; }
  .about-facts dl div + div { padding-left:14px; }
  .about-facts dl div:nth-child(3) { padding-left:0; border-left:0; border-top:1px solid #15131035; }
  .about-facts dl div:nth-child(4) { border-top:1px solid #15131035; }
  .about-answer,.about-story { grid-template-columns:1fr; padding:64px 20px; }
  .about-answer aside,.about-person { align-self:auto; }
  .about-clarity { margin:0 20px 70px; padding:30px 22px; }
}
@media (max-width:410px) {
  .about-facts dl { grid-template-columns:1fr; }
  .about-facts dl div + div { padding-left:0; border-left:0; border-top:1px solid #15131035; }
}
.comparison-sources summary:hover { text-decoration: underline; }
.comparison-method { margin-top: 30px; font-size: 12px; }
.comparison-decision { border-top: 1px solid var(--line); }
.comparison-decision > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 30px; }
.seo-page .lp-comparison { max-width: 1240px; margin: 0 auto; }
.seo-page .lp-comparison h2 { font: 600 clamp(28px,3vw,44px)/1.1 var(--display); }
.seo-page .lp-comparison-hint, .seo-page .lp-comparison-note { color: var(--muted); font-size: 13px; line-height: 1.6; }
@media screen and (max-width: 700px) {
  .comparison-intro, .comparison-directory, .comparison-decision { padding: 30px 20px; }
  .comparison-directory ul { grid-template-columns: 1fr; }
  .comparison-page .lp-comparison table { width: 650px; }
  .comparison-page .lp-comparison th:first-child { width: 145px; }
  .comparison-page .lp-nav { flex-wrap: wrap; gap: 12px; }
}


/* Gold Label: the catalog owns the palette; shared markup keeps text editable. */
.menu-flavor { white-space: pre-wrap; overflow-wrap: anywhere; }
.theme-flavor-form { display: grid; gap: 8px; margin: 18px 0; }
.theme-flavor-form label { font: 600 13px var(--body); }
.theme-flavor-form textarea { width: 100%; min-width: 0; resize: none; padding: 10px; border: 1px solid var(--line); background: white; color: var(--ink); font: 14px/1.5 var(--body); }
.theme-flavor-form textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.theme-flavor-form textarea[aria-invalid="true"] { border-color: #a4321b; }
.theme-flavor-form small { color: var(--muted); font: 12px/1.4 var(--body); }
.theme-flavor-form .field-error { min-height: 0; margin: 0; color: #a4321b; }
.display[data-preset="gold-label"] .menu-shell { padding: 6cqh 6.5cqw 6cqh; border: 2.4cqh solid var(--frame); }
.display[data-preset="gold-label"] .menu-shell::before { inset: 0; border: .2cqh solid var(--line); }
.display[data-preset="gold-label"] .plain-menu-header { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 5cqw; align-items: center; min-height: calc(23cqh * var(--menu-header-scale, 1)); padding-bottom: 3cqh; text-align: left; border-bottom: .35cqh solid var(--line); }
.display[data-preset="gold-label"] .plain-menu-header > div { min-width: 0; }
.display[data-preset="gold-label"] .menu-kicker { display: none; }
.display[data-preset="gold-label"] .plain-menu-header h1 { font-weight: 500; line-height: 1; overflow-wrap: anywhere; }
[data-preset="gold-label"] .split-venue span { display: block; font-weight: 400; letter-spacing: -.045em; }
[data-preset="gold-label"] .split-venue small { display: block; font-weight: 600; letter-spacing: 0; text-transform: uppercase; }
.display[data-preset="gold-label"] .split-venue span { font-size: 15cqh; line-height: .83; }
.display[data-preset="gold-label"] .split-venue small { margin-top: 1.3cqh; font-size: 3.8cqh; line-height: 1.1; }
.display[data-preset="gold-label"] .plain-menu-header .menu-flavor { margin: 0; padding: .8cqh 0 .8cqh 5cqw; border-left: .3cqh solid var(--line); color: var(--muted); font: 600 calc(1.9cqh * var(--flavor-scale, 1))/1.5 var(--body); letter-spacing: .22em; text-transform: uppercase; }
.display[data-preset="gold-label"] .menu-grid { gap: 0 5cqw; }
.display[data-preset="gold-label"] .menu-section { margin-top: .7cqh; }
.display[data-preset="gold-label"] .menu-column + .menu-column::before { display: none; }
.display[data-preset="gold-label"] .menu-item { min-height: 8.3cqh; grid-template-columns: 5.6cqh minmax(0,1fr) auto; column-gap: 2cqh; padding: .8cqh 0; }
.display[data-preset="gold-label"] .menu-item h3 { font-size: 2.7cqh; line-height: 1.15; }
.display[data-preset="gold-label"] .menu-item p { font-size: 1.85cqh; margin-top: .6cqh; }
.display[data-preset="gold-label"] .tap-number { align-self: stretch; display: grid; place-items: center; margin-block: -.4cqh; padding: .4cqh; border: .2cqh solid color-mix(in srgb, var(--accent), var(--paper) 28%); color: var(--paper); background: var(--accent); font-size: 2.8cqh; }
.display[data-preset="gold-label"] .display-price { font-size: 2.8cqh; }
.display[data-preset="gold-label"] .display-brand { bottom: 3cqh; font-size: 1.1cqh; }
.display[data-preset="gold-label"].portrait .menu-shell { padding: 3cqh 5cqw 4cqh; border-width: 1.2cqh; }
.display[data-preset="gold-label"].portrait .plain-menu-header { min-height: calc(15cqh * var(--menu-header-scale, 1)); gap: 3cqw; padding-bottom: 2cqh; }
.display[data-preset="gold-label"].portrait .plain-menu-header h1 { font-size: 3cqh; }
.display[data-preset="gold-label"].portrait .split-venue span { font-size: 8cqh; }
.display[data-preset="gold-label"].portrait .split-venue small { font-size: 1.65cqh; }
.display[data-preset="gold-label"].portrait .plain-menu-header .menu-flavor { font-size: calc(.85cqh * var(--flavor-scale, 1)); padding-left: 3cqw; }
.display[data-preset="gold-label"].portrait .menu-item { grid-template-columns: 3.4cqh minmax(0,1fr) auto; min-height: 5.2cqh; padding-block: .5cqh; gap: 1.3cqw; }
.display[data-preset="gold-label"].portrait .menu-item h3 { font-size: 1.65cqh; }
.display[data-preset="gold-label"].portrait .menu-item p { font-size: 1cqh; margin-top: .3cqh; }
.display[data-preset="gold-label"].portrait :is(.tap-number,.display-price) { font-size: 1.75cqh; }
.public-menu[data-preset="gold-label"] .menu-shell { border: 14px solid var(--frame); }
.public-menu[data-preset="gold-label"] .menu-header { grid-template-columns: minmax(0,1.75fr) minmax(0,1fr); gap: 2rem; border-color: var(--line); align-items: center; }
.public-menu[data-preset="gold-label"] .menu-header > div > p { display: none; }
.public-menu[data-preset="gold-label"] .menu-header .menu-flavor { margin: 0; padding: .5rem 0 .5rem 2rem; border-left: 2px solid var(--line); color: var(--muted); font: 600 clamp(.6rem,1.3vw,.85rem)/1.6 var(--body); letter-spacing: .18em; }
.public-menu[data-preset="gold-label"] .menu-header strong { grid-column: 1/-1; color: var(--muted); }
.public-menu[data-preset="gold-label"] .split-venue span { font-size: 1.65em; line-height: .9; }
.public-menu[data-preset="gold-label"] .split-venue small { margin-top: .4em; font-size: .4em; }
.public-menu[data-preset="gold-label"].print .menu-shell { border: 0; }
@media (max-width: 600px) {
  .public-menu[data-preset="gold-label"] .menu-header { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .public-menu[data-preset="gold-label"] .menu-header .menu-flavor { padding-left: 1rem; font-size: .75rem; }
}

.menu-brand { margin-top: 2rem; font: 500 .68rem var(--mono); }
.embed .menu-brand { display: none; }

/* Menu composition is independent of theme tokens. Defaults preserve theme geometry. */
.menu-presentation { min-width: 0; }
.menu-presentation :is(.section-items, .menu-column, .menu-section) { min-width: 0; }
.menu-presentation :is(.menu-item h3, .menu-item p, .tap-number, .display-price, .menu-item dd) { zoom: var(--menu-text-scale, 1); }
.menu-presentation :is(.plain-menu-header > div, .menu-header > div, .menu-flavor) { zoom: var(--menu-header-scale, 1); }
.menu-presentation .item-copy { min-width: 0; }
.display .menu-presentation > .menu-grid { grid-template-columns: repeat(var(--menu-columns), minmax(0, 1fr)); }
.display .menu-presentation .menu-item.without-number { grid-template-columns: minmax(0,1fr) auto; }
.display .menu-presentation .without-number .display-prices { grid-column: 2; }
.display .menu-presentation[data-spacing="custom"] .menu-item { padding-block: calc(1.1cqh * var(--menu-spacing)); min-height: 0; }
.display.portrait .menu-presentation[data-spacing="custom"] .menu-item { padding-block: calc(.55cqh * var(--menu-spacing)); }
.public-menu .menu-presentation[data-spacing="custom"] .menu-item { padding-block: calc(1rem * var(--menu-spacing)); }
.public-menu .menu-presentation:not([data-columns="0"]) > .menu-grid { display: grid; grid-template-columns: repeat(var(--menu-columns),minmax(0,1fr)); gap: 0 2rem; }
.public-menu .menu-presentation .with-number { grid-template-columns: auto minmax(0,1fr) auto; }
.public-menu .menu-presentation .with-number dl { grid-column: 3; }
.public-menu .menu-presentation .tap-number { align-self: center; color: var(--accent); font: 600 1.4rem var(--utility-font); }
.abv-chart { display: inline-block; width: 8em; max-width: 100%; height: .65em; background: color-mix(in srgb, var(--accent), transparent 90%); vertical-align: middle; }
.abv-chart > span { display: block; height: 100%; background: var(--accent); opacity: .65; }
.item-copy > .abv-chart { display: block; margin-top: .4em; font-size: .8em; }
.display .item-copy > .abv-chart { font-size: 1.4cqh; }
.menu-presentation[data-arrangement="ledger"] .menu-section:not(.untitled-section) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,3fr); gap: 0 1.4em; border-top: 1px solid var(--line); }
.menu-presentation[data-arrangement="ledger"] .menu-section > h2 { padding-top: 1em; overflow-wrap: anywhere; }
.menu-presentation[data-arrangement="ledger"] .section-items { padding-left: 1.2em; border-left: 1px solid var(--line); }
.menu-presentation[data-arrangement="ledger"][data-grouping="origin"] .menu-section:has(h2 .state-icon) { grid-template-columns: minmax(0,1.25fr) minmax(0,3fr); }
.display .menu-presentation[data-arrangement="ledger"] .menu-section { margin-top: 1cqh; gap: 0 2cqw; }
.display .menu-presentation[data-arrangement="ledger"] .section-items { padding-left: 2cqw; }
.display .menu-presentation[data-arrangement="ledger"] .menu-section > h2 { font: 600 1.8cqh/1.3 var(--body); padding-top: 1.2cqh; }
.display .menu-presentation:is([data-arrangement="list"],[data-arrangement="ledger"]) .menu-item { min-height: 0; padding-block: calc(.85cqh * var(--menu-spacing)); }
.display .menu-presentation:is([data-arrangement="list"],[data-arrangement="ledger"]) .menu-item h3 { font-size: 2.7cqh; }
.display .menu-presentation:is([data-arrangement="list"],[data-arrangement="ledger"]) .menu-item p { font-size: 1.5cqh; white-space: normal; }
.display .menu-presentation[data-arrangement="list"][data-columns="1"] .item-copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 0 2cqw; }
.display .menu-presentation[data-arrangement="list"][data-columns="1"] .item-copy > h3:last-child { grid-column: 1/-1; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .menu-item p { margin-top: 0; font-size: 2.7cqh; line-height: 1.08; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .section-items { display: grid; grid-template-columns: max-content minmax(0,max-content) minmax(0,1fr) minmax(0,max-content) minmax(0,1fr) max-content; column-gap: 1.1cqw; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .menu-item { grid-column: 1/-1; grid-template-columns: subgrid; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .item-copy { grid-column: 2/6; grid-template-columns: subgrid; column-gap: inherit; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .item-copy > p { grid-column: 3; text-align: left; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .display-prices { grid-column: 6; }
.display:not(.portrait) .menu-presentation[data-arrangement="list"][data-columns="1"] .menu-item > :is(.tap-number,.item-copy,.display-prices) { grid-row: 1; align-self: center; }
.display.portrait .menu-presentation:is([data-arrangement="list"],[data-arrangement="ledger"]) .menu-item { padding-block: calc(.65cqh * var(--menu-spacing)); }
.display.portrait .menu-presentation:is([data-arrangement="list"],[data-arrangement="ledger"]) .menu-item h3 { font-size: 1.8cqh; }
.display.portrait .menu-presentation:is([data-arrangement="list"],[data-arrangement="ledger"]) .menu-item p { font-size: 1cqh; }
.display.portrait .menu-presentation[data-arrangement="list"] .item-copy { display: block; }
.display.portrait .menu-presentation[data-arrangement="ledger"] .menu-section > h2 { font-size: 1.1cqh; }
/* Short price labels get a compact rail and the same emphasis as beer names. */
.menu-presentation[data-arrangement="ledger"][data-grouping="price"] .menu-section:not(.untitled-section) { grid-template-columns: minmax(0, .55fr) minmax(0, 3fr); }
.menu-presentation[data-arrangement="ledger"][data-grouping="price"] .menu-section > h2 { font-family: var(--utility-font); font-size: 1.8em; letter-spacing: 0; }
.menu-presentation[data-arrangement][data-grouping="price"] .menu-section > h2 { font-family: var(--price-font, var(--utility-font)); font-variant-numeric: tabular-nums; }
.display .menu-presentation[data-arrangement="ledger"][data-grouping="price"] .menu-section { column-gap: 1cqw; }
.display .menu-presentation[data-arrangement="ledger"][data-grouping="price"] .section-items { padding-left: 1.4cqw; }
.display .menu-presentation[data-arrangement="ledger"][data-grouping="price"] .menu-section > h2 { font-size: 3.4cqh; padding-top: calc(.85cqh * var(--menu-spacing)); zoom: var(--menu-text-scale); }
.display.portrait .menu-presentation[data-arrangement="ledger"][data-grouping="price"] .menu-section > h2 { font-size: 1.8cqh; padding-top: calc(.65cqh * var(--menu-spacing)); }
.menu-table-scroll { overflow-x: auto; }
.menu-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-family: var(--item-font); font-size: calc(1rem * var(--menu-text-scale)); }
.menu-table th { text-align: left; font: 600 .65em var(--body); text-transform: uppercase; letter-spacing: .07em; }
.menu-table :is(th, td) { padding: calc(.6em * var(--menu-spacing)) .5em; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: break-word; word-break: normal; hyphens: none; }
/* Keep column labels and tap identifiers intact under narrow table layouts. */
.menu-table th, .menu-table :is(.table-tap,.table-abv,.table-price) { white-space: nowrap; overflow-wrap: normal; }
.menu-table :is(.table-brewery,.table-style,.table-origin), .menu-table .table-beer h3 { overflow-wrap: normal; }
.menu-table td:has(.abv-chart) { width: 22%; }
.menu-table .abv-chart { width: 100%; min-width: 2rem; }
.menu-table :is(th, td):first-child:not(.table-brewery-beer) { padding-left: 0; }
.menu-table :is(th, td):last-child { padding-right: 0; }
.menu-table small { display: block; font-size: .75em; color: var(--muted); }
.menu-table .table-price { padding-left: .35em; text-align: right; white-space: nowrap; }
.menu-table .table-price > span { display: block; font-family: var(--price-font, inherit); font-variant-numeric: tabular-nums; }
.menu-table .table-abv { text-align: right; font-variant-numeric: tabular-nums; }
.menu-table .table-brewery { padding-right: .75em; border-right: 1px solid var(--line); }
.public-menu .menu-presentation .menu-table .menu-item,
.display .menu-presentation .menu-table .menu-item { display: table-row; }
.public-menu .menu-presentation .menu-table h3,
.display .menu-presentation .menu-table h3 { font-size: 1em; line-height: 1.2; zoom: 1; }
.public-menu .menu-presentation .menu-table p,
.display .menu-presentation .menu-table p { font-size: .7em; white-space: normal; zoom: 1; }
.display .menu-presentation .menu-table { font-size: calc(2.65cqh * var(--menu-text-scale)); }
.display.portrait .menu-presentation .menu-table { font-size: calc(1.55cqh * var(--menu-text-scale)); }
.menu-presentation[data-arrangement="table"] .menu-section { break-inside: auto; }
.menu-presentation[data-arrangement="table"] .untitled-section + .untitled-section { margin-top: 0; }
.menu-presentation[data-arrangement="table"][data-grouping="brewery"] .untitled-section + .untitled-section thead { visibility: collapse; }

/* Studio's customization panel reuses native controls and the real TV renderer. */
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.layout-presets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 1.5rem 0 2rem; }
.layout-preset { display: grid; gap: .5rem; text-align: left; padding: 1rem; border: 1px solid var(--line); color: var(--ink); background: var(--paper); cursor: pointer; }
.layout-preset strong { font: 600 1.3rem var(--display); }
.layout-preset small { color: var(--muted); line-height: 1.4; }
.layout-preset:focus-visible, .layout-form summary:focus-visible, .menu-table-scroll:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.layout-preset:hover { border-color: var(--ink); }
.layout-preset[aria-pressed="true"] { border-color: var(--ink); box-shadow: inset 0 -3px var(--ink); }
.layout-preset[aria-pressed="true"] .section-no::after { content: " · Selected"; }
.layout-preset:disabled { opacity: .55; cursor: default; }
.customization-workspace { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0,1.7fr); align-items: start; gap: 2rem; }
.layout-form, .layout-form fieldset { min-width: 0; }
.layout-form fieldset { border: 0; margin: 0; padding: 0; }
.layout-form details { border-top: 1px solid var(--line); padding-block: 1rem; }
.layout-form summary { cursor: pointer; font-weight: 650; }
.layout-fields { display: grid; gap: .9rem; padding-top: 1rem; }
.layout-fields label { display: grid; gap: .4rem; font-size: .8rem; }
.layout-fields select { min-width: 0; width: 100%; }
#layout-information { grid-template-columns: repeat(2,minmax(0,1fr)); }
#layout-information label:has(select) { grid-column: 1/-1; }
.layout-fields .layout-check { display: flex; gap: .6rem; align-items: center; cursor: pointer; }
.layout-check input { width: 1rem; height: 1rem; min-height: 0; accent-color: var(--ink); }
.layout-fields input[type="range"] { padding: 0; width: 100%; min-height: 30px; accent-color: var(--ink); cursor: pointer; }
.layout-fields label > span { display: flex; justify-content: space-between; gap: .5rem; }
.layout-fields output { font-variant-numeric: tabular-nums; }
.layout-display-controls .layout-help { margin-block: .35rem 0; }
.layout-form .layout-control-help { border: 0; padding: .5rem 0 0; font-size: .75rem; }
.layout-control-help summary { font-weight: 500; color: var(--muted); }
.layout-control-help a { display: inline-block; margin-top: .5rem; }
.layout-help { font-size: .75rem; line-height: 1.5; color: var(--muted); }
.layout-save-row { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.layout-save-row > span { font-size: .75rem; color: var(--muted); }
.layout-preview-panel { min-width: 0; position: sticky; top: 100px; }
.layout-preview-tools { display: flex; justify-content: space-between; align-items: end; gap: .8rem; margin-bottom: 1rem; }
.layout-preview-tools label { display: grid; gap: .4rem; font-size: .8rem; }
.layout-preview-tools > span { color: var(--muted); font-size: .7rem; }
.customization-preview { width: 100%; container-type: inline-size; background: #101010; color: var(--ink); font-family: var(--body); }
.customization-preview .display-frame { width: 100cqw; height: 56.25cqw; margin-inline: auto; }
.customization-preview.portrait .display-frame { width: 56.25cqw; height: 100cqw; }
.layout-pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: .8rem; font-size: .8rem; }
.layout-pagination .button { min-width: 44px; padding: .5rem; }
@media (max-width: 1100px) {
  .customization-workspace { grid-template-columns: minmax(200px,.8fr) minmax(0,1fr); gap: 1rem; }
}
@media screen and (max-width: 700px) {
  .layout-presets { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-preset { min-width: 0; }
  .layout-preset strong, .layout-preset small, .layout-fields .layout-check { overflow-wrap: anywhere; }
  .layout-preview-tools { flex-wrap: wrap; }
  .layout-preview-tools > * { min-width: 0; overflow-wrap: anywhere; }
  .customization-workspace { display: flex; flex-direction: column; }
  .layout-preview-panel { width: 100%; position: static; order: -1; }
  .layout-form { width: 100%; }
  .public-menu .menu-presentation:not([data-columns="0"]) > .menu-grid { grid-template-columns: 1fr; }
  .public-menu .menu-presentation[data-arrangement="ledger"] .menu-section { display: block; }
  .public-menu .menu-presentation[data-arrangement="ledger"] .section-items { border-left: 0; padding-left: 0; }
  .public-menu .menu-presentation .with-number { grid-template-columns: auto minmax(0,1fr); }
  .public-menu .menu-presentation .with-number dl { grid-column: 2; grid-row: auto; }
  .public-menu .menu-table { min-width: 24rem; }
}
@media print {
  .menu-presentation .menu-table-scroll { overflow: visible; }
  .menu-presentation .menu-table { min-width: 0; }
  .menu-table thead { display: table-header-group; }
  .menu-table tr { break-inside: avoid; }
  .abv-chart { print-color-adjust: exact; }
}

#preview-menu-notice { color: var(--ink); background: var(--paper); text-align: center; }
.public-menu.has-preview-notice { padding-bottom: 3rem; }
.public-menu #preview-menu-notice { position: fixed; z-index: 2; inset: auto 0 0; padding: .8rem 1rem; border-top: 1px solid var(--line); font: 500 .8rem/1.4 var(--body); }
.display #preview-menu-notice { position: absolute; bottom: 1.11cqh; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .55cqw; width: max-content; max-width: 96cqw; padding: .37cqh .42cqw; font: 500 1.3cqh/1.4 var(--body); }
.display #preview-menu-notice label { display: flex; align-items: center; gap: .28cqw; }
.display #preview-menu-notice label > span { color: color-mix(in srgb, var(--ink) 68%, var(--paper)); }
.display #preview-menu-notice select,.display #preview-menu-notice button { min-height: 2.7cqh; border: 1px solid color-mix(in srgb, var(--ink) 30%, var(--paper)); border-radius: .35cqh; background: var(--paper); color: var(--ink); font: inherit; }
.display #preview-menu-notice select { max-width: 14cqw; padding: .2cqh 1.3cqw .2cqh .4cqw; }
.display #preview-menu-notice button { padding: .2cqh .55cqw; cursor: pointer; }
.display #preview-menu-notice button:disabled { opacity: .45; cursor: default; }
.display #preview-menu-notice :is(select,button):focus-visible { outline: .2cqh solid var(--ink); outline-offset: .2cqh; }
.display .preview-page { white-space: nowrap; font-variant-numeric: tabular-nums; }
.display .preview-paging { display: inline-flex; gap: .25cqw; }
.display.has-preview-notice .display-brand { display: none; }
@media print { .public-menu #preview-menu-notice { position: static; } }

/* Scales with metadata or section-heading typography in TV, thumbnails, web, and print. */
:is(.menu-item, .menu-section > h2) .state-icon { display: inline-block; width: 1.6em; height: 1.1em; vertical-align: -.15em; color: var(--accent); fill: currentColor; }
.menu-section > h2 .state-icon { width: 1.3em; height: 1em; margin-right: .25em; }
.print :is(.menu-item, .menu-section > h2) .state-icon { color: var(--ink); }
@media print { :is(.menu-item, .menu-section > h2) .state-icon { color: #000; } }

/* Overview: inventory first, then the actual guest-facing outputs. */
#overview > .onboarding-panel { margin-bottom: 3rem; }
.overview-heading, .overview-section-head, .overview-output-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.overview-heading { margin-bottom: 1.4rem; }
.overview-heading h2, .overview-section-head h2 { margin: 0; font: 600 clamp(1.8rem,3vw,2.6rem)/1 var(--display); letter-spacing: -.035em; }
.overview-heading .section-no, .overview-section-head .section-no { margin-bottom: .55rem; color: var(--muted); }
.overview-badge { display: inline-flex; align-items: center; gap: .5rem; font-size: .8rem; white-space: nowrap; }
.overview-badge::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: #a36b21; }
.overview-badge[data-live="true"]::before { background: #398051; }
.overview-stats { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-block: 1px solid var(--line); }
.overview-stat { display: flex; flex-direction: column; gap: .65rem; padding: 1.25rem 1rem; border-right: 1px solid var(--line); text-decoration: none; }
.overview-stat:first-child { padding-left: 0; }
.overview-stat:last-child { border-right: 0; }
.overview-stat:hover { background: #faf8f280; }
.overview-stat > span { font: .65rem var(--mono); text-transform: uppercase; }
.overview-stat strong { font: 600 clamp(1.9rem,3.5vw,3.1rem)/1 var(--display); letter-spacing: -.04em; }
.overview-stat small, .overview-caption { color: var(--muted); font-size: .76rem; line-height: 1.5; }
.overview-stat small { margin-top: auto; }
.overview-caption { margin: .8rem 0 1.5rem; }
.overview-section-head { margin: 2.6rem 0 1rem; }
.overview-section-head > a, .overview-output-head > a { flex-shrink: 0; font-size: .8rem; text-underline-offset: .2em; white-space: nowrap; }
#overview-tv-count { font: .85rem var(--mono); color: var(--muted); letter-spacing: 0; }
.overview-tv-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; }
.overview-output-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.overview-output { min-width: 0; padding: 1rem; border: 1px solid var(--line); background: #faf8f2; }
.overview-output-head { margin-bottom: .85rem; }
.overview-output h3 { margin: 0; font: 600 1.2rem var(--display); }
.overview-output > p { color: var(--muted); font-size: .77rem; line-height: 1.5; margin: 1rem 0 0; }
.overview-output > .button { margin-top: 1rem; width: 100%; font-size: .8rem; }
.overview-media { position: relative; width: 100%; overflow: hidden; background: #e9e5dc; outline: 1px solid var(--line); }
.overview-media iframe { position: absolute; top: 0; left: 0; max-width: none; border: 0; transform: scale(var(--preview-scale,0)); transform-origin: top left; pointer-events: none; }
.overview-tv-grid .overview-media[data-preview-width="900"] { width: min(100%,220px); margin-inline: auto; }
.overview-preview-status { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; color: var(--muted); background: #e9e5dc; text-align: center; font-size: .8rem; }
.overview-preview-status[hidden], .overview-preview-status button[hidden], .overview-qr [hidden] { display: none; }
.overview-preview-status .button { font-size: .8rem; }
.overview-qr { aspect-ratio: 1; display: grid; place-items: center; padding: 10%; background: var(--qr-paper); border: 1px solid color-mix(in srgb, var(--qr-ink) 50%, transparent); }
.overview-qr img { display: block; width: 100%; height: auto; }
.overview-qr p { font-size: .8rem; }
.overview-empty { grid-column: 1/-1; border: 1px dashed var(--line); padding: 2rem; }
.overview-empty h3 { margin-top: 0; font: 600 1.4rem var(--display); }
.overview-empty p { color: var(--muted); }
.overview-details { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.2rem; margin-top: 2.5rem; }
.overview-details .panel { box-shadow: none; padding: 1.5rem; }
.overview-details .panel-head h2 { font-size: 1.7rem; }
.overview-mix-row { display: grid; grid-template-columns: 1fr auto; gap: .5rem; margin-top: 1.05rem; font-size: .85rem; }
.overview-mix-row b { font: .8rem var(--mono); }
.overview-mix-row i { grid-column: 1/-1; height: 4px; background: var(--line); }
.overview-mix-row i::before { display: block; content: ""; height: 100%; width: var(--share); background: var(--accent); }
#overview-status { margin-bottom: 0; }
#overview-status > div { display: grid; gap: .4rem; padding-block: .85rem; border-bottom: 1px solid var(--line); }
#overview-status > div:last-child { border: 0; padding-bottom: 0; }
#overview-status dt { font: .63rem var(--mono); color: var(--muted); text-transform: uppercase; }
#overview-status dd { margin: 0; font-size: .83rem; line-height: 1.5; }
@media (max-width: 1100px) {
  .overview-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .overview-stat:nth-child(3) { border-right: 0; }
  .overview-stat:nth-child(n+4) { border-top: 1px solid var(--line); }
  .overview-stat:nth-child(4) { padding-left: 0; }
  .overview-output-grid { gap: .8rem; }
  .overview-output { padding: .8rem; }
}
@media (max-width: 700px) {
  .overview-heading, .overview-section-head { align-items: flex-start; flex-direction: column; }
  .overview-badge { margin: 0; }
  .overview-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .overview-stat { padding: 1rem; }
  .overview-stat:nth-child(3) { border-right: 1px solid var(--line); }
  .overview-stat:nth-child(2n) { border-right: 0; }
  .overview-stat:nth-child(2n+1) { padding-left: 0; }
  .overview-stat:nth-child(4) { padding-left: 1rem; }
  .overview-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .overview-tv-grid, .overview-output-grid, .overview-details { grid-template-columns: minmax(0,1fr); }
  .overview-output { padding: 1rem; }
  .overview-output-grid .overview-media, .overview-qr { max-width: 300px; margin-inline: auto; }
  .overview-details .panel { padding: 1rem; }
}

/* Guest controls share the menu's palette and stay mounted while results change. */
.web-menu-tools { display: grid; grid-template-columns: minmax(0,1fr) minmax(140px,.45fr); gap: 1rem 1.5rem; margin-block: 1.5rem 0; padding-block: 0 1rem; border-bottom: 1px solid var(--line); font-family: var(--body); }
.web-menu-search, .web-menu-group, .web-menu-language { display: grid; gap: .5rem; min-width: 0; font-size: .8rem; }
.web-menu-search > div { position: relative; }
.web-menu-tools :is(input[type="search"], select) { width: 100%; min-width: 0; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: var(--paper); font: 400 1rem var(--body); }
.web-menu-tools input[type="search"] { padding-right: 3rem; }
.web-menu-tools input[type="search"]::-webkit-search-cancel-button { display: none; }
.web-menu-tools select { cursor: pointer; }
.web-menu-tools :is(input,select,button):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.web-menu-search button { position: absolute; inset: 2px 2px 2px auto; width: 44px; border: 0; background: transparent; color: var(--ink); font-size: 1.5rem; cursor: pointer; }
.web-menu-search button:hover { background: var(--line); }
.web-menu-search button[hidden] { display: none; }
.web-menu-available { display: flex; gap: .65rem; align-items: center; min-height: 44px; font-size: .85rem; cursor: pointer; }
.web-menu-available input { width: 18px; height: 18px; min-height: 0; accent-color: var(--accent); }
#menu-result-count { align-self: center; margin: 0; text-align: right; color: var(--muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.web-menu-empty { grid-column: 1/-1; padding: 3rem 0; }
.web-menu-empty h2 { font: 600 1.75rem var(--display); }
.web-menu-empty p { color: var(--muted); line-height: 1.5; }
@media (max-width: 480px) {
  .web-menu-tools { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .8rem; }
  .web-menu-search { grid-column: 1/-1; }
  .web-menu-available { align-self: end; min-height: 48px; }
  #menu-result-count { grid-column: 1/-1; text-align: left; }
}
@media print { .web-menu-tools { display: none; } }

@media screen and (max-width: 700px) {
  .public-menu .menu-header { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .public-menu .menu-header > div { min-width: 0; }
}


/* Appearance controls reuse Customize's draft form and preview. */
.design-color > div { display: flex; align-items: center; gap: .5rem; margin-top: .4rem; }
.design-color input[type="color"] { width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; padding: .2rem; cursor: pointer; }
.design-color input:not([type="color"]) { min-width: 0; width: 100%; }
.design-color .button { padding: .7rem; min-height: 2.75rem; }
.design-css-label { display: grid; gap: .6rem; margin-top: 1rem; font-size: .8rem; }
.design-css-label textarea { min-height: 10rem; width: 100%; resize: none; font-family: monospace; line-height: 1.5; }
.menu-shell.custom-background { background-color: var(--paper); }
/* Custom artwork supplies its own frame; catalog decoration must not overlay it. */
:is(.display, .public-menu)[data-preset] .menu-shell[data-background-mode="image"] { border: 0; }
:is(.display, .public-menu)[data-preset] .menu-shell[data-background-mode="image"]::before,
:is(.display, .public-menu)[data-preset] .menu-shell[data-background-mode="image"]::after { content: none; }
.print .menu-shell.custom-background { background: white !important; }
@media print {
  .menu-shell.custom-background { background: white !important; }
  .menu-shell [data-custom-style] { color: #000 !important; border-color: #000 !important; }
}

.design-color input[type="text"], #layout-background_url, .design-css-label textarea { padding: .7rem; border: 1px solid var(--line); border-radius: 0; background: white; color: var(--ink); font-size: .85rem; }
.menu-shell[data-custom-font="true"] :is(.menu-item h3, .menu-section > h2, .display-price) { font-family: var(--body); }
.menu-shell[data-custom-heading="true"] :is(.menu-header, .plain-menu-header) h1 { color: var(--heading); }
.public-menu.print { --heading: #171611 !important; --accent: #171611 !important; }
@media print { .public-menu { --ink: #171611 !important; --paper: #fff !important; --heading: #171611 !important; --accent: #171611 !important; } }

/* Events and specials share one card renderer across editor, web and TV. */
.promotion-workspace { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); gap: 2rem; align-items: start; margin-top: 2rem; }
.promotion-list { margin-block: 1.5rem; border-top: 1px solid var(--line); }
.promotion-row { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding-block: 1.2rem; border-bottom: 1px solid var(--line); }
.promotion-row > div { min-width: 0; }
.promotion-row h3 { margin: .5rem 0; overflow-wrap: anywhere; }
.promotion-row p, .promotion-empty { color: var(--muted); font-size: .85rem; line-height: 1.5; }
.promotion-preview-panel { min-width: 0; position: sticky; top: 100px; }
#promotion-form textarea { width: 100%; font: inherit; resize: vertical; }
#promotion-form input, #promotion-form select, #promotion-form textarea { max-width: 100%; min-width: 0; }
#promotion-preview { container-type: inline-size; color: var(--ink); background: var(--paper); }
#promotion-preview[data-mode="landscape"] { aspect-ratio: 16/9; }
#promotion-preview[data-mode="portrait"] { aspect-ratio: 9/16; max-width: 360px; margin-inline: auto; }
.promotion-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
.promotion-image { display: block; width: 100%; max-height: 300px; object-fit: cover; }
.promotion-image[hidden] { display: none; }
.promotion-copy { min-width: 0; padding: 1.5rem; }
.promotion-card .promotion-kind { margin: 0 0 .75rem; color: var(--ink); font: 600 .7rem/1.2 var(--body); letter-spacing: .12em; text-transform: uppercase; }
.promotion-card h2 { margin: 0; font: 650 clamp(1.6rem, 3vw, 2.6rem)/1.1 var(--display); overflow-wrap: anywhere; }
.promotion-card .promotion-details { margin: 1rem 0 0; font: 400 1rem/1.5 var(--body); white-space: pre-wrap; overflow-wrap: anywhere; }
.promotion-link { display: inline-block; margin-top: 1.2rem; padding-block: .5rem; font: 600 .85rem/1.5 var(--body); overflow-wrap: anywhere; text-underline-offset: .2em; }
.promotion-link:focus-visible, #promotion-form textarea:focus-visible, #promotion-preview-mode:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.public-promotions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.25rem; margin-block: 1.5rem 2.5rem; }
.public-promotions[hidden] { display: none; }
.display .menu-shell.showing-promotion { padding: 4cqh 4cqw 6cqh; background-image: none !important; background-color: var(--paper); }
.promotion-slide { width: 100%; height: 100%; flex-direction: row; align-items: center; border: 0; }
.promotion-slide .promotion-image { width: 38%; height: 100%; max-height: none; object-fit: contain; }
.promotion-slide .promotion-copy { flex: 1; padding: 3cqw; }
.promotion-slide h2 { font-size: 4cqw; }
.promotion-slide .promotion-kind { font-size: 1.3cqw; margin-bottom: 1.5cqw; }
.promotion-slide .promotion-details { white-space: normal; font-size: 1.65cqw; line-height: 1.35; margin-top: 1.5cqw; }
.portrait .promotion-slide, #promotion-preview[data-mode="portrait"] .promotion-slide { flex-direction: column; justify-content: center; }
.portrait .promotion-slide .promotion-image, #promotion-preview[data-mode="portrait"] .promotion-image { width: 100%; height: 35%; }
.portrait .promotion-slide .promotion-copy, #promotion-preview[data-mode="portrait"] .promotion-copy { flex: 0 1 auto; width: 100%; padding: 5cqw; }
.portrait .promotion-slide h2, #promotion-preview[data-mode="portrait"] h2 { font-size: 7cqw; }
.portrait .promotion-slide .promotion-details, #promotion-preview[data-mode="portrait"] .promotion-details { font-size: 3.2cqw; }
.portrait .promotion-slide .promotion-kind, #promotion-preview[data-mode="portrait"] .promotion-kind { font-size: 2.6cqw; }
@media (max-width: 700px) {
  .promotion-workspace { display: flex; flex-direction: column; gap: 1rem; }
  .promotion-preview-panel { position: static; width: 100%; order: -1; }
  .promotion-row { flex-direction: column; align-items: start; gap: .5rem; }
  .promotion-row .workspace-actions { flex-wrap: wrap; }
}
@media print { .public-promotions { display: none; } }

#promotion-form .studio-field { width: 100%; color: var(--ink); font: 400 1rem/1.4 var(--body); }
#promotion-form [aria-invalid="true"] { border: 2px solid #a4321b; }
#promotion-clear-dates { margin-block: .75rem; }

/* Locations reuse Studio's native forms and ruled lists. */
.location-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; padding-block: 1.8rem; border-top: 1px solid var(--line); }
.locations-list { margin-top: 2rem; }
.location-row h3 { margin: 0 0 .7rem; font: 650 1.5rem var(--display); overflow-wrap: anywhere; }
.location-row > div > p:not(.section-no) { color: var(--muted); font-size: .85rem; }
.location-rename { margin: 0; align-content: start; }
.location-rename input, #add-location input { width: 100%; min-width: 0; }
#add-location { padding-top: 1.5rem; border-top: 1px solid var(--line); }
#location-picker-label { margin-right: 1rem; }
#location-picker-label[hidden] { display: none; }
#location-picker { max-width: min(340px,60vw); }
#square-connect { margin: 0; max-width: 100%; }
@media (max-width: 700px) { .location-row { grid-template-columns: 1fr; gap: 1rem; } }

.location-rename input, #add-location input { font: 400 1rem/1.4 var(--body); }

.web-menu-language { grid-column:1/-1; max-width:340px; }
.web-menu-language[hidden] { display:none; }

.web-theme-settings { margin-top: 24px; padding-block: 20px; border-block: 1px solid var(--line); }
.web-theme-settings h3 { margin: 0; font: 600 1.2rem var(--body); }
.web-theme-settings .inline-form { border-top: 0; padding-top: 0; }
.web-theme-preview { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.web-theme-preview img { flex: 0 0 112px; width: 112px; height: 112px; }
.web-theme-preview p { margin-top: 0; }
.web-theme-settings select { width: 100%; min-width: 0; }
@media screen and (max-width: 950px) {
  .web-theme-settings .inline-form { grid-template-columns: minmax(0,1fr); }
  .web-theme-settings .inline-form button { justify-self: start; }
}

/* AI drafts reuse Studio forms and its confirmation flow. */
#ai-form { max-width: 48rem; margin-block: 2rem; }
#ai-form fieldset { display: grid; gap: .7rem; border: 0; padding: 0; }
#ai-form legend { font-weight: 600; padding-block: .75rem; }
#ai-form select { width: 100%; }
#ai-form textarea { min-height: 10rem; }
#ai-form button { justify-self: start; }
.ai-result { padding-block: 1.75rem; border-top: 1px solid var(--line); display: grid; gap: .8rem; }
.ai-result h4,.ai-result p { margin: 0; }
.ai-result img { width: min(100%, 768px); height: auto; object-fit: contain; }
.ai-result input { width: 100%; }
.ai-result section { min-width: 0; overflow-wrap: anywhere; }
.ai-result h5 { margin: .5rem 0; font-size: 1rem; }
.ai-result dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .4rem .8rem; }
.ai-result dt { font-weight: 600; }
.ai-result dd { margin: 0; }
.ai-result .button { justify-self: start; }
.ai-draft-copy { white-space: pre-wrap; max-width: 65ch; }
.ai-table-scroll { overflow-x: auto; }
.ai-table-scroll table { border-collapse: collapse; min-width: 650px; width: 100%; }
.ai-table-scroll td,.ai-table-scroll th { padding: .75rem; text-align: left; border-bottom: 1px solid var(--line); }
#ai-quote-panel { padding: 1.5rem; }

#ai, .ai-result, .ai-result label, #ai-form, #ai-form fieldset { min-width: 0; }
#ai input, #ai select, #ai textarea { box-sizing: border-box; max-width: 100%; }
#ai .ai-result h4, #ai .ai-result p { overflow-wrap: anywhere; }

/* Paid-action fields retain the same readable Studio control typography. */
#ai .studio-field, #ai .ai-result input, .billing form input[type=number] { font: 400 1rem/1.4 var(--body); color: var(--ink); }

/* Contextual AI uses Studio's native dialog; only its body owns scrolling. */
.ai-assist { width: min(52rem, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; }
.ai-assist[open] { display: flex; flex-direction: column; }
.ai-assist-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--line); }
.ai-assist .ai-assist-head h2 { font-size: clamp(1.3rem, 4vw, 1.8rem); }
.ai-assist-head .button { flex-shrink: 0; }
.ai-assist .button:hover { transform: none; }
.ai-assist-body { overflow-y: auto; padding: 1.5rem; min-height: 0; }
.ai-assist #ai-form { margin-block: 1rem; padding: 0; }
.ai-assist #ai-form input[type=hidden] { display: none; }
.ai-assist #ai-form fieldset { min-width: 0; }
.ai-item-assist { font-size: .75rem; margin-top: .4rem; }
html:has(.ai-assist[open]) { overflow: hidden; }
@media (max-width: 540px) { .ai-assist-head, .ai-assist-body { padding: 1rem; } .ai-assist .panel-head { align-items: start; flex-direction: column; } }


/* AI invitations: jewel-toned foil, a gliding highlight, and a little starlight. */
.ai-invitation { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .45rem; max-width: 100%; vertical-align: top; }
.ai-invitation[hidden] { display: none; }
.ai-benefit { display: block; max-width: 30ch; color: var(--muted); font: 400 .76rem/1.45 var(--body); text-wrap: pretty; }
.button.ai-shine {
  --ai-foil: #f8df9a; --ai-violet: #574076; --ai-night: #241c37;
  position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; gap: .55em;
  padding: .7rem 1rem; margin: 0; min-height: 44px;
  border: 1px solid #c5a677; border-radius: 7px; color: #fff3cd;
  background: linear-gradient(115deg, var(--ai-night), var(--ai-violet) 48%, var(--ai-night)); background-size: 200% 100%;
  box-shadow: inset 0 1px 0 #fff2c64d, inset 0 -1px 0 #0003, 0 2px 5px #241c3720;
  font-weight: 650; text-shadow: 0 1px 1px #0005;
  transition: box-shadow .2s, border-color .2s, background-position .35s;
}
.button.ai-shine::before {
  content: ''; flex: 0 0 .9em; width: .9em; height: .9em; background: var(--ai-foil);
  clip-path: polygon(50% 0, 62% 36%, 100% 50%, 62% 63%, 50% 100%, 37% 63%, 0 50%, 37% 36%);
  animation: ai-twinkle 3.8s ease-in-out infinite;
}
.button.ai-shine::after {
  content: ''; pointer-events: none; position: absolute; inset: -60% auto -60% -80%; width: 45%;
  background: linear-gradient(90deg, transparent, #fff6cf55, #fff9e5a6, transparent);
  transform: skewX(-22deg); animation: ai-glint 6s ease-in-out infinite;
}
.button.ai-shine:hover:not(:disabled), .button.ai-shine:focus-visible { background-position: 100% 0; border-color: var(--ai-foil); box-shadow: inset 0 1px 0 #fff5cf80, 0 0 0 3px #ac89cc24, 0 4px 15px #57407640; }
.button.ai-shine:focus-visible { outline: 2px solid var(--ai-violet); outline-offset: 3px; }
.button.ai-shine:active:not(:disabled) { box-shadow: inset 0 2px 5px #0005; }
.button.ai-shine:disabled { opacity: .55; box-shadow: none; }
.button.ai-shine:disabled::before, .button.ai-shine:disabled::after { animation: none; }
.button.ai-shine:disabled::after { display: none; }
@keyframes ai-twinkle { 0%, 65%, 100% { opacity: .8; transform: scale(.9) rotate(0); } 30% { opacity: 1; transform: scale(1.15) rotate(90deg); } }
@keyframes ai-glint { 0%, 70% { left: -80%; opacity: 0; } 74% { opacity: .85; } 90%, 100% { left: 140%; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .button.ai-shine, .button.ai-shine::before, .button.ai-shine::after { animation: none; transition: none; } .button.ai-shine::after { display: none; } }
@media (forced-colors: active) { .button.ai-shine { color: ButtonText; background: ButtonFace; border-color: ButtonText; box-shadow: none; text-shadow: none; } .button.ai-shine::before, .button.ai-shine::after { display: none; } }

/* Inventory reads like a menu; the full editor opens only when needed. */
#menu.editor-panel { padding: clamp(1rem, 2.5vw, 2rem); }
#menu > .panel-head { margin-bottom: 0; align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap: 1rem; border-bottom: 0; }
#menu > .panel-head > div:first-child { flex: 1; min-width: 8rem; }
#menu #menu-heading { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-block: .25rem 0; }
#menu #menu-status { text-transform: none; font: 400 .8rem/1.5 var(--body); color: var(--muted); }
.inventory-assist { display: grid; gap: .75rem; max-width: 14rem; margin-left: auto; text-align: right; }
.inventory-assist .ai-benefit { width: 0; min-width: 100%; text-align: center; }
#menu #menu-status { margin: .6rem 0 0; }
.inventory-section-heading[hidden] { display: none; }
.inventory-toolbar { display: flex; align-items: end; gap: .75rem; padding-block: 1.25rem; border-block: 1px solid var(--line); }
.inventory-search { display: grid; gap: .4rem; flex: 1; min-width: 0; font-size: .75rem; font-weight: 600; }
.inventory-search :is(input, select) { width: 100%; min-height: 44px; padding: .75rem; border: 1px solid var(--line); border-radius: 5px; background: white; font: 400 1rem var(--body); }
.inventory-toolbar > .button { min-height: 44px; white-space: nowrap; }
.inventory-section-heading { display: flex; align-items: baseline; gap: .7rem; padding-block: 1.5rem .65rem; border-bottom: 2px solid var(--ink); }
.inventory-section-heading h3 { margin: 0; font: 600 1rem var(--body); }
.inventory-section-heading span { font-size: .75rem; color: var(--muted); }
#items .item { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line); }
#items .item[hidden], .inventory-section[hidden] { display: none; }
.item-overview { display: grid; grid-template-columns: minmax(0,1fr) auto 7.5rem; gap: 1.25rem; align-items: center; }
.inventory-item-title { min-width: 0; }
.inventory-item-title h4 { margin: 0; font: 600 1.18rem/1.35 var(--display); overflow-wrap: anywhere; }
.inventory-item-title p { margin: .3rem 0 0; font: 400 .8rem/1.45 var(--body); color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.inventory-price { display: grid; gap: .25rem; text-align: right; min-width: 4.5rem; }
.inventory-price strong { font: 500 1rem var(--mono); white-space: nowrap; }
.inventory-price small { font-size: .7rem; color: var(--muted); }
#items .item-overview .switch-control { grid-column: auto; align-self: center; font-size: .75rem; }
#items .item-overview .switch-control input { min-height: 0; padding: 0; }
.item-editor { margin-top: .65rem; }
.item-editor > summary { width: fit-content; min-height: 36px; padding: .5rem .65rem; margin-left: -.65rem; cursor: pointer; font: 600 .75rem var(--body); color: var(--muted); border-radius: 4px; }
.item-editor > summary:hover { color: var(--ink); background: var(--paper); }
.item-editor[open] > summary { color: var(--ink); }
.item-editor-body { padding: 1.25rem; background: #f2eee5; border: 1px solid var(--line); border-radius: 6px; }
.item-primary-fields { display: grid; grid-template-columns: minmax(0,1fr); gap: .85rem; }
#items .item-editor-body label { display: grid; gap: .4rem; color: var(--muted); font: 500 .75rem var(--body); }
#items .item-editor-body :is(input, select) { grid-column: auto; min-height: 44px; padding: .7rem; border: 1px solid var(--line); border-radius: 4px; background: white; font: 400 1rem var(--body); color: var(--ink); }
#items .item-editor-body :is(input, select):disabled { background: #e7e2d7; color: var(--muted); }
.item-ai-help { margin-block: 1rem 1.5rem; }
#items .item-metadata { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; }
.item-editor-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); flex-wrap: wrap; }
#items .item-order, #items .row-actions { display: flex; flex-direction: row; gap: .5rem; }
#items .item-order button { padding: .5rem; min-height: 40px; border-radius: 4px; font-size: .75rem; color: var(--muted); }
#items .item-order button:disabled { opacity: .4; cursor: default; }
#items[data-filtered=true] .item-order { display: none; }
#items .row-actions { margin-left: auto; }
#items .item-error { margin-top: .75rem; }
@media (max-width: 1000px) { #items .item-metadata { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .inventory-assist { max-width: 10.5rem; }
  .item-overview { grid-template-columns: minmax(0,1fr) auto; gap: .55rem 1rem; }
  #items .item-overview .switch-control { grid-column: 1/-1; margin-top: .25rem; }
  .inventory-toolbar { flex-wrap: wrap; }
  .inventory-search { flex-basis: 100%; }
  .inventory-toolbar > .button:last-child { margin-left: auto; }
  .item-editor-body { padding: 1rem; }
  #items .item-metadata { grid-template-columns: minmax(0,1fr); }
}

/* Secondary Studio workflows: compact venue context, readable task surfaces.
   Overview and the menu inventory deliberately retain their own layouts. */
.workspace-tools { --tool-surface: #f2eee5; --tool-gap: 1.25rem; }
.workspace-tools .workspace-head { align-items: center; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.workspace-tools .workspace-head .eyebrow { margin-bottom: .6rem; color: var(--muted); }
.workspace-tools .workspace-head h1 { font: 600 clamp(1.35rem,2.5vw,2rem)/1.15 var(--display); letter-spacing: -.025em; white-space: normal; }
.workspace-tools .panel { padding: clamp(1rem,2.4vw,2rem); box-shadow: none; }
.workspace-tools .panel-head { gap: 1.25rem; align-items: center; margin-bottom: 1.25rem; padding-bottom: 1.25rem; }
.workspace-tools .panel-head .section-no { margin-bottom: .6rem; }
.workspace-tools .panel-head h2 { font-size: clamp(1.75rem,3vw,2.6rem); line-height: 1.1; letter-spacing: -.025em; }
.workspace-tools .panel > p:not(.field-error):not(.inline-alert) { max-width: 78ch; line-height: 1.6; }
.workspace-tools .layout-help { line-height: 1.6; }
.workspace-tools .subheading { margin: 1.75rem 0 .75rem; font-size: 1.35rem; }
.workspace-tools .button:hover, .keg-form .button:hover { transform: none; }
.workspace-tools .toast:not(.show) { visibility: hidden; }
.workspace-tools .workflow-invitation { margin-left: auto; max-width: 13rem; text-align: right; }
.workspace-tools .workflow-invitation .ai-benefit { width: 0; min-width: 100%; text-align: center; }
.workspace-tools :is(.inline-form,.schedule-form,.invite-form) { gap: 1rem; padding: 1.25rem; background: var(--tool-surface); border: 1px solid var(--line); }
.workspace-tools :is(.inline-form,.schedule-form,.invite-form) label { font: 500 .85rem/1.4 var(--body); text-transform: none; gap: .45rem; }
.workspace-tools :is(.inline-form,.schedule-form,.invite-form) :is(input,select) { width: 100%; min-width: 0; font: 400 1rem/1.4 var(--body); }
.workspace-tools :is(.inline-form,.schedule-form,.invite-form) > p { grid-column: 1/-1; margin: 0; font-size: .8rem; line-height: 1.6; }
.workspace-tools :is(.inline-form,.schedule-form,.invite-form) > p:not(.field-error) { color: var(--muted); }
.workspace-tools textarea { resize: none; line-height: 1.5; }
.workspace-tools :is(input,select,textarea):focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.workspace-tools details > summary { padding-block: .9rem; cursor: pointer; }
.workspace-tools details > summary:hover { text-decoration: underline; text-underline-offset: .2em; }
.workspace-tools details[open] > summary { margin-bottom: .6rem; }
.workspace-tools .integration-card { margin-top: 1rem; padding: 1.25rem; border-radius: 4px; }
.workspace-tools #square-sales-link { display: inline-block; padding-block: .75rem; font-size: .85rem; }
.workspace-tools #square-sales-link[hidden] { display: none; }
.workspace-tools .integration-card .inline-form { padding: 0; border: 0; background: transparent; }
.workspace-tools .integration-card .inline-form > p { color: #ffffffb8; }
.workspace-tools #import-source { margin-top: 1.5rem; padding: 1.25rem; background: var(--tool-surface); border: 1px solid var(--line); }
.workspace-tools #import-source fieldset { margin: 0; }
.workspace-tools #import-file { width: 100%; padding: 1rem; border: 1px dashed var(--line); background: var(--cream); }
.workspace-tools #import-file::file-selector-button { padding: .6rem .8rem; margin-right: .75rem; border: 1px solid var(--ink); border-radius: 3px; background: var(--cream); color: var(--ink); cursor: pointer; font: inherit; }
.workspace-tools #import-source legend { padding-bottom: 1rem; }
.workspace-tools #import-text { min-height: 12rem; padding: .9rem; }
.workspace-tools .screen-card { gap: 1.25rem; padding: 1.25rem; background: var(--cream); border-radius: 4px; }
.workspace-tools .screen-card > div:first-child { display: grid; grid-template-columns: 1fr auto; gap: .6rem 1rem; }
.workspace-tools .screen-card .screen-version { grid-column: 1/-1; grid-row: 2; margin: 0; }
.workspace-tools .screen-card > div:first-child .button { justify-self: start; grid-column: 1/-1; }
.workspace-tools .screen-card .screen-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.workspace-tools .screen-settings > label:not(.switch-control) { display: grid; gap: .4rem; font-size: .8rem; }
.workspace-tools .screen-settings select { width: 100%; min-width: 0; font: 400 1rem var(--body); }
.workspace-tools .screen-settings .switch-control { font-size: .8rem; min-height: 44px; }
.workspace-tools #add-screen { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; }
.workspace-tools .schedule-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.workspace-tools .schedule-form .button { justify-self: start; }
.workspace-tools .theme-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; padding-block: 1.5rem; border-top: 1px solid var(--line); }
.workspace-tools .theme-toolbar label { display: grid; gap: .45rem; flex: 1 1 14rem; font-size: .85rem; }
.workspace-tools .theme-toolbar input { width: 100%; min-height: 48px; padding: .75rem; border: 1px solid var(--line); background: white; font: inherit; }
.workspace-tools .theme-toolbar p { margin: 0; padding-bottom: .85rem; color: var(--muted); font-size: .8rem; }
.workspace-tools .theme-card[hidden] { display: none; }
.workspace-tools .web-theme-settings { padding: 1.25rem; background: var(--tool-surface); border: 1px solid var(--line); }
.workspace-tools .web-theme-settings h3 { margin-top: 0; }
.workspace-tools .layout-form > details { padding: .25rem 1rem 1rem; margin-bottom: .75rem; border: 1px solid var(--line); background: var(--cream); }
.workspace-tools .layout-form > details:not([open]) { padding-bottom: .25rem; }
.workspace-tools .layout-fields { gap: 1rem; }
.workspace-tools .layout-save-row { gap: .8rem; align-items: center; border-top: 1px solid var(--line); padding-top: 1rem; }
.workspace-tools .promotion-preview-panel { padding: 1.25rem; border: 1px solid var(--line); background: var(--tool-surface); }
.workspace-tools #promotion-form { padding: 1.25rem; border: 1px solid var(--line); }
.workspace-tools #promotion-form h3 { margin: 0 0 1rem; font: 600 1.4rem var(--display); }
.workspace-tools .promotion-list > p { padding: 1rem; background: var(--tool-surface); line-height: 1.5; }
.workspace-tools .website-editor .website-publication { padding: 1rem; background: var(--tool-surface); border: 1px solid var(--line); }
.workspace-tools .website-editor .website-publication p { margin: 0; }
.workspace-tools .website-editor .website-actions { padding-block: 1rem; border-top: 1px solid var(--line); }
.workspace-tools .website-editor fieldset > label { margin-bottom: 1rem; }
.workspace-tools .website-editor .website-preview-panel { background: var(--tool-surface); }
.workspace-tools #languages-status { padding: 1rem; background: var(--tool-surface); border-left: 3px solid var(--ink); line-height: 1.6; }
.workspace-tools #languages-access { background: transparent; border: 0; padding: 0; color: var(--muted); font-size: .85rem; line-height: 1.6; }
.workspace-tools .languages-actions { align-items: start; }
.workspace-tools .language-row { padding: 1.25rem; background: var(--tool-surface); margin-bottom: .75rem; border: 1px solid var(--line); }
.workspace-tools .location-row { padding: 1.25rem; border: 1px solid var(--line); background: var(--cream); }
.workspace-tools .location-row h3 { font-size: 1.4rem; margin-block: .5rem; }
.workspace-tools .member-list p { align-items: center; padding-block: 1rem; overflow-wrap: anywhere; }
.workspace-tools #branding-settings { padding: 1.25rem; border: 1px solid var(--line); background: var(--tool-surface); }
.workspace-tools #branding-settings h3 { margin-top: 0; }
.workspace-tools .developer-docs { line-height: 1.65; }
.workspace-tools .developer-docs h4 { margin-bottom: .6rem; font-size: 1.1rem; }
.workspace-tools .developer-docs pre { padding: 1.25rem; border-radius: 4px; }
.workspace-tools .analytics-list .metric { border: 1px solid var(--line); padding: 1.5rem; }
.workspace-tools .analytics-list .metric strong { margin-bottom: .4rem; }
.workspace-tools .sales-actions { align-items: center; }
@media (max-width: 1000px) {
  .workspace-tools .workspace-head { align-items: stretch; }
  .workspace-tools .panel-head { align-items: start; gap: 1rem; }
  .workspace-tools .panel-head:has(.workflow-invitation) { flex-direction: row; flex-wrap: wrap; }
  .workspace-tools .panel-head > p { max-width: 65ch; }
  .workspace-tools #add-screen { grid-template-columns: 1fr 1fr; }
  .workspace-tools #add-screen .button { grid-column: 1/-1; }
}
@media (max-width: 540px) {
  .workspace-tools :is(.inline-form,.schedule-form,.invite-form), .workspace-tools #add-screen { grid-template-columns: minmax(0,1fr); }
  .workspace-tools .screen-card > div:first-child { grid-template-columns: minmax(0,1fr); }
  .workspace-tools .screen-settings { column-gap: .75rem; }
  .workspace-tools .workflow-invitation { max-width: 11rem; }
  .workspace-tools .theme-toolbar p { width: 100%; padding: 0; }
}

/* Assistance keeps its shared native dialog, with a clearer brief and quote. */
.ai-assist .ai-disclosure { margin-top: 0; font-size: .75rem; letter-spacing: .015em; }
.ai-assist #ai-intro { margin-bottom: .75rem; line-height: 1.5; }
.ai-assist #ai-balance { display: inline-block; margin: 0 0 1rem; padding: .5rem .75rem; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; font-size: .85rem; }
.ai-assist #ai-scope { margin: 0 0 .75rem; font-size: .82rem; line-height: 1.6; }
.ai-assist #ai-form legend { font: 600 1.25rem var(--display); padding-bottom: .6rem; }
.ai-assist #ai-facts { width: 100%; min-height: 11rem; padding: .9rem; border-radius: 3px; }
.ai-assist #ai-help { margin: 0; font-size: .78rem; line-height: 1.6; }
.ai-assist #ai-quote { margin-top: .5rem; }
.ai-assist #ai-quote-panel { background: var(--paper); border: 1px solid var(--line); }
.ai-assist #ai-quote-title { margin-top: 0; font: 600 1.3rem var(--display); }
.ai-assist #ai-quote-copy { font-weight: 600; }
.ai-assist .ai-history-head { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); gap: 1rem; }
.ai-assist .ai-history-head h3 { margin: 0; font: 600 1.3rem var(--display); }
.ai-assist .ai-result { padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--line); background: var(--cream); }

/* Pour silhouettes stay attached to their price and inherit menu ink. */
.menu-item .pour-icon { display: inline-block; width: 1.1em; height: 1.3em; margin-inline-end: .6em; vertical-align: -.22em; color: currentColor; flex: 0 0 1.1em; }
.display .display-price .pour-icon { align-self: center; }
.pour-icon-control { margin-block: 1rem; }
.pour-icon-examples { display: flex; flex-wrap: wrap; gap: 1rem; margin-block: .75rem; }
.pour-icon-examples span { display: inline-flex; align-items: end; gap: .35rem; font: 500 .85rem var(--mono); }
.pour-icon-examples svg { width: 1.6rem; height: 2rem; flex: none; }
.display .display-price .pour-icon { width: 2cqh; height: 2.6cqh; flex-basis: 2cqh; margin-inline-end: 2.1cqh; }
.display.portrait .display-price .pour-icon { width: 1.3cqh; height: 1.7cqh; flex-basis: 1.3cqh; margin-inline-end: 2.1cqh; }

/* Customize keeps its native form submit in the persistent Studio header. */
.studio-layout-save { display: grid; justify-items: center; gap: 2px; padding-block: 6px; }
.studio-layout-save .button { min-height: 38px; padding: .5rem 1rem; font-size: .85rem; white-space: nowrap; }
.studio-layout-save [role="status"] { font-size: .65rem; line-height: 1.2; }

.layout-preview-dialog { width: min(1500px, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 1rem; border: 1px solid var(--line); background: var(--paper); color: var(--ink); overflow: auto; }
.layout-preview-dialog::backdrop { background: #171611b3; }
.layout-preview-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.layout-preview-dialog h2 { margin: 0; font: 600 1.3rem/1.2 var(--display); }
.layout-preview-dialog header p { margin: .4rem 0 0; font-size: .8rem; }
.layout-preview-dialog .customization-preview.portrait { max-width: min(100%, 70dvh); margin-inline: auto; }
@media (max-width: 700px) { .layout-preview-dialog > header { align-items: start; flex-direction: column; } }

/* Serving labels belong alongside their price, on every menu output. */
.menu-item dd { white-space: nowrap; }
.menu-item dd b { display: inline; margin-inline-end: .8em; }
.display .menu-item .display-price { flex-wrap: nowrap; align-items: center; }
.display .menu-item .display-price b { flex-basis: auto; margin-inline-end: .8em; align-self: center; white-space: nowrap; }
.square-edit-size { display: inline-block; margin-top: .35rem; font-size: .75rem; text-underline-offset: .2em; }

.generated-backing-gallery { margin-bottom: 1.25rem; }
.generated-backing-previews { display: flex; gap: 1rem; align-items: start; margin: 1rem 0; }
.generated-backing-previews a { display: grid; gap: .4rem; min-width: 0; font-size: .8rem; }
.generated-backing-previews a:first-child { flex: 1; }
.generated-backing-previews a:last-child { flex: 0 0 24%; }
.generated-backing-previews img { display: block; width: 100%; height: auto; background: var(--cream); border: 1px solid var(--line); }
.generated-backing-previews a:hover { color: var(--accent); }

/* Location context belongs to the shared, always-visible Studio masthead. */
.studio-head #location-picker-label { margin: 0 auto 0 0; min-width: 0; flex: 1; }
.studio-head #location-picker { width: 100%; max-width: 340px; flex: 1; min-width: 0; min-height: 44px; text-overflow: ellipsis; }
@media (max-width: 540px) {
  .studio-head:has(#location-picker-label:not([hidden])) { height: 132px; flex-wrap: wrap; padding-block: 8px; gap: 4px .7rem; }
  .studio-head #location-picker-label { order: 3; flex-basis: 100%; }
  .studio-head #location-picker { width: 100%; max-width: none; flex: 1; }
  .studio-head:has(#location-picker-label:not([hidden])) + .studio-nav { top: 132px; }
}
@media (max-width: 360px) {
  .studio-support { width: 44px; justify-content: center; font-size: 0; gap: 0; }
}

.menu-table .table-price small { margin-inline-end: .6em; }

.layout-preview-tools label[hidden], .layout-pagination[hidden] { display: none; }
.layout-screen-title { margin: 1.2rem 0 .6rem; font: 600 .85rem var(--body); }

.screen-customization { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.screen-customization summary { cursor: pointer; font-weight: 600; }
.screen-customization fieldset { border: 0; padding: 0; min-width: 0; }
.screen-customization input[type="number"], .screen-customization select { width: 100%; min-height: 42px; border: 1px solid var(--line); background: var(--paper); padding: .5rem; }
.screen-customization label { display: block; margin-block: .5rem; font-size: .85rem; }
.screen-section-options { display: flex; flex-wrap: wrap; gap: 1rem; }

.layout-preview-panel:has(.screen-customization[open]) { position: static; }

/* Allocate the available TV canvas to rows instead of fixed vertical padding. */
.display .menu-presentation[data-even-rows="true"] { height: 100%; display: flex; flex-direction: column; }
.display .menu-presentation[data-even-rows="true"] > .plain-menu-header { flex: none; }
.display .menu-presentation[data-even-rows="true"] > .menu-grid { flex: 1; min-height: 0; }
.display .menu-presentation[data-even-rows="true"] .menu-column { display: flex; flex-direction: column; min-height: 0; }
.display .menu-presentation[data-even-rows="true"] .menu-section { flex: var(--section-rows) 1 0; display: flex; flex-direction: column; min-height: 0; }
.display .menu-presentation[data-even-rows="true"] .section-items { flex: 1; display: grid; grid-template-rows: repeat(var(--section-rows), minmax(min-content, 1fr)); min-height: 0; }
.display .menu-presentation[data-even-rows="true"] .menu-item { min-height: 0; padding-block: 0; align-content: center; }
.display .menu-presentation[data-even-rows="true"][data-arrangement="ledger"] .menu-section:not(.untitled-section) { display: grid; grid-template-rows: minmax(0,1fr); }
.display .menu-presentation[data-even-rows="true"][data-arrangement="table"] .section-items { display: flex; }
.display .menu-presentation[data-even-rows="true"] .menu-table-scroll { flex: 1; }
.display .menu-presentation[data-even-rows="true"] .menu-table { height: 100%; }
.display .menu-presentation[data-even-rows="true"] .menu-table td { vertical-align: middle; padding-block: 0; }

/* Keep intrinsic name width from forcing a wider column before fitting. */
.display [data-arrangement]:not([data-arrangement="table"])[data-shrink-names="true"] .menu-item h3 { white-space: nowrap; contain: inline-size; }

/* Plain TV themes already divide the header from the list. Headerless TVs
   also start cleanly; artwork-backed headers retain their first-row rule. */
:is(.plain-display .menu-presentation, .display .menu-presentation[data-show-header="false"]) > .menu-grid > .menu-column > .menu-section:first-child,
:is(.plain-display .menu-presentation, .display .menu-presentation[data-show-header="false"]) > .menu-grid > .menu-column > .menu-section:first-child > .section-items > .menu-item:first-child { border-top: 0; }

/* Header artwork shares the rendering path used by Customize, TVs and web menus. */
.menu-art-header { display: block; flex: 0 0 auto; width: 100%; padding: 0; border: 0; }
.menu-art-header :is(img, svg) { display: block; width: 100%; height: auto; max-height: 240px; object-fit: contain; }
.display .menu-art-header :is(img, svg) { height: calc(18cqh * var(--menu-header-scale, 1)); max-height: none; }
.menu-art-header + .menu-grid > .menu-column > .menu-section:first-child,
.menu-art-header + .menu-grid > .menu-column > .menu-section:first-child > .section-items > .menu-item:first-child { border-top: 0; }
#ai-header-fields { display: grid; gap: 1rem; margin-block: 1rem; }
#ai-header-fields[hidden] { display: none; }
#ai-header-fields input[type="file"] { display: block; max-width: 100%; }
.ai-result img { object-fit: contain; }

/* Artwork size and spacing are independent; negative spacing draws rows closer. */
.menu-art-header { margin-block-end: calc(var(--header-image-gap, 0) * .25rem); }
.menu-art-header :is(img, svg) { width: calc(100% * var(--header-image-size, 1)); margin-inline: auto; }
.display .menu-art-header { margin-block-end: calc(var(--header-image-gap, 0) * 1cqh); }
.display .menu-art-header :is(img, svg) { height: calc(18cqh * var(--header-image-size, 1)); }

/* Backing examples share the editor's artwork preview treatment. */
.backing-examples { margin-bottom: 1.25rem; }
.backing-examples h3 { font-size: 1rem; }
.backing-example-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .75rem; margin: .75rem 0; }
.backing-example-grid figure { margin: 0; min-width: 0; }
.backing-example-grid a { display: block; }
.backing-example-grid img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 1px solid var(--line); background: var(--cream); }
.backing-example-grid a:hover img { border-color: var(--accent); }
.backing-example-grid figcaption { margin-top: .4rem; font-size: .8rem; }

/* Custom artwork follows the free-feature pitch; themes are a compact alternative. */
.lp-art-toggle { display: flex; align-items: center; gap: 9px; justify-content: end; font-size: 13px; margin-bottom: 12px; cursor: pointer; }
.lp-art-stage { aspect-ratio: 16 / 9; }
.lp-art-stage figure { display: none; margin: 0; }
.lp-art-stage a { display: block; }
.landing .lp-art-stage a:is(:hover,:active) { opacity: 1; }
.lp-art-stage img { display: block; width: 100%; height: auto; border: 1px solid #15131030; border-radius: 5px; }
.lp-art-stage .lp-art-backing { display: none; }
.lp-art-demo:has(#artwork-only:checked) .lp-art-finished { display: none; }
.lp-art-demo:has(#artwork-only:checked) .lp-art-backing { display: block; }
.lp-art-venues { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 0; padding: 0; margin: 16px 0 0; gap: 12px; }
.lp-art-venues label { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1px solid #15131030; cursor: pointer; font-size: 13px; }
.lp-art-venues label:has(:checked) { background: #fffaf0; border-color: #705516; }
.lp-art-venues label:hover { border-color: #705516; }
.lp-art-action { display: flex; gap: 20px; align-items: center; margin-top: 26px; }
.lp-art-action p { font-size: 13px; line-height: 1.5; }
.lp-themes .lp-theme-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
@media (max-width: 700px) {
 .lp-art-venues { gap: 6px; }
 .lp-art-venues label { padding: 10px 6px; align-items: start; font-size: 11px; }
 .lp-themes .lp-theme-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; }
 .lp-art-action { align-items: start; flex-direction: column; gap: 12px; }
}
.lp-art-demo:has(input[value="bauhaus-brew-labs"]:checked) [data-art-venue="bauhaus-brew-labs"] { display: block; }
.lp-art-demo:has(input[value="pure-project-vista-brewery-taproom"]:checked) [data-art-venue="pure-project-vista-brewery-taproom"] { display: block; }
.lp-art-demo:has(input[value="the-church-brewery"]:checked) [data-art-venue="the-church-brewery"] { display: block; }


/* Stack the images in one grid cell so outgoing and incoming slides crossfade. */
.lp-demo-stage, .lp-art-stage { display: grid; }
.lp-demo-picker .lp-demo-stage [data-demo-theme], .lp-art-stage [data-art-venue] {
 display: block; grid-area: 1 / 1; opacity: 0; visibility: hidden; pointer-events: none;
 transition: opacity 250ms ease-in-out, visibility 250ms;
}
.lp-demo-picker:has(input[value="velvet-copper"]:checked) .lp-demo-stage [data-demo-theme="velvet-copper"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-demo-picker:has(input[value="cobalt-club"]:checked) .lp-demo-stage [data-demo-theme="cobalt-club"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-demo-picker:has(input[value="sea-glass"]:checked) .lp-demo-stage [data-demo-theme="sea-glass"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-demo-picker:has(input[value="burgundy-ledger"]:checked) .lp-demo-stage [data-demo-theme="burgundy-ledger"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-demo-picker:has(input[value="pine"]:checked) .lp-demo-stage [data-demo-theme="pine"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-demo-picker:has(input[value="marigold"]:checked) .lp-demo-stage [data-demo-theme="marigold"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-art-demo:has(input[value="bauhaus-brew-labs"]:checked) .lp-art-stage [data-art-venue="bauhaus-brew-labs"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-art-demo:has(input[value="pure-project-vista-brewery-taproom"]:checked) .lp-art-stage [data-art-venue="pure-project-vista-brewery-taproom"] { opacity: 1; visibility: visible; pointer-events: auto; }
.lp-art-demo:has(input[value="the-church-brewery"]:checked) .lp-art-stage [data-art-venue="the-church-brewery"] { opacity: 1; visibility: visible; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .lp-demo-picker .lp-demo-stage [data-demo-theme], .lp-art-stage [data-art-venue] { transition: none; } }

/* Seasonal backing invitations share Studio controls and the landing's paper/ink gallery. */
.holiday-banner { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding: 2rem; margin-bottom: 2rem; background: var(--cream); border: 1px solid var(--line); }
.holiday-banner h2 { font-family: var(--display); font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.05; margin: .5rem 0 1rem; }
.holiday-banner p { max-width: 48ch; }
.holiday-banner figure { margin: 0; min-width: 0; }
.holiday-banner img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 1px solid var(--line); }
.holiday-banner figcaption { font-size: .75rem; margin-top: .5rem; }
.holiday-banner .ai-invitation { display: flex; align-items: start; margin: 1rem 0; }
.holiday-banner a { display: inline-block; }
.backing-library { margin-bottom: 1.5rem; }
.backing-library > label { display: grid; gap: .5rem; margin-bottom: 1rem; }
.backing-library img { display: block; width: 100%; height: auto; max-height: 320px; object-fit: contain; margin-bottom: 1rem; }
.lp-holiday-options { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; border: 0; margin: 0 0 1.5rem; }
.lp-holiday-options legend { margin-bottom: .75rem; font-weight: 600; }
.lp-holiday-options label { display: flex; align-items: center; gap: .4rem; padding: .65rem .9rem; border: 1px solid var(--line); cursor: pointer; }
.lp-holiday-options label:has(:checked) { background: var(--ink); color: var(--paper); }
.lp-holiday-options label:focus-within { outline: 2px solid currentColor; outline-offset: 3px; }
.lp-holiday-stage figure { display: none; margin: 0; }
.lp-holiday-stage img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 1px solid var(--line); border-radius: 5px; }
.lp-holiday-stage figcaption { margin-top: .75rem; font-size: .9rem; }
.lp-holiday-gallery:has(input[value="halloween"]:checked) [data-holiday-example="halloween"] { display: block; }
.lp-holiday-gallery:has(input[value="thanksgiving"]:checked) [data-holiday-example="thanksgiving"] { display: block; }
.lp-holiday-gallery:has(input[value="christmas"]:checked) [data-holiday-example="christmas"] { display: block; }
.lp-holiday-gallery:has(input[value="new-year"]:checked) [data-holiday-example="new-year"] { display: block; }
.lp-holiday-gallery:has(input[value="valentines"]:checked) [data-holiday-example="valentines"] { display: block; }
.lp-holiday-gallery:has(input[value="memorial-day"]:checked) [data-holiday-example="memorial-day"] { display: block; }
.lp-holiday-gallery:has(input[value="4th-of-july"]:checked) [data-holiday-example="4th-of-july"] { display: block; }
@media (max-width: 700px) { .holiday-banner { grid-template-columns: 1fr; padding: 1.25rem; gap: 1.5rem; } }

/* Keg operations reuse the inventory editor's native controls and theme ink. */
.keg-editor { border-top: 1px solid var(--line); padding: 12px 0; }
.keg-editor > summary { cursor: pointer; font-size: .85rem; }
.keg-editor > summary:hover { color: var(--accent); }
.keg-form { margin-top: 16px; }
.keg-form fieldset { min-width: 0; border: 0; padding: 0; }
.keg-form legend { font-weight: 650; margin-bottom: 12px; }
.keg-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.keg-form label { display: grid; gap: 6px; margin-bottom: 12px; }
.keg-form input, .keg-form select { width: 100%; min-width: 0; font-size: 16px; }
.keg-form [readonly] { opacity: .7; }
.keg-level { display: inline-flex; align-items: center; gap: .35em; white-space: nowrap; font: inherit; }
.keg-level meter { width: 2.5em; height: .7em; accent-color: var(--accent); }
@media(max-width:540px) { .keg-fields { grid-template-columns: 1fr; } }

.keg-form .workspace-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.keg-form .workspace-actions .button { white-space: normal; min-width: 0; }
.keg-editor > summary { min-height: 36px; padding: .5rem 0; }

/* Previous items reuses Studio's disclosure, toolbar and inline feedback. */
.previous-items { margin-block: 18px; border-block: 1px solid var(--line); padding-block: 16px; }
.previous-items > summary { cursor: pointer; font-weight: 600; }
.previous-items .inventory-toolbar { margin-top: 16px; }
.previous-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; align-items: center; border-top: 1px solid var(--line); padding-block: 16px; }
.previous-item h4, .previous-item p { margin: 0 0 6px; overflow-wrap: anywhere; }
.previous-item .previous-item-error { grid-column: 1 / -1; }
.previous-item .previous-sizes { font-variant-numeric: tabular-nums; }
#previous-results { min-height: 64px; }
@media (max-width: 540px) { .previous-item { grid-template-columns: minmax(0, 1fr); } .previous-item > button { justify-self: start; } }

.serving-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.7fr) auto; gap: .75rem; align-items: end; margin-bottom: .75rem; }
.serving-row label { display: grid; gap: .4rem; min-width: 0; }
.serving-actions { display: flex; gap: .4rem; }
.serving-editor .button:hover { transform: none; }
@media (max-width: 800px) { .serving-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .serving-actions { grid-column: 1 / -1; } }

.serving-editor h5 { margin: 0 0 .75rem; font: 600 1rem var(--body); }

/* Menu organization reuses the editor's native fields, buttons and disclosure. */
#organization fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.organization-section { border-top: 1px solid var(--line); padding: 16px 0; }
.organization-heading, .organization-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.organization-heading > label { flex: 1; min-width: 0; }
.organization-item { padding: 6px 0; }
.organization-item > label { display: flex; align-items: center; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
.organization-item input { width: auto; flex: 0 0 auto; }
#organization .workspace-actions { flex-shrink: 0; }
#organization .button:hover { transform: none; }
@media (max-width: 480px) { #organization .inventory-toolbar { flex-direction: column; align-items: stretch; } }
.organization-heading .studio-field { width: 100%; min-width: 0; }
.schedule-times { display: flex; flex-wrap: wrap; gap: 12px; }
.schedule-times > label { flex: 1; min-width: 0; }
.schedule-days { display: flex; flex-wrap: wrap; gap: 12px; border: 1px solid var(--line); padding: 12px; }
.schedule-form .schedule-days label { display: flex; align-items: center; gap: 6px; }
.schedule-form .schedule-days input { min-height: 20px; width: 20px; margin: 0; }
#schedule-weekly, #schedule-once, #schedule-conflicts, #add-schedule > p { grid-column: 1 / -1; }
#schedule-list span { overflow-wrap: anywhere; }
#duplicate-menu-form { display: grid; grid-template-columns: minmax(0,1fr) auto; }
#duplicate-menu-form > p { grid-column: 1 / -1; }
@media (max-width: 600px) { #duplicate-menu-form { grid-template-columns: minmax(0,1fr); } }
#bulk-prices-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.bulk-price-section { padding: 12px 0; border-bottom: 1px solid var(--line); }
.bulk-price-section h4 { margin: 0 0 10px; }
.bulk-price-choice { display: flex; gap: 10px; align-items: center; padding: 6px 0; overflow-wrap: anywhere; }
.bulk-price-choice input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--ink); }
.bulk-price-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.bulk-price-table caption { text-align: left; padding: 12px 0; }
.bulk-price-table :is(th,td) { padding: 10px 4px; border-bottom: 1px solid var(--line); text-align: right; overflow-wrap: anywhere; }
.bulk-price-table :is(th,td):first-child { width: 50%; text-align: left; }
.bulk-price-table small { display: block; font-weight: 400; }
#bulk-prices .button:hover { transform: none; }
@media (max-width: 600px) { #bulk-prices .inventory-toolbar { flex-direction: column; align-items: stretch; } }
.archived-menu-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.archived-menu-row > span { min-width: 0; overflow-wrap: anywhere; }
.archived-menu-row > button { flex-shrink: 0; }
#menu-archive .button:hover { transform: none; }
#history-controls { border: 0; margin: 0; padding: 0; min-width: 0; }
.history-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.history-row > div { min-width: 0; overflow-wrap: anywhere; }
.history-row > button { flex-shrink: 0; }
.history-row p, .history-saved-item p { margin: 6px 0; }
.history-saved-item { padding: 12px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
#history-preview { margin-top: 24px; }
#history-copy-name { margin-bottom: 12px; }
#menu-history .button:hover { transform: none; }
#schedule-list p { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; }
.schedule-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.schedule-actions strong { font: 600 .8rem var(--body); }
#schedule-form-heading, #add-schedule > .workspace-actions { grid-column: 1 / -1; }
#schedule-form-heading { margin: 0; }
@media (max-width: 900px) { #schedule-list p { grid-template-columns: minmax(0,1fr); gap: .6rem; } }
.schedule-actions .icon-button { min-width: 44px; min-height: 44px; }
#schedule-preview-form > .workspace-actions { grid-column: 1 / -1; }
.schedule-preview-card { display: block; min-width: 0; }
.schedule-preview-card p, .schedule-preview-card li { overflow-wrap: anywhere; }
.schedule-preview-card h3 { margin-top: 0; }
.schedule-preview-card li { margin-top: .75rem; }
.schedule-preview-card li p { margin: .25rem 0; }
.schedule-preview-card summary { cursor: pointer; }
.workspace-tools .screen-card .screen-health { display: block; grid-column: 1 / -1; border-left: 3px solid var(--line); padding-left: .75rem; }
.screen-health strong { font-size: .9rem; }
.screen-health p { margin: .3rem 0; font-size: .8rem; overflow-wrap: anywhere; }
.display-connection { position: absolute; bottom: 1cqh; left: 1cqw; max-width: 55%; margin: 0; padding: .35cqh .6cqw; background: #171611; color: #fff; font: 1.2cqh/1.4 var(--body); z-index: 2; }

.display-identify { position: absolute; z-index: 3; top: 35%; left: 10%; width: 80%; max-height: 55%; overflow: auto; padding: 3cqh 3cqw; background: #171611; color: #fff; text-align: center; pointer-events: none; }
.display-identify span { display: block; margin-bottom: 1cqh; font: 1.8cqh/1.4 var(--body); }
.display-identify strong { display: block; font: 700 min(5cqw,7cqh)/1.1 var(--body); overflow-wrap: anywhere; }

.screen-rename { margin: .75rem 0; }
.screen-name-form { display: grid; gap: .65rem; margin-top: .75rem; }
#retired-screens { margin: 1.5rem 0; }

#pair-tv { margin: 1.5rem 0; }
#pair-tv-error { grid-column: 1 / -1; }
.tv-pairing { min-height: 100svh; display: grid; place-items: center; padding: 3rem 5vw; text-align: center; }
.tv-pairing main { width: min(100%,70rem); }
.tv-pairing h1 { font: 650 clamp(2rem,5vw,5rem)/1.1 var(--display); margin: 1rem 0; }
.tv-pairing p { font-size: clamp(1rem,2vw,1.6rem); line-height: 1.5; }
#tv-pair-code { font: 750 clamp(2rem,9vw,8rem)/1.2 var(--body); letter-spacing: .06em; margin: 2rem 0; white-space: nowrap; }
#tv-pair-status { min-height: 3em; }

#screen-groups { margin: 1.5rem 0; }
#screen-group-list form { display: grid; gap: .65rem; margin: .75rem 0; }

#screen-group-list label { display: grid; gap: .5rem; min-width: 0; }
#screen-group-list :is(input,select) { width: 100%; min-width: 0; }

#schedule-conflicts { overflow-wrap: anywhere; }
#schedule-conflicts p { margin: .5rem 0; }
#schedule-conflicts li + li { margin-top: 1rem; }

/* Weekly schedules share the Screens paper/ink cards and native disclosures. */
#schedule-calendar-form .workspace-actions { grid-column: 1/-1; flex-wrap: wrap; }
.calendar-screen { margin-top: 1.5rem; min-width: 0; }
.calendar-week { overflow-x: auto; border: 1px solid var(--line); }
.calendar-days { display: grid; grid-template-columns: repeat(7,minmax(128px,1fr)); }
.calendar-day { min-width: 0; padding: .65rem; border-right: 1px solid var(--line); overflow-wrap: anywhere; }
.calendar-day:last-child { border-right: 0; }
.calendar-day h4 { margin: 0 0 .75rem; font-size: .85rem; }
.calendar-day > ol { list-style: none; margin: 0; padding: 0; }
.calendar-slot { border-left: 3px solid var(--ink); background: var(--tool-surface); padding: .5rem; margin-bottom: .75rem; font-size: .8rem; }
.calendar-slot.calendar-default { border-left-color: var(--line); background: transparent; }
.calendar-slot p { margin: .3rem 0; }
.calendar-slot .calendar-time { font-size: .7rem; color: var(--muted); }
.calendar-slot details { margin-top: .5rem; }
.calendar-slot summary { cursor: pointer; }
.calendar-slot ul { padding-left: 1rem; }
.calendar-slot li + li { margin-top: .5rem; }
.calendar-week:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
@media(max-width:700px) {
  .calendar-days { grid-template-columns: minmax(0,1fr); }
  .calendar-day { border-right: 0; border-bottom: 1px solid var(--line); padding: 1rem; }
  .calendar-day:last-child { border-bottom: 0; }
  .calendar-slot { font-size: .9rem; }
  .calendar-slot .calendar-time { font-size: .8rem; }
}

#schedule-exceptions { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); min-width: 0; }
.schedule-exception-row { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin-bottom: .75rem; }
.schedule-exception-row label { flex: 1 1 170px; min-width: 0; }

#schedule-date-range { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); min-width: 0; }
.schedule-range-fields { display: flex; flex-wrap: wrap; gap: .75rem; }
.schedule-range-fields label { flex: 1 1 170px; min-width: 0; }

#screen-list .screen-card[hidden] { display: none; }
#screen-list .screen-card > div > * { min-width: 0; overflow-wrap: anywhere; }

/* Product language controls share the existing typography and focus treatment. */
.language-switch{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 12px/1.4 var(--body, "Work Sans", sans-serif);flex-shrink:0}
.language-switch a{color:inherit;text-underline-offset:4px;padding:6px 0}
.language-switch a[aria-current=true]{font-weight:750;text-decoration-thickness:2px}
.auth main>.language-switch{justify-content:flex-end;margin-bottom:16px}
.studio-head{flex-wrap:wrap}
html:is([lang=es],[lang=fr],[lang=de]) .lp-hero h1{overflow-wrap:normal}
.lp-nav:has(.language-switch){flex-wrap:wrap}
.studio-head .language-switch{margin-left:auto}
@media(max-width:700px){
  .studio-head{height:auto;min-height:76px;padding-block:10px;gap:8px}
  .studio-head .studio-state{min-width:0;max-width:100%;flex-wrap:wrap}
  .studio-head .studio-support{width:44px;justify-content:center;font-size:0;gap:0}
  .studio-head .language-switch{gap:8px}
}
@media(max-width:700px){
  .workspace-head .workspace-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .workspace-head .button{white-space:normal;min-width:0}
}

/* Flavour maps share the menu's paper, ink, accent and typography. */
.flavor-maps { grid-column: 1 / -1; min-width: 0; width: 100%; }
.flavor-map { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; break-inside: avoid; }
.flavor-map > svg { display: block; width: 100%; max-height: 100%; overflow: visible; color: var(--ink); }
.flavor-grid { fill: none; stroke: currentColor; stroke-opacity: .3; stroke-width: .65; stroke-dasharray: 2 5; }
.flavor-paper-grid { fill: none; stroke: currentColor; stroke-opacity: .16; stroke-width: .7; stroke-dasharray: .1 19.9; stroke-linecap: round; }
.flavor-corners { fill: none; stroke: currentColor; stroke-opacity: .5; stroke-width: 1; }
.flavor-axis { fill: currentColor; font: italic 18px var(--display, Georgia, serif); }
.flavor-leader { stroke: currentColor; stroke-opacity: .45; stroke-width: 1; fill: none; }
.flavor-position { fill: var(--flavor-color, #a56524); stroke: var(--paper, #f1eadf); stroke-width: 1.5; }
.flavor-number { fill: none; stroke: none; }
.flavor-mark text { fill: color-mix(in srgb, currentColor 70%, var(--paper, #f1eadf)); font: 500 13px var(--body, sans-serif); stroke: var(--paper, #f1eadf); stroke-width: 3; paint-order: stroke fill; stroke-linejoin: round; }
.flavor-mark .flavor-abv { font-size: 8px; }
.flavor-pour { color: #151310; overflow: visible; }
.flavor-mark.sold-out { opacity: .5; }
.ai-flavor-preview { --paper: #f1eadf; --ink: #151310; background: var(--paper); color: var(--ink); padding: 12px; }
.display .flavor-tv { flex: 1; min-height: 0; font-size: calc(1.25cqw * var(--menu-text-scale, 1)); }
.display .flavor-map { height: 100%; min-height: 0; gap: 2cqw; }
.display .flavor-map > svg { height: 100%; min-height: 0; }
@media (max-width: 600px) {
  .flavor-maps:not(.flavor-tv) .flavor-map { grid-template-columns: 1fr; gap: .5em; }
}
@media print { .flavor-map { break-inside: avoid; } }

.display .menu-presentation[data-arrangement="flavor_map"] { height: 100%; display: flex; flex-direction: column; }

/* A quiet feature invitation; the shared dark active state still owns selection. */
.studio-nav a[data-studio-link="flavor-map"] { box-shadow: inset 2px 0 var(--accent); font-weight: 600; }
.studio-nav a[data-studio-link="flavor-map"]:not(.active) { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.studio-nav a[data-studio-link="flavor-map"]:not(.active):hover { background: color-mix(in srgb, var(--accent) 17%, transparent); }
#flavor-map > .form-actions { flex-wrap: wrap; }
#flavor-map-preview { margin-top: 1rem; }

.flavor-map-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; }
@media (min-width: 701px) { .studio-nav { overflow-y: auto; } }

/* AI drafts use the same display canvas and renderer as Customize. */
#ai-brand-fields { display: grid; gap: .75rem; margin-block: 1rem; }
#ai-brand-fields[hidden] { display: none; }
.ai-menu-preview { display: grid; gap: .75rem; margin-block: 1rem; }
#ai-brand-fields label:not(.layout-check) { display: grid; gap: .35rem; }

/* Approved Studio B: venue navigation, menu tabs, list and persistent editor. */
.studio-redesign { --paper:#f1eadf; --cream:#fffaf0; --ink:#151310; --muted:#70695e; --line:#d8cfc0; --accent:#705516; background:#f5efe4; }
.studio-redesign .studio-head { position:relative; height:auto; min-height:76px; padding:16px 24px; background:transparent; backdrop-filter:none; }
.studio-redesign .studio-support { background:transparent; color:var(--muted); border:1px solid var(--line); }
.studio-redesign .studio-nav { position:static; width:auto; display:flex; gap:28px; padding:0 24px; border:0; border-bottom:1px solid var(--line); overflow-x:auto; background:transparent; }
.studio-redesign .studio-nav a { flex:none; margin:0; padding:14px 0; border-radius:0; color:var(--muted); font-size:14px; }
.studio-redesign .studio-nav a.active { background:transparent; color:var(--ink); box-shadow:inset 0 -2px var(--ink); font-weight:650; }
.studio-redesign .workspace { max-width:1200px; margin:0 auto; padding:30px 28px 60px; }
.studio-redesign .workspace-head { align-items:center; margin-bottom:20px; padding:0; border:0; }
.studio-redesign .workspace-head h1 { font:600 34px/1.15 var(--display); letter-spacing:-1px; white-space:normal; }
.studio-redesign .workspace-head .eyebrow { font:400 12px/1.5 var(--body); letter-spacing:0; text-transform:none; margin:0 0 8px; color:var(--muted); }
.studio-redesign .menu-picker { font-size:12px; margin-top:10px; }
.studio-redesign .button { font:500 13px/1.4 var(--body); border-radius:7px; padding:10px 13px; min-height:40px; text-transform:none; letter-spacing:0; }
.studio-redesign .button.primary { background:var(--ink); color:var(--cream); border-color:var(--ink); }
.studio-redesign .onboarding-actions .button.primary { background:var(--cream); color:var(--ink); border-color:var(--cream); }
.studio-redesign .button.quiet { background:var(--cream); border:1px solid var(--line); color:var(--ink); }
.studio-redesign .studio-tabs { display:flex; gap:24px; overflow-x:auto; border-bottom:1px solid var(--line); margin-bottom:22px; }
.studio-redesign .studio-tabs:empty { display:none; }
.studio-redesign .studio-tabs a { flex:none; padding:12px 0; color:var(--muted); font-size:13px; text-decoration:none; }
.studio-redesign .studio-tabs a.active { color:var(--ink); box-shadow:inset 0 -2px var(--ink); font-weight:650; }
.studio-redesign .panel { border-radius:8px; box-shadow:none; }
.studio-redesign .version-context { margin:0 0 20px; padding:12px 0; border:0; border-bottom:1px solid var(--line); background:none; font-size:12px; }
.studio-redesign #menu { padding:0; border:0; background:none; }
.studio-redesign #menu > .panel-head { border:0; padding:0; margin:0; }
.studio-redesign #menu > .panel-head :is(.section-no,h2) { display:none; }
.studio-redesign #menu-status { margin:0 0 10px; font-size:12px; }
.studio-redesign #menu > .inventory-toolbar { border:0; padding:0 0 18px; align-items:end; }
.studio-redesign .inventory-search input { font-size:14px; background:var(--cream); }
.studio-redesign .menu-tool-picker { position:relative; flex:none; }
.studio-redesign .menu-tool-picker > summary { border:1px solid var(--line); border-radius:7px; background:var(--cream); padding:10px 13px; cursor:pointer; font-size:13px; }
.studio-redesign .menu-tool-options { position:absolute; top:100%; right:0; width:250px; max-width:85vw; padding:8px; border:1px solid var(--line); background:var(--cream); border-radius:8px; box-shadow:0 8px 24px #15131018; z-index:5; }
.studio-redesign .menu-tool-options .button { display:block; width:100%; text-align:left; white-space:normal; border:0; }
.studio-redesign .menu-tool-options .ai-benefit { display:none; }
.studio-redesign #items { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
.studio-redesign .inventory-list { min-width:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--cream); }
.studio-redesign .inventory-section-heading { border:0; padding:12px 16px; margin:0; background:var(--paper); justify-content:space-between; }
.studio-redesign .inventory-section-heading h3 { font-size:12px; color:var(--muted); }
.studio-redesign .inventory-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; width:100%; gap:16px; padding:16px; margin:0; border:0; border-top:1px solid var(--line); text-align:left; background:transparent; cursor:pointer; color:var(--ink); }
.studio-redesign .inventory-row:hover,.studio-redesign .inventory-row[aria-pressed=true] { background:#f1e6ce; }
.studio-redesign .inventory-row:focus-visible { outline-offset:-4px; }
.studio-redesign .inventory-row-title strong { display:block; font:600 14px/1.4 var(--body); overflow-wrap:anywhere; }
.studio-redesign .inventory-row-title small { display:block; margin-top:4px; font:400 11px/1.5 var(--body); color:var(--muted); overflow-wrap:anywhere; }
.studio-redesign .inventory-price strong { font:500 14px/1.4 var(--body); }
.studio-redesign .inventory-inspector { min-width:0; }
.studio-redesign #items .item { padding:20px; border:1px solid var(--line); border-radius:8px; background:var(--cream); }
.studio-redesign .inventory-inspector .item-overview { display:flex; flex-wrap:wrap; gap:12px; }
.studio-redesign .inventory-inspector .inventory-item-title { flex-basis:100%; }
.studio-redesign .inventory-inspector .inventory-item-title h4 { font:600 23px/1.2 var(--display); }
.studio-redesign .inventory-inspector .inventory-item-title p,.studio-redesign .inventory-inspector .inventory-price { display:none; }
.studio-redesign .inventory-inspector .item-editor > summary { display:none; }
.studio-redesign .inventory-inspector .item-editor-body { padding:0; border:0; background:none; }
.studio-redesign #items .item-editor-body :is(input,select) { min-height:40px; font-size:14px; background:#fffdf8; border-color:var(--line); }
.studio-redesign .inventory-inspector .item-extra { border-top:1px solid var(--line); margin-top:18px; padding-top:14px; }
.studio-redesign .inventory-inspector .item-extra > summary { font-size:12px; cursor:pointer; }
.studio-redesign #items .item-metadata { grid-template-columns:1fr 1fr; margin-top:16px; }
.studio-redesign .serving-row { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:8px; }
.studio-redesign .serving-actions { grid-column:1/-1; }
.studio-redesign #items .item-editor-actions { flex-direction:column; align-items:stretch; }
.studio-redesign #items .row-actions { margin:0; justify-content:space-between; }
.studio-redesign #items .layout-help { font-size:11px; line-height:1.6; }
.studio-redesign #items .keg-editor { margin-top:20px; }
.studio-redesign #items .overview-empty { grid-column:1/-1; }
.studio-redesign #menu > .previous-items { margin-top:20px; }
.studio-redesign :is(.inventory-row,.item)[hidden] { display:none!important; }
@media(max-width:800px) {
 .studio-redesign .workspace { padding:22px 16px 48px; }
 .studio-redesign .studio-head { padding:12px 16px; }
 .studio-redesign .studio-nav { padding:0 16px; gap:24px; }
 .studio-redesign #items { grid-template-columns:minmax(0,1fr); }
 .studio-redesign #menu > .inventory-toolbar { flex-wrap:wrap; }
 .studio-redesign #menu > .inventory-toolbar .inventory-search { flex-basis:100%; }
 .studio-redesign .workspace-head { align-items:flex-start; flex-wrap:wrap; }
 .studio-redesign .workspace-head > div:first-child { flex-basis:100%; }
 .studio-redesign .workspace-head h1 { font-size:30px; }
 .studio-redesign .menu-tool-options { left:0; right:auto; }
 .studio-redesign #items .item { padding:20px; }
}
.studio-redesign .studio-head .studio-support { background:transparent; color:var(--muted); border:1px solid var(--line); }
.studio-redesign.studio-menu .version-context { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; max-width:none; width:auto; }
.studio-redesign.studio-menu .version-context[hidden] { display:none; }
.studio-redesign.studio-menu .version-context p { margin:0; max-width:72ch; }
.studio-redesign #menu > .previous-items:not([open]) { display:none; }
.studio-redesign .inventory-inspector .item-ai-help { margin:10px 0; }
.studio-redesign .inventory-inspector .ai-benefit { display:none; }
.studio-redesign .inventory-inspector .serving-editor { border:0; padding:0; }
.studio-redesign .inventory-inspector .serving-editor h5 { margin:8px 0; font:600 12px var(--body); }
.studio-redesign .inventory-inspector .item-editor-actions { margin-top:14px; padding-top:0; border:0; }
.studio-redesign .inventory-inspector .item-order { flex-wrap:wrap; margin-top:12px; }
.studio-redesign .inventory-inspector .switch-control { margin-top:14px; }
.studio-redesign { --acid:var(--accent); }
.studio-redesign :is(a,button,summary):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.studio-redesign .skip:not(:focus) { visibility:hidden; }
.studio-redesign .version-context summary { cursor:pointer; color:var(--muted); }
.studio-redesign .version-context details[open] { flex-basis:100%; }
.studio-redesign .inventory-inspector .serving-list:not(:has(.serving-row:nth-child(2))) .serving-actions { display:none; }
.studio-redesign #items .item-editor-body .switch-control { display:flex; align-items:center; gap:8px; }
@media(max-width:800px) { .studio-redesign .studio-head .studio-support { font-size:0; width:40px; padding:10px; } }

/* Studio B header parity: a quiet masthead and one menu context. */
.studio-redesign .studio-head,
.studio-redesign .studio-head:has(#location-picker-label:not([hidden])) { min-height:72px; height:auto; gap:22px; flex-wrap:nowrap; padding:14px 24px; }
.studio-redesign .studio-head .wordmark { margin-right:auto; }
.studio-redesign .studio-head .studio-masthead-tools { display:flex; align-items:center; gap:22px; min-width:0; }
.studio-redesign .studio-head #location-picker-label { flex:none; margin:0; order:initial; }
.studio-redesign .studio-head #location-picker { width:auto; max-width:280px; min-height:40px; padding:8px 28px 8px 8px; border-color:transparent; border-radius:6px; background-color:transparent; font:400 13px var(--body); }
.studio-redesign .studio-head #location-picker:hover { background-color:var(--cream); border-color:var(--line); }
.studio-redesign .studio-head details { position:relative; flex:none; font:400 13px/1.5 var(--body); }
.studio-redesign .studio-head summary { cursor:pointer; padding:10px 0; list-style:none; white-space:nowrap; }
.studio-redesign .studio-head summary::-webkit-details-marker { display:none; }
.studio-redesign .studio-head summary::after { content:'⌄'; margin-left:7px; color:var(--muted); }
.studio-redesign .studio-head :is(.studio-utility-options,.language-switch) { position:absolute; right:0; top:100%; z-index:30; display:grid; gap:0; margin:0; padding:6px; min-width:170px; border:1px solid var(--line); border-radius:8px; background:var(--cream); box-shadow:0 8px 24px #15131015; }
.studio-redesign .studio-head :is(.studio-utility-options,.language-switch) a { min-height:40px; display:flex; align-items:center; padding:8px 12px; border:0; border-radius:4px; color:var(--ink); background:none; font:400 13px/1.5 var(--body); text-decoration:none; white-space:nowrap; }
.studio-redesign .studio-head :is(.studio-utility-options,.language-switch) a:hover { background:var(--paper); }
.studio-redesign .studio-head .language-switch a[aria-current=true] { background:var(--paper); font-weight:650; }
.studio-redesign .workspace-page-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.studio-redesign .workspace-head .workspace-title { flex:1; }
.studio-redesign.studio-menu .workspace-name { display:inline-block; position:relative; max-width:100%; padding-right:28px; }
.studio-redesign.studio-menu .workspace-name::after { content:'⌄'; position:absolute; right:3px; top:50%; transform:translateY(-50%); color:var(--muted); font:18px var(--body); pointer-events:none; }
.studio-redesign .menu-title-picker { position:absolute; inset:0; }
.studio-redesign .menu-title-picker select { width:100%; height:100%; opacity:0; cursor:pointer; font:16px var(--body); }
.studio-redesign .workspace-name:has(.menu-title-picker select:focus-visible) { outline:3px solid var(--accent); outline-offset:5px; border-radius:4px; }
.studio-redesign #menu-status { margin:8px 0 0; color:var(--muted); font:400 12px/1.5 var(--body); text-transform:none; letter-spacing:0; }
.studio-redesign.studio-menu .workspace-head { margin-bottom:16px; }
.studio-redesign.studio-menu .studio-tabs { margin-bottom:16px; }
.studio-redesign.studio-menu .version-context { justify-content:space-between; margin-bottom:22px; padding:10px 0 14px; }
.studio-redesign.studio-menu .version-context strong { font-weight:500; }
.studio-redesign .inventory-list-column { min-width:0; }
.studio-redesign .inventory-list-column > .inventory-toolbar { border:0; padding:0 0 18px; align-items:center; flex-wrap:nowrap; gap:10px; }
.studio-redesign .inventory-list-column .inventory-search > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.studio-redesign .inventory-list-column .inventory-search input { min-height:42px; padding:10px 12px; }
.studio-redesign .inventory-list-column > .inventory-toolbar > .button { min-height:42px; }
.studio-redesign .inventory-empty { grid-template-columns:minmax(0,1fr)!important; }
.studio-redesign .inventory-empty .inventory-inspector { display:none; }
@media(max-width:800px) {
 .studio-redesign .studio-head,
 .studio-redesign .studio-head:has(#location-picker-label:not([hidden])) { flex-wrap:wrap; gap:4px 18px; padding:10px 16px; }
 .studio-redesign .studio-head .wordmark { flex:1; }
 .studio-redesign .studio-head .studio-masthead-tools { display:contents; }
 .studio-redesign .studio-head #location-picker-label { order:4; flex-basis:100%; }
 .studio-redesign .studio-head #location-picker { max-width:100%; width:auto; padding-left:0; }
 .studio-redesign .studio-head :is(.studio-utility-options,.language-switch) a { font-size:13px; width:auto; }
 .studio-redesign .inventory-list-column > .inventory-toolbar { flex-wrap:wrap; }
 .studio-redesign .inventory-list-column .inventory-search { flex-basis:100%; }
}
@media(max-width:360px) {
 .studio-redesign .studio-head .wordmark { flex-basis:100%; }
 .studio-redesign .studio-head #location-picker-label { flex:1; order:0; }
 .studio-redesign .studio-head #location-picker { max-width:125px; }
 .studio-redesign .studio-head { column-gap:14px; }
}

/* Annotated header refinements: keep context beside the controls it describes. */
.studio-redesign .studio-head .wordmark { margin-right:0; }
.studio-redesign .studio-head .studio-masthead-tools { margin-left:auto; }
.studio-redesign.studio-menu .workspace-title { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 16px; min-width:0; }
.studio-redesign.studio-menu #menu-status { margin:0; white-space:normal; }
.studio-redesign.studio-menu .workspace-page-actions { flex-wrap:nowrap; }
.studio-redesign.studio-menu .version-context { display:block; margin:0; padding:0; border:0; max-width:280px; text-align:right; }
@media(max-width:800px) {
 .studio-redesign .studio-head .wordmark { flex:none; }
 .studio-redesign .studio-head .studio-masthead-tools { display:flex; margin-left:auto; }
 .studio-redesign .studio-head #location-picker-label { order:0; }
 .studio-redesign.studio-menu .workspace-page-actions { flex-wrap:wrap; width:100%; }
 .studio-redesign.studio-menu .version-context { align-items:flex-start; text-align:left; flex:1; min-width:140px; }
}

@media(max-width:800px) {
 .studio-redesign .studio-head,
 .studio-redesign .studio-head:has(#location-picker-label:not([hidden])) { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:4px 16px; }
 .studio-redesign .studio-head .wordmark { grid-column:1/-1; }
 .studio-redesign .studio-head #location-picker-label { width:100%; min-width:0; margin:0; }
 .studio-redesign .studio-head #location-picker { width:100%; max-width:100%; }
 .studio-redesign .studio-head .studio-masthead-tools { margin:0; }
}

@media(min-width:560px) and (max-width:800px) {
 .studio-redesign .studio-head,
 .studio-redesign .studio-head:has(#location-picker-label:not([hidden])) { grid-template-columns:auto minmax(0,1fr) auto auto; }
 .studio-redesign .studio-head .wordmark { grid-column:auto; }
}

.overview-tv-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:16px; }
.overview-tv-actions > a { font-size:.8rem; text-underline-offset:.2em; white-space:nowrap; }

.studio-redesign .inventory-unsaved { display:inline-block; margin-left:8px; color:var(--accent); font-size:11px; font-weight:650; }
.studio-redesign .inventory-unsaved[hidden] { display:none; }

/* Keep menu actions beside the title whenever their content fits. */
.studio-redesign.studio-menu .workspace-head { flex-direction:row; flex-wrap:wrap; align-items:center; gap:16px; }
.studio-redesign.studio-menu .workspace-head > .workspace-title { flex:1 1 max-content; max-width:100%; }
.studio-redesign.studio-menu .workspace-page-actions { flex:0 1 auto; width:auto; max-width:100%; flex-wrap:wrap; }

.studio-redesign .inventory-list-column > .inventory-toolbar { flex-wrap:wrap; }
.studio-redesign .inventory-list-column .inventory-search { flex:1 1 220px; min-width:0; }

.flavor-map-sharing { margin-block: 1.5rem; padding-block: 1rem; border-block: 1px solid var(--line); }
.flavor-map-sharing .workspace-actions { flex-wrap: wrap; }
.flavor-map-sharing input { min-width: 0; width: 100%; }

#overview-flavor-map { max-width: 680px; margin-inline: auto; }

/* Screens direction B: location-wide list and selected inspector. */
.studio-redesign[data-studio-page="screens"] .workspace-head { display:none; }
.studio-redesign #screens.screens-workspace { background:none; border:0; padding:0; }
.screens-workspace > .panel-head { display:flex; flex-wrap:wrap; align-items:center; gap:12px; border:0; margin:0 0 18px; padding:0; }
.screens-workspace > .panel-head .section-no { display:none; }
.screens-workspace > .panel-head h2 { font-size:34px; }
.screens-workspace > .panel-head > p { order:3; flex-basis:100%; margin:0; font-size:13px; }
.screen-heading-actions { display:flex; gap:10px; margin-left:auto; }
.screen-workspace { display:grid; grid-template-columns:160px minmax(0,1fr); gap:18px; align-items:start; }
.screen-rail { min-width:0; }
.screen-choice { margin-bottom:8px; }
.screen-choice > button { display:block; width:100%; text-align:left; padding:12px; border:1px solid transparent; border-radius:6px; color:var(--ink); background:transparent; font:13px/1.5 var(--body); cursor:pointer; }
.screen-choice > button[aria-pressed="true"] { background:#f3e5bf; border-color:var(--line); }
.screen-choice > button:hover { background:var(--cream); }
.screen-choice button > :is(strong,span) { display:block; overflow-wrap:anywhere; }
.screen-choice button > span { font-size:11px; color:var(--muted); margin-top:4px; }
.screen-choice button > .screen-choice-status { color:#705516; }
.screen-reload-choice { font-size:11px; padding:0 12px; margin:4px 0 12px; }
.screen-reload-choice input { width:auto; }
#screen-list.screen-grid { display:block; margin:0; padding:0; min-width:0; }
#screen-list > .screen-card { display:block; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--cream); margin:0; min-width:0; }
#screen-list > .screen-card.screen-unselected,#screen-list > .screen-card[hidden],.screen-choice[hidden] { display:none; }
#screen-list h3 { font:600 25px/1.12 var(--display); margin:0; }
#screen-list .screen-version { margin:10px 0; }
.screen-display-actions,.screen-tool-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.screen-display-actions { margin:14px 0; }
#screen-list .screen-settings { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0; border:0; }
#screen-list .screen-settings > label { min-width:0; }
#screen-list .screen-settings select { width:100%; }
#screen-list :is(.screen-inspector-tools,.screen-history) { border-top:1px solid var(--line); margin-top:14px; padding-top:12px; }
.screen-tool-actions { margin-top:12px; }
.screen-tool-actions .screen-rename { flex-basis:100%; }
#screen-list .screen-health { margin-top:16px; font-size:12px; }
#screen-list .screen-next-change { font-size:12px; color:var(--muted); }
.screen-bulk-tools { margin-top:18px; font-size:12px; }
.screen-bulk-tools #bulk-reload { margin:12px 0 0; padding:0; border:0; }
.screen-bulk-tools #bulk-reload h3 { display:none; }
.screen-bulk-tools .workspace-actions { display:grid; }
.screen-bulk-tools .button { font-size:12px; padding:8px; white-space:normal; }
.screen-health-help { margin-top:20px; font-size:12px; }
.screens-workspace #screen-filters { display:flex; align-items:end; flex-wrap:wrap; gap:10px; margin:18px 0 8px; }
.screens-workspace #screen-filters label { flex:0 1 auto; min-width:0; }
.screens-workspace #screen-filters label:first-child { flex:1 1 160px; }
.screens-workspace #screen-filters :is(input,select) { min-height:40px; }
.screens-workspace #screen-filter-status { font-size:12px; margin:8px 0 18px; }
.screen-setup-dialog { width:min(600px,calc(100vw - 32px)); max-height:85vh; overflow:auto; background:var(--cream); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:24px; }
.screen-setup-dialog::backdrop { background:#15131066; }
.screen-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.screen-setup-dialog #pair-tv { border:0; padding:0; }
.screen-setup-dialog #pair-tv > summary { display:none; }
.studio-redesign[data-studio-page="screens"] #schedules { margin-top:24px; }
.studio-redesign[data-studio-page="screens"] #screen-groups { margin-top:24px; }
@media(max-width:580px) {
 .screen-workspace { grid-template-columns:125px minmax(0,1fr); gap:10px; }
 #screen-list > .screen-card { padding:12px; }
 #screen-list .screen-settings { grid-template-columns:1fr; }
 #screen-list h3 { font-size:23px; overflow-wrap:anywhere; }
 .screen-choice > button { padding:10px 8px; }
 .screen-display-actions .button,.screen-tool-actions .button { white-space:normal; }
 .screen-display-actions > a { overflow-wrap:anywhere; }
}
@media(max-width:380px) {
 .screen-workspace { grid-template-columns:1fr; }
 #screen-choices { display:flex; gap:8px; overflow:auto; }
 .screen-choice { flex:0 0 140px; }
 .screen-bulk-tools { margin:8px 0 16px; }
}
.screens-workspace > .panel-head { flex-direction:row; text-align:left; }
.screens-workspace > .panel-head > p { max-width:none; }
#screen-list > .screen-card > div:first-child { display:block; }
#screen-list .screen-display-actions { justify-content:flex-start; gap:10px; }
#screen-list .screen-display-actions [data-copy] { margin:0; }
.screen-rail:not(:has(.screen-bulk-tools[open])) .screen-reload-choice { display:none; }
#screen-schedule-editor { margin-top:18px; border-top:1px solid var(--line); padding-top:16px; }
#screen-schedule-editor > summary { cursor:pointer; }
#screen-schedule-editor:has(#add-schedule[hidden]) { display:none; }
.studio-redesign[data-studio-page="screens"] #schedules { background:none; border:0; border-top:1px solid var(--line); border-radius:0; padding:24px 0 0; }
.studio-redesign[data-studio-page="screens"] #schedules .panel-head { border:0; padding-bottom:0; }
.studio-redesign[data-studio-page="screens"] #schedules .section-no { display:none; }
.screens-workspace #screen-filters label { position:relative; font-size:0; }
.screens-workspace #screen-filters label :is(input,select) { font:13px var(--body); }
.screens-workspace #screen-filters label select { max-width:145px; }
.screens-workspace #screen-filters-reset:disabled { display:none; }
#screen-list .screen-settings select { border-radius:6px; background:var(--cream); font:13px var(--body); padding:9px 11px; }
#screen-list :is(.screen-inspector-tools,.screen-history) { padding:12px 0 0; }
#screen-list :is(.screen-inspector-tools,.screen-history) > summary { font-size:13px; padding:0; font-weight:400; }
#screen-list .screen-settings .switch-control { min-height:32px; }
.studio-redesign[data-studio-page="screens"] #schedules > details { padding:12px 0; margin:0; border:0; border-top:1px solid var(--line); }
.studio-redesign[data-studio-page="screens"] #schedules > details > summary { font-size:13px; font-weight:400; }
.studio-redesign[data-studio-page="screens"] #schedules .panel-head { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; }
.studio-redesign[data-studio-page="screens"] #schedules .panel-head > p { order:3; max-width:none; flex-basis:100%; }
.studio-redesign[data-studio-page="screens"] #schedules .panel-head > button { margin-left:auto; }
#screen-count { font:13px var(--body); color:var(--muted); margin-left:10px; }
.screen-inspector-status { float:right; max-width:50%; margin:0 0 6px 12px; padding:4px 7px; border-radius:4px; background:#f3e5bf; color:#705516; font:11px/1.5 var(--body); }
#screen-list .screen-playback { display:grid; gap:6px; align-content:start; padding-top:20px; }
#screen-list .screen-playback label { margin:0; }
.screen-choice > button[aria-pressed="true"]:hover { background:#f3e5bf; }
.screen-bulk-tools :is(p,li) { overflow-wrap:anywhere; }
/* Exploration-led Studio workspaces: shared geometry, existing workflow owners. */
.studio-redesign .studio-refined.panel { padding:0; border:0; background:none; min-width:0; }
.studio-redesign .studio-refined > .panel-head { align-items:center; gap:16px; padding:0; margin:0 0 18px; border:0; flex-wrap:wrap; }
.studio-redesign .studio-refined > .panel-head :is(h1,h2) { font-size:30px; line-height:1.15; }
.studio-redesign .studio-refined > .panel-head .section-no { display:none; }
.studio-redesign .studio-refined > .panel-head > p { max-width:55ch; font-size:13px; margin:0; color:var(--muted); }
.studio-redesign .studio-refined > p { max-width:78ch; font-size:14px; line-height:1.6; }
.studio-redesign .studio-refined .workbench { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr); gap:24px; align-items:start; }
.studio-redesign .studio-refined .workbench > * { min-width:0; }
.studio-redesign .studio-refined .workbench-card { padding:22px; background:var(--cream); border:1px solid var(--line); border-radius:8px; min-width:0; margin:0; }
.studio-redesign .studio-refined .workbench-card h3 { margin-top:0; font:600 23px/1.2 var(--display); }
.studio-redesign .studio-refined .workbench-card p { font-size:13px; line-height:1.6; }
.studio-redesign .studio-refined .inline-form { gap:12px; }
.studio-redesign .studio-refined :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { min-width:0; max-width:100%; }
.studio-redesign .studio-refined .settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.studio-redesign .studio-refined .settings-team { grid-column:1/-1; }
.studio-redesign .studio-refined .settings-integrations .integration-card { padding:0; border:0; background:none; }
.studio-redesign .studio-refined #invite { margin-top:20px; }
.studio-redesign .studio-refined #add-location { display:grid; align-content:start; }
.studio-redesign .studio-refined #add-location p { margin:0; }
.studio-redesign .studio-refined .location-row { margin-top:0; background:var(--cream); border-radius:8px; }
.studio-redesign .studio-refined .developer-workbench { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.studio-redesign .studio-refined .developer-docs { margin-top:0; }
.studio-redesign .studio-refined .developer-docs pre { max-width:100%; overflow:auto; font-size:12px; }
.studio-redesign .studio-refined .developer-workbench:has(#developer-owner[hidden]) { grid-template-columns:1fr; }
.studio-redesign .studio-refined .import-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:16px 0 24px; }
.studio-redesign .studio-refined .connected-imports { margin-top:28px; }
.studio-redesign .studio-refined .connected-imports > summary { cursor:pointer; font-weight:650; min-height:44px; }
.studio-redesign .studio-refined .web-theme-settings { margin-top:28px; }
.studio-redesign .studio-refined .theme-toolbar { margin:20px 0; }
/* The theme gallery is the task; keep its controls and context close to the previews. */
.studio-redesign #themes > .theme-page-head { margin-bottom:10px; }
.studio-redesign #themes .theme-heading { min-width:0; }
.studio-redesign #themes .theme-head-actions { display:flex; flex:0 1 490px; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; min-width:0; max-width:100%; margin-left:auto; }
.studio-redesign #themes .theme-search-field { flex:1 1 280px; min-width:150px; max-width:320px; }
.studio-redesign #themes .theme-search-field input { width:100%; min-height:42px; padding:8px 12px; border:1px solid var(--line); border-radius:4px; background:var(--cream); font:inherit; }
.studio-redesign #themes #theme-search-clear { min-width:42px; min-height:42px; padding:0 8px; font-size:0; }
.studio-redesign #themes #theme-search-clear::after { content:"×"; font-size:20px; }
.studio-redesign #themes .workflow-invitation { max-width:none; }
.studio-redesign #themes .workflow-invitation .ai-benefit { display:none; }
.studio-redesign #themes .theme-toolbar { align-items:center; gap:8px 16px; margin:0 0 12px; padding:0; border:0; }
.studio-redesign #themes .theme-toolbar #theme-search-status { margin:0; padding:0; white-space:nowrap; }
.studio-redesign #themes .theme-guide { margin-left:auto; color:var(--muted); font-size:12px; }
.studio-redesign #themes .theme-guide[open] { flex-basis:100%; margin-left:0; }
.studio-redesign #themes .theme-guide summary { display:list-item; width:max-content; min-height:0; padding:0; text-decoration:underline; text-underline-offset:3px; }
.studio-redesign #themes .theme-guide p { max-width:75ch; margin:8px 0 0; line-height:1.55; }
.studio-redesign #themes .theme-list { margin-top:0; }
@media (max-width: 620px) {
  .studio-redesign #themes .theme-head-actions { flex:1 1 100%; justify-content:space-between; margin-left:0; }
  .studio-redesign #themes .theme-search-field { flex-basis:170px; }
  .studio-redesign #themes .theme-toolbar #theme-search-status { width:auto; }
}
.studio-redesign .studio-refined .compact-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:20px 0 24px; }
.studio-redesign .studio-refined .compact-presets button { min-height:0; padding:14px; }
.studio-redesign .studio-refined .compact-presets :is(h3,strong) { font-size:19px; margin:0 0 6px; }
.studio-redesign .studio-refined .compact-presets .section-no { display:none; }
.studio-redesign .studio-refined .compact-presets :is(p,small) { font-size:12px; margin:0; }
.studio-redesign .studio-refined .customization-workspace { align-items:start; gap:24px; }
.studio-redesign .studio-refined #layout-form > fieldset > details { border:1px solid var(--line); border-radius:8px; padding:16px; margin-bottom:12px; background:var(--cream); }
.studio-redesign .studio-refined #layout-form > fieldset > details > summary { padding:0 0 10px; }
.studio-redesign .studio-refined .promotion-workspace { margin-top:20px; gap:24px; align-items:start; }
.studio-redesign .studio-refined #promotion-form { padding:20px; border:1px solid var(--line); border-radius:8px; background:var(--cream); }
.studio-redesign .studio-refined .promotion-preview-panel { margin:0; padding:20px; border-radius:8px; }
.studio-redesign .studio-refined #promotion-new { margin-left:auto; }
.studio-redesign .studio-refined .promotion-saved-list { margin:20px 0; }
.studio-redesign .studio-refined .translation-workbench { grid-template-columns:minmax(230px,.75fr) minmax(0,2fr); }
.studio-redesign .studio-refined .translation-controls .languages-picker { margin-top:0; }
.studio-redesign .studio-refined #languages-fields { margin:0; }
.studio-redesign .studio-refined .map-workbench { margin:20px 0; }
.studio-redesign .studio-refined .map-controls .form-actions { display:grid; gap:12px; }
.studio-redesign .studio-refined .map-controls .workflow-invitation { display:block; }
.studio-redesign .studio-refined .map-canvas { min-height:280px; }
.studio-redesign .studio-refined .flavor-map-sharing { border-top:1px solid var(--line); padding-top:20px; }
.studio-redesign .studio-refined .sales-actions { margin:0 0 0 auto; }
.studio-redesign .studio-refined #sales-report { margin-top:24px; }
.studio-redesign .studio-refined .sales-totals { margin:20px 0; }
.studio-redesign .studio-refined .share-controls { padding:22px; background:var(--cream); border:1px solid var(--line); border-radius:8px; }
.studio-redesign .studio-refined .share-controls .workspace-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0; }
.studio-redesign .studio-refined .share-controls .workspace-actions > * { width:100%; min-width:0; white-space:normal; text-align:center; }
.studio-redesign .studio-refined .analytics-list { display:block; padding:20px; background:var(--cream); border:1px solid var(--line); border-radius:8px; overflow:auto; }
.studio-redesign .studio-refined .analytics-table { border-collapse:collapse; width:100%; font-size:14px; }
.studio-redesign .studio-refined .analytics-table :is(th,td) { text-align:left; padding:14px 12px; border-bottom:1px solid var(--line); }
.studio-redesign .studio-refined .analytics-table :is(th,td):last-child { text-align:right; font-variant-numeric:tabular-nums; }
@media(max-width:850px) {
 .studio-redesign .studio-refined .workbench,.studio-redesign .studio-refined .settings-grid { grid-template-columns:minmax(0,1fr); }
 .studio-redesign .studio-refined .translation-workbench { grid-template-columns:minmax(210px,.8fr) minmax(0,1.4fr); }
 .studio-redesign .studio-refined .workbench-card { padding:18px; }
}
@media(max-width:580px) {
 .studio-redesign .studio-refined .translation-workbench,.studio-redesign .studio-refined .import-methods { grid-template-columns:minmax(0,1fr); }
 .studio-redesign .studio-refined .compact-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .studio-redesign .studio-refined .share-controls .workspace-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .studio-redesign .studio-refined > .panel-head :is(h1,h2) { font-size:26px; }
 .studio-redesign .studio-refined .sales-actions { margin-left:0; }
}
.studio-redesign:is([data-studio-page=analytics],[data-studio-page=sales],[data-studio-page=settings],[data-studio-page=locations],[data-studio-page=developers]) .workspace-head { display:none; }
.studio-redesign .studio-refined > .panel-head { text-align:left; }
.studio-redesign .studio-refined .settings-integrations .integration-card { color:var(--ink); display:block; }
.studio-redesign .studio-refined .settings-integrations .integration-card :is(span,.layout-help,.inline-form > p) { color:var(--muted); }
.studio-redesign .studio-refined .settings-integrations .integration-card > div { align-items:flex-start; }
.studio-redesign .studio-refined .settings-integrations .integration-card .inline-form { margin-top:16px; }
.studio-redesign .studio-refined .settings-integrations #version-context { margin:0 0 18px; max-width:none; padding-top:0; font-size:12px; }
.studio-redesign .studio-refined .settings-integrations .menu-picker { margin:12px 0 20px; }
.studio-redesign .studio-refined .member-list b { flex-shrink:0; white-space:nowrap; }

.studio-redesign .studio-refined > .panel-head { flex-direction:row; }
.studio-redesign .studio-refined > .panel-head :is(h1,h2) { margin:0; font-family:var(--display); font-weight:600; }

/* Overview A: live output gallery before inventory and audience metrics. */
.studio-redesign[data-studio-page=overview] .workspace-head { display:none; }
.overview-gallery-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.overview-identity { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.overview-gallery-heading h1 { margin:0; font:600 34px/1.1 var(--display); }
.overview-gallery-heading .overview-badge { margin:10px 0 0; }
.overview-gallery-page #onboarding { position:relative; min-width:0; }
.overview-gallery-page #onboarding-heading { max-width:26ch; margin:0; font:600 24px/1.1 var(--display); letter-spacing:-.02em; text-wrap:balance; }
.overview-gallery-page #onboarding .section-no { display:none; }
.overview-gallery-page #onboarding-message { max-width:62ch; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.overview-gallery-page #onboarding .onboarding-steps { display:none; }
.overview-gallery-page:not(.is-first-run) #onboarding :is(#onboarding-heading,#onboarding-message) { display:none; }
.overview-primary-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.overview-gallery-page #onboarding-actions { margin:0; }
.overview-gallery-page .overview-publication { margin-top:10px; font-size:12px; text-align:right; }
.overview-gallery-page .overview-publication > summary { cursor:pointer; color:var(--muted); }
.overview-gallery-page .overview-publication[open] { max-width:560px; text-align:left; }
.overview-gallery-page #publication-details { color:var(--ink); padding:12px 0 0; border:0; }
.overview-gallery-page #publication-details :is(dd,p) { color:var(--muted); }
.overview-gallery-page #publication-details h3 { font-size:18px; }
.overview-gallery-page.is-first-run .overview-gallery-heading { display:grid; grid-template-columns:minmax(0,.8fr) minmax(520px,1.4fr); align-items:stretch; gap:32px; margin:24px 0 0; padding:32px; border-radius:8px; background:var(--ink); color:var(--cream); }
.overview-gallery-page.is-first-run .overview-identity { align-self:center; }
.overview-gallery-page.is-first-run .overview-identity h1 { max-width:11ch; font-size:clamp(36px,5vw,58px); overflow-wrap:anywhere; }
.overview-gallery-page.is-first-run .overview-badge { color:#ffffffa8; }
.overview-gallery-page.is-first-run #onboarding { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr); gap:28px; align-items:center; }
.overview-gallery-page.is-first-run #onboarding-heading { font-size:clamp(26px,3vw,38px); color:var(--cream); }
.overview-gallery-page.is-first-run #onboarding-message { color:#ffffffb8; }
.overview-gallery-page.is-first-run #onboarding .onboarding-steps { display:grid; margin:0; padding:0; list-style:none; }
.overview-gallery-page.is-first-run .onboarding-steps li { display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:center; padding:12px 0; border-top:1px solid #ffffff28; color:#ffffff70; }
.overview-gallery-page.is-first-run .onboarding-steps li:last-child { border-bottom:1px solid #ffffff28; }
.overview-gallery-page.is-first-run .onboarding-steps li > span { width:28px; height:28px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:11px; }
.overview-gallery-page.is-first-run .onboarding-steps li div { display:grid; gap:2px; }
.overview-gallery-page.is-first-run .onboarding-steps strong { font-size:13px; }
.overview-gallery-page.is-first-run .onboarding-steps small { font-size:11px; }
.overview-gallery-page.is-first-run .onboarding-steps li.current { color:var(--cream); }
.overview-gallery-page.is-first-run .onboarding-steps li.current > span { border-color:var(--accent); background:var(--accent); color:var(--ink); }
.overview-gallery-page.is-first-run .overview-primary-actions { justify-content:flex-start; margin-top:20px; }
.overview-gallery-page.is-first-run .overview-primary-actions > [data-overview-link=menu] { display:none; }
.overview-gallery-page.is-first-run #onboarding-actions .button.primary { background:var(--cream); color:var(--ink); border-color:var(--cream); }
.overview-gallery-page.is-first-run #onboarding-actions .button.quiet { color:var(--cream); border-color:#ffffff66; }
.overview-gallery-page.is-first-run .overview-publication { display:none; }
.overview-gallery-page.is-first-run > :is(.overview-gallery-title,.overview-gallery,.overview-menus,.overview-context-heading,#overview-stats,.overview-caption,#overview-output-note,#overview-health-status,#overview-flavor-map-section,.overview-sharing-heading,#overview-outputs,.overview-details) { display:none!important; }
.overview-gallery-title { margin:0 0 20px; }
.overview-gallery-title h2 { font-size:26px; }
.overview-gallery-title .overview-tv-actions { font-size:12px; }
.overview-gallery-title .button { padding:8px 10px; font-size:12px; }
.overview-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.overview-gallery[hidden] { display:none; }
.overview-menu-outputs .overview-gallery { margin-bottom:20px; }
.overview-gallery .overview-output { padding:16px; border-radius:8px; background:var(--cream); }
.overview-gallery .overview-output-head { align-items:start; }
.overview-gallery .overview-output h3 { font-size:23px; overflow-wrap:anywhere; }
.overview-gallery .overview-output-head > a { font-size:11px; }
.overview-gallery .overview-media { outline:0; border-radius:3px; }
.overview-gallery .overview-media[data-preview-width="900"] { width:min(100%,180px); margin-inline:auto; }
.overview-screen-details { border-top:1px solid var(--line); margin-top:12px; padding-top:10px; font-size:12px; color:var(--muted); }
.overview-screen-details summary { cursor:pointer; }
.overview-gallery-page #overview-stats { margin-top:24px; }
.overview-gallery-page .overview-stat { padding:14px 10px; }
.overview-gallery-page .overview-stat strong { font-size:28px; }
.overview-menu-outputs + .overview-menu-outputs { margin-top:36px; padding-top:24px; border-top:1px solid var(--line); }
.overview-menu-outputs > .overview-section-head h3 { margin:0; font:600 24px/1.2 var(--display); overflow-wrap:anywhere; }
.overview-menu-outputs > .overview-section-head { margin:20px 0 10px; }
.overview-menu-outputs > .overview-section-head h3 a { text-decoration:none; }
.overview-menu-outputs > .overview-section-head h3 a:hover { text-decoration:underline; }
.overview-menu-actions { display:flex; flex-wrap:wrap; gap:10px 20px; font-size:13px; }
.overview-menu-actions a { white-space:nowrap; text-underline-offset:.2em; }
.overview-menu-outputs .overview-output-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:850px) {
 .overview-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .overview-gallery-heading { flex-wrap:wrap; }
 .overview-gallery-page.is-first-run .overview-gallery-heading { grid-template-columns:1fr; padding:24px; }
 .overview-gallery-page.is-first-run #onboarding { grid-template-columns:1fr; }
 .overview-gallery-title { flex-direction:row; flex-wrap:wrap; }
}
@media(max-width:480px) {
 .overview-gallery-heading h1 { font-size:29px; }
 .overview-gallery { gap:12px; }
 .overview-gallery .overview-output { padding:12px; }
 .overview-gallery .overview-output h3 { font-size:20px; }
 .overview-gallery .overview-output-head { flex-wrap:wrap; gap:8px; }
 .overview-gallery,.overview-menu-outputs .overview-output-grid { grid-template-columns:1fr; }
 .overview-gallery-page.is-first-run .overview-gallery-heading { margin-top:8px; padding:20px; gap:24px; }
 .overview-gallery-page.is-first-run .overview-identity h1 { font-size:34px; }
}
.studio-redesign .overview-gallery-page #onboarding-actions .button.primary { background:var(--ink); color:var(--cream); border-color:var(--ink); }
.studio-redesign .overview-gallery-page.is-first-run #onboarding-actions .button.primary { background:var(--cream); color:var(--ink); border-color:var(--cream); }
.studio-redesign .overview-gallery-page.is-first-run #onboarding-actions .button.quiet { background:transparent; color:var(--cream); border-color:#ffffff66; }
.studio-redesign .first-menu-empty { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px 32px; padding:28px; border:1px dashed var(--line); border-radius:8px; background:var(--cream); }
.studio-redesign .first-menu-empty h3 { margin:0 0 8px; font:600 25px/1.2 var(--display); }
.studio-redesign .first-menu-empty p { margin:0; max-width:65ch; line-height:1.55; }
.studio-redesign .first-menu-empty-actions { display:flex; flex-wrap:wrap; gap:10px; }
.studio-redesign .first-menu-empty .first-item-note { grid-column:1/-1; padding-top:16px; border-top:1px solid var(--line); font-size:12px; }
.studio-redesign #add-item-panel.first-item-panel[open] { border-color:var(--accent); }
@media(max-width:700px) { .studio-redesign .first-menu-empty { grid-template-columns:1fr; padding:20px; } .studio-redesign .first-menu-empty .first-item-note { grid-column:auto; } }

/* Flavor maps: a real renderer capture beside the optional-credit offer. */
.lp-flavor-map { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:clamp(24px,5vw,72px); align-items:center; padding:56px 30px; border-top:1px solid var(--line); }
.lp-flavor-copy h2 { font:normal clamp(40px,5vw,72px)/1.02 var(--display); letter-spacing:-.04em; margin:14px 0 24px; }
.lp-flavor-copy > p { max-width: 48ch; }
.lp-flavor-copy > p:not(.lp-kicker):not(.lp-proof-note) { line-height:1.6; margin:18px 0; }
.lp-flavor-map figure { margin:0; min-width:0; }
.lp-flavor-map figure a { display:block; }
.lp-flavor-map img { display:block; width:100%; height:auto; border:1px solid #15131030; }
.lp-flavor-map figcaption { font-size:12px; line-height:1.5; margin-top:10px; }
@media(max-width:700px) { .lp-flavor-map { grid-template-columns:1fr; padding:36px 20px; } }
.overview-context-heading { font:600 25px/1.2 var(--display); margin:0 0 16px; }
.overview-menu-status { margin:0 16px 6px 0; display:inline-flex; flex-wrap:wrap; gap:6px 16px; max-width:100%; font-size:13px; line-height:1.5; vertical-align:baseline; }
.overview-menu-status span,.overview-menu-report { color:var(--muted); }
.overview-menu-status p { margin:0; }
.overview-menu-status > p:first-of-type { font-weight:500; }
.overview-coverage { display:inline-block; margin:0 0 6px; font-weight:500; font-size:13px; line-height:1.5; }
.overview-coverage-details { margin:0 0 20px; color:var(--muted); font-size:12px; line-height:1.5; }
.overview-coverage-details summary { cursor:pointer; width:fit-content; }
.overview-coverage-details p { margin:8px 0; max-width:70ch; }
.overview-coverage[data-incomplete="true"] { color:var(--ink); }
.overview-menu-status .overview-menu-report { flex-basis:100%; font-size:12px; }
.overview-context-heading { margin-top:28px; }

.studio-redesign .studio-head .agent-connect { order:1; min-height:40px; padding:8px 12px; white-space:nowrap; font-size:13px; }

.agent-connect-dialog h2 { margin:0; }
.agent-connect-dialog label { display:block; margin:20px 0 8px; font-weight:650; }
.agent-connect-dialog textarea { display:block; width:100%; resize:none; padding:12px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink); font:14px/1.6 var(--body); margin-bottom:16px; }
#agent-connect-feedback { min-height:1.5em; }
