/* ==========================================================================
   Web-SEO.com.tr — Design Tokens (tek kaynak)
   --------------------------------------------------------------------------
   Front-end, müşteri paneli ve admin paneli YALNIZCA bu değişkenleri kullanır.
   Renk revizyonu = sadece "Brand primitives" bloğunu değiştirmek.
   Kaynak: müşteri logosu (planet/wordmark #6E56DE, dünya #EF7F1A).
   ========================================================================== */

/* Plus Jakarta Sans — değişken font (400–800), self-host. Türkçe: ı → latin, ğ ş İ ₺ → latin-ext */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* ---- Brand primitives (logodan ölçüldü) ------------------------------- */
  --violet-50:  #f4f2fd;
  --violet-100: #e9e5fb;
  --violet-200: #d3caf7;
  --violet-300: #b3a5f0;
  --violet-400: #917de8;
  --violet-500: #6e56de; /* logo */
  --violet-600: #5d45cf;
  --violet-700: #4c37b0;
  --violet-800: #3a2a87;
  --violet-900: #241a57;

  --orange-50:  #fef4ea;
  --orange-100: #fde3c9;
  --orange-500: #ef7f1a; /* logo */
  --orange-700: #b85a07; /* açık zeminde metin için AA kontrast */

  --ink-950: #0b0a12;   /* near-black, hafif mor tint */
  --ink-900: #12111c;
  --ink-850: #191726;
  --ink-800: #221f33;
  --ink-700: #322e48;
  --ink-600: #4a4660;

  --gray-0:   #ffffff;
  --gray-25:  #fbfbfd;
  --gray-50:  #f6f6f9;
  --gray-100: #eeeef3;
  --gray-200: #e3e2ea;
  --gray-300: #cfcdd9;
  --gray-400: #a3a1b2;
  --gray-500: #6c6a7d;
  --gray-700: #3e3c4d;
  --gray-900: #15141d;

  /* ---- Semantic colors -------------------------------------------------- */
  --color-primary:       var(--violet-500);
  --color-primary-hover: var(--violet-600);
  --color-primary-dark:  var(--violet-700);
  --color-primary-deep:  var(--violet-900);
  --color-primary-soft:  var(--violet-50);
  --color-primary-tint:  var(--violet-100);
  --color-on-primary:    #ffffff;
  --gradient-brand:       linear-gradient(135deg, #6e56de 0%, #8b5cf6 100%);
  --gradient-brand-hover: linear-gradient(135deg, #5d45cf 0%, #7c3aed 100%);

  --color-accent:        var(--orange-500);
  --color-accent-soft:   var(--orange-50);
  --color-accent-text:   var(--orange-700);

  --color-background:    var(--gray-0);
  --color-background-subtle: var(--gray-50);
  --color-surface:       var(--gray-0);
  --color-surface-raised:var(--gray-0);
  --color-surface-sunken:var(--gray-50);

  --color-dark:          var(--ink-950);
  --color-dark-2:        var(--ink-900);
  --color-dark-3:        var(--ink-850);
  --color-dark-border:   var(--ink-800);
  --color-on-dark:       #f2f1f7;
  --color-on-dark-muted: #a4a1b8;

  --color-text:          var(--gray-900);
  --color-text-2:        var(--gray-700);
  --color-muted:         var(--gray-500);
  --color-placeholder:   var(--gray-400);
  --color-border:        var(--gray-200);
  --color-border-strong: var(--gray-300);

  --color-success:      #0f8f5f;
  --color-success-soft: #e7f6ef;
  /* Warning = SARI aile (QUALITY §17); turuncu accent ile karışmaz. Ölçülen kontrast: soft zeminde 6.38:1, beyazda 6.85:1 */
  --color-warning:      #854d0e;
  --color-warning-soft: #fef9c3;
  --color-danger:       #d0333f;
  --color-danger-soft:  #fdecee;
  --color-info:         #2366c4;
  --color-info-soft:    #e9f1fc;

  --color-focus-ring: color-mix(in srgb, var(--color-primary) 45%, transparent);

  /* ---- Typography ------------------------------------------------------- */
  --font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* UI ölçeği (panel + form + tablo) */
  --text-xs:   0.75rem;   /* 12 */
  --text-sm:   0.8125rem; /* 13 */
  --text-base: 0.9375rem; /* 15 */
  --text-md:   1rem;      /* 16 */
  --text-lg:   1.125rem;  /* 18 */
  --text-xl:   1.25rem;   /* 20 */
  --text-2xl:  1.5rem;    /* 24 */

  /* Pazarlama ölçeği (front-end, akışkan) */
  --display-1: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);
  --display-2: clamp(2rem, 1.45rem + 2.2vw, 3.25rem);
  --heading-1: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
  --heading-2: clamp(1.375rem, 1.2rem + 0.7vw, 1.75rem);
  --lead:      clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --tracking-tight: -0.025em;
  --tracking-display: -0.035em;
  --tracking-caps: 0.08em;

  /* ---- Spacing (4px tabanlı) ------------------------------------------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-30: 7.5rem; /* 120 */
  --section-y: clamp(4rem, 2.5rem + 6vw, 8rem);
  --container: 1200px;
  --measure: 45rem;   /* rahat okuma genişliği ≈ 720px (QUALITY §10: 680–760px) */
  --container-wide: 1320px;
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2rem);

  /* ---- Radius (QUALITY §7: küçük kontrol 8–12 · kart 16–20 · büyük kart 20–24 · container 24–28) */
  --radius-xs: 8px;     /* badge, checkbox, küçük öğe */
  --radius-sm: 8px;     /* input, button */
  --radius-md: 12px;    /* küçük kontrol: ikon kutusu, menü öğesi, mini pencere */
  --radius-card: 16px;  /* panel kartı, tablo kabı */
  --radius-lg: 20px;    /* front-end kartı, modal */
  --radius-xl: 28px;    /* container: hero/CTA blokları */
  --radius-pill: 999px; /* yalnızca chip/avatar/yuvarlak buton */

  /* ---- Control sizes ---------------------------------------------------- */
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --icon-sm: 16px;
  --icon-md: 18px;
  --icon-lg: 20px;
  --icon-xl: 24px;

  /* ---- Borders & shadows (mor tintli, abartısız) ----------------------- */
  --border: 1px solid var(--color-border);
  --shadow-xs: 0 1px 2px rgb(21 20 40 / 0.06);
  --shadow-sm: 0 1px 2px rgb(21 20 40 / 0.05), 0 2px 6px rgb(21 20 40 / 0.05);
  --shadow-md: 0 2px 4px rgb(21 20 40 / 0.04), 0 8px 24px rgb(36 26 87 / 0.08);
  --shadow-lg: 0 4px 8px rgb(21 20 40 / 0.04), 0 20px 48px rgb(36 26 87 / 0.14);
  --shadow-primary: 0 6px 18px color-mix(in srgb, var(--color-primary) 30%, transparent);

  /* ---- Motion ----------------------------------------------------------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 360ms;

  /* ---- Z-index ---------------------------------------------------------- */
  --z-dropdown: 20;
  --z-sticky: 30;
  --z-overlay: 40;
  --z-modal: 50;
  --z-toast: 60;

  /* Breakpoints (CSS değişkeni media query'de kullanılamaz; referans):
     sm 640 · md 768 · lg 1024 · xl 1280 */
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
