/* ======================================== */
/* TİPOGRAFİ SİSTEMİ - QODMENU */
/* ======================================== */

:root {
  /* ======================================== */
  /* FONT AİLESİ */
  /* ======================================== */
  --font-family-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-secondary: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Monaco', 'Courier New', monospace;

  /* ======================================== */
  /* FONT BOYUTLARI */
  /* ======================================== */
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  --font-size-4xl: 2.25rem;   /* 36px */
  --font-size-5xl: 3rem;      /* 48px */

  /* ======================================== */
  /* FONT KALINLIKLARI */
  /* ======================================== */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  /* ======================================== */
  /* SATIR YÜKSEKLİKLERİ */
  /* ======================================== */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;

  /* ======================================== */
  /* HARF ARALIĞI */
  /* ======================================== */
  --letter-spacing-tight: -0.025em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.025em;
  --letter-spacing-wider: 0.05em;

  /* ======================================== */
  /* RENKLER - Vuetify Theme ile Uyumlu */
  /* ======================================== */
  --text-color-primary: #303030;      /* Vuetify on-background */
  --text-color-secondary: #495057;    /* Vuetify on-surface */
  --text-color-tertiary: #6c757d;     /* Vuetify secondary */
  --text-color-muted: #adb5bd;        /* Muted gray */
  --text-color-inverse: #ffffff;      /* Vuetify on-primary */
  --text-color-success: #45A317;      /* Vuetify success */
  --text-color-warning: #ffc107;      /* Vuetify warning */
  --text-color-error: #dc3545;        /* Vuetify error */
  --text-color-info: #17a2b8;         /* Vuetify info */
  
  /* Ek Renk Tanımları - Proje İçinde Kullanılan (Benzersiz) */
  --text-color-corporate: #a3174a;    /* Kurumsal renk */
  --text-color-corporate-light: #c41e3a; /* Açık kurumsal */
  --text-color-corporate-dark: #8a1340;  /* Koyu kurumsal */
  --text-color-bootstrap-success: #28a745; /* Bootstrap success */

  /* ======================================== */
  /* BAŞLIK STİLLERİ */
  /* ======================================== */
  --heading-font-family: var(--font-family-secondary);
  --heading-font-weight: var(--font-weight-semibold);
  --heading-line-height: var(--line-height-tight);
  --heading-letter-spacing: var(--letter-spacing-tight);
  --heading-color: var(--text-color-primary);

  /* ======================================== */
  /* PARAGRAF STİLLERİ */
  /* ======================================== */
  --paragraph-font-family: var(--font-family-primary);
  --paragraph-font-weight: var(--font-weight-normal);
  --paragraph-line-height: var(--line-height-relaxed);
  --paragraph-color: var(--text-color-secondary);

  /* ======================================== */
  /* BUTTON STİLLERİ */
  /* ======================================== */
  --button-font-family: var(--font-family-primary);
  --button-font-weight: var(--font-weight-medium);
  --button-letter-spacing: var(--letter-spacing-wide);

  /* ======================================== */
  /* INPUT STİLLERİ */
  /* ======================================== */
  --input-font-family: var(--font-family-primary);
  --input-font-size: var(--font-size-base);
  --input-font-weight: var(--font-weight-normal);
  --input-color: var(--text-color-primary);
  --input-placeholder-color: var(--text-color-muted);
}

/* ======================================== */
/* BAŞLIK SINIFLARI */
/* ======================================== */

.text-h1 {
  font-family: var(--heading-font-family);
  font-size: var(--font-size-4xl);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--heading-color);
}

.text-h2 {
  font-family: var(--heading-font-family);
  font-size: var(--font-size-3xl);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--heading-color);
}

.text-h3 {
  font-family: var(--heading-font-family);
  font-size: var(--font-size-2xl);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--heading-color);
}

.text-h4 {
  font-family: var(--heading-font-family);
  font-size: var(--font-size-xl);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--heading-color);
}

