/* Typography styles using @fontsource packages */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  line-height: var(--line-height-tight);
  color: var(--reflection-blue);
  margin-top: var(--space-xl);
  margin-bottom: var(--space-md);
  font-weight: var(--font-weight-bold);
}

h1 {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-extra-bold);
}

h2 {
  font-size: var(--font-size-3xl);
}

h3 {
  font-size: var(--font-size-2xl);
}

h4 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-medium);
}

h5 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}

h6 {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
}

p {
  margin-bottom: var(--space-md);
  max-width: 70ch;
}

ul, ol {
  margin-bottom: var(--space-md);
  padding-left: var(--space-lg);
}

li {
  margin-bottom: var(--space-xs);
}

blockquote {
  border-left: 4px solid var(--reflection-blue);
  padding-left: var(--space-md);
  margin-left: var(--space-md);
  margin-bottom: var(--space-md);
  color: var(--deep-gray);
  font-style: italic;
  font-family: var(--font-serif);
}

code {
  font-family: monospace;
  background-color: var(--faint-gray);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
}

hr {
  border: none;
  height: 1px;
  background-color: var(--light-gray);
  margin: var(--space-xl) 0;
}

.serif {
  font-family: var(--font-serif);
}

.subtitle {
  font-size: var(--font-size-xl);
  color: var(--deep-gray);
}

.caption {
  font-size: var(--font-size-xs);
  color: var(--medium-gray);
}

/* Languages with specific typographic needs */
.lang-ar {
  font-family: 'Noto Sans Arabic', var(--font-sans);
}

.lang-zh, .lang-zh-CN {
  font-family: 'Noto Sans SC', var(--font-sans);
}

.lang-zh-TW {
  font-family: 'Noto Sans TC', var(--font-sans);
}

.lang-ko {
  font-family: 'Noto Sans KR', var(--font-sans);
}

.lang-hi {
  font-family: 'Noto Sans Devanagari', var(--font-sans);
}

@media (max-width: 768px) {
  h1 {
    font-size: var(--font-size-3xl);
  }

  h2 {
    font-size: var(--font-size-2xl);
  }

  h3 {
    font-size: var(--font-size-xl);
  }

  .subtitle {
    font-size: var(--font-size-lg);
  }
}


/* Zentrale Definition aller Variablen für das gesamte Projekt */

:root {
  /* Primary Colors */
  --reflection-blue: #0F5E9C;
  --reflection-blue-rgb: 15, 94, 156;
  --medium-white: #F8F9FB;
  --dialogue-red: #B8405A;
  --faint-gray: #F0F2F5;

  /* Goethe Colors - Sinnelemente */
  --medial-purple: #6A1B9A;
  --medial-purple-rgb: 106, 27, 154;
  --subject-gold: #FFCB00;
  --subject-gold-rgb: 255, 203, 0;
  --intersubjective-red: #D32F2F;
  --intersubjective-red-rgb: 211, 47, 47;
  --object-blue: #1565C0;
  --object-blue-rgb: 21, 101, 192;

  /* Pastel Goethe Colors */
  --medial-purple-pastel: #CE93D8;
  --subject-gold-pastel: #FFE082;
  --intersubjective-red-pastel: #EF9A9A;
  --object-blue-pastel: #64B5F6;

  /* Neutral Colors */
  --reflection-black: #212121;
  --deep-gray: #545454;
  --medium-gray: #878787;
  --light-gray: #CCCCCC;

  /* Spacing Units */
  --space-xs: 0.25rem;   /* 4px */
  --space-sm: 0.5rem;    /* 8px */
  --space-md: 1rem;      /* 16px */
  --space-lg: 1.5rem;    /* 24px */
  --space-xl: 2rem;      /* 32px */
  --space-xxl: 3rem;     /* 48px */

  /* Typography */
  --font-sans: 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --font-serif: 'Noto Serif', Georgia, serif;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-extra-bold: 800;
  --line-height-tight: 1.2;
  --line-height-normal: 1.6;
  --line-height-loose: 2;
  --font-size-xs: 0.875rem;   /* 14px */
  --font-size-sm: 0.9375rem;  /* 15px */
  --font-size-md: 1rem;       /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 2rem;      /* 32px */
  --font-size-4xl: 2.5rem;    /* 40px */

  /* Layout */
  --container-max-width: 1200px;
  --container-padding: var(--space-md);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* Shadows */
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 20px rgba(0,0,0,0.1);

  /* Transitions */
  --transition-fast: 0.15s ease-out;
  --transition-normal: 0.3s ease-out;
  --transition-slow: 0.5s ease-in-out;

  /* Golden Ratio Konstanten */
  --golden-ratio: 1.618;
  --inverse-golden-ratio: 0.618;
  --golden-section-small: 38.2%;
  --golden-section-large: 61.8%;
}
