/**
 * Local Font Definitions for Accessibility Module
 * @package     Villaester.Module
 * @subpackage  AccessibilitySa11y
 * @version     2.0.0
 */

/* OpenDyslexic Font Family - Loaded Locally */
@font-face {
  font-family: 'OpenDyslexic';
  src: local('OpenDyslexic'),
       url('../fonts/opendyslexic/OpenDyslexic-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'OpenDyslexic';
  src: local('OpenDyslexic Bold'),
       url('../fonts/opendyslexic/OpenDyslexic-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'OpenDyslexic';
  src: local('OpenDyslexic Italic'),
       url('../fonts/opendyslexic/OpenDyslexic-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'OpenDyslexic';
  src: local('OpenDyslexic Bold Italic'),
       url('../fonts/opendyslexic/OpenDyslexic-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* 
 * Dyslexic Font Class 
 * Applies OpenDyslexic while preserving template structure
 */
.accessibility-dyslexic-font {
  /* We don't set font-family here, it's done via JavaScript */
}

.accessibility-dyslexic-font,
.accessibility-dyslexic-font * {
  font-family: 'OpenDyslexic', sans-serif !important;
}

/* Preserve template-specific monospace fonts */
.accessibility-dyslexic-font pre,
.accessibility-dyslexic-font code,
.accessibility-dyslexic-font kbd,
.accessibility-dyslexic-font samp {
  font-family: 'OpenDyslexic Mono', 'OpenDyslexic', monospace !important;
}

/* 
 * Readable Font Class
 * Uses system fonts for better readability without overriding template fonts
 * The actual font-family is handled by the template
 */
.accessibility-readable-font {
  /* Improve readability without changing fonts */
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  
  /* Slightly increase font weight for better readability */
  font-weight: 400 !important;
}

.accessibility-readable-font h1,
.accessibility-readable-font h2,
.accessibility-readable-font h3,
.accessibility-readable-font h4,
.accessibility-readable-font h5,
.accessibility-readable-font h6 {
  /* Make headings slightly bolder */
  font-weight: 600 !important;
}

.accessibility-readable-font strong,
.accessibility-readable-font b {
  font-weight: 700 !important;
}

/* Roboto Font Family - Loaded Locally for Readable Font Feature */
@font-face {
  font-family: 'Roboto';
  src: local('Roboto'),
       url('../fonts/roboto/Roboto-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: local('Roboto Medium'),
       url('../fonts/roboto/Roboto-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: local('Roboto Bold'),
       url('../fonts/roboto/Roboto-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: local('Roboto Italic'),
       url('../fonts/roboto/Roboto-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Readable Font with Roboto - matching OneTap functionality */
.accessibility-readable-font-roboto * {
  font-family: 'Roboto', "Segoe UI", Arial, sans-serif !important;
}

/* Optional: If we want to force a specific readable font */
.accessibility-readable-font.force-arial * {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
}

.accessibility-readable-font.force-system * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}