.text-h5 {
  font-family: var(--heading-font-family);
  font-size: var(--font-size-lg);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--heading-color);
}

.text-h6 {
  font-family: var(--heading-font-family);
  font-size: var(--font-size-base);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--heading-color);
}

/* ======================================== */
/* PARAGRAF SINIFLARI */
/* ======================================== */

.text-body-large {
  font-family: var(--paragraph-font-family);
  font-size: var(--font-size-lg);
  font-weight: var(--paragraph-font-weight);
  line-height: var(--paragraph-line-height);
  color: var(--paragraph-color);
}

.text-body {
  font-family: var(--paragraph-font-family);
  font-size: var(--font-size-base);
  font-weight: var(--paragraph-font-weight);
  line-height: var(--paragraph-line-height);
  color: var(--paragraph-color);
}

.text-body-small {
  font-family: var(--paragraph-font-family);
  font-size: var(--font-size-sm);
  font-weight: var(--paragraph-font-weight);
  line-height: var(--paragraph-line-height);
  color: var(--paragraph-color);
}

.text-caption {
  font-family: var(--paragraph-font-family);
  font-size: var(--font-size-xs);
  font-weight: var(--paragraph-font-weight);
  line-height: var(--line-height-normal);
  color: var(--text-color-tertiary);
}

/* ======================================== */
/* BUTTON SINIFLARI */
/* ======================================== */

.text-button-large {
  font-family: var(--button-font-family);
  font-size: var(--font-size-lg);
  font-weight: var(--button-font-weight);
  letter-spacing: var(--button-letter-spacing);
  text-transform: none;
}

.text-button {
  font-family: var(--button-font-family);
  font-size: var(--font-size-base);
  font-weight: var(--button-font-weight);
  letter-spacing: var(--button-letter-spacing);
  text-transform: none;
}

.text-button-small {
  font-family: var(--button-font-family);
  font-size: var(--font-size-sm);
  font-weight: var(--button-font-weight);
  letter-spacing: var(--button-letter-spacing);
  text-transform: none;
}

/* ======================================== */
/* INPUT SINIFLARI */
/* ======================================== */

.text-input {
  font-family: var(--input-font-family);
  font-size: var(--input-font-size);
  font-weight: var(--input-font-weight);
  color: var(--input-color);
}

.text-input::placeholder {
  color: var(--input-placeholder-color);
}

/* ======================================== */
/* RENK SINIFLARI */
/* ======================================== */

.text-primary { color: var(--text-color-primary) !important; }
.text-secondary { color: var(--text-color-secondary) !important; }
.text-tertiary { color: var(--text-color-tertiary) !important; }
.text-muted { color: var(--text-color-muted) !important; }
.text-inverse { color: var(--text-color-inverse) !important; }
.text-success { color: var(--text-color-success) !important; }
.text-warning { color: var(--text-color-warning) !important; }
.text-error { color: var(--text-color-error) !important; }
.text-info { color: var(--text-color-info) !important; }

/* Ek Renk Sınıfları (Benzersiz) */
.text-corporate { color: var(--text-color-corporate) !important; }
.text-corporate-light { color: var(--text-color-corporate-light) !important; }
.text-corporate-dark { color: var(--text-color-corporate-dark) !important; }
.text-bootstrap-success { color: var(--text-color-bootstrap-success) !important; }

/* ======================================== */
/* KALINLIK SINIFLARI */
/* ======================================== */

.font-light { font-weight: var(--font-weight-light) !important; }
.font-normal { font-weight: var(--font-weight-normal) !important; }
.font-medium { font-weight: var(--font-weight-medium) !important; }
.font-semibold { font-weight: var(--font-weight-semibold) !important; }
.font-bold { font-weight: var(--font-weight-bold) !important; }
.font-extrabold { font-weight: var(--font-weight-extrabold) !important; }

/* ======================================== */
/* HİZALAMA SINIFLARI */
/* ======================================== */

.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.text-justify { text-align: justify !important; }

