/* Sıfırlama, tipografi, form öğeleri. Bootstrap'in reset'inin yerini alır. */

/* Fraunces — başlıklar. Latin ve latin-ext ayrı dosya: tarayıcı yalnız
   sayfadaki karakterlerin düştüğü alt kümeyi indirir. Türkçe ğ Ş İ ve ₺
   latin-ext'te; ı latin'de. Aralıklar @fontsource/fraunces 5.3.0'dan. */
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/fraunces-latin-700-normal.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;
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/fraunces-latin-ext-700-normal.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: "Fraunces";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/fraunces-latin-600-italic.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;
}
@font-face {
  font-family: "Fraunces";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/fraunces-latin-ext-600-italic.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;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--text-base);
  line-height: 1.55;
  color: var(--ink);
  background: var(--surface);
}

img, video { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 { margin: 0 0 var(--space-3); line-height: 1.25; font-weight: 600; }
/* h4 ve altı gövde fontunda kalır: Fraunces yalnız 700 düz ve 600 italik
   yüklü, küçük başlıkta serif okunabilirliği de düşüyor. */
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--brand-ink);
}
h1 em, h2 em, h3 em { font-style: italic; font-weight: 600; color: var(--accent); }
h1 { font-size: var(--text-2xl); }
h2 { font-size: var(--text-xl); }
h3 { font-size: var(--text-lg); }
p { margin: 0 0 var(--space-4); }

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Klavyeyle gezinme görünür olmalı; erişilebilirlik asgarisi */
:focus-visible { outline: 2px solid var(--brand-deep); outline-offset: 2px; }

/* Form öğeleri — hepsi en az dokunma hedefi yüksekliğinde */
input, select, textarea, button { font: inherit; color: inherit; }

/* Ödeme yöntemi ve sözleşme onayı: tarayıcı mavisi yerine marka yeşili,
   dokunmatikte seçilebilir boyut (etiketin tamamı zaten 44px hedef). */
input[type="radio"], input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: var(--brand-deep);
}

.field { display: block; margin-bottom: var(--space-4); }
.field > label {
  display: block;
  margin-bottom: var(--space-1);
  font-size: var(--text-sm);
  color: var(--ink-soft);
}
.field > input, .field > select, .field > textarea {
  width: 100%;
  min-height: var(--tap);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-input);
  background: var(--surface);
}
.field > textarea { min-height: calc(var(--tap) * 2); }
.field-error { margin-top: var(--space-1); font-size: var(--text-sm); color: var(--danger); }

/* Butonlar — hap biçim. Alttaki koyu gölge "basılı" bir yüzey hissi veriyor;
   basılınca düğme aşağı iner, gölge kısalır. Zemin --brand-deep: beyaz
   metinle 5,08:1 (spec §1); açık marka yeşili (--brand) 2,6:1'de kalıyor. */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--tap);
  padding: 0 var(--space-5);
  border: 1px solid transparent;
  border-radius: var(--radius-btn);
  background: var(--brand-deep);
  color: var(--on-brand);
  font-weight: 700;
  box-shadow: var(--shadow-btn);
  cursor: pointer;
  transition: transform .08s ease, box-shadow .08s ease, background-color .15s ease;
}
.btn:hover { background: var(--brand-ink); text-decoration: none; }
.btn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--brand-ink); }
.btn[disabled] {
  background: var(--line);
  color: var(--ink-soft);
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
.btn-block { width: 100%; }
.btn-secondary {
  background: var(--surface);
  color: var(--brand-ink);
  border-color: var(--line);
  box-shadow: 0 3px 0 var(--line);
}
.btn-secondary:hover { background: var(--tint); }
.btn-secondary:active { box-shadow: 0 1px 0 var(--line); }

@media (prefers-reduced-motion: reduce) {
  .btn { transition: none; }
  .btn:active { transform: none; }
}

/* Ekran okuyucuya özel metin */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
