/**
 * Online Test Sistemi — arayüz stilleri
 *
 * PLAN.md C6 / §2.1. Renkler site paletinden alınmıştır; tek ek ton, "düşük"
 * bandı için site lacivertinin açık tonudur (#6f8896). Raleway yalnız 400 ve 700 ağırlıklarıyla yükleniyor
 * (sablon/alt.php), tasarım buna göre yapılmıştır. Mobil önceliklidir.
 */

/* Renk değişkenleri tek yerde: test kökü, hub kartları ve body'ye eklenen
   katmanlar (görsel katmanı, çıkış onayı) aynı paleti kullanır. */
#oyt-kok,
.oyt-hub,
.oyt-katman {
    --oyt-lacivert: #04334a;
    --oyt-lacivert-koyu: #0b3245;
    --oyt-metin: #0c202e;
    --oyt-altin: #a48b57;
    --oyt-vurgu: #f93b00;
    --oyt-cizgi: #e6e6e6;
    --oyt-zemin: #f7f7f7;
    /* Bant renkleri — sonuç ekranı ve kaydedilen görsel (sonuc-canvas.js
       bu değişkenleri okur; renk tek yerde tanımlı). Alarm rengi yok:
       bant bir düzey bildirir, tanı değildir. */
    --oyt-bant-dusuk: #6f8896;
    --oyt-bant-orta: #a48b57;
    --oyt-bant-yuksek: #04334a;
}

#oyt-kok {
    color: var(--oyt-metin);
    font-family: Raleway, sans-serif;
}

#oyt-kok [hidden] {
    display: none !important;
}

/* Site CSS'i box-sizing tanımlamıyor; tam genişlikli düğmeler iç boşluk
   kadar taşıp mobilde yatay kaydırma açıyordu. Yalnız test bileşenleri. */
#oyt-kok,
#oyt-kok *,
.oyt-katman,
.oyt-katman * {
    box-sizing: border-box;
}

#oyt-kok button {
    font-family: inherit;
}

/* --- Hub kartları (/online-testler/) ---------------------------------- */

.oyt-hub {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 18px 0 28px 0;
    font-family: Raleway, sans-serif;
    color: var(--oyt-metin);
}

.oyt-hub-kart {
    border: 1px solid var(--oyt-cizgi);
    border-left: 4px solid var(--oyt-lacivert);
    border-radius: 4px;
    padding: 16px;
    background: #fff;
}

/* Sitenin "article h2" kuralı (gri zemin + iç boşluk) kart başlığına
   uygulanmasın; seçici bu yüzden daha özgül. */
.oyt-hub .oyt-hub-kart .oyt-hub-ad {
    margin: 0 0 8px 0;
    padding: 0;
    background: none;
    font-size: 19px;
    line-height: 1.35;
}

.oyt-hub-ad a {
    color: var(--oyt-lacivert);
    text-decoration: none;
}

.oyt-hub-ad a:hover {
    text-decoration: underline;
}

.oyt-hub-aciklama {
    margin: 0 0 12px 0;
    font-size: 15px;
    line-height: 1.6;
}

@media only screen and (min-width: 991px) {
    .oyt-hub {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .oyt-hub-kart {
        flex: 1 1 320px;
        display: flex;
        flex-direction: column;
    }

    .oyt-hub-kart .oyt-btn {
        margin-top: auto;
        align-self: flex-start;
    }
}

/* Sitenin "#incele a { color: #444 }" kuralı test bileşenlerindeki
   bağlantı-düğmelerin yazı rengini eziyordu (lacivert zeminde lacivert yazı). */
#incele .oyt-hub a.oyt-btn-birincil,
#incele #oyt-kok a.oyt-btn-birincil {
    color: #fff;
}

#incele .oyt-hub .oyt-hub-ad a {
    color: var(--oyt-lacivert);
}

#incele #oyt-kok a.oyt-btn-whatsapp {
    color: #128c7e;
}

/* --- Giriş ekranı ------------------------------------------------------ */

