/* Overused Grotesk Font Family - Complete Font Setup */

/* Variable Font (Modern browsers - most efficient) */
@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/variable/OverusedGrotesk-VF.woff2') format('woff2-variations'),
         url('../fonts/variable/OverusedGrotesk-VF.woff') format('woff-variations'),
         url('../fonts/variable/OverusedGrotesk-VF.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/variable/OverusedGroteskRoman-VF.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/* Individual Font Files (Fallback for older browsers) */
@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Light.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-LightItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Book.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Book.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-BookItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-BookItalic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Roman.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Roman.ttf') format('truetype');
    font-weight: 450;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Italic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Italic.ttf') format('truetype');
    font-weight: 450;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Medium.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-MediumItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-SemiBold.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-SemiBoldItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Bold.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-BoldItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-ExtraBold.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-ExtraBoldItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-Black.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Overused Grotesk';
    src: url('../fonts/otf/OverusedGrotesk-BlackItalic.otf') format('opentype'),
         url('../fonts/ttf/OverusedGrotesk-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* CSS Custom Properties for easy font weight usage */
:root {
    --font-company: 'Overused Grotesk', sans-serif;
    --font-overused-light: 300;
    --font-overused-book: 400;
    --font-overused-roman: 450;
    --font-overused-medium: 500;
    --font-overused-semibold: 600;
    --font-overused-bold: 700;
    --font-overused-extrabold: 800;
    --font-overused-black: 900;
}

/* Make framework defaults resolve to the company font */
:root {
    --bs-font-sans-serif: var(--font-company);
}

/* Body default font */
body {
    font-family: var(--font-company);
    font-weight: var(--font-overused-book);
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Enforce the company font for normal UI text while leaving icon and code fonts alone */
body,
body :where(
    p, span, div, a, button, input, textarea, select, label, small, strong, em,
    li, ul, ol, dt, dd, th, td, caption, figcaption, blockquote, legend,
    h1, h2, h3, h4, h5, h6
) {
    font-family: var(--font-company) !important;
}

/* Heading styles with Overused Grotesk */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-company);
    font-weight: var(--font-overused-bold);
    line-height: 1.2;
}

/* Button and form elements */
button, input, textarea, select {
    font-family: var(--font-company);
}

/* Table elements */
table, th, td {
    font-family: var(--font-company);
}

/* Navigation elements */
nav, .nav, .navbar {
    font-family: var(--font-company);
}

/* Utility classes for different font weights */
.font-light { font-weight: var(--font-overused-light) !important; }
.font-book { font-weight: var(--font-overused-book) !important; }
.font-roman { font-weight: var(--font-overused-roman) !important; }
.font-medium { font-weight: var(--font-overused-medium) !important; }
.font-semibold { font-weight: var(--font-overused-semibold) !important; }
.font-bold { font-weight: var(--font-overused-bold) !important; }
.font-extrabold { font-weight: var(--font-overused-extrabold) !important; }
.font-black { font-weight: var(--font-overused-black) !important; }

/* Italic utility classes */
.font-italic { font-style: italic !important; }
.font-normal { font-style: normal !important; }
