/*
 * Bridgeway — SAT Denemesi, stil.
 *
 * HER SEÇİCİ ".bw-sat " ÖNEKLİ: tema CSS'iyle çakışmasın.
 *
 * ⚠ BU YORUM KAPALI. IELTS eklentisinde açık kalan bir yorum paletin
 *   tamamını yutmuş, düğmeler beyaz üstüne beyaz olmuştu; tarayıcı uyarı
 *   vermez. css_denetle.js her paketlemede bunu arar.
 */

.bw-sat {
	--bw-sat-mavi: #1d4ed8;
	--bw-sat-koyu: #0f172a;
	--bw-sat-gri: #64748b;
	--bw-sat-cizgi: #e2e8f0;
	--bw-sat-zemin: #f8fafc;
	--bw-sat-kirmizi: #b32d2e;
	--bw-sat-yesil: #15803d;
	--bw-sat-sari: #b45309;

	font-family: Georgia, "Times New Roman", serif;
	color: var(--bw-sat-koyu);
	line-height: 1.6;
	max-width: 880px;
	margin: 0 auto;
	padding: 8px 12px 48px;
	font-size: 17px;
}

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

.bw-sat-gizli {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.bw-sat h1.bw-sat-baslik {
	font-size: 1.9rem;
	margin: .2em 0 .2em;
	line-height: 1.2;
}

.bw-sat h2 {
	font-size: 1.25rem;
	margin: 1.4em 0 .4em;
}

.bw-sat .bw-sat-alt-baslik {
	color: var(--bw-sat-gri);
	margin: 0 0 1em;
}

.bw-sat .bw-sat-ozet {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin: 1em 0;
}

.bw-sat .bw-sat-ozet-kutu {
	background: var(--bw-sat-zemin);
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 8px;
	padding: 12px 8px;
	text-align: center;
	display: flex;
	flex-direction: column;
}

.bw-sat .bw-sat-ozet-kutu strong {
	font-size: 1.4rem;
}

.bw-sat .bw-sat-ozet-kutu span {
	font-size: .82rem;
	color: var(--bw-sat-gri);
}

.bw-sat .bw-sat-liste {
	padding-left: 1.2em;
}

.bw-sat .bw-sat-liste li {
	margin: .35em 0;
}

/* ---- düğmeler ---- */
.bw-sat .bw-sat-dugme {
	font: inherit;
	font-size: 1rem;
	padding: 12px 22px;
	min-height: 48px;
	border-radius: 8px;
	border: 2px solid var(--bw-sat-mavi);
	cursor: pointer;
	background: #fff;
	color: var(--bw-sat-mavi);
}

.bw-sat .bw-sat-dugme-birincil {
	background: var(--bw-sat-mavi);
	color: #fff;
}

.bw-sat .bw-sat-dugme:disabled {
	opacity: .45;
	cursor: not-allowed;
}

/*
 * Odak halkası: #b45309 beyaz üstünde 5,0:1 (1.0.1'deki #f59e0b 2,2:1 idi —
 * WCAG 3:1 altı, klavye kullanıcısı odağı göremiyordu).
 */
.bw-sat .bw-sat-dugme:focus-visible,
.bw-sat input:focus-visible,
.bw-sat button:focus-visible {
	outline: 3px solid #b45309;
	outline-offset: 2px;
}

.bw-sat .bw-sat-alt-bar,
.bw-sat .bw-sat-eylemler {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin: 1.6em 0 0;
}

/* ---- kurtarma / hata ---- */
.bw-sat .bw-sat-kurtarma {
	background: #fffbeb;
	border: 1px solid #f59e0b;
	border-radius: 8px;
	padding: 14px 18px;
	margin: 0 0 1.2em;
}

.bw-sat .bw-sat-kurtarma-baslik {
	font-size: 1.1rem;
	margin: 0 0 .3em;
}

.bw-sat .bw-sat-hata {
	background: #fef2f2;
	border: 1px solid var(--bw-sat-kirmizi);
	color: var(--bw-sat-kirmizi);
	border-radius: 8px;
	padding: 12px 16px;
	margin: 0 0 1em;
}

/*
 * Görünür uyarı şeridi (süre ve geçiş bilgisi). 1.0.4'e kadar bu
 * mesajlar yalnızca .bw-sat-gizli duyuru alanına yazılıyordu; gören
 * aday 5 dk / 1 dk uyarısını hiç görmüyordu. Hata DEĞİL, bu yüzden
 * kırmızı değil sarı.
 */
.bw-sat .bw-sat-uyari {
	background: #fffbeb;
	border: 1px solid var(--bw-sat-sari);
	color: var(--bw-sat-sari);
	font-weight: 700;
	border-radius: 8px;
	padding: 12px 16px;
	margin: 0 0 1em;
}

/* ---- üst bar ---- */
.bw-sat .bw-sat-ust {
	position: sticky;
	top: 0;
	z-index: 1002;
	background: #fff;
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 8px;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 0 14px;
	box-shadow: 0 2px 6px rgba(15, 23, 42, .06);
}

.bw-sat .bw-sat-modul-adi {
	font-weight: bold;
}

.bw-sat .bw-sat-ilerleme {
	color: var(--bw-sat-gri);
	font-size: .9rem;
}

.bw-sat .bw-sat-sayac {
	margin-left: auto;
	font-family: "SF Mono", Menlo, Consolas, monospace;
	font-size: 1.25rem;
	font-weight: bold;
	background: var(--bw-sat-zemin);
	padding: 4px 10px;
	border-radius: 6px;
}

.bw-sat .bw-sat-sayac-az {
	color: var(--bw-sat-kirmizi);
}

/* ---- soru kartı ---- */
.bw-sat .bw-sat-kart {
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 10px;
	padding: 18px 20px 22px;
	background: #fff;
}

.bw-sat .bw-sat-kart-ust {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
}

.bw-sat .bw-sat-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	border-radius: 6px;
	background: var(--bw-sat-mavi);
	color: #fff;
	font-weight: bold;
}

