/*
 * Self-hosted Google Fonts for memo.sbs PWA
 * Total bundle size: ~536 KB
 * Fonts: DM Sans, Playfair Display, Outfit
 */

/* ========================================
   DM Sans - Body Font
   ======================================== */

/* DM Sans - Regular (400) */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/dm-sans-400.woff2') format('woff2');
}

/* DM Sans - Regular Italic (400) */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/dm-sans-400italic.woff2') format('woff2');
}

/* DM Sans - Medium (500) */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/dm-sans-500.woff2') format('woff2');
}

/* DM Sans - Medium Italic (500) */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/dm-sans-500italic.woff2') format('woff2');
}

/* DM Sans - SemiBold (600) */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/dm-sans-600.woff2') format('woff2');
}

/* DM Sans - SemiBold Italic (600) */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/dm-sans-600italic.woff2') format('woff2');
}

/* DM Sans - Bold (700) */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/dm-sans-700.woff2') format('woff2');
}

/* DM Sans - Bold Italic (700) */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/dm-sans-700italic.woff2') format('woff2');
}

/* ========================================
   Playfair Display - Heading Font
   ======================================== */

/* Playfair Display - Medium (500) */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/playfair-display-500.woff2') format('woff2');
}

/* Playfair Display - SemiBold (600) */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/playfair-display-600.woff2') format('woff2');
}

/* Playfair Display - Bold (700) */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/playfair-display-700.woff2') format('woff2');
}

/* ========================================
   Outfit - Alternative Font
   ======================================== */

/* Outfit - Regular (400) */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/outfit-400.woff2') format('woff2');
}

/* Outfit - Medium (500) */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/outfit-500.woff2') format('woff2');
}

/* Outfit - SemiBold (600) */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/outfit-600.woff2') format('woff2');
}

/* Outfit - Bold (700) */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/outfit-700.woff2') format('woff2');
}

/* ========================================
   Font Usage Guidelines
   ======================================== */

/*
 * DM Sans - Body text, labels, buttons
 *   font-family: 'DM Sans', system-ui, sans-serif;
 *
 * Playfair Display - Page titles, section headers
 *   font-family: 'Playfair Display', serif;
 *
 * Outfit - Alternative sans-serif option
 *   font-family: 'Outfit', system-ui, sans-serif;
 *
 * Font Loading Strategy:
 *   - font-display: swap ensures text is immediately visible
 *   - WOFF2 format provides best compression (95%+ browser support)
 *   - Fallback to system fonts while loading
 */