/* ======================================== */
/* DÖNÜŞÜM SINIFLARI */
/* ======================================== */

.uppercase { text-transform: uppercase !important; }
.lowercase { text-transform: lowercase !important; }
.capitalize { text-transform: capitalize !important; }
.normal-case { text-transform: none !important; }

/* ======================================== */
/* DEKORASYON SINIFLARI */
/* ======================================== */

.underline { text-decoration: underline !important; }
.line-through { text-decoration: line-through !important; }
.no-underline { text-decoration: none !important; }

/* ======================================== */
/* SATIR YÜKSEKLİĞİ SINIFLARI */
/* ======================================== */

.leading-tight { line-height: var(--line-height-tight) !important; }
.leading-normal { line-height: var(--line-height-normal) !important; }
.leading-relaxed { line-height: var(--line-height-relaxed) !important; }
.leading-loose { line-height: var(--line-height-loose) !important; }

/* ======================================== */
/* HARF ARALIĞI SINIFLARI */
/* ======================================== */

.tracking-tight { letter-spacing: var(--letter-spacing-tight) !important; }
.tracking-normal { letter-spacing: var(--letter-spacing-normal) !important; }
.tracking-wide { letter-spacing: var(--letter-spacing-wide) !important; }
.tracking-wider { letter-spacing: var(--letter-spacing-wider) !important; }

/* ======================================== */
/* VUETIFY OVERRIDE'LARI */
/* ======================================== */

/* Vuetify başlık stillerini override et */
.v-card-title {
  font-family: var(--heading-font-family) !important;
  font-weight: var(--heading-font-weight) !important;
  line-height: var(--heading-line-height) !important;
  letter-spacing: var(--heading-letter-spacing) !important;
  color: var(--heading-color) !important;
}

.v-list-item-title {
  font-family: var(--paragraph-font-family) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--text-color-primary) !important;
}

.v-list-item-subtitle {
  font-family: var(--paragraph-font-family) !important;
  font-weight: var(--paragraph-font-weight) !important;
  color: var(--text-color-secondary) !important;
}

/* Vuetify buton stilleri */
.v-btn {
  font-family: var(--button-font-family) !important;
  font-weight: var(--button-font-weight) !important;
  letter-spacing: var(--button-letter-spacing) !important;
  text-transform: none !important;
}

/* Vuetify input stilleri */
.v-text-field input,
.v-select input {
  font-family: var(--input-font-family) !important;
  font-size: var(--input-font-size) !important;
  font-weight: var(--input-font-weight) !important;
  color: var(--input-color) !important;
}

.v-text-field input::placeholder,
.v-select input::placeholder {
  color: var(--input-placeholder-color) !important;
}

/* Vuetify dialog başlıkları */
.v-dialog .v-card-title {
  font-family: var(--heading-font-family) !important;
  font-weight: var(--heading-font-weight) !important;
  color: var(--heading-color) !important;
}

/* Vuetify tab stilleri */
.v-tab {
  font-family: var(--button-font-family) !important;
  font-weight: var(--button-font-weight) !important;
  text-transform: none !important;
}

/* Vuetify app bar başlığı */
.v-app-bar-title {
  font-family: var(--heading-font-family) !important;
  font-weight: var(--heading-font-weight) !important;
  color: var(--text-color-inverse) !important;
}

/* ======================================== */
/* RESPONSIVE TİPOGRAFİ */
/* ======================================== */

@media (max-width: 768px) {
  :root {
    --font-size-4xl: 2rem;    /* 32px */
    --font-size-3xl: 1.75rem; /* 28px */
    --font-size-2xl: 1.375rem; /* 22px */
    --font-size-xl: 1.125rem; /* 18px */
  }
}

@media (max-width: 480px) {
  :root {
    --font-size-4xl: 1.875rem; /* 30px */
    --font-size-3xl: 1.625rem; /* 26px */
    --font-size-2xl: 1.25rem;  /* 20px */
    --font-size-xl: 1rem;      /* 16px */
  }
} 