/* ============================================================
   nesil.css — 7 Nesil Soy Haritası sayfası
   style.css tasarım sistemini genişletir (token'lar oradan gelir)
   ============================================================ */

.page-nesil { padding-top: 0; }

/* Sabit nav anchor hedeflerini örtmesin */
.page-nesil section[id] { scroll-margin-top: 6rem; }

/* Serif başlıklardaki dereceler/sayılar old-style rakamla "I, II" gibi
   okunmasın — burç dereceleri ve kuşak sayıları net görünmeli. */
.rsum__title, .rsum__box-v, .node__v, .floor__place, .floor__no,
.ladder__no, .depth__text, .ebar__n, .rez__orb, .gentable__row {
  font-variant-numeric: lining-nums tabular-nums;
}

/* Nav bu sayfada her zaman opak.
   Blur yalnızca masaüstünde — mobilde backdrop-filter, içindeki
   position:fixed menü için containing block yaratıp menüyü bozar. */
.nav.is-solid {
  background: var(--yuzey-ust);
  border-bottom: 1px solid var(--line-soft);
}
@media (min-width: 901px) {
  .nav.is-solid {
    background: var(--yuzey-ust);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
}
.nav__links a.is-current { color: var(--gold-bright); }
.nav__links a.is-current::after { width: 100%; }

/* ============================================================
   HERO
   ============================================================ */
.nesil-hero {
  position: relative;
  padding: clamp(8rem, 16vh, 12rem) 0 clamp(4rem, 8vh, 7rem);
  overflow: hidden;
}
.nesil-hero__stars {
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(1.4px 1.4px at 12% 22%, rgba(243, 239, 230, 0.7), transparent),
    radial-gradient(1.2px 1.2px at 78% 16%, rgba(243, 239, 230, 0.55), transparent),
    radial-gradient(1px 1px at 34% 62%, rgba(243, 239, 230, 0.5), transparent),
    radial-gradient(1.6px 1.6px at 88% 71%, rgba(227, 193, 136, 0.6), transparent),
    radial-gradient(1px 1px at 58% 38%, rgba(243, 239, 230, 0.45), transparent),
    radial-gradient(1.3px 1.3px at 22% 84%, rgba(230, 167, 190, 0.5), transparent),
    radial-gradient(70% 55% at 50% 0%, rgba(184, 149, 79, 0.10), transparent 70%);
}
.nesil-hero__inner { text-align: center; }
.nesil-hero__title { margin-bottom: 1.4rem; }
.nesil-hero__title span {
  background: linear-gradient(120deg, var(--gold-bright), var(--rose-soft), var(--gold));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  font-style: italic;
}
.nesil-hero__lede { margin-bottom: 1rem; max-width: 42ch; text-wrap: balance; }
.nesil-hero__note { margin: 0 auto 3rem; text-align: center; max-width: 58ch; }

/* — Yedi kat merdiveni — */
.ladder {
  list-style: none;
  display: grid; gap: 0.35rem;
  max-width: 680px; margin: 0 auto 3rem;
  text-align: left;
}
.ladder__step {
  display: grid;
  grid-template-columns: 2.2rem 1.6rem 1fr auto;
  align-items: center; gap: 0.9rem;
  padding: 0.72rem 1.1rem;
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  background: linear-gradient(90deg, var(--vurgu-zayif), transparent 70%);
  transition: border-color 0.4s var(--ease), transform 0.4s var(--ease);
}
.ladder__step:hover { border-color: var(--line); transform: translateX(4px); }
.ladder__step:nth-child(n + 4) { opacity: 0.62; }
.ladder__glyph { font-size: 1.25rem; color: var(--gold); text-align: center; }
.ladder__no {
  font-family: var(--serif); font-size: 1.1rem;
  color: var(--gold-deep); text-align: center;
}
.ladder__name { font-size: 0.9rem; letter-spacing: 0.04em; }
.ladder__gen { font-size: 0.76rem; color: var(--ink-muted); letter-spacing: 0.06em; }

@media (max-width: 560px) {
  .ladder__step { grid-template-columns: 1.9rem 1.3rem 1fr; row-gap: 0.15rem; }
  .ladder__gen { grid-column: 3; font-size: 0.7rem; }
}

/* ============================================================
   FORM
   ============================================================ */
.nesil-form-section { padding-top: 2rem; }

.nform {
  max-width: 780px; margin: 3rem auto 0;
  display: grid; gap: 1.1rem;
}
.nform__block {
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  padding: 1.6rem clamp(1rem, 3vw, 2rem);
  background: var(--yuzey);
}
.nform__block--req { border-color: var(--line); background: var(--yuzey-guclu); }

.nform__legend {
  font-family: var(--sans); font-weight: 500;
  font-size: 0.78rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--gold);
  display: flex; align-items: center; gap: 0.7rem;
  margin-bottom: 1.3rem;
  padding: 0;
}
.nform__legend em {
  font-style: normal; text-transform: none; letter-spacing: 0.06em;
  color: var(--ink-muted); font-size: 0.72rem; margin-left: auto;
}
.nform__legend-mark { color: var(--gold-bright); font-size: 1rem; letter-spacing: 0; }

