/**
 * General Sans by Frode Helland
 * Source: https://www.fontshare.com/fonts/general-sans
 */

/* Minimal family alias for Tailwind `font-sans` */
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-Variable.woff2') format('woff2'),
       url('./GeneralSans-Variable.woff') format('woff'),
       url('./GeneralSans-Variable.ttf') format('truetype');
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-VariableItalic.woff2') format('woff2'),
       url('./GeneralSans-VariableItalic.woff') format('woff'),
       url('./GeneralSans-VariableItalic.ttf') format('truetype');
  font-weight: 200 700;
  font-style: italic;
  font-display: swap;
}

/* Static fallbacks (map to the same family name) */
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-Regular.woff2') format('woff2'),
       url('./GeneralSans-Regular.woff') format('woff'),
       url('./GeneralSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-Italic.woff2') format('woff2'),
       url('./GeneralSans-Italic.woff') format('woff'),
       url('./GeneralSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-Medium.woff2') format('woff2'),
       url('./GeneralSans-Medium.woff') format('woff'),
       url('./GeneralSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-MediumItalic.woff2') format('woff2'),
       url('./GeneralSans-MediumItalic.woff') format('woff'),
       url('./GeneralSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-Semibold.woff2') format('woff2'),
       url('./GeneralSans-Semibold.woff') format('woff'),
       url('./GeneralSans-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-SemiboldItalic.woff2') format('woff2'),
       url('./GeneralSans-SemiboldItalic.woff') format('woff'),
       url('./GeneralSans-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-Bold.woff2') format('woff2'),
       url('./GeneralSans-Bold.woff') format('woff'),
       url('./GeneralSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url('./GeneralSans-BoldItalic.woff2') format('woff2'),
       url('./GeneralSans-BoldItalic.woff') format('woff'),
       url('./GeneralSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Ensure Tailwind's .font-sans resolves to General Sans on desktop */
body.font-sans { 
  font-family: "General Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif, 
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

/* Typography rendering tweaks for desktop readability */
html, body {
  font-synthesis: none;           /* avoid synthetic bold/italic */
  font-kerning: normal;           /* ensure proper kerning */
  font-feature-settings: "kern" 1, "liga" 1; /* standard ligatures */
}

@font-face {
  font-family: 'GeneralSans-Extralight';
  src: url('./GeneralSans-Extralight.woff2') format('woff2'),
       url('./GeneralSans-Extralight.woff') format('woff'),
       url('./GeneralSans-Extralight.ttf') format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-ExtralightItalic';
  src: url('./GeneralSans-ExtralightItalic.woff2') format('woff2'),
       url('./GeneralSans-ExtralightItalic.woff') format('woff'),
       url('./GeneralSans-ExtralightItalic.ttf') format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Light';
  src: url('./GeneralSans-Light.woff2') format('woff2'),
       url('./GeneralSans-Light.woff') format('woff'),
       url('./GeneralSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-LightItalic';
  src: url('./GeneralSans-LightItalic.woff2') format('woff2'),
       url('./GeneralSans-LightItalic.woff') format('woff'),
       url('./GeneralSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Regular';
  src: url('./GeneralSans-Regular.woff2') format('woff2'),
       url('./GeneralSans-Regular.woff') format('woff'),
       url('./GeneralSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-Italic';
  src: url('./GeneralSans-Italic.woff2') format('woff2'),
       url('./GeneralSans-Italic.woff') format('woff'),
       url('./GeneralSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Medium';
  src: url('./GeneralSans-Medium.woff2') format('woff2'),
       url('./GeneralSans-Medium.woff') format('woff'),
       url('./GeneralSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-MediumItalic';
  src: url('./GeneralSans-MediumItalic.woff2') format('woff2'),
       url('./GeneralSans-MediumItalic.woff') format('woff'),
       url('./GeneralSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Semibold';
  src: url('./GeneralSans-Semibold.woff2') format('woff2'),
       url('./GeneralSans-Semibold.woff') format('woff'),
       url('./GeneralSans-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-SemiboldItalic';
  src: url('./GeneralSans-SemiboldItalic.woff2') format('woff2'),
       url('./GeneralSans-SemiboldItalic.woff') format('woff'),
       url('./GeneralSans-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Bold';
  src: url('./GeneralSans-Bold.woff2') format('woff2'),
       url('./GeneralSans-Bold.woff') format('woff'),
       url('./GeneralSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-BoldItalic';
  src: url('./GeneralSans-BoldItalic.woff2') format('woff2'),
       url('./GeneralSans-BoldItalic.woff') format('woff'),
       url('./GeneralSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Variable';
  src: url('./GeneralSans-Variable.woff2') format('woff2'),
       url('./GeneralSans-Variable.woff') format('woff'),
       url('./GeneralSans-Variable.ttf') format('truetype');
  font-weight: 200 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-VariableItalic';
  src: url('./GeneralSans-VariableItalic.woff2') format('woff2'),
       url('./GeneralSans-VariableItalic.woff') format('woff'),
       url('./GeneralSans-VariableItalic.ttf') format('truetype');
  font-weight: 200 700;
  font-display: swap;
  font-style: italic;
}