.bw-sat .bw-sat-isaret {
	font: inherit;
	font-size: .9rem;
	background: #fff;
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 6px;
	padding: 6px 10px;
	cursor: pointer;
	color: var(--bw-sat-gri);
	/* WCAG 2.5.5: dokunma hedefi en az 44px. 1.0.4'te 34px'ti. */
	min-height: 44px;
}

.bw-sat .bw-sat-isaret-acik {
	color: var(--bw-sat-sari);
	border-color: var(--bw-sat-sari);
}

.bw-sat .bw-sat-metin {
	background: var(--bw-sat-zemin);
	border-left: 3px solid var(--bw-sat-cizgi);
	padding: 12px 16px;
	border-radius: 0 8px 8px 0;
	margin: 0 0 14px;
}

.bw-sat .bw-sat-giris {
	font-style: italic;
	color: var(--bw-sat-gri);
	margin: 0 0 .6em;
	font-size: .95rem;
}

.bw-sat .bw-sat-parca {
	margin: 0 0 .8em;
}

.bw-sat .bw-sat-parca:last-child {
	margin-bottom: 0;
}

.bw-sat .bw-sat-metin-baslik {
	font-size: 1rem;
	margin: .6em 0 .3em;
}

.bw-sat .bw-sat-bosluk {
	letter-spacing: 1px;
	color: var(--bw-sat-mavi);
	font-weight: bold;
}

.bw-sat .bw-sat-notlar {
	margin: 0;
	padding-left: 1.2em;
}

.bw-sat .bw-sat-notlar li {
	margin: .3em 0;
}

.bw-sat .bw-sat-soru-metni {
	font-weight: bold;
	margin: 0 0 12px;
}

/* ---- tablolar ---- */
.bw-sat table.bw-sat-tablo,
.bw-sat .bw-sat-math table {
	border-collapse: collapse;
	margin: 12px 0;
	font-size: .95rem;
	background: #fff;
}

.bw-sat table.bw-sat-tablo caption,
.bw-sat .bw-sat-math table caption {
	caption-side: top;
	text-align: left;
	font-weight: bold;
	padding: 4px 0;
}

.bw-sat table.bw-sat-tablo th,
.bw-sat table.bw-sat-tablo td,
.bw-sat .bw-sat-math th,
.bw-sat .bw-sat-math td {
	border: 1px solid var(--bw-sat-cizgi);
	padding: 6px 10px;
	text-align: left;
}

.bw-sat table.bw-sat-tablo thead th,
.bw-sat .bw-sat-math thead th {
	background: var(--bw-sat-zemin);
}

/* ---- math ---- */
.bw-sat .bw-sat-math {
	margin: 0 0 14px;
}

