/*
 * halo-mobile — self-hosted fonts.
 *
 * Poppins (geometric, friendly headline structure — the Stitch export's own
 * fontFamily choice, no substitution needed) + Inter (functional UI/body and
 * price typography, per DESIGN.md "Inter is used for all functional UI
 * elements, body copy, and price displays") ship as real self-hosted .woff2
 * vendored from the curated 6-family allowlist — no font CDN on the
 * storefront critical path (Lighthouse SEO >= 95 invariant). Each family
 * ships its OFL LICENSE.txt alongside the .woff2 (latin subsets).
 */

@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/poppins/poppins-latin-400-normal.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: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/poppins/poppins-latin-600-normal.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;
}

/* Ships only the 700 static file, mapped to cover 700-900 on purpose: the
   display headlines in this theme (hero h1, sale-banner heading) request
   weight 700 at large sizes, Poppins has no dedicated Black/ExtraBold static
   file in the allowlisted vendor set, and letting those requests fall
   through to the browser's synthetic-bold path would be worse than reusing
   700's real hinting. font-weight 600 is declared separately above —
   DESIGN.md's headline weight IS 600 for this theme, so it must resolve to
   the real semibold face, not the base's. */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700 900;
    font-display: swap;
    src: url('../fonts/poppins/poppins-latin-700-normal.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: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/inter/inter-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/inter/inter-medium.woff2') format('woff2');
}

/* 700 only (not 600-700): modern-retail/assets/css/fonts.css already declares
   Inter 600-700 from its own inter-bold.woff2. This stylesheet loads AFTER
   the base's, so a matching overlapping range here would win ties for
   weight:600 requests and shadow the base's face on every inherited surface
   that sets font-weight:600 in Inter (e.g. .form-label). Narrowing to 700
   lets weight:600 resolve unambiguously to the one base declaration. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/inter/inter-bold.woff2') format('woff2');
}