/* details/summary accordion */
.nform__acc summary {
  cursor: pointer; list-style: none;
  margin-bottom: 0;
}
.nform__acc summary::-webkit-details-marker { display: none; }
.nform__acc summary::after {
  content: '+';
  font-size: 1.2rem; color: var(--gold-deep);
  transition: transform 0.3s var(--ease);
  margin-left: 0.6rem;
}
.nform__acc[open] summary { margin-bottom: 1.3rem; }
.nform__acc[open] summary::after { transform: rotate(45deg); }
.nform__acc summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 6px; }

.nform__row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.3rem;
  margin-bottom: 1rem;
}
.nform__row:last-of-type { margin-bottom: 0; }
@media (max-width: 620px) { .nform__row { grid-template-columns: 1fr; } }

.nfield { display: flex; flex-direction: column; gap: 0.45rem; }
.nfield label, .nfield__label {
  font-size: 0.78rem; letter-spacing: 0.1em;
  color: var(--ink-soft); text-transform: uppercase; font-weight: 400;
}
.nfield .req { color: var(--rose); margin-left: 0.2rem; }
.nfield .opt {
  color: var(--ink-muted); text-transform: none;
  letter-spacing: 0.04em; font-size: 0.72rem; margin-left: 0.35rem;
}

.nfield input[type="date"],
.nfield input[type="time"],
.nfield select {
  width: 100%;
  padding: 0.85rem 1rem;
  background: var(--girinti);
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  color: var(--ink);
  font-family: var(--sans); font-size: 0.95rem; font-weight: 300;
  transition: border-color 0.3s var(--ease), background 0.3s var(--ease);
  color-scheme: var(--sema);
}
.nfield input:focus, .nfield select:focus {
  outline: none; border-color: var(--gold); background: var(--girinti);
}
.nfield select { cursor: pointer; }

.nradio { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.nradio label {
  position: relative;
  text-transform: none; letter-spacing: 0.04em;
  cursor: pointer; flex: 1; min-width: 90px;
}
/* Görsel olarak gizli ama klavyeyle odaklanabilir ve tıklanabilir kalır */
.nradio input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.nradio span {
  display: block; text-align: center;
  padding: 0.8rem 0.6rem;
  border: 1px solid var(--line-soft); border-radius: 10px;
  font-size: 0.88rem; color: var(--ink-soft);
  transition: all 0.3s var(--ease);
}
.nradio input:checked + span {
  border-color: var(--gold);
  background: var(--vurgu-orta);
  color: var(--gold-bright);
}
.nradio input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 3px; }

.ncheck {
  display: flex; align-items: center; gap: 0.7rem;
  cursor: pointer; text-transform: none; letter-spacing: 0.03em;
  padding: 0.8rem 1rem;
  border: 1px solid var(--line-soft); border-radius: 10px;
  font-size: 0.88rem; color: var(--ink-soft);
  transition: all 0.3s var(--ease);
}
.ncheck:has(input:checked) {
  border-color: var(--gold); background: rgba(227, 193, 136, 0.1); color: var(--gold-bright);
}
.ncheck input { accent-color: var(--gold); width: 1.05rem; height: 1.05rem; }

.nform__sub {
  font-size: 0.74rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-deep); margin: 1.4rem 0 0.8rem;
}
.nform__sub:first-of-type { margin-top: 0; }
.nform__hint { font-size: 0.82rem; color: var(--ink-muted); margin-top: 1rem; line-height: 1.6; }
.nform__submit { margin-top: 0.6rem; }
.nform__submit:disabled { opacity: 0.6; cursor: wait; }
.nform__error { color: var(--rose); font-size: 0.88rem; text-align: center; min-height: 1.4em; }
.nform__privacy { font-size: 0.78rem; color: var(--ink-muted); text-align: center; }