.bw-sat .bw-sat-math p {
	margin: 0 0 .8em;
}

.bw-sat .bw-sat-math math {
	font-size: 1.05em;
}

/*
 * ⚠ display YAZILMAZ. İlk sürümde `display: block` vardı; tarayıcının
 *   MathML için kullandığı `display: block math` değerini ezdi ve
 *   denklemin her parçası ("3", "(", "x", "≤", "29") alt alta dizildi.
 *   Canlıda, gözle görüldü. Tarayıcının kendi kuralı doğru; ona dokunma.
 */
.bw-sat .bw-sat-math math[display="block"] {
	margin: .5em 0;
	font-size: 1.15em;
}

.bw-sat .bw-sat-sekil {
	margin: 0 0 14px;
	text-align: center;
}

.bw-sat .bw-sat-sekil img {
	max-width: 100%;
	height: auto;
}

/* ---- seçenekler ---- */
.bw-sat .bw-sat-secenekler {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bw-sat .bw-sat-secenek {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 14px;
	border: 2px solid var(--bw-sat-cizgi);
	border-radius: 8px;
	cursor: pointer;
	min-height: 48px;
	background: #fff;
}

.bw-sat .bw-sat-secenek:hover {
	border-color: #94a3b8;
}

.bw-sat .bw-sat-secenek-secili {
	border-color: var(--bw-sat-mavi);
	background: #eff6ff;
}

.bw-sat .bw-sat-secenek input[type="radio"] {
	width: 20px;
	height: 20px;
	margin: 3px 0 0;
	flex: 0 0 auto;
	accent-color: var(--bw-sat-mavi);
}

.bw-sat .bw-sat-secenek-harf {
	font-weight: bold;
	min-width: 1.4em;
	color: var(--bw-sat-mavi);
}

.bw-sat .bw-sat-secenek-metin {
	flex: 1 1 auto;
}

.bw-sat .bw-sat-secenek-metin math {
	font-size: 1.05em;
}

/* ---- serbest cevap ---- */
.bw-sat .bw-sat-serbest-etiket {
	display: block;
	font-weight: bold;
	margin: 0 0 6px;
}

.bw-sat .bw-sat-serbest-girdi {
	font: inherit;
	font-family: "SF Mono", Menlo, Consolas, monospace;
	font-size: 1.2rem;
	width: 200px;
	max-width: 100%;
	min-height: 48px;
	padding: 8px 12px;
	border: 2px solid #64748b;
	border-radius: 8px;
	color: var(--bw-sat-koyu);
	background: #fff;
}

.bw-sat .bw-sat-serbest-not {
	color: var(--bw-sat-gri);
	font-size: .88rem;
	margin: 8px 0 0;
}

/* ---- gezinti ---- */
.bw-sat .bw-sat-gezinti {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 16px 0 0;
	align-items: center;
}

.bw-sat .bw-sat-gezinti .bw-sat-dugme-birincil {
	margin-left: auto;
}

/* ---- palet ---- */
.bw-sat .bw-sat-palet {
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 10px;
	padding: 14px 16px;
	margin: 14px 0 0;
	background: #fff;
}

.bw-sat .bw-sat-palet-baslik {
	margin: 0 0 10px;
	font-size: .9rem;
	color: var(--bw-sat-gri);
}

.bw-sat .bw-sat-palet-izgara {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
	gap: 8px;
}

.bw-sat .bw-sat-palet-dugme {
	font: inherit;
	min-height: 44px;
	border: 2px dashed #94a3b8;
	border-radius: 6px;
	background: #fff;
	color: var(--bw-sat-koyu);
	cursor: pointer;
	position: relative;
}

.bw-sat .bw-sat-palet-dolu {
	border-style: solid;
	border-color: var(--bw-sat-mavi);
	background: #eff6ff;
}

.bw-sat .bw-sat-palet-isaretli::after {
	content: "★";
	position: absolute;
	top: -8px;
	right: -4px;
	color: var(--bw-sat-sari);
	font-size: .8rem;
}

.bw-sat .bw-sat-palet-aktif {
	outline: 3px solid var(--bw-sat-koyu);
	outline-offset: 1px;
}

/* ---- mola / bekle ---- */
.bw-sat .bw-sat-mola,
.bw-sat .bw-sat-bekle {
	text-align: center;
	padding: 30px 0;
}

.bw-sat .bw-sat-mola-sayac {
	font-family: "SF Mono", Menlo, Consolas, monospace;
	font-size: 3rem;
	font-weight: bold;
	margin: .3em 0;
}

/* ---- sonuç ---- */
.bw-sat .bw-sat-puanlar {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 1em 0;
}

.bw-sat .bw-sat-puan {
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 10px;
	padding: 16px 12px;
	text-align: center;
	display: flex;
	flex-direction: column;
	background: var(--bw-sat-zemin);
}

.bw-sat .bw-sat-puan:first-child {
	background: var(--bw-sat-koyu);
	color: #fff;
	border-color: var(--bw-sat-koyu);
}

.bw-sat .bw-sat-puan-etiket {
	font-size: .9rem;
}

.bw-sat .bw-sat-puan-deger {
	font-size: 2.4rem;
	line-height: 1.1;
	margin: 4px 0;
}

.bw-sat .bw-sat-puan-alt {
	font-size: .85rem;
	opacity: .8;
}

.bw-sat .bw-sat-kirilim {
	width: 100%;
	max-width: 560px;
}

.bw-sat .bw-sat-uyari {
	background: #fffbeb;
	border-left: 3px solid var(--bw-sat-sari);
	padding: 10px 14px;
	border-radius: 0 6px 6px 0;
}

.bw-sat .bw-sat-not {
	color: var(--bw-sat-gri);
}

.bw-sat .bw-sat-aciklama {
	background: var(--bw-sat-zemin);
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 10px;
	padding: 4px 18px 10px;
	margin: 1.4em 0 0;
	font-size: .95rem;
}

/* ---- mobil ---- */
@media (max-width: 640px) {
	.bw-sat {
		font-size: 16px;
		padding: 6px 8px 40px;
	}

	.bw-sat .bw-sat-ozet {
		grid-template-columns: repeat(2, 1fr);
	}

	.bw-sat .bw-sat-puanlar {
		grid-template-columns: 1fr;
	}

	.bw-sat .bw-sat-kart {
		padding: 14px 12px 16px;
	}

	.bw-sat .bw-sat-gezinti .bw-sat-dugme {
		flex: 1 1 45%;
		padding: 12px 8px;
	}

	.bw-sat .bw-sat-gezinti .bw-sat-dugme-birincil {
		margin-left: 0;
		flex-basis: 100%;
	}

	.bw-sat .bw-sat-ust {
		padding: 8px 10px;
		gap: 8px;
	}

	.bw-sat .bw-sat-sayac {
		font-size: 1.1rem;
	}
}

/* =====================================================================
 * 1.0.2 — denetim bulguları
 * ===================================================================== */

/* Tema "section { display:block }" derse hidden niteliği ezilir. */
.bw-sat [hidden] {
	display: none !important;
}

/* Yapışkan üst çubuk WordPress yönetici çubuğunun altına girmesin (öğretmen giriş yapmışken). */
.admin-bar .bw-sat .bw-sat-ust {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .bw-sat .bw-sat-ust {
		top: 46px;
	}
}

/* Gezinti ile soru değişince kart, yapışkan çubuğun altından değil tepesinden görünsün. */
.bw-sat .bw-sat-kart {
	scroll-margin-top: 84px;
}

.admin-bar .bw-sat .bw-sat-kart {
	scroll-margin-top: 116px;
}

/* Modül kapanırken gövde soluk ve tıklanamaz. */
.bw-sat .bw-sat-govde[aria-busy="true"] {
	opacity: .6;
	pointer-events: none;
}

/* Geniş tablolar ve uzun denklemler kartı taşırmasın; yatay kaydırılsın. */
.bw-sat .bw-sat-tablo-kap {
	max-width: 100%;
	overflow-x: auto;
	margin: 12px 0;
}

.bw-sat .bw-sat-tablo-kap table.bw-sat-tablo {
	margin: 0;
}

.bw-sat .bw-sat-math {
	max-width: 100%;
	overflow-x: auto;
}

/* Sayfa içi onay kutusu */
.bw-sat .bw-sat-onay-perde {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, .55);
	z-index: 1003;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.bw-sat .bw-sat-onay {
	background: #fff;
	color: var(--bw-sat-koyu);
	border-radius: 12px;
	max-width: 520px;
	width: 100%;
	padding: 22px 24px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .35);
	max-height: 90vh;
	overflow: auto;
}

