/* ==========================================================================
   02 · BASE — reset, tipografi, temel ogeler
   ========================================================================== */

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

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  /* Sabit header'in capa hedeflerini ortmemesi icin */
  scroll-padding-top: calc(var(--h-header) + 24px);
}

body {
  margin: 0;
  background: var(--c-fog);
  color: var(--c-ink);
  font-family: var(--f-body);
  font-size: var(--t-base);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: var(--f-display);
  font-variation-settings: var(--f-display-vars);
  font-weight: var(--w-display);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-tight);
  text-wrap: balance;
}

h1 { font-size: var(--t-h1); line-height: var(--lh-tight); }
h2 { font-size: var(--t-h2); }
h3 { font-size: var(--t-h3); font-weight: 400; }
h4 { font-size: var(--t-h4); font-weight: 400; }

p {
  margin: 0 0 var(--sp-5);
  text-wrap: pretty;
}
p:last-child { margin-bottom: 0; }

a {
  color: var(--c-forest);
  text-decoration: none;
  transition: color var(--d-base) var(--e-out);
}
a:hover { color: var(--c-leaf); }

/* Duz metin icindeki baglantilar alti cizili olmali (WCAG 1.4.1):
   yalnizca renk farki, renk korlugunde ayirt edilemez.
   Menu, kart ve buton baglantilari zaten baska ipuclari tasir. */
p > a,
li > a,
.prose a,
address a,
.check a,
.summary a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
}
p > a:hover,
li > a:hover,
.prose a:hover,
address a:hover,
.check a:hover,
.summary a:hover { text-decoration-color: currentColor; }

/* Bu bloklardaki baglantilar liste/paragraf icinde olsa da alti cizilmez */
.footer__links a,
.footer__legal a,
.footer__social a,
.breadcrumb a,
.sitemap-group a,
.contact-list__row,
.card__link,
.marquee a { text-decoration: none; }

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

ul, ol {
  margin: 0 0 var(--sp-5);
  padding-inline-start: 1.2em;
}

hr {
  border: 0;
  border-top: 1px solid var(--c-line);
  margin: var(--sp-6) 0;
}

strong, b { font-weight: 600; }

::selection {
  background: var(--c-leaf);
  color: var(--c-ink);
}

/* Klavye odagi her yerde gorunur — fare tiklamasinda gorunmez */
:focus-visible {
  outline: 2px solid var(--c-leaf);
  outline-offset: 3px;
  border-radius: var(--r-sm);
}
:focus:not(:focus-visible) { outline: none; }

/* Ekran okuyucu icin gizli, klavye ile gorunur baglanti */
.skip-link {
  position: absolute;
  top: -100px;
  inset-inline-start: var(--sp-4);
  z-index: var(--z-modal);
  background: var(--c-ink);
  color: var(--c-paper);
  padding: 12px 20px;
  border-radius: var(--r-pill);
  font-size: 0.9375rem;
  /* transform ile tasinir: `top` canlandirmak duzen hesabi tetikler. */
  transition: transform var(--d-base) var(--e-out);
}
.skip-link:focus {
  transform: translateY(calc(100px + var(--sp-4)));
  color: var(--c-paper);
}

/* Yalnizca ekran okuyucular icin.
   !important sart: .field input gibi kurallar width:100% verdiginde
   sr-only ezilir ve gorunmez oge sayfayi yatayda tasirir. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  min-height: 0 !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* [hidden] her zaman gizler.
   .btn gibi display:inline-flex veren siniflar hidden'i ezmemeli. */
[hidden] { display: none !important; }

/* Programatik odaklanan basliklarda (tabindex="-1") odak halkasi gosterme */
[tabindex="-1"]:focus { outline: none; }

/* --------------------------------------------------------------- Form temeli */

input, select, textarea, button {
  font: inherit;
  color: inherit;
}

button { cursor: pointer; }

[disabled],
[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
}

/* --------------------------------------------------- Hareket tercihine saygi */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Kaydirma ile beliren ogeler dogrudan gorunur olsun */
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* --------------------------------------------------------------- Yazdirma */

@media print {
  .site-header,
  .site-footer,
  .floats,
  .cookie-bar,
  .sticky-cta { display: none !important; }

  body { background: #fff; color: #000; }
  a::after { content: " (" attr(href) ")"; font-size: 0.8em; }
}