/* ============================================================
   SONUÇ — ÖZET
   ============================================================ */
.nesil-result { padding-top: 3rem; }
.rspace { margin-top: 5rem; }

.rsum {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: clamp(1.6rem, 4vw, 3rem);
  background:
    radial-gradient(90% 120% at 50% -20%, var(--vurgu-orta), transparent 65%),
    var(--yuzey-guclu);
}
.rsum__head { text-align: center; margin-bottom: 1.8rem; }
.rsum__title {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.2;
  color: var(--gold-bright); margin-bottom: 1.1rem;
}
.rsum__pills { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }
.rsum__pill {
  font-size: 0.76rem; letter-spacing: 0.12em;
  padding: 0.4rem 0.95rem; border-radius: 100px;
  border: 1px solid var(--line-soft); color: var(--ink-soft);
}
.rsum__lead {
  font-family: var(--serif); font-style: italic;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  text-align: center; color: var(--ink-soft);
  max-width: 46ch; margin: 0 auto 2rem;
}

.rsum__box {
  display: grid; gap: 0.3rem; text-align: center;
  padding: 1.2rem; border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--girinti);
  margin-bottom: 1.4rem;
}
.rsum__box--muted { opacity: 0.62; }
.rsum__box-k { font-size: 0.72rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold); }
.rsum__box-v { font-family: var(--serif); font-size: 1.5rem; color: var(--ink); }
.rsum__box-n { font-size: 0.76rem; color: var(--ink-muted); }

.rsum__line { border-left: 2px solid var(--gold-deep); padding-left: 1.1rem; margin-bottom: 1.6rem; }
.rsum__line-k {
  display: block; font-size: 0.74rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 0.4rem;
}
.rsum__line p { color: var(--ink-soft); font-size: 0.95rem; }

.depth { display: grid; gap: 0.6rem; }
.depth__bar {
  height: 4px; border-radius: 100px; overflow: hidden;
  background: var(--iz);
}
.depth__bar span {
  display: block; height: 100%;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold-bright));
  transition: width 1s var(--ease);
}
.depth__text { font-size: 0.82rem; color: var(--ink-muted); }

/* ============================================================
   YEDİ KAT
   ============================================================ */
.floors { display: grid; gap: 1.1rem; }

.floor {
  display: grid; grid-template-columns: 4.6rem 1fr;
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  overflow: hidden;
  background: var(--yuzey);
  transition: border-color 0.4s var(--ease), transform 0.4s var(--ease);
  position: relative;
}
.floor:hover { border-color: var(--line); transform: translateY(-2px); }

/* Gezegen renkleri — koyu tema (astro.js BODIES_META ile aynı).
   Tema dosyaları bunları --floor-color üzerinden değiştirir. */