.bw-sat .bw-sat-onay-baslik {
	margin: 0 0 .5em;
	font-size: 1.25rem;
}

.bw-sat .bw-sat-onay-metin p {
	margin: 0 0 .7em;
	line-height: 1.5;
}

.bw-sat .bw-sat-onay-dugmeler {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 14px;
}

.bw-sat[data-onay="1"] .bw-sat-govde,
.bw-sat[data-onay="1"] .bw-sat-gezinti,
.bw-sat[data-onay="1"] .bw-sat-palet {
	pointer-events: none;
}

/* Paletteki açık soru: çerçeve + dolgu, yalnızca dış çizgi değil. */
.bw-sat .bw-sat-palet-aktif {
	outline: 3px solid var(--bw-sat-koyu);
	outline-offset: 1px;
	font-weight: bold;
}

/* Sonuç ekranı kayıt satırı */
.bw-sat .bw-sat-kayit {
	background: var(--bw-sat-zemin);
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 8px;
	padding: 10px 14px;
	margin: 0 0 1em;
}

/* Text 1 / Text 2 başlıkları (h2 oldu; h2 genel kuralını ezer) */
.bw-sat .bw-sat-metin .bw-sat-metin-baslik {
	font-size: 1rem;
	margin: .6em 0 .3em;
}