.oyt-kunye {
    list-style: none;
    margin: 0 0 18px 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.oyt-kunye li {
    background: var(--oyt-zemin);
    border: 1px solid var(--oyt-cizgi);
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.4;
}

.oyt-guvence {
    border-left: 4px solid var(--oyt-lacivert);
    background: var(--oyt-zemin);
    padding: 14px 16px;
    margin-bottom: 18px;
    border-radius: 0 4px 4px 0;
}

.oyt-guvence p {
    margin: 0 0 8px 0;
    font-size: 15px;
    line-height: 1.6;
}

.oyt-guvence p:last-child {
    margin-bottom: 0;
}

.oyt-yonerge {
    margin-bottom: 18px;
}

.oyt-yonerge h2 {
    font-size: 17px;
    margin: 0 0 6px 0;
}

.oyt-yonerge p {
    margin: 0;
    line-height: 1.6;
}

.oyt-uyari {
    border: 1px solid var(--oyt-altin);
    border-radius: 4px;
    padding: 12px 14px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.6;
}

.oyt-devam {
    border: 1px solid var(--oyt-cizgi);
    border-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 16px;
    background: #fff;
}

.oyt-devam p {
    margin: 0 0 12px 0;
    line-height: 1.6;
}

.oyt-devam-tuslar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* --- Düğmeler ---------------------------------------------------------- */

.oyt-btn {
    display: inline-block;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 4px;
    border: 2px solid var(--oyt-lacivert);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.oyt-btn-birincil {
    background: var(--oyt-lacivert);
    color: #fff;
}

.oyt-btn-ikincil {
    background: #fff;
    color: var(--oyt-lacivert);
}

.oyt-btn:disabled {
    opacity: .45;
    cursor: default;
}

.oyt-btn:focus-visible {
    outline: 3px solid var(--oyt-altin);
    outline-offset: 2px;
}

/* --- İlerleme ---------------------------------------------------------- */

.oyt-ilerleme {
    margin-bottom: 18px;
}

.oyt-ilerleme-cubuk {
    height: 10px;
    background: var(--oyt-cizgi);
    border-radius: 5px;
    overflow: hidden;
}

.oyt-ilerleme-dolgu {
    height: 100%;
    width: 0;
    background: var(--oyt-lacivert);
    transition: width .2s ease-out;
}

.oyt-ilerleme-metin {
    margin-top: 6px;
    font-size: 13px;
    color: var(--oyt-lacivert-koyu);
}

/* --- Maddeler ---------------------------------------------------------- */

.oyt-madde {
    border: 1px solid var(--oyt-cizgi);
    border-radius: 4px;
    margin: 0 0 14px 0;
    padding: 14px;
    min-width: 0;
}

.oyt-madde-eksik {
    border-color: var(--oyt-vurgu);
    background: #fff8f6;
}

.oyt-madde-metin {
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.oyt-madde-no {
    color: var(--oyt-altin);
}

.oyt-secenekler {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.oyt-secenek {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 6px 8px;
    border-radius: 4px;
    cursor: pointer;
    line-height: 1.4;
}

.oyt-secenek:hover {
    background: var(--oyt-zemin);
}

.oyt-secenek input[type="radio"] {
    width: 22px;
    height: 22px;
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--oyt-lacivert);
}

.oyt-secenek input[type="radio"]:focus-visible {
    outline: 3px solid var(--oyt-altin);
    outline-offset: 2px;
}

.oyt-secenek-etiket {
    font-size: 15px;
}

/* --- Gezinme ----------------------------------------------------------- */

.oyt-eksik-uyari {
    border: 1px solid var(--oyt-vurgu);
    border-radius: 4px;
    padding: 12px 14px;
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 1.5;
}

.oyt-gezinme {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding-bottom: 10px;
}

.oyt-gezinme .oyt-btn {
    flex: 1 1 0;
}

/* --- Hata ve uyarı blokları -------------------------------------------- */

.oyt-hata {
    border: 1px solid var(--oyt-vurgu);
    border-radius: 4px;
    padding: 14px 16px;
    line-height: 1.6;
}

.oyt-hata ul {
    margin: 10px 0;
    padding-left: 20px;
}

.oyt-hata li {
    margin-bottom: 6px;
}

.oyt-placeholder-uyari {
    background: #fff3cd;
    border: 2px dashed var(--oyt-vurgu);
    border-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.6;
}

/* --- Sonuç ekranı (M5) ---------------------------------------------- */

.oyt-sonuc-kart {
    border: 1px solid var(--oyt-cizgi);
    border-top: 4px solid var(--oyt-lacivert);
    border-radius: 4px;
    background: #fff;
    padding: 14px 16px 12px;
}

.oyt-sonuc-ust {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--oyt-altin);
}

.oyt-sonuc-ad {
    margin: 2px 0 8px 0;
    font-size: 20px;
    line-height: 1.3;
    color: var(--oyt-lacivert);
}

.oyt-sonuc-ad:focus {
    outline: none;
}

.oyt-genel {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px 0 8px;
    border-bottom: 1px solid var(--oyt-cizgi);
}

.oyt-genel-ad {
    font-weight: 700;
    font-size: 15px;
    margin-right: auto;
}

.oyt-genel-deger {
    font-size: 20px;
    color: var(--oyt-lacivert);
}

.oyt-radar-kutu {
    display: flex;
    justify-content: center;
    padding: 4px 0;
}

.oyt-radar {
    width: 100%;
    max-width: 240px;
    height: auto;
    display: block;
}

.oyt-radar-halka {
    fill: none;
    stroke: var(--oyt-cizgi);
    stroke-width: 1;
    stroke-dasharray: 3 3;
}

.oyt-radar-dis {
    fill: none;
    stroke: var(--oyt-lacivert);
    stroke-width: 1;
}

.oyt-radar-eksen {
    stroke: var(--oyt-cizgi);
    stroke-width: 1;
}

.oyt-radar-veri {
    fill: rgba(4, 51, 74, .18);
    stroke: var(--oyt-lacivert);
    stroke-width: 2;
    stroke-linejoin: round;
}

.oyt-radar-no {
    font-family: Raleway, sans-serif;
    font-size: 11px;
    font-weight: 700;
    fill: var(--oyt-altin);
    text-anchor: middle;
    dominant-baseline: central;
}

.oyt-kucuk-baslik {
    margin: 6px 0 4px 0;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--oyt-lacivert-koyu);
}

.oyt-belirgin-liste {
    list-style: none;
    margin: 0;
    padding: 0;
}

.oyt-belirgin-liste li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
    font-size: 15px;
    line-height: 1.35;
}

