/* ==================================================================
   puan.css — PUAN HESAPLAMA sayfaları (yeni tema)        2026-09-03
   ==================================================================
   views/yeni/puan_hesaplama.php ile yükleniyor.
   Sıra: ortak.css → kurs.css → puan.css → tw.css
   (head.php $nk_sayfa_css = array('kurs','puan')).

   MİRAS (yeniden yazılmadı): .wrap .sec-head .kicker .btn .btn-primary
   .btn-cam .tnum .lede .lede-ac .faq (SSS/akordiyon) — kurs.css.
   Yalnız bu sayfa ailesine özel olanlar .pn- önekli.

   İMZA RENGİ: TURKUAZ — vitrin/kategori ailesi (araç/keşif sayfaları
   aynı tonu paylaşıyor; §TASARIM TS5 kararı, öneri kabul).

   TUZAK NOTLARI (tasarim-tuzaklari.md):
   §A  Element seçicisi yok; global section padding'ine karşı her
       bölümün padding-block'u AÇIKÇA veriliyor.
   §A  [hidden] kuralı ŞART — display:grid/flex tarayıcı kuralını ezer.
   §K  Her ızgarada açık grid-template-columns + min-width:0.
   §K  Girişlerde 16px taban (iOS zoom eşiği) + 44px dokunma hedefi.
   ================================================================== */


/* ==================================================================
   1. HERO
   ================================================================== */
.pn-hero{
  position:relative;
  background:var(--navy-d);
  color:#B6C6DC;
  overflow:hidden;
  /* Alt dolgu bilerek BÜYÜK: hesap paneli hero'nun üstüne biniyor
     (negatif margin) — pay burada açılıyor. */
  padding-block:clamp(20px,3vw,32px) clamp(84px,10vw,128px);
}
.pn-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(65% 85% at 8% 0%,  rgb(47 107 208 / .30), transparent 60%),
    radial-gradient(55% 80% at 92% 12%, rgb(64 224 195 / .12), transparent 62%);
}
.pn-hero-ic{ position:relative; z-index:1 }