/* ------------------------------------------------------------------
 * Yazdırma: aday sonucu kâğıda ya da PDF'e alabilsin. Sayaç, gezinti,
 * palet ve düğmeler basılmaz; yalnız sonuç gövdesi kalır.
 * ------------------------------------------------------------------ */
@media print {
	.bw-sat .bw-sat-ust,
	.bw-sat .bw-sat-gezinti,
	.bw-sat .bw-sat-palet,
	.bw-sat .bw-sat-alt-bar,
	.bw-sat .bw-sat-onay-perde,
	.bw-sat .bw-sat-uyari,
	.bw-sat .bw-sat-kurtarma,
	.bw-sat .bw-sat-dugme,
	.bw-sat noscript {
		display: none !important;
	}

	.bw-sat {
		max-width: none;
		padding: 0;
		font-size: 12pt;
	}

	.bw-sat .bw-sat-puan-kart,
	.bw-sat .bw-sat-aciklama,
	.bw-sat .bw-sat-tablo {
		break-inside: avoid;
	}
}

/* =====================================================================
 * 1.0.7 — canlı öğrenci turu bulguları
 * ===================================================================== */

/* Math formül sayfası (yalnız Math modüllerinde görünür). */
.bw-sat .bw-sat-formul {
	border: 1px solid var(--bw-sat-cizgi);
	border-radius: 8px;
	background: var(--bw-sat-zemin);
	margin: 0 0 14px;
	padding: 0 14px;
}

.bw-sat .bw-sat-formul > summary {
	cursor: pointer;
	font-weight: bold;
	padding: 10px 0;
	min-height: 44px;
	color: var(--bw-sat-mavi);
}

.bw-sat .bw-sat-formul > summary:focus-visible {
	outline: 3px solid var(--bw-sat-mavi);
	outline-offset: 2px;
}

.bw-sat .bw-sat-formul-icerik {
	padding: 0 0 12px;
	font-size: .95rem;
}

.bw-sat .bw-sat-formul-not {
	color: var(--bw-sat-gri);
	font-size: .88rem;
	margin: 0 0 8px;
}

.bw-sat .bw-sat-formul-icerik ul {
	margin: 0;
	padding-left: 1.2em;
}

.bw-sat .bw-sat-formul-icerik li {
	margin: 2px 0;
}

/* Izgara cevabında puanlanamayacak yazım uyarısı. */
.bw-sat .bw-sat-serbest-uyari {
	color: var(--bw-sat-kirmizi);
	font-size: .92rem;
	font-weight: bold;
	margin: 8px 0 0;
}

/*
 * Sınav sürerken sitenin yüzen düğmeleri gizlenir (sat.js ekranAc →
 * body.bw-sinav-aktif). WhatsApp düğmesi son seçeneğin metnini ve
 * "Modülü bitir" düğmesinin çevresini örtüyordu.
 */
body.bw-sinav-aktif .bw-wab,
body.bw-sinav-aktif .pxl-scroll-top {
	display: none !important;
}

@media print {
	.bw-sat .bw-sat-formul {
		display: none !important;
	}
}
