/* ==========================================================================
   FONT CONFIGURATION
   Centralized font loading and configuration for Neffy UK website - Greek language
   ========================================================================== */

/**
 * Noto Sans Font Import
 * Local font definitions for Noto Sans family with all weights and styles
 * Includes Noto Sans Symbols for extended symbol support (®, ™, ©, etc.)
 */

/* Noto Sans Symbols - Regular */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans_Symbols/static/NotoSansSymbols-Regular.ttf') format('truetype');
}

/* Noto Sans Regular */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-Regular.ttf') format('truetype');
}

/* Noto Sans Italic */
@font-face {
  font-family: 'Noto Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-Italic.ttf') format('truetype');
}

/* Noto Sans Symbols - Light */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans_Symbols/static/NotoSansSymbols-Light.ttf') format('truetype');
}

/* Noto Sans Light */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-Light.ttf') format('truetype');
}

/* Noto Sans Light Italic */
@font-face {
  font-family: 'Noto Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-LightItalic.ttf') format('truetype');
}

/* Noto Sans Symbols - Medium */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans_Symbols/static/NotoSansSymbols-Medium.ttf') format('truetype');
}

/* Noto Sans Medium */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-Medium.ttf') format('truetype');
}

/* Noto Sans Medium Italic */
@font-face {
  font-family: 'Noto Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-MediumItalic.ttf') format('truetype');
}

/* Noto Sans Symbols - SemiBold */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans_Symbols/static/NotoSansSymbols-SemiBold.ttf') format('truetype');
}

/* Noto Sans SemiBold */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-SemiBold.ttf') format('truetype');
}

/* Noto Sans SemiBold Italic */
@font-face {
  font-family: 'Noto Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-SemiBoldItalic.ttf') format('truetype');
}

/* Noto Sans Symbols - Bold */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans_Symbols/static/NotoSansSymbols-Bold.ttf') format('truetype');
}

/* Noto Sans Bold */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-Bold.ttf') format('truetype');
}

/* Noto Sans Bold Italic */
@font-face {
  font-family: 'Noto Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('../../../fonts/Noto_Sans/static/NotoSans-BoldItalic.ttf') format('truetype');
}

/**
 * Font Stack Configuration
 * Centralized font family definitions using only Noto Sans
 */
:root {
  /* Primary Font Family */
  --font-family-primary: 'Noto Sans';

  /* Font Family Aliases */
  --font-family-base: var(--font-family-primary);
  --font-family-heading: var(--font-family-primary);
  --font-family-body: var(--font-family-primary);

  /* Monospace Font Family */
  --font-family-mono: 'Noto Sans';
}

/**
 * Font Weight Configuration
 * Standardized font weights for Noto Sans
 */
:root {
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Semantic Weight Aliases */
  --font-weight-normal: var(--font-weight-regular);
  --font-weight-strong: var(--font-weight-bold);
}

/**
 * Font Style Configuration
 */
:root {
  --font-style-normal: normal;
  --font-style-italic: italic;
}

/**
 * Base Typography Settings
 * Applied to html element as foundation
 */
html {
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  font-style: var(--font-style-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/**
 * Heading Font Configuration
 * Ensures all headings use the primary font
 */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-family-heading);
}

/**
 * Body Text Font Configuration
 */
body, p, span, div, a, li, td, th,
input, textarea, select, button {
  font-family: var(--font-family-body);
}

/**
 * Monospace Elements
 */
code, kbd, pre, samp,
.code, .monospace {
  font-family: var(--font-family-mono) !important;
}

/**
 * Font Loading Optimization
 * Ensure font-display: swap for better performance
 */
@supports (font-display: swap) {
  html {
    font-display: swap;
  }
}

/**
 * Font Fallback Behavior
 * Ensure graceful degradation if custom fonts fail to load
 */
@supports not (font-family: 'Noto Sans') {
  :root {
    --font-family-primary: 'Noto Sans';
  }
}

/**
 * Print Optimization
 * Use Noto Sans for print as well
 */
@media print {
  * {
    font-family: 'Noto Sans' !important;
  }

  code, pre {
    font-family: 'Noto Sans' !important;
  }
}

/**
 * Development Helper
 * Uncomment to test font loading issues
 */
/*
.debug-fonts * {
  outline: 1px solid red;
}

.debug-fonts *:before {
  content: attr(data-font-family);
  font-size: 10px;
  color: red;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
}
*/
