/* ---------------------------------------------------------------------------
   BASE - global sıfırlama, tipografi, yerleşim yardımcıları
   Tüm değerler tokens.css'ten gelir; burada ham renk/ölçü YOKTUR.
   --------------------------------------------------------------------------- */

/* --- Poppins (yerel dosya yoksa Google Fonts inc/fonts.php ile yüklenir) --- */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.kayd-theme {
  margin: 0;
  font-family: var(--kayd-font-body);
  font-size: var(--kayd-fs-body);
  font-weight: var(--kayd-fw-regular);
  line-height: var(--kayd-lh-normal);
  color: var(--kayd-ink);
  background: var(--kayd-surface);
  -webkit-font-smoothing: antialiased;
}

.kayd-theme :where(img, svg) { max-width: 100%; }
.kayd-theme :where(img) { height: auto; display: block; }

/* :where() ile yazılıyor: özgüllük 0 kalır, bileşen sınıfları (components.css)
   ek !important veya .kayd-theme öneki gerekmeden bu varsayılanları ezer. */
.kayd-theme :where(h1, h2, h3, h4) {
  font-family: var(--kayd-font-heading);
  font-weight: var(--kayd-fw-bold);
  line-height: var(--kayd-lh-tight);
  margin: 0 0 var(--kayd-space-4);
  color: var(--kayd-primary);
}

.kayd-theme :where(h1) { font-size: var(--kayd-fs-h1); }
.kayd-theme :where(h2) { font-size: var(--kayd-fs-h2); }
.kayd-theme :where(h3) { font-size: var(--kayd-fs-h3); }

.kayd-theme :where(p) { margin: 0 0 var(--kayd-space-4); }
.kayd-theme :where(p:last-child) { margin-bottom: 0; }

.kayd-theme :where(a) { color: inherit; text-decoration: none; }

.kayd-theme ul.kayd-plain {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Divi, kendi sabit başlığı için #page-container'a üst dolgu ekliyor
   (mobilde 80px). Başlık artık child temadan geldiği için sıfırlanıyor. */
.kayd-theme #page-container { padding-top: 0 !important; }

/* Gizli açılır menü sütunları görünmezken de genişlik kaplıyor ve sayfada
   yatay kaydırma çubuğu açıyordu. clip, kaydırma kabı oluşturmadığı için
   yapışkan başlığı etkilemez. */
.kayd-theme #page-container { overflow-x: clip; }

/* Divi, başlıklara (10px) ve p:not(:last-of-type) ögelerine (1em) padding-bottom
   ekliyor. Tasarımda bu boşluk yok; yalnızca kendi bileşenlerimizde sıfırlanıyor,
   Divi ile kurulmuş sayfaların içeriğine dokunulmuyor. */
.kayd-theme .kayd-header :is(h1, h2, h3, h4, p),
.kayd-theme .kayd-hero :is(h1, h2, h3, h4, p),
.kayd-theme .kayd-quick :is(h1, h2, h3, h4, p),
.kayd-theme .kayd-band :is(h1, h2, h3, h4, p),
.kayd-theme .kayd-section :is(h1, h2, h3, h4, p),
.kayd-theme .kayd-footer :is(h1, h2, h3, h4, p) {
  padding-bottom: 0;
}

/* --- Yerleşim ---
   Figma'da içerik x=106..802 (696 px) yani tam 1107.5 px karşılığı.
   Kapta ek dolgu YOK; dar ekranda kenar boşluğu genişlikten düşülür. */
.kayd-container {
  width: min(var(--kayd-container), calc(100% - 2 * var(--kayd-space-5)));
  margin-inline: auto;
}

/* Header ve hero, tasarımda içerik kabından daha dar kenar boşluğu kullanıyor */
.kayd-container--wide {
  width: min(calc(var(--kayd-container) + 2 * var(--kayd-edge)), calc(100% - 2 * var(--kayd-space-5)));
  margin-inline: auto;
}

.kayd-section { padding-block: var(--kayd-space-9); }

/* --- Renk bantları --- */
.kayd-band { position: relative; }
.kayd-band--primary { background: var(--kayd-primary); color: var(--kayd-on-primary); }
.kayd-band--soft    { background: var(--kayd-primary-soft); }
.kayd-band--sari    { background: var(--kayd-yellow); color: var(--kayd-primary); }
.kayd-band--accent  { background: var(--kayd-accent); color: var(--kayd-on-primary); }

.kayd-band--primary h2,
.kayd-band--accent  h2 { color: var(--kayd-on-primary); }

/* --- Erişilebilirlik --- */
.kayd-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.kayd-theme :focus-visible {
  outline: 3px solid var(--kayd-primary);
  outline-offset: 2px;
}

.kayd-band--primary :focus-visible,
.kayd-band--accent  :focus-visible { outline-color: var(--kayd-on-primary); }

@media (prefers-reduced-motion: reduce) {
  .kayd-theme *,
  .kayd-theme *::before,
  .kayd-theme *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
