/* =========================================================
   Koduken Davetiye — Berry-Plum Tasarim Tokenlari
   Tum platform bu degiskenleri kullanir. Hardcoded HEX yasak.
   ========================================================= */

:root {
  /* Plum skalasi */
  --plum-900: #3E1A2A;   /* ink / ana baslik */
  --plum-800: #5C2A3E;   /* primary brand — CTA, logo, navbar */
  --plum-700: #7A3A55;   /* hover / active state */
  --plum-500: #B85A82;   /* mid berry — link, vurgu */
  --plum-200: #F0C8DC;   /* rozet, etiket zemini */
  --plum-100: #F6E0EA;   /* kart hover tint */
  --plum-50:  #FBF1F6;   /* en hafif zemin alternatifi */

  /* Neutral */
  --cream-50:  #FAF7F4;  /* ana sayfa zemini */
  --cream-100: #F4EFE9;  /* surface: kart, modal, input */

  /* Metin */
  --ink-700: #2D1F25;    /* body text — plum-tinted near-black */
  --ink-500: #6B5560;    /* secondary text, captions */
  --ink-400: #9C8A92;    /* muted — placeholder, copyright */

  /* Aksesuar (cok az kullan) */
  --champagne: #C9A876;  /* altin detay, ikon aksan */

  /* Font ailesi */
  --font-display: 'Gloock', serif;          /* başlık — yüksek kontrast modern serif */
  --font-body:    'Raleway', sans-serif;    /* gövde metin */
  --font-script:  'Pinyon Script', cursive; /* yalnızca çift ismi */

  /* Semantic state tokens */
  --state-success-bg:     #d1fae5;
  --state-success-text:   #065f46;
  --state-success-border: #6ee7b7;
  --state-warn-bg:        #fef3c7;
  --state-warn-text:      #92400e;
  --state-error-bg:       #fee2e2;
  --state-error-text:     #991b1b;
  --state-error-border:   #fca5a5;
  --state-live:           #4ade80;

  /* Kontrast notlari:
     --plum-800 uzerine --cream-50 = ~12:1  OK
     --plum-500 uzerine beyaz    = ~3.8:1  PASS ETMEZ — text olarak --plum-900 kullan
     Ghost buton fotograf uzerine: --cream-50 %80 opacity backdrop zorunlu
  */

  /* Breakpoint referans (media query içinde var() çalışmaz — bu değerleri bilin) */
  /* --bp-sm: 640px | --bp-md: 768px | --bp-lg: 1024px | --bp-xl: 1280px */

  /* Z-index skalasi */
  --z-card:    10;
  --z-dropdown: 20;
  --z-sticky:   30;
  --z-overlay:  50;
  --z-modal:    60;
  --z-toast:   100;

  /* Sekil skalasi (tum platform — karistirma) */
  --radius-btn:   9999px;  /* full pill */
  --radius-card:  16px;
  --radius-input: 8px;
  --radius-badge: 6px;

  /* Animasyon (EK BOLUM J kurallarindan) */
  --duration-instant: 150ms;  /* editor/admin — Emil kurali */
  --duration-fast:    200ms;  /* form feedback */
  --duration-normal:  250ms;  /* landing bolum girisler */
  --duration-slow:    500ms;  /* davetiye hero — nadir, Jakub+Jhey */
  --ease-enter:  cubic-bezier(0, 0, 0.2, 1);    /* ease-out */
  --ease-exit:   cubic-bezier(0.4, 0, 1, 1);    /* ease-in */
  --ease-state:  cubic-bezier(0.4, 0, 0.2, 1);  /* ease-in-out */
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1); /* interactive */

  /* Bosluk skalasi */
  --space-0:  0;
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  40px;
  --space-8:  48px;
  --space-10: 64px;
  --space-12: 96px;
  --space-16: 128px;

  /* Golge skalasi (plum-tinted) */
  --shadow-sm:  0 1px 3px rgba(62, 26, 42, 0.08), 0 1px 2px rgba(62, 26, 42, 0.06);
  --shadow-md:  0 4px 6px rgba(62, 26, 42, 0.07), 0 2px 4px rgba(62, 26, 42, 0.06);
  --shadow-lg:  0 10px 15px rgba(62, 26, 42, 0.08), 0 4px 6px rgba(62, 26, 42, 0.05);
  --shadow-xl:  0 20px 25px rgba(62, 26, 42, 0.1), 0 10px 10px rgba(62, 26, 42, 0.04);
  --shadow-card: 0 2px 8px rgba(62, 26, 42, 0.08);

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

  /* Satir yuksekligi */
  --leading-tight:   1.25;
  --leading-snug:    1.375;
  --leading-normal:  1.5;
  --leading-relaxed: 1.625;
  --leading-loose:   2;
}


/* =====================================================
   View Transitions — sayfa geçişleri
   Chrome/Edge 111+, Safari 18+; diğer tarayıcılarda yok sayılır.
   ===================================================== */
@view-transition {
  navigation: auto;
}
@keyframes page-exit {
  to { opacity: 0; }
}
@keyframes page-enter {
  from { opacity: 0; }
}
::view-transition-old(root) {
  animation: page-exit 200ms var(--ease-exit) forwards;
}
::view-transition-new(root) {
  animation: page-enter 280ms var(--ease-enter) forwards;
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}

/* Erisebilirlik: hareket tercihine saygi */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