.floor[data-gezegen="sun"]     { --floor-color: #f5d489; }
.floor[data-gezegen="moon"]    { --floor-color: #dce0ea; }
.floor[data-gezegen="mercury"] { --floor-color: #cdbc9a; }
.floor[data-gezegen="venus"]   { --floor-color: #f1e3bf; }
.floor[data-gezegen="mars"]    { --floor-color: #d08a62; }
.floor[data-gezegen="jupiter"] { --floor-color: #e6cf92; }
.floor[data-gezegen="saturn"]  { --floor-color: #decb98; }

.floor__side {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.6rem;
  padding: 1.6rem 0.5rem;
  background: linear-gradient(180deg, rgba(227, 193, 136, 0.08), transparent);
  border-right: 1px solid var(--line-soft);
}
.floor__no {
  font-family: var(--serif); font-size: 2rem; line-height: 1;
  color: var(--floor-color, var(--gold)); opacity: 0.9;
}
.floor__glyph { font-size: 1.5rem; color: var(--floor-color, var(--gold)); }

.floor__main { padding: 1.6rem clamp(1.1rem, 3vw, 2.2rem); }
.floor__head { margin-bottom: 1.2rem; }
.floor__gen {
  font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 0.5rem;
}
.floor__title {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.15;
  margin-bottom: 0.5rem;
}
.floor__turkce { font-style: italic; color: var(--rose-soft); font-size: 0.75em; }
.floor__place { font-size: 0.95rem; color: var(--ink-soft); }
.floor__retro { color: var(--rose); font-size: 0.85em; letter-spacing: 0.05em; }
.floor__meta {
  display: block; font-size: 0.76rem; color: var(--ink-muted);
  letter-spacing: 0.06em; margin-top: 0.25rem;
}

.floor__sub {
  font-family: var(--serif); font-style: italic;
  font-size: 1.15rem; color: var(--gold-bright); margin-bottom: 0.5rem;
}
.floor__ozet { font-size: 0.92rem; color: var(--ink-muted); margin-bottom: 0.9rem; line-height: 1.65; }
.floor__miras { color: var(--ink); line-height: 1.75; margin-bottom: 1.1rem; }

.floor__tags { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.tag {
  font-size: 0.76rem; letter-spacing: 0.05em;
  padding: 0.38rem 0.85rem; border-radius: 100px;
  border: 1px solid var(--line-soft);
}
.tag--gift { color: var(--gold-bright); border-color: rgba(227, 193, 136, 0.3); }
.tag--shadow { color: var(--rose-soft); border-color: rgba(230, 167, 190, 0.25); }

/* — Mühürlü kat — */
.floor.is-locked .floor__body {
  filter: blur(7px);
  opacity: 0.42;
  user-select: none;
  pointer-events: none;
}
.floor.is-locked { border-style: dashed; }
.floor.is-locked .floor__lock {
  position: absolute; inset: auto 0 0 0;
  display: flex; align-items: center; justify-content: center; gap: 0.7rem;
  padding: 1.1rem;
  background: linear-gradient(180deg, transparent, var(--girinti) 45%);
  font-size: 0.78rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold);
}
.floor__lock-glyph { font-size: 1.1rem; letter-spacing: 0; }

@media (max-width: 560px) {
  .floor { grid-template-columns: 1fr; }
  .floor__side {
    flex-direction: row; gap: 0.9rem; padding: 0.9rem;
    border-right: none; border-bottom: 1px solid var(--line-soft);
  }
  .floor__no { font-size: 1.4rem; }
}

/* ============================================================
   KİLİT / E-POSTA
   ============================================================ */
.unlock {
  margin-top: 2rem; text-align: center;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: clamp(2rem, 5vw, 3.4rem);
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(230, 167, 190, 0.10), transparent 70%),
    var(--yuzey-guclu);
}
.unlock__glyph { font-size: 2rem; color: var(--gold); display: block; margin-bottom: 0.8rem; }
.unlock__title {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem); margin-bottom: 0.9rem;
}
.unlock__text { color: var(--ink-soft); max-width: 52ch; margin: 0 auto 1.8rem; }
.unlock__form { max-width: 560px; margin: 0 auto; text-align: left; }
.unlock__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.2rem;
  margin-bottom: 1.2rem;
}
.nfield--full { grid-column: 1 / -1; }
@media (max-width: 560px) { .unlock__grid { grid-template-columns: 1fr; } }

.unlock__form input[type="text"],
.unlock__form input[type="tel"],
.unlock__form input[type="email"] {
  width: 100%;
  padding: 0.9rem 1.1rem;
  background: var(--girinti);
  border: 1px solid var(--line-soft); border-radius: 10px;
  color: var(--ink); font-family: var(--sans); font-size: 0.95rem; font-weight: 300;
  transition: border-color 0.3s var(--ease);
}
.unlock__form input:focus { outline: none; border-color: var(--gold); }
.unlock__form input::placeholder { color: var(--ink-muted); opacity: 0.55; }

/* KVKK onay kutusu */
.ncheck--kvkk {
  align-items: flex-start; gap: 0.8rem;
  text-align: left; line-height: 1.6;
  font-size: 0.84rem; padding: 1rem 1.1rem;
  margin-bottom: 1.2rem;
}
.ncheck--kvkk input { margin-top: 0.18rem; flex-shrink: 0; }
.ncheck--kvkk span { color: var(--ink-soft); }
.ncheck--kvkk:has(input:checked) span { color: var(--ink); }
.kvkk-link { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.kvkk-link:hover { color: var(--gold-bright); }

/* KVKK aydınlatma bölümü */
.kvkk__body { display: grid; gap: 1.1rem; }
.kvkk__body p { color: var(--ink-soft); font-size: 0.93rem; line-height: 1.8; }
.kvkk__body a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.kvkk__note {
  border-left: 2px solid var(--gold-deep); padding-left: 1.1rem;
  color: var(--ink-muted) !important; font-style: italic;
}
.unlock__note { margin-top: 1rem; font-size: 0.9rem; min-height: 1.4em; }
.unlock__fine { margin-top: 0.5rem; font-size: 0.76rem; color: var(--ink-muted); }

/* ============================================================
   DERİN BÖLÜMLER
   ============================================================ */
.deep { display: grid; gap: 3.5rem; margin-top: 4rem; }

.dsection {
  border-top: 1px solid var(--line-soft);
  padding-top: 3rem;
}
.dsection__title { font-size: clamp(1.7rem, 4vw, 2.6rem); margin-bottom: 2rem; }
.dsection__note {
  max-width: 60ch; margin: 1rem auto 0; text-align: center;
  color: var(--ink-soft); font-size: 0.95rem;
}
.dsection__intro {
  max-width: 56ch; margin: 0 auto 2rem; text-align: center;
  color: var(--ink-muted); font-family: var(--serif); font-style: italic; font-size: 1.1rem;
}
.dsection--empty { text-align: center; }
.dsection__empty { color: var(--ink-muted); max-width: 54ch; margin: 1rem auto 0; font-size: 0.95rem; }

/* — Ay düğümleri — */
.nodes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 680px) { .nodes { grid-template-columns: 1fr; } }
.node {
  display: grid; gap: 0.5rem;
  padding: 1.8rem clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--line-soft); border-radius: 18px;
  background: var(--yuzey);
}
.node--north { border-color: rgba(227, 193, 136, 0.28); }
.node--south { border-color: rgba(230, 167, 190, 0.22); }
.node__glyph { font-size: 1.6rem; color: var(--gold); }
.node--south .node__glyph { color: var(--rose); }
.node__k { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.node__v { font-family: var(--serif); font-size: 1.5rem; color: var(--gold-bright); }
.node--south .node__v { color: var(--rose-soft); }
.node p { color: var(--ink-soft); font-size: 0.95rem; margin-top: 0.3rem; }

/* — Element barları — */
.ebars { display: grid; gap: 0.8rem; max-width: 560px; margin: 0 auto; }
.ebar { display: grid; grid-template-columns: 4.5rem 1fr 2.6rem; align-items: center; gap: 0.9rem; }
.ebar__k { font-size: 0.85rem; color: var(--ink-soft); letter-spacing: 0.06em; }
.ebar__track { height: 6px; border-radius: 100px; background: var(--iz); overflow: hidden; }
.ebar__fill {
  display: block; height: 100%; border-radius: 100px;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold-bright));
}
.ebar__n { font-size: 0.8rem; color: var(--ink-muted); text-align: right; }

/* — Ata rezonansı — */
.rez { display: grid; gap: 0.9rem; }
.rez__row {
  display: grid; grid-template-columns: 1fr auto; gap: 0.5rem 1.4rem;
  padding: 1.4rem clamp(1.1rem, 3vw, 1.9rem);
  border: 1px solid var(--line-soft); border-radius: 16px;
  background: var(--yuzey);
}
.rez__who { display: grid; gap: 0.25rem; }
.rez__name { font-family: var(--serif); font-size: 1.2rem; color: var(--gold-bright); }
.rez__sign { font-size: 0.82rem; color: var(--ink-muted); letter-spacing: 0.04em; }
.rez__link { display: flex; align-items: center; gap: 0.6rem; }
.rez__glyph { font-size: 1.3rem; color: var(--gold); }
.rez__glyph--el { color: var(--rose-soft); }
.rez__aspect { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); }
.rez__orb { font-size: 0.76rem; color: var(--ink-muted); }
.rez__text { grid-column: 1 / -1; color: var(--ink-soft); font-size: 0.95rem; line-height: 1.7; }
@media (max-width: 620px) {
  .rez__row { grid-template-columns: 1fr; }
  .rez__link { justify-content: flex-start; }
}

/* — Mühürler — */
.seals { display: grid; gap: 0.9rem; }
.seal {
  display: grid; gap: 0.4rem;
  padding: 1.4rem clamp(1.1rem, 3vw, 1.9rem);
  border-left: 2px solid var(--gold-deep);
  background: var(--yuzey);
  border-radius: 0 14px 14px 0;
}
.seal__name { font-family: var(--serif); font-size: 1.15rem; color: var(--gold-bright); }
.seal__sky { font-size: 0.8rem; color: var(--ink-muted); letter-spacing: 0.06em; }
.seal p { color: var(--ink-soft); font-size: 0.95rem; line-height: 1.7; }

/* — Eşik notları — */
.note {
  padding: 1.4rem clamp(1.1rem, 3vw, 1.9rem);
  border: 1px solid var(--line-soft); border-radius: 16px;
  background: var(--yuzey);
  margin-bottom: 0.9rem;
}
.note__k {
  display: block; font-size: 0.72rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 0.5rem;
}
.note p { color: var(--ink-soft); line-height: 1.75; }

/* ============================================================
   CTA
   ============================================================ */
.rcta {
  margin-top: 4.5rem; text-align: center;
  border-top: 1px solid var(--line-soft); padding-top: 3.5rem;
}
.rcta__btns {
  display: flex; gap: 0.8rem; flex-wrap: wrap;
  justify-content: center; margin-top: 2rem;
}

/* ============================================================
   NASIL ÇALIŞIR — tablo
   ============================================================ */
.gentable {
  border: 1px solid var(--line-soft); border-radius: 16px;
  overflow-x: auto; margin-bottom: 4rem;
}
.gentable__row {
  display: grid;
  grid-template-columns: 3.5rem 7.5rem 7rem 12rem 5rem minmax(14rem, 1fr);
  gap: 1rem; align-items: center;
  padding: 1rem clamp(1rem, 2.5vw, 1.6rem);
  border-bottom: 1px solid var(--line-soft);
  font-size: 0.88rem; color: var(--ink-soft);
  min-width: 660px;
}
.gentable__row:last-child { border-bottom: none; }
.gentable__row--head {
  font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); background: rgba(227, 193, 136, 0.06);
}
.gentable__row:not(.gentable__row--head) span:nth-child(2) { color: var(--gold-bright); }
.gentable__row:not(.gentable__row--head) span:nth-child(3) { font-style: italic; color: var(--rose-soft); }
.howto__cards { margin-top: 0; }

