/* Local Font Definitions - Self-hosted Google Fonts */
/* This replaces Google Fonts CDN to eliminate CLS and third-party requests */

/* Manrope - Headings font (h1, h2, h3) */
/* latin-ext (Polish: ą, ć, ę, ł, ń, ó, ś, ź, ż) */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Arial'); /* manrope-700-latin-ext.woff2 not shipped; BHP uses Plus Jakarta Sans */
    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;
}

/* latin */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Arial'); /* manrope-700-latin.woff2 not shipped */
    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;
}

/* latin-ext */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: local('Arial'); /* manrope-800-latin-ext.woff2 not shipped */
    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;
}

/* latin */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: local('Arial'); /* manrope-800-latin.woff2 not shipped */
    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;
}

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

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

/* Inter 700 is provided to the BHP storefront by the Google @import in
   bhp-tokens.scss; no self-hosted file shipped, so no @font-face here. */

/* Fira Sans - No unicode-range restriction to support Polish characters */
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/fira-sans-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/fira-sans-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/fira-sans-900.woff2') format('woff2');
}

/* Open Sans - preloaded fonts with swap for minimal CLS */
/* No unicode-range restriction to support Polish characters (ą, ć, ę, ł, ń, ó, ś, ź, ż) */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/open-sans-300.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/open-sans-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/open-sans-500.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/open-sans-600.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/open-sans-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/fonts/open-sans-800.woff2') format('woff2');
}

/* Bebas Neue - No unicode-range restriction to support Polish characters */
@font-face {
    font-family: 'Bebas Neue';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/bebas-neue-400.woff2') format('woff2');
}

/* Source Sans Pro - No unicode-range restriction to support Polish characters */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/source-sans-pro-300.woff2') format('woff2');
}

@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/source-sans-pro-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/source-sans-pro-600.woff2') format('woff2');
}

@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/source-sans-pro-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/source-sans-pro-900.woff2') format('woff2');
}

/* Fallback font definitions with adjusted metrics to match web fonts */
/* These prevent layout shift while web fonts are loading */

@font-face {
    font-family: 'Open Sans Fallback';
    font-style: normal;
    font-weight: 300;
    src: local('Arial');
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 0%;
    size-adjust: 96%;
}

@font-face {
    font-family: 'Open Sans Fallback';
    font-style: normal;
    font-weight: 400;
    src: local('Arial');
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 0%;
    size-adjust: 96%;
}

@font-face {
    font-family: 'Open Sans Fallback';
    font-style: normal;
    font-weight: 600;
    src: local('Arial');
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 0%;
    size-adjust: 96%;
}

@font-face {
    font-family: 'Open Sans Fallback';
    font-style: normal;
    font-weight: 700;
    src: local('Arial');
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 0%;
    size-adjust: 96%;
}

@font-face {
    font-family: 'Open Sans Fallback';
    font-style: normal;
    font-weight: 800;
    src: local('Arial');
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 0%;
    size-adjust: 96%;
}

@font-face {
    font-family: 'Fira Sans Fallback';
    font-style: normal;
    font-weight: 400;
    src: local('Arial');
    ascent-override: 98%;
    descent-override: 27%;
    line-gap-override: 0%;
    size-adjust: 100%;
}

@font-face {
    font-family: 'Fira Sans Fallback';
    font-style: normal;
    font-weight: 700;
    src: local('Arial');
    ascent-override: 98%;
    descent-override: 27%;
    line-gap-override: 0%;
    size-adjust: 100%;
}

@font-face {
    font-family: 'Fira Sans Fallback';
    font-style: normal;
    font-weight: 900;
    src: local('Arial');
    ascent-override: 98%;
    descent-override: 27%;
    line-gap-override: 0%;
    size-adjust: 100%;
}

@font-face {
    font-family: 'Bebas Neue Fallback';
    font-style: normal;
    font-weight: 400;
    src: local('Impact');
    ascent-override: 95%;
    descent-override: 15%;
    line-gap-override: 0%;
    size-adjust: 105%;
}

@font-face {
    font-family: 'Source Sans Pro Fallback';
    font-style: normal;
    font-weight: 300;
    src: local('Arial');
    ascent-override: 102%;
    descent-override: 30%;
    line-gap-override: 0%;
    size-adjust: 98%;
}

@font-face {
    font-family: 'Source Sans Pro Fallback';
    font-style: normal;
    font-weight: 400;
    src: local('Arial');
    ascent-override: 102%;
    descent-override: 30%;
    line-gap-override: 0%;
    size-adjust: 98%;
}

@font-face {
    font-family: 'Source Sans Pro Fallback';
    font-style: normal;
    font-weight: 700;
    src: local('Arial');
    ascent-override: 102%;
    descent-override: 30%;
    line-gap-override: 0%;
    size-adjust: 98%;
}

@font-face {
    font-family: 'Source Sans Pro Fallback';
    font-style: normal;
    font-weight: 900;
    src: local('Arial');
    ascent-override: 102%;
    descent-override: 30%;
    line-gap-override: 0%;
    size-adjust: 98%;
}

/* Apply Open Sans globally with Arial fallback */
/* font-display: optional ensures zero CLS */
body, html {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #444444;
    /* Prevent browser from synthesizing bold/italic - use actual font files */
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Override for specific font families used in banners */
.extra-light-large-caption,
.extra-bold-caption,
.thinText,
.boldText {
    font-family: inherit;
}