.oyt-belirgin-ad {
    flex: 1 1 auto;
    min-width: 0;
}

.oyt-islevsel-ozet p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}

.oyt-islevsel-ozet .oyt-islevsel-aciklama,
.oyt-grup-aciklama {
    font-size: 13px;
    color: var(--oyt-lacivert-koyu);
}

.oyt-tani-degil {
    margin: 10px 0 0 0;
    padding-top: 8px;
    border-top: 1px solid var(--oyt-cizgi);
    font-size: 13px;
    line-height: 1.5;
}

.oyt-tani-degil strong {
    color: var(--oyt-lacivert);
}

.oyt-boyut-no {
    flex: 0 0 auto;
    min-width: 22px;
    height: 22px;
    border-radius: 11px;
    background: var(--oyt-zemin);
    border: 1px solid var(--oyt-cizgi);
    color: var(--oyt-altin);
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}

.oyt-bant {
    flex: 0 0 auto;
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.oyt-bant-dusuk {
    background: #e7edf0;
    color: #2c4654;
}

.oyt-bant-orta {
    background: #f3ede1;
    color: #5f4f2c;
}

.oyt-bant-yuksek {
    background: var(--oyt-bant-yuksek);
    color: #fff;
}

.oyt-sonuc-eylemler {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 16px 0 22px;
}

.oyt-sonuc-eylemler .oyt-btn {
    width: 100%;
    text-align: center;
    text-decoration: none;
}

.oyt-btn-whatsapp {
    background: #fff;
    color: #128c7e;
    border-color: #25d366;
}

.oyt-baglanti-dugme {
    align-self: center;
    background: none;
    border: 0;
    padding: 8px;
    min-height: 44px;
    color: var(--oyt-lacivert);
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
}

.oyt-silinecek {
    margin: 0;
    padding: 10px 12px;
    border-left: 4px solid var(--oyt-altin);
    background: var(--oyt-zemin);
    font-size: 14px;
    line-height: 1.5;
}

.oyt-liste-baslik {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: var(--oyt-lacivert);
}

.oyt-grup-baslik {
    margin: 16px 0 2px 0;
    font-size: 16px;
    color: var(--oyt-lacivert-koyu);
}

.oyt-grup-aciklama {
    margin: 0 0 6px 0;
}

.oyt-boyut-liste {
    list-style: none;
    margin: 0;
    padding: 0;
}

.oyt-boyut {
    padding: 10px 0;
    border-bottom: 1px solid var(--oyt-cizgi);
}

.oyt-boyut-ust {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.35;
}

.oyt-boyut-ad {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
}

.oyt-cubuk {
    position: relative;
    height: 8px;
    margin: 8px 0 2px 30px;
    background: var(--oyt-zemin);
    border-radius: 4px;
}

.oyt-cubuk-dolgu {
    height: 100%;
    border-radius: 4px;
}

.oyt-cubuk-dusuk { background: var(--oyt-bant-dusuk); }
.oyt-cubuk-orta { background: var(--oyt-bant-orta); }
.oyt-cubuk-yuksek { background: var(--oyt-bant-yuksek); }

.oyt-cubuk-esik {
    position: absolute;
    top: -3px;
    width: 2px;
    height: 14px;
    margin-left: -1px;
    background: var(--oyt-metin);
    opacity: .35;
}

.oyt-yorum {
    margin: 6px 0 0 30px;
    font-size: 14px;
    line-height: 1.55;
}

.oyt-yorum summary {
    min-height: 32px;
    padding: 4px 0;
    color: var(--oyt-lacivert);
    cursor: pointer;
}

.oyt-yorum p {
    margin: 4px 0 0 0;
}

.oyt-silindi {
    border: 1px solid var(--oyt-cizgi);
    border-radius: 4px;
    padding: 14px 16px;
    background: var(--oyt-zemin);
    line-height: 1.6;
}

/* Basılı tut katmanı (M7-c) — body'ye eklenir, #oyt-kok dışındadır.
   Kapat düğmesi üstte ve yapışkan: görsel uzun, altta kalmasın. */
.oyt-katman {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 16px;
    overflow-y: auto;
    background: rgba(12, 32, 46, .92);
    font-family: Raleway, sans-serif;
}

.oyt-katman-metin {
    margin: 0;
    max-width: 480px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}

.oyt-katman-gorsel {
    width: 100%;
    max-width: 480px;
    height: auto;
    border-radius: 4px;
    -webkit-touch-callout: default;
}

.oyt-katman > .oyt-btn {
    position: sticky;
    top: 0;
    z-index: 1;
    flex: 0 0 auto;
    min-width: 160px;
    background: #fff;
    color: #04334a;
    border: 2px solid #04334a;
}

/* Çıkış onayı (M13) — sayfa içi iletişim kutusu */
.oyt-onay-katman {
    justify-content: center;
}

.oyt-onay-kutu {
    width: 100%;
    max-width: 420px;
    padding: 20px;
    border-radius: 4px;
    background: #fff;
    color: #0c202e;
}

.oyt-onay-metin {
    margin: 0 0 16px 0;
    font-size: 16px;
    line-height: 1.55;
}

.oyt-onay-tuslar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.oyt-onay-tuslar .oyt-btn {
    flex: 1 1 160px;
}

/* --- Masaüstü (site kırılım noktası: 990px) ---------------------------- */

@media only screen and (min-width: 991px) {
    .oyt-secenekler {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
    }

    .oyt-secenek {
        flex: 1 1 140px;
    }

    .oyt-gezinme .oyt-btn {
        flex: 0 0 auto;
        min-width: 160px;
    }

    .oyt-sonuc {
        max-width: 720px;
    }

    .oyt-radar {
        max-width: 300px;
    }

    .oyt-sonuc-eylemler .oyt-btn {
        width: auto;
        align-self: flex-start;
    }
}
