/* fest/html/assets/css/fest_product.css
 * Product color tokens ONLY (font_best.md Part 8, DESIGN_OVERRIDES.md section 2).
 * Zero font-size, font-weight, line-height, letter-spacing or font-family rules permitted
 * except the ADR-FEST-08 Calistoga display face declaration.
 */
:root {
  --brand-hue: 28deg;

  --color-bg: #FAF8F5;
  --color-surface: #FFFFFF;
  --color-text: #18181B;
  --color-text-muted: #595F69;   /* >= 16px roles only */
  --color-text-subtle: #6B7280;  /* >= 16px roles only */

  --color-accent: #9A3412;
  --color-accent-hover: #7C2D12;
  --color-on-accent: #FAFAFA;
  --color-link: #882E10;
  --color-focus: var(--color-accent);

  --fest-surface-muted: #F3EFEA;
  --fest-surface-elevated: #FFFFFF;
  --fest-border-subtle: #E2DCD3;
  --fest-border-strong: #8A8278;   /* 3.57:1 on paper, 3.79:1 on white: WCAG 1.4.11 for input borders */

  --fest-stage-a-bg: #FEF3C7;
  --fest-stage-a-text: #78350F;
  --fest-stage-b-bg: #E0F2FE;
  --fest-stage-b-text: #0C4A6E;
  --fest-stage-c-bg: #DCFCE7;
  --fest-stage-c-text: #14532D;
  --fest-stage-d-bg: #F3E8FF;
  --fest-stage-d-text: #581C87;

  --fest-badge-verified-bg: #DCFCE7;
  --fest-badge-verified-text: #14532D;
  --fest-badge-warning-bg: #FEF3C7;
  --fest-badge-warning-text: #713F12;
  --fest-badge-danger-bg: #FEE2E2;
  --fest-badge-danger-text: #991B1B;
  --fest-glow-row-bg: #FDE68A;
}

/* "Festival Night" display face and inks (ADR-FEST-08), sibling of towns.cafe "Fair Day".
 * Calistoga (SIL OFL 1.1) for display only; body and UI type come from type-system.css.
 * Every text pair below is >= 4.5:1; light fills always carry an ink border and a text label. */
@font-face {
  font-family: "Calistoga";
  src: url("../fonts/fest_calistoga.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --fest-font-display: "Calistoga", "Georgia", "Times New Roman", serif;
  --fest-ink: #18181B;
  --fest-card: #FFFDF7;               /* card stock, 17.4:1 with ink */
  --fest-paper-deep: #F2EADC;          /* darker paper band */
  --fest-night: #1F3A6B;               /* scene sky, 10.9:1 with card stock */
  --fest-terracotta: #9A3412;          /* "go": 6.9:1 with card stock */
  --fest-marigold: #F2B632;            /* ink text only, 10.3:1; 4.68:1 on --fest-green */
  --fest-teal: #0F6B6B;                /* card-stock text, 6.4:1 */
  --fest-plum: #6B2D6B;                /* card-stock text, 9.6:1 */
  --fest-blue: #1F4E9C;                /* card-stock text, 7.4:1 */
  --fest-rose: #E58FB0;                /* ink text only, 7.9:1 */
  --fest-green: #16533B;               /* card-stock text, 8.35:1; marigold text, 4.68:1 */
  --fest-note-bg: #FFF1C2;
  --fest-note-text: #5C4500;
  --fest-print-shadow: 3px 3px 0 var(--fest-ink);
  --fest-input-bg: #FFFFFF;
  --fest-phone-shadow: 8px 8px 0 rgb(24 24 27 / 0.9);
  --fest-phone-notch: #000000;
  --fest-phone-bar-bg: #2A2A30;
  --fest-phone-bar-text: #F5F5F4;
  --fest-receipt-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg);
  --fest-calc-shadow: 10px 10px 0 #0F3324;
  --fest-tape-bg: rgb(242 182 50 / 0.8);
  --fest-tape-border: rgb(24 24 27 / 0.25);
}

/* Outdoor Sunlight high-acuity mode */
:root[data-display-mode="sunlight"] {
  --color-bg: #FFFFFF;
  --color-surface: #FFFFFF;
  --color-text: #09090B;
  --color-text-muted: #27272A;
  --color-text-subtle: #3F3F46;
  --color-accent: #7C2D12;
  --color-accent-hover: #431407;
  --color-on-accent: #FFFFFF;
  --color-link: #7C2D12;
  --fest-surface-muted: #F4F4F5;
  --fest-border-subtle: #52525B;
  --fest-border-strong: #09090B;
  --fest-card: #FFFFFF;
  --fest-paper-deep: #F4F4F5;
  --fest-ink: #09090B;
  --fest-input-bg: #FFFFFF;
}

/* Venue TV dark stage mode (only when the page is not locked to light) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-display-mode="sunlight"]) {
    --color-bg: #121110;
    --color-surface: #1C1917;
    --color-text: #F5F5F4;
    --color-text-muted: #A8A29E;
    --color-text-subtle: #8A847F;
    --color-accent: #FB923C;
    --color-accent-hover: #FDBA74;
    --color-on-accent: #121110;
    --color-link: #FDBA74;
    --fest-surface-muted: #262320;
    --fest-surface-elevated: #292524;
    --fest-border-subtle: #36312D;
    --fest-border-strong: #8A847F;
    --fest-card: #1C1917;
    --fest-paper-deep: #262320;
    --fest-ink: #F5F5F4;
    --fest-input-bg: #1C1917;
    --fest-badge-verified-bg: #052E16;
    --fest-badge-verified-text: #86EFAC;
    --fest-badge-warning-bg: #422006;
    --fest-badge-warning-text: #FDE047;
    --fest-badge-danger-bg: #450A0A;
    --fest-badge-danger-text: #FCA5A5;
    --fest-glow-row-bg: #78350F;
  }
}

:root[data-theme="dark"],
:root[data-display-mode="stage-tv"] {
  --color-bg: #121110;
  --color-surface: #1C1917;
  --color-text: #F5F5F4;
  --color-text-muted: #A8A29E;
  --color-text-subtle: #8A847F;
  --color-accent: #FB923C;
  --color-accent-hover: #FDBA74;
  --color-on-accent: #121110;
  --color-link: #FDBA74;
  --fest-surface-muted: #262320;
  --fest-surface-elevated: #292524;
  --fest-border-subtle: #36312D;
  --fest-border-strong: #8A847F;
  --fest-card: #1C1917;
  --fest-paper-deep: #262320;
  --fest-ink: #F5F5F4;
  --fest-input-bg: #1C1917;
  --fest-badge-verified-bg: #052E16;
  --fest-badge-verified-text: #86EFAC;
  --fest-badge-warning-bg: #422006;
  --fest-badge-warning-text: #FDE047;
  --fest-badge-danger-bg: #450A0A;
  --fest-badge-danger-text: #FCA5A5;
  --fest-glow-row-bg: #78350F;
}
