/* ============================================================================
   Quick Kitchen Tools — tokens + self-hosted faces
   "Test Kitchen" (house-design.md override, direction A; Stitch project
   5948517996945914937, design system assets/11461548727399014108,
   2026-09-25). Loads FIRST, before main.css and qkt.css.
   ========================================================================= */

/* --- Faces ----------------------------------------------------------------
   Fraunces (a soft, slightly cookbook serif) carries headlines and numerals;
   Source Sans 3 is the reading and UI face. Variable woff2 subsets served from the theme; latin-ext is
   loaded so diacritics never fall back mid-word. */

@font-face {
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 500 700;
    font-display: swap;
    src: url('../fonts/fraunces-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
        U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 500 700;
    font-display: swap;
    src: url('../fonts/fraunces-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/source-sans-3-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
        U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/source-sans-3-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    /* --- Test Kitchen palette --------------------------------------------- */
    --qkt-paper:         #FFFFFF;   /* page ground */
    --qkt-ink:           #1A1A1A;   /* headings + body text — the logo black */
    --qkt-primary:       #9C4A24;   /* links, labels, numerals, buttons — logo rust, 6.1:1 on white */
    --qkt-primary-dark:  #7E3A1B;   /* hover */
    --qkt-meta:          #4A5568;   /* meta text — never lighter */
    --qkt-rule:          #E5E1DC;   /* hairlines, card borders, image frames */
    --qkt-band:          #FBF5F0;   /* warm paper: contents box, newsletter, chips, table heads */
    --qkt-band-border:   #EAD2C4;   /* tinted border for callouts */
    --qkt-footer-bg:     #2E1C13;   /* espresso-rust, derived from the logo rust (2026-09-27) */
    --qkt-footer-text:   #F4EDE6;   /* warm off-white, 14.0:1 on the ground */
    --qkt-footer-muted:  #BFAE9F;   /* warm grey for owner/legal, 7.6:1 */
    --qkt-footer-accent: #D98B5F;   /* lighter rust for the rail counts, 6.1:1 */
    --qkt-footer-rule:   rgba(244, 237, 230, 0.18);

    /* --- Type: Manrope display/UI, Inter reading ---------------------------- */
    --qkt-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --qkt-ui:      'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --qkt-text:    'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

    --qkt-size-body:    clamp(1.125rem, 1.05rem + 0.35vw, 1.1875rem);   /* 18–19px — Source Sans sets small */
    --qkt-size-body-sm: 1rem;
    --qkt-size-meta:    0.875rem;    /* 14px labels — Source Sans sets small */
    --qkt-lh-body:      1.7;
    --qkt-lh-head:      1.1;
    --qkt-track-meta:   0.08em;
    --qkt-track-head:   0;

    /* Short titles (archive, pages) may go big; article and lead headlines
       run 8–14 words in a 560–740px column, so they cap at 44px. */
    --qkt-h1:      clamp(2.125rem, 1.5rem + 2vw, 3.25rem);
    --qkt-h1-lead: clamp(1.75rem, 1.25rem + 1.6vw, 2.75rem);
    --qkt-title:   clamp(1.75rem, 1.25rem + 1.6vw, 2.75rem);
    --qkt-h2:      clamp(1.5rem, 1.25rem + 0.9vw, 1.875rem);
    --qkt-h3:      clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
    --qkt-card-title: 1.25rem;

    /* --- Shape & metrics: soft 8px corners, hairlines, one flat shadow at most --- */
    --qkt-radius-sm: 4px;
    --qkt-radius:    8px;
    --qkt-radius-lg: 12px;
    --qkt-page-max:  1200px;
    --qkt-content-max: 740px;
    --qkt-sidebar:   304px;   /* 300px ad unit + the frame's 1px borders */
    --qkt-side-gap:  2rem;
    --qkt-measure:   72ch;
    --qkt-gutter:    clamp(1rem, 3vw, 2.5rem);
    --qkt-col-gap:   clamp(1.5rem, 3vw, 3rem);
    --qkt-grid-gap:  clamp(1.25rem, 2.5vw, 2rem);
    --qkt-tap:       44px;
    --qkt-nav-tap:   48px;

    /* --- Bridge to main.css ----------------------------------------------
       main.css is the shared core and names its own variables. Point every
       one of them at the tokens above so the core inherits the palette
       instead of fighting it. Do not restyle main.css. */
    --font-size-body-min: 1.125rem;
    --font-size-body-max: 1.1875rem;
    --font-size-body-fluid: calc(1.05rem + 0.35vw);
    --font-size-h1-min: 2.125rem;
    --font-size-h1-max: 3.25rem;
    --font-size-h1-fluid: calc(1.5rem + 2vw);
    --font-size-h2-min: 1.5rem;
    --font-size-h2-max: 1.875rem;
    --font-size-h2-fluid: calc(1.25rem + 0.9vw);
    --font-size-h3-min: 1.25rem;
    --font-size-h3-max: 1.5rem;
    --font-size-h3-fluid: calc(1.1rem + 0.5vw);
    --font-size-h4-min: 1.125rem;
    --font-size-h4-max: 1.25rem;
    --font-size-h4-fluid: calc(1.05rem + 0.3vw);
    --font-size-h5-min: 1.0625rem;
    --font-size-h5-max: 1.125rem;
    --font-size-h5-fluid: calc(1rem + 0.2vw);
    --font-size-h6-min: 1rem;
    --font-size-h6-max: 1.0625rem;
    --font-size-h6-fluid: calc(0.96rem + 0.12vw);
    --line-height-body: 1.7;
    --line-height-heading: 1.1;

    --color-primary: #9C4A24;
    --color-primary-hover: #7E3A1B;
    --color-heading: #1A1A1A;
    --color-accent: #9C4A24;
    --color-text-dark: #1A1A1A;
    --color-text-medium: #4A5568;
    --color-text-light: #4A5568;
    --color-background: #FFFFFF;
    --color-background-light: #FBF5F0;
    --color-border-light: #E5E1DC;
    --color-border: #E5E1DC;
    --color-footer-bg: #1A1A1A;
    --color-footer-border: #333333;
    --color-footer-text: #E5E7EB;
    --color-copyright: #A3A3A3;

    --color-facebook: #E5E7EB;
    --color-facebook-hover: #FFFFFF;
    --color-twitter: #E5E7EB;
    --color-twitter-hover: #FFFFFF;
    --color-pinterest: #E5E7EB;
    --color-pinterest-hover: #FFFFFF;
    --color-linkedin: #E5E7EB;
    --color-linkedin-hover: #FFFFFF;

    --color-error: #B91C1C;
    --color-error-bg: #FEE2E2;
    --color-error-text: #991B1B;
    --color-warning: #92400E;
    --color-warning-bg: #FEF3C7;
    --color-warning-text: #78350F;
}