/* ============================================================
   SSS
   ============================================================ */
.faq__inner { max-width: 780px; margin-inline: auto; }
.qa {
  border-bottom: 1px solid var(--line-soft);
  padding: 1.3rem 0;
}
.qa summary {
  cursor: pointer; list-style: none;
  font-family: var(--serif); font-size: 1.2rem; color: var(--ink);
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  transition: color 0.3s var(--ease);
}
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: '+'; color: var(--gold); font-size: 1.3rem; transition: transform 0.3s var(--ease); }
.qa[open] summary { color: var(--gold-bright); }
.qa[open] summary::after { transform: rotate(45deg); }
.qa p { color: var(--ink-soft); font-size: 0.95rem; line-height: 1.75; margin-top: 0.9rem; max-width: 66ch; }
.qa summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 6px; }

/* ============================================================
   YAZDIR
   ============================================================ */
@media print {
  .nav, .nesil-hero, .nesil-form-section, .howto, .faq,
  .footer, .unlock, .rcta__btns { display: none !important; }
  body { background: #fff; color: #111; }
  body::before { display: none; }
  .floor, .rsum, .node, .rez__row, .seal, .note {
    background: #fff; border-color: #ccc; break-inside: avoid;
  }
  .floor.is-locked .floor__body { filter: none; opacity: 1; }
  .floor__lock { display: none; }
  .rsum__title, .floor__sub, .node__v, .rez__name, .seal__name { color: #7a5c1e; }
  .floor__miras, .node p, .rez__text, .seal p, .note p { color: #222; }
}

/* ============================================================
   Hareket azaltma
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .ladder__step, .floor, .depth__bar span { transition: none; }
}

/* Aydınlatma metnindeki veri kalemleri listesi.
   .kvkk__body bir grid; <ul> de grid item olur, gap zaten oradan gelir.
   Madde işareti ::before ile çiziliyor — li'ye flex VERİLMEDİ, çünkü
   flex li içinde <strong>/<em> ayrı sütuna düşüp satırı bozuyor. */
.kvkk__liste {
  list-style: none;
  margin: -0.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}
.kvkk__liste li {
  position: relative;
  padding-left: 1.15rem;
  color: var(--ink-soft);
  font-size: 0.93rem;
  line-height: 1.75;
}
.kvkk__liste li::before {
  content: "";
  position: absolute;
  left: 0.15rem;
  top: 0.72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  opacity: 0.7;
}