.pn-hero-ust{
  display:grid; gap:26px;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
@media (min-width:1024px){
  .pn-hero-ust{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:52px;
  }
}
.pn-hero-metin{ min-width:0 }

/* Kırıntı — vit-yol'un eşi. .crumb DOĞRUDAN kullanılamıyor:
   BreadcrumbList microdata'sı öğeleri span'la sarıyor, .crumb'ın
   span{opacity:.45} kuralı o sarmalı da soldururdu. */
.pn-yol{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:13.5px; color:#7A8FAE; font-weight:700; margin-bottom:0;
}
.pn-yol a{ color:#8FA6C4; text-decoration:none }
.pn-yol a:hover{ color:#fff; text-decoration:underline }
.pn-yol-ayrac{ opacity:.45 }
.pn-yol b{ color:#D6E1F0; font-weight:800 }

/* Kimlik şeridi — turkuaz. text-transform YOK (Türkçe İ tuzağı),
   metin view'da elle büyük yazılı. */
.pn-kicker{
  margin:16px 0 10px;
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:.74rem; font-weight:800; letter-spacing:.14em;
  color:#5EE6C8;
}
.pn-kicker span{ opacity:.5 }

.pn-h1{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.45rem,1.08rem + 1.6vw,2.15rem);
  line-height:1.22; font-weight:800; letter-spacing:-.015em;
  max-width:30ch;
}

/* Rozet satırı: dönem cipi + resmî yöntem cipi. */
.pn-rozetler{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px;
  margin:14px 0 0;
}
.pn-cip{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px; border-radius:999px;
  background:rgb(255 255 255 / .06);
  border:1px solid rgb(255 255 255 / .13);
  border-top-color:rgb(255 255 255 / .2);
  color:#DCE7F5; font-size:.84rem; font-weight:700;
}
.pn-cip .icon{ width:15px; height:15px; flex:none; color:#5EE6C8 }
.pn-cip-donem{
  background:rgb(64 224 195 / .12);
  border-color:rgb(64 224 195 / .3);
  color:#7FE9D2;
}
/* Kesin hesap sınavları (STS, mod 'net-yuzde'): dönem cipinin yerine
   geçiyor. Turkuazın aynı ailesi ama daha dolgun — sayfanın rakiplerden
   asıl farkı bu cümle, hero'da göz kaçırmamalı. */
.pn-cip-kesin{
  background:rgb(64 224 195 / .18);
  border-color:rgb(64 224 195 / .42);
  color:#8FF0DB;
}

/* --- SAĞ PANEL: SINAV KÜNYESİ --------------------------------------
   Bakım istemeyen kılavuz gerçekleri (soru/süre/baraj/tavan).
   Cam kart dili — vitrin alan seçici kalıbı. */
.pn-kunye{
  position:relative; min-width:0;
  display:grid; gap:12px; align-content:start;
  max-width:520px;
}
@media (min-width:1024px){ .pn-kunye{ max-width:none } }
.pn-kunye-bas{
  margin:0; font-size:.72rem; font-weight:800;
  letter-spacing:.12em; color:#8FA6C6;
}
.pn-kunye-izgara{
  list-style:none; margin:0; padding:0;
  display:grid; gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.pn-kunye-izgara li{
  min-width:0;
  display:flex; flex-direction:column; gap:2px;
  padding:13px 14px 12px; border-radius:var(--r-l);
  background:linear-gradient(180deg, rgb(255 255 255 / .085), rgb(255 255 255 / .045));
  border:1px solid rgb(255 255 255 / .12);
  border-top-color:rgb(255 255 255 / .2);
  box-shadow:0 18px 34px -26px rgb(0 0 0 / .55);
}
.pn-kunye-izgara b{
  font-size:clamp(1.15rem,1rem + .6vw,1.5rem);
  font-weight:800; color:#fff; line-height:1.15;
}
.pn-kunye-izgara span{ font-size:.76rem; color:#8FA6C6; line-height:1.35 }
.pn-kunye-alt{
  margin:0; padding-top:11px;
  border-top:1px solid rgb(255 255 255 / .1);
  font-size:.83rem; line-height:1.55; color:#9DB3D0;
}
.pn-kunye-alt a{ color:#5EE6C8; font-weight:800; text-decoration:underline; text-underline-offset:2px }
.pn-kunye-alt a:hover{ color:#fff }


/* ==================================================================
   2. HESAP PANELİ — hero'ya binen beyaz kart (üyelik kalıbı)
   ================================================================== */
.pn-govde{
  position:relative; z-index:2;
  margin-top:calc(-1 * clamp(52px,7vw,84px));
  /* Global section padding'i etkisiz — kendi boşluğu açıkça (§A). */
  padding-block:0 clamp(34px,4.5vw,60px);
}
.pn-panel{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 1px 0 rgb(15 23 42 / .03), 0 18px 36px -24px rgb(16 31 57 / .55);
}
.pn-panel-ic{
  display:grid; gap:0;
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:980px){
  .pn-panel-ic{ grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr) }
}

/* --- SOL: girişler ------------------------------------------------- */
.pn-giris{
  min-width:0;
  /* flex: ipucu satırı `margin-top:auto` ile dibe yaslansın. */
  display:flex; flex-direction:column;
  padding:clamp(1.2rem,2.6vw,2rem);
}
.pn-giris h2{
  margin:0 0 .3rem;
  font-size:1.18rem; font-weight:800; letter-spacing:-.015em;
  color:var(--ink);
}
.pn-giris-alt{ margin:0 0 1.1rem; font-size:.84rem; color:var(--ink-3) }

.pn-donem-satir{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;
  margin-bottom:1.1rem;
}
.pn-donem-satir label{ font-size:.82rem; font-weight:700; color:var(--ink-2) }
.pn-donem-satir select{
  min-height:44px; padding:.5rem .8rem;
  border-radius:12px; border:1px solid var(--line);
  background:var(--tint); font:inherit; font-size:16px;
  color:var(--ink); cursor:pointer;
}
.pn-donem-satir select:focus-visible{
  outline:none; border-color:var(--brand);
  box-shadow:0 0 0 3px rgb(47 107 208 / .16);
}
/* Dönem seçicisi olmayan sayfalarda (kesin hesap) onun yerinde duran
   satır: aynı dikey ritim, ters mesaj. Yeşil değil nötr — panelin
   içindeki tek turkuaz vurgu sonuç kartlarında kalsın. */
.pn-kesin-not{
  display:flex; gap:.55rem; align-items:flex-start;
  margin:0 0 1.1rem; padding:.7rem .85rem;
  border:1px solid var(--line); border-radius:12px;
  background:var(--tint);
  font-size:.82rem; line-height:1.6; color:var(--ink-2);
}
.pn-kesin-not svg{ flex:none; width:16px; height:16px; margin-top:2px; color:#0E9F7E }

/* Tek dönem varken seçici yerine geçen etiket (seçilecek bir şey
   yokken açılır liste göstermek sahte denetim olurdu). */
.pn-donem-tek{ font-size:.82rem; font-weight:700; color:var(--ink-2) }
.pn-donem-tek b{ color:var(--ink); font-weight:800 }

.pn-tahmini{
  display:inline-flex; align-items:center; gap:5px;
  font-size:.74rem; font-weight:700; color:#8A6D1B;
  background:#FFF6DE; border:1px solid #F0E2B0;
  padding:4px 10px; border-radius:999px;
}

/* Puan kesintisi seçicisi (EUS %2, TUS/DUS %5 olacak). Dönem
   satırıyla aynı dil; ipucu altına düşüyor çünkü seçenek metinleri
   uzun ve yan yana sığmıyor. */
.pn-kesinti-satir{
  display:grid; gap:6px;
  margin-bottom:1.1rem;
}
.pn-kesinti-satir label{ font-size:.82rem; font-weight:700; color:var(--ink-2) }
.pn-kesinti-satir select{
  width:100%; min-height:44px; padding:.5rem .8rem;
  border-radius:12px; border:1px solid var(--line);
  background:var(--tint); font:inherit; font-size:16px;
  color:var(--ink); cursor:pointer;
}
.pn-kesinti-satir select:focus-visible{
  outline:none; border-color:var(--brand);
  box-shadow:0 0 0 3px rgb(47 107 208 / .16);
}
.pn-kesinti-ipucu{ margin:0; font-size:.76rem; line-height:1.5; color:var(--ink-3) }
/* Kart içindeki "%2 kesinti uygulandı: 65,61 → 64,30" satırı. */
.pn-kesnot{
  justify-self:start;
  font-size:.74rem; font-weight:700; color:#8A6D1B;
  background:#FFF6DE; border:1px solid #F0E2B0;
  padding:3px 9px; border-radius:8px;
}

/* Test satırları: ad + Doğru + Yanlış + Net.
   ⚠️ Sütunlar açık — sütunsuz grid min-content tuzağı (§K). */
.pn-testler{ display:grid; gap:.9rem; grid-template-columns:minmax(0,1fr) }
.pn-test{
  min-width:0;
  display:grid; gap:.5rem .8rem;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  align-items:end;
  padding:.85rem .9rem 1rem;
  border:1px solid var(--line);
  border-radius:var(--r-l);
  background:var(--tint);
}
.pn-test-ad{
  grid-column:1 / -1;
  margin:0; font-size:.9rem; font-weight:800; color:var(--ink);
}
.pn-test-ad .tnum{ font-weight:700; color:var(--ink-3); font-size:.78rem }
.pn-alan{ display:grid; gap:.3rem; min-width:0 }
.pn-alan label{ font-size:.76rem; font-weight:700; color:var(--ink-2) }
.pn-alan input{
  width:100%; min-height:44px;
  padding:.55rem .7rem;
  border-radius:12px; border:1px solid rgb(15 23 42 / .15);
  background:var(--surface); font:inherit;
  /* 16px TABAN — iOS odakta zoom eşiği (§K). */
  font-size:16px; color:var(--ink);
  transition:border-color .14s ease, box-shadow .14s ease;
}
.pn-alan input:focus-visible{
  outline:none; border-color:var(--brand);
  box-shadow:0 0 0 3px rgb(47 107 208 / .16);
}
.pn-net{
  min-width:0;
  display:grid; gap:.3rem; align-content:end;
}
.pn-net span{ font-size:.76rem; font-weight:700; color:var(--ink-2) }
.pn-net b{
  min-height:44px; display:flex; align-items:center;
  padding:.55rem .7rem;
  border-radius:12px; background:var(--surface);
  border:1px dashed rgb(15 23 42 / .18);
  font-size:1rem; font-weight:800; color:var(--ink);
}
.pn-test-uyari{
  grid-column:1 / -1;
  margin:0; font-size:.78rem; font-weight:700; color:#B3261E;
}

.pn-topnet{
  display:flex; align-items:baseline; gap:8px;
  margin-top:1rem; font-size:.9rem; color:var(--ink-2);
}
.pn-topnet b{ font-size:1.15rem; font-weight:800; color:var(--ink) }

/* Girişlerin altındaki ipucu — sağ sütun (sonuç kartları) sol sütundan
   uzun olduğu için altta 159px ölü alan kalıyordu (ölçüldü). Boşluğu
   dolduran şey süs değil, hesabın en çok sorulan kuralı. */
.pn-ipucu{
  display:flex; gap:.6rem; align-items:flex-start;
  margin:1.1rem 0 0; padding-top:1rem;
  border-top:1px solid var(--line);
  font-size:.8rem; line-height:1.6; color:var(--ink-3);
}
.pn-ipucu svg{ flex:none; width:16px; height:16px; margin-top:2px; color:var(--brand) }
.pn-ipucu b{ color:var(--ink-2); font-weight:800 }
@media (min-width:980px){ .pn-ipucu{ margin-top:auto } }

/* --- SAĞ: sonuçlar -------------------------------------------------- */
.pn-sonuc{
  min-width:0;
  padding:clamp(1.2rem,2.6vw,2rem);
  background:linear-gradient(180deg,#F8FAFD,#F3F7FC);
  border-top:1px solid var(--line);
  display:grid; gap:.8rem; align-content:start;
}
@media (min-width:980px){
  .pn-sonuc{ border-top:0; border-left:1px solid var(--line) }
}
.pn-sonuc h2{
  margin:0; font-size:1rem; font-weight:800; color:var(--ink);
}
.pn-kart{
  min-width:0;
  display:grid; gap:.35rem;
  padding:.95rem 1rem 1rem;
  border-radius:var(--r-l);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 10px 22px -18px rgb(16 31 57 / .5);
  transition:opacity .18s ease;
}
.pn-kart-bas{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px;
}
.pn-kart-bas b{ font-size:.95rem; font-weight:800; color:var(--ink) }
.pn-kart-rozet{
  font-size:.7rem; font-weight:800; letter-spacing:.02em;
  padding:3px 9px; border-radius:999px;
  background:rgb(64 224 195 / .14); color:#0E7A62;
}
.pn-kart-deger{
  font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem);
  font-weight:800; line-height:1.1; color:var(--ink);
}
.pn-kart-aciklama{ margin:0; font-size:.78rem; line-height:1.5; color:var(--ink-3) }
.pn-baraj{
  justify-self:start;
  font-size:.76rem; font-weight:800;
  padding:4px 10px; border-radius:999px;
}
.pn-baraj.gecti{ background:#E7F6EE; color:#1F6B45; border:1px solid #BFE6D2 }
.pn-baraj.alti{  background:#FDF0EC; color:#9A3B2E; border:1px solid #F3CFC5 }
.pn-kart-bos{ opacity:.55 }

/* Şeffaflık satırı — sonuçların altında. */
.pn-durust{
  margin:0; padding:.7rem .85rem;
  border-radius:12px;
  background:#FFF8E6; border:1px solid #F3DFA6;
  font-size:.78rem; line-height:1.55; color:#7A5A10;
}
.pn-durust a{ color:inherit; font-weight:800; text-decoration:underline; text-underline-offset:2px }
/* Kesin hesap sayfalarında aynı kutu OLUMLU bir şey söylüyor ("bu sonuç
   tahmin değil") — sarı dikkat zemini onu uyarıya çeviriyordu. */
.pn-durust-kesin{
  background:#EAF8F4; border-color:#B9E5DA; color:#12665A;
}

/* --- PANEL ALT ŞERİDİ: kurs köprüsü -------------------------------- */
.pn-kopru{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px;
  padding:clamp(1rem,2.2vw,1.4rem) clamp(1.2rem,2.6vw,2rem);
  border-top:1px solid var(--line);
  background:var(--navy);
  color:#C6D5E8;
}
.pn-kopru-metin{ flex:1 1 20rem; min-width:0 }
.pn-kopru-metin b{ display:block; color:#fff; font-size:1rem; font-weight:800; margin-bottom:2px }
.pn-kopru-metin span{ font-size:.85rem; line-height:1.55 }
.pn-kopru .btn{ flex:none }
.pn-kopru-ikincil{
  flex:none; color:#9CC4FF; font-weight:800; font-size:.86rem;
  text-decoration:underline; text-underline-offset:2px;
}
.pn-kopru-ikincil:hover{ color:#fff }


/* ==================================================================
   2c. SINAV TAKVİMİ — hesap panelinin altında, kendi bölümü
   İç bileşen kurs.css'in .khero-sayac ailesi (geri sayım hücreleri +
   5 tarih satırı) — o bileşen KOYU zemine kalibre (yarı saydam
   katmanlar, beyaz rakamlar), bu yüzden lacivert kart sarmalayıcı
   ŞART; açık zemine düz konsaydı okunmazdı (§A .yldz.bos vakası). */
.pn-takvim{ padding-block:clamp(30px,4vw,56px) 0 }
.pn-takvim-kart{
  position:relative; overflow:hidden;
  /* ⚠️ max-width:880px KALDIRILDI (ölçüldü 2026-09-03): wrap 1400px
     iken kartın sağında 520px ölü alan kalıyordu ve hemen altındaki
     adımlar ızgarası (1356px) tam genişlik kullandığı için bölüm
     ritmi kırılıyordu. Kart artık kabın tamamını dolduruyor; içteki
     sayaç|takvim ızgarası genişliği kendi paylaşıyor. */
  padding:clamp(18px,2.5vw,26px);
  border-radius:var(--r-l);
  background:var(--navy-d);
  color:#B6C6DC;
  box-shadow:0 18px 36px -24px rgb(16 31 57 / .6);
}
.pn-takvim-kart::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(60% 90% at 10% 0%, rgb(47 107 208 / .25), transparent 60%),
    radial-gradient(50% 80% at 92% 15%, rgb(64 224 195 / .1), transparent 62%);
}
.pn-takvim-kart .khero-sayac{ position:relative; z-index:1 }
/* Geniş ekranda geri sayım | takvim yan yana; .khero-sayac-sol'un
   alt çizgisi dikeyde anlamlıydı, yanyanada sağ ayraca dönüyor. */
@media (min-width:860px){
  .pn-takvim-kart .khero-sayac-govde{
    grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
    gap:clamp(16px,2.5vw,28px);
    align-items:start;
  }
  .pn-takvim-kart .khero-sayac-sol{
    border-bottom:0; padding-bottom:0;
    border-right:1px solid rgb(255 255 255 / .16);
    padding-right:clamp(16px,2.5vw,28px);
  }
}


/* ==================================================================
   2d. KAÇ NET KAÇ PUAN TABLOSU
   ⚠️ Tablo dar ekranda KENDİ kabında kaydırılır (sayfa gövdesi asla
   yatay kaymaz) — tuzak: `overflow:hidden` kırpar, `auto` kaydırır.
   ================================================================== */
.pn-tablo-bolum{ padding-block:clamp(30px,4vw,56px) 0 }
.pn-tablo-sarma{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:var(--r-l);
  background:var(--surface);
  box-shadow:var(--sh-1);
}
.pn-tablo{
  width:100%; border-collapse:collapse;
  font-size:.9rem; min-width:34rem;   /* altında sütunlar sıkışıyor */
}
.pn-tablo caption{ text-align:left }
/* Ekran okuyucu için başlık; görsel olarak gizli (display:none DEĞİL —
   bazı okuyucular onu hiç okumuyor). */
.pn-gizli-baslik{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}
.pn-tablo thead th{
  position:sticky; top:0; z-index:1;
  padding:.75rem .9rem; text-align:left;
  background:var(--tint);
  border-bottom:1px solid var(--line);
  font-size:.78rem; font-weight:800; letter-spacing:.02em;
  color:var(--ink-2); white-space:nowrap;
}
.pn-tablo tbody th,
.pn-tablo tbody td{
  padding:.65rem .9rem;
  border-bottom:1px solid var(--line-2, rgb(15 23 42 / .06));
  text-align:left; color:var(--ink-2);
}
.pn-tablo tbody th{ font-weight:800; color:var(--ink); white-space:nowrap }
.pn-tablo tbody tr:last-child th,
.pn-tablo tbody tr:last-child td{ border-bottom:0 }
/* Barajı geçen satır — renk TEK BAŞINA taşımıyor, son sütunda metin de var. */
.pn-tablo tbody tr.gecti{ background:rgb(64 224 195 / .06) }
.pn-tablo tbody tr:hover{ background:rgb(47 107 208 / .05) }
.pn-tablo-gecti{
  display:inline-block; padding:2px 9px; border-radius:999px;
  background:#E7F6EE; color:#1F6B45; border:1px solid #BFE6D2;
  font-size:.74rem; font-weight:800;
}
.pn-tablo-alti{
  display:inline-block; padding:2px 9px; border-radius:999px;
  background:var(--tint); color:var(--ink-3);
  font-size:.74rem; font-weight:800;
}
.pn-tablo-ikincil{ color:var(--ink-3); font-weight:700; white-space:nowrap }
.pn-tablo-not{
  margin:12px 0 0; font-size:.8rem; line-height:1.6; color:var(--ink-3);
}


/* ==================================================================
   3. NASIL HESAPLANIR — AEO bölümü
   ================================================================== */
.pn-nasil{ padding-block:clamp(30px,4vw,56px) 0 }
.pn-adimlar{
  list-style:none; margin:18px 0 0; padding:0;
  display:grid; gap:14px;
  grid-template-columns:minmax(0,1fr);
  counter-reset:pn-adim;
}
@media (min-width:760px){
  .pn-adimlar{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  /* Tek sayıda adım varsa (STS'te 3) son kart yarım satırda kalıp
     yanında boşluk bırakıyordu — tam genişliğe alınıyor. */
  .pn-adimlar li:last-child:nth-child(odd){ grid-column:1 / -1 }
}
.pn-adimlar li{
  min-width:0; position:relative;
  display:flex; gap:.8rem; align-items:flex-start;
  padding:1rem 1.05rem;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-l);
  box-shadow:var(--sh-1);
}
.pn-adim-no{
  flex:none; width:28px; height:28px;
  display:grid; place-items:center; border-radius:999px;
  background:rgb(64 224 195 / .16); color:#0E7A62;
  font-size:.82rem; font-weight:800;
}
.pn-adimlar b{ display:block; font-size:.92rem; font-weight:800; color:var(--ink); margin-bottom:2px }
.pn-adimlar p{ margin:0; font-size:.85rem; line-height:1.6; color:var(--ink-2) }

.pn-formul{
  margin:16px 0 0; padding:.9rem 1rem;
  border-radius:var(--r-l);
  background:var(--navy-d); color:#DCE7F5;
  font-size:.95rem; font-weight:700;
  overflow-x:auto; white-space:nowrap;
}
.pn-formul small{ display:block; margin-top:4px; font-size:.74rem; font-weight:600; color:#8FA6C6; white-space:normal }

/* Dürüstlük bloğunun bölüm hâli — AEO cevabı (tek başına
   alıntılanabilir soru + cevap). */
.pn-neden{ margin-top:26px }
.pn-neden h3{
  margin:0 0 6px; font-size:1.05rem; font-weight:800;
  letter-spacing:-.01em; color:var(--ink);
}
.pn-neden p{ margin:0; font-size:.92rem; line-height:1.7; color:var(--ink-2) }
/* Kesin hesap sayfalarında blok "neden kesin DEĞİL" değil, "neden
   kesin" diyor — turkuaz şerit onu olumlu tarafa çekiyor. */
.pn-neden-kesin{ padding-left:14px; border-left:3px solid #40E0C3 }


/* ==================================================================
   4. ADMİN METİNLERİ + SSS
   Akordiyon görünümü kurs.css'ten miras (.faq details/summary/.ans).
   ================================================================== */
.pn-icerik{ padding-block:clamp(28px,3.5vw,52px) 0 }
.pn-sss{ padding-block:clamp(28px,3.5vw,52px) 0 }


/* ==================================================================
   5. DİĞER HESAPLAYICILAR — çip listesi (iç link ağı)
   ================================================================== */
.pn-diger{ padding-block:clamp(28px,3.5vw,52px) clamp(38px,5vw,72px) }
.pn-diger-liste{
  list-style:none; margin:14px 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.pn-diger-liste a{
  display:inline-flex; align-items:center;
  min-height:44px; padding:9px 16px;
  border-radius:999px;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--ink-2); font-size:.86rem; font-weight:700;
  text-decoration:none;
  transition:border-color .18s ease, color .18s ease;
}
.pn-diger-liste a:hover{ border-color:var(--brand); color:var(--brand-d) }


/* ==================================================================
   6. ERİŞİLEBİLİRLİK + GÜVENLİK AĞLARI
   ================================================================== */
/* [hidden] her yerde kazansın — grid/flex verilen öğelerde tarayıcı
   kuralı eziliyor (§A; iki kez "ölü ok" üretti). */
.pn-sayfa [hidden]{ display:none !important }

@media (prefers-reduced-motion:reduce){
  .pn-kart{ transition:none }
}

/* Çıpa hedefleri yapışkan başlığın altında kalmasın. */
#hesaplayici, #takvim, #kac-net-kac-puan, #nasil-hesaplanir, #sss{ scroll-margin-top:96px }

/* ⚠️ MOBİLDE KÜNYE GİZLİ, YZ kartı kalıyor — hero'da iki kart üst
   üste binince sayfanın ası olan HESAPLAYICI ekran dışına itiliyordu
   (üyelik sayfasının güven şeridi dersi: mobilde hero uzayınca form
   görünmüyordu). Künye bilgileri SSS + "nasıl hesaplanır"da zaten var.
   320-1440 taraması yükleme sonrası yapılacak. */
@media (max-width:1023.98px){
  .pn-kunye-bas, .pn-kunye-izgara, .pn-kunye-alt{ display:none }
}


/* ==================================================================
   7. DAR EKRAN
   ⚠️ 320 / 344 / 360 / 390 taraması yükleme sonrası yapılacak (§K).
   ================================================================== */
@media (max-width:560px){
  .pn-h1{ max-width:none }
  /* 🐞 320px'te ölçüldü: kurs köprüsündeki birincil düğme kabın 
     dışına taşıyordu (tek taşan öğe). `flex:1 1 100%` genişliği
     veriyor ama flex öğesinin varsayılan `min-width:auto`u onu
     METNİN min-content'inin altına indirmiyor — uzun kurs adı
     ("Online TUS Kursu'nu İncele") kabı zorluyordu. `min-width:0`
     + sarma izni ikisi birlikte gerekiyor (tuzak §I'nın düğme hâli). */
  .pn-kopru .btn{ min-width:0; white-space:normal; text-align:center }
  .pn-test{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .pn-net{ grid-column:1 / -1 }
  .pn-kopru .btn{ flex:1 1 100%; justify-content:center }
  .pn-kunye-izgara{ grid-template-columns:repeat(2,minmax(0,1fr)) }
}
