/* ==========================================================================
   HaberCMS Tasarım İnce Ayarı (polish)
   --------------------------------------------------------------------------
   Grid boşlukları, kart hover etkileşimleri ve bölüm ritmi düzeltmeleri.
   En son yüklenir — ana tema katmanlarının üzerine bindirme yapar.
   ========================================================================== */

/* --------------------------------------------------------------------------
 * 1) Haber grid boşlukları — kartların dikey/yatay ritmi tutarlı.
 * -------------------------------------------------------------------------- */
.news-grid {
	gap: 1.5rem 1.25rem;
}

.news-grid .news-card {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
 * 2) Haber kartı hover — görsel zoom + yumuşak gölge + başlık vurgusu.
 * -------------------------------------------------------------------------- */
.news-card figure {
	border-radius: calc(var(--radius) + 2px);
	box-shadow: 0 1px 3px rgba(62, 73, 89, 0.08);
	overflow: hidden;
	transition: box-shadow 0.25s ease;
}

.news-card figure img {
	transition: transform 0.35s ease;
}

.news-card:hover figure {
	box-shadow: 0 10px 24px rgba(20, 30, 45, 0.16);
}

/* Görsel zoom yalnızca fare için — dokunmatikte içerik karışmasın. */
@media (hover: hover) and (pointer: fine) {
	.news-card:hover figure img {
		transform: scale(1.04);
	}
}

.news-title {
	transition: color 0.15s ease;
}

.news-card:hover .news-title {
	color: var(--brand);
}

/* --------------------------------------------------------------------------
 * 3) "TÜMÜ" bağlantısı — sağ ok küçük kayarak animasyonlanır.
 * -------------------------------------------------------------------------- */
.k-category-link {
	transition: background 0.2s ease, color 0.2s ease;
}

.k-category-link i {
	display: inline-block;
	transition: transform 0.2s ease;
}

.k-category-link:hover i {
	transform: translateX(3px);
}

/* --------------------------------------------------------------------------
 * 4) Bölüm başlığı ritmi — section-heading ile kart alanı arası boşluk sabit.
 * -------------------------------------------------------------------------- */
.section-heading,
.section-title.plain {
	margin-bottom: 1.1rem;
}

.category-section .section-title.plain {
	margin-bottom: 1.1rem;
}

/* ==========================================================================
   OKUMA ARAÇLARI (okuma ilerlemesi + mobil paylaşım)
   ========================================================================== */

/* Okuma ilerleme çubuğu — sabit üst ince şerit. */
.reading-progress {
	background: transparent;
	height: 3px;
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1001;
}

.reading-progress span {
	background: var(--brand);
	border-radius: 0 3px 3px 0;
	display: block;
	height: 100%;
	transition: width 0.1s linear;
	width: 0;
}

/* Mobil paylaşım çubuğu — yalnızca dar ekranda, sabit alt çubuk. */
.mobile-share {
	display: none;
}

@media (max-width: 767.98px) {
	.mobile-share {
		align-items: center;
		background: var(--surface);
		border-top: 1px solid var(--border);
		box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
		display: flex;
		gap: 0.5rem;
		left: 0;
		padding: 0.5rem 0.75rem;
		position: fixed;
		right: 0;
		z-index: 1000;
		bottom: 0;
	}

	.mobile-share .ms {
		align-items: center;
		border-radius: var(--radius);
		color: #fff;
		display: inline-flex;
		flex: 1;
		font-size: 0.8rem;
		font-weight: 700;
		gap: 0.45rem;
		justify-content: center;
		min-height: 44px;
		padding: 0 0.25rem;
	}

	.mobile-share .ms i { font-size: 1rem; }

	.mobile-share .ms-facebook { background: #1877f2; }
	.mobile-share .ms-x { background: #0f1419; }
	.mobile-share .ms-whatsapp { background: #25d366; }

	.mobile-share .ms-copy {
		background: var(--grey-300);
		color: var(--text);
	}

	/* Sabit alt çubuğun altına boşluk — footer tam okunur. */
	body.has-reading-tools .site-footer {
		padding-bottom: 4.25rem;
	}
}

/* ==========================================================================
   ERİŞİLEBİLİRLİK (A11y)
   ========================================================================== */

/* Ekran okuyucu sınıfı — görsel olarak gizli, okunur. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: var(--surface);
	border: 2px solid var(--brand);
	border-radius: var(--radius);
	clip: auto;
	clip-path: none;
	color: var(--text);
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	height: auto;
	left: 0.5rem;
	line-height: normal;
	padding: 0.75rem 1rem;
	position: fixed;
	text-decoration: none;
	top: 0.5rem;
	width: auto;
	z-index: 100000;
}

/* Klavye odağı — belirgin, kontrastlı odak halkası. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="menuitem"]:focus-visible,
[role="tab"]:focus-visible {
	outline: 2px solid var(--blue, #005ae8);
	outline-offset: 2px;
}

/* Hareket azaltma tercihi — animasyon/geçişleri minimuma indir. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   SCROLL-REVEAL — kart ve bölüm başlıkları görünüme girince belirir.
   Yalnızca html.js-reveal varken (JS etkin + hareket azaltma tercihi yok).
   ========================================================================== */
html.js-reveal .news-card,
html.js-reveal .section-heading,
html.js-reveal .category-section .section-title,
html.js-reveal .headline-item {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

html.js-reveal .news-card.is-revealed,
html.js-reveal .section-heading.is-revealed,
html.js-reveal .category-section .section-title.is-revealed,
html.js-reveal .headline-item.is-revealed {
	opacity: 1;
	transform: none;
}

/* ==========================================================================
   OKUMA KATMANI — dergi konforu (satır genişliği, seçim, bağlantılar).
   ========================================================================== */

/* Gövde metni ideal satır uzunluğunda kalsın — geniş ekranda bile. */
.entry-content p,
.entry-content li {
	max-width: 68ch;
}

/* Metin seçimi marka rengiyle vurgulanır. */
::selection {
	background: var(--brand);
	color: #fff;
}

/* İç linkler alt çizgiyle ayırt edilir, müdahaleci değildir. */
.entry-content a {
	text-decoration: underline;
	text-decoration-color: rgba(224, 0, 0, 0.35);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

/* Sabit başlığın altına kaydırmalı çapa hedefi boşluk bırakır. */
h2,
h3,
h4 {
	scroll-margin-top: 90px;
}

/* ==========================================================================
   KOYU TEMA DETAYLARI — yeni katmanlar koyu temada da dengeli.
   ========================================================================== */
[data-theme="dark"] .entry-content a {
	text-decoration-color: rgba(224, 0, 0, 0.4);
	opacity: 0.92;
}

[data-theme="dark"] .news-card:hover figure {
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .mobile-share {
	box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .mobile-share .ms-copy {
	background: var(--grey-600, #55606e);
	color: var(--text);
}

/* ==========================================================================
   KART ROZET SİSTEMİ — kategori rengi tabanlı üst şerit.
   Renk, content-card.php'de --cat-color özel özelliğiyle kart köküne yazılır.
   ========================================================================== */
.news-card {
	position: relative;
}

.news-card::before {
	background: var(--cat-color, var(--brand));
	border-radius: var(--radius) var(--radius) 0 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

/* ==========================================================================
   EKSİK YÜZEYLER — aşağıdaki sınıflar şablonlarda üretiliyor ancak hiçbir
   katmanda kuralı yoktu. Boşluklar şablonların gerçek markup'ına göre
   dolduruldu; her yeni kural yalnızca daha önce stili olmayan sınıflara
   dokunur (mevcut kural çakışması yok).
   ========================================================================== */

/* --------------------------------------------------------------------------
 * 1) Footer iç bağlantıları — koyu footer üzerinde okunabilirlik.
 * Global `a` kuralı koyu zeminde siyah metin üretiyordu; footer bağlantıları
 * ve şirket iletişim satırları açık renge alınır.
 * -------------------------------------------------------------------------- */
footer .footer-apps p,
footer .footer-company-info p {
	color: #9fb0c4;
	font-size: 0.84rem;
	line-height: 1.6;
	margin: 0 0 0.5rem;
}

footer .footer-company-name {
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
}

footer .footer-company-phone,
footer .footer-company-email {
	margin-bottom: 0.35rem;
}

footer .footer-company-info a,
footer .footer-sitemap-link,
footer .footer-legal-link {
	color: #e8eef6;
	transition: color 0.15s ease;
}

footer .footer-company-info a:hover,
footer .footer-sitemap-link:hover,
footer .footer-legal-link:hover {
	color: #fff;
	text-decoration: underline;
}

footer .footer-sitemap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.1rem;
	font-size: 0.8rem;
	margin-top: 0.75rem;
}

footer .footer-legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin-bottom: 0.6rem;
}

footer .footer-legal-link {
	font-size: 0.8rem;
}

footer .footer-widget {
	margin-bottom: 1.25rem;
}

footer .footer-widget .widget-title,
footer .footer-widget h3 {
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 0.85rem;
}

footer .footer-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .footer-widget li {
	margin-bottom: 0.6rem;
}

footer .footer-widget a {
	color: #9fb0c4;
	font-size: 0.85rem;
}

footer .footer-widget a:hover {
	color: #fff;
}

/* --------------------------------------------------------------------------
 * 2) Arama formu — get_search_form() çıktısı (404, boş arama sonucu).
 * -------------------------------------------------------------------------- */
.search-form {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.5rem 0;
	max-width: 520px;
}

.search-form label {
	display: block;
	flex: 1 1 240px;
	min-width: 0;
}

.search-field {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text);
	font: inherit;
	padding: 0.7rem 0.95rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	width: 100%;
}

.search-field::placeholder {
	color: var(--text-muted);
	opacity: 1;
}

.search-field:focus {
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(224, 0, 0, 0.15);
	outline: 2px solid transparent;
}

.search-submit {
	background: var(--brand);
	border: 1px solid var(--brand);
	border-radius: var(--radius);
	color: #fff;
	cursor: pointer;
	flex: 0 0 auto;
	font: inherit;
	font-weight: 600;
	padding: 0.7rem 1.5rem;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.search-submit:hover {
	background: var(--brand-dark);
	border-color: var(--brand-dark);
}

/* --------------------------------------------------------------------------
 * 3) Sayfa başlıkları ve boş durumlar — 404, arşiv, arama sonucu yok.
 * -------------------------------------------------------------------------- */
.page-title {
	color: var(--heading);
	font-family: var(--font-heading);
	font-size: clamp(1.6rem, 3.2vw, 2.25rem);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 1rem;
}

.error-404,
.no-results {
	padding: 3rem 0 4rem;
	text-align: center;
}

.error-404 .page-title {
	font-size: clamp(1.9rem, 4.5vw, 2.75rem);
}

.error-404 .page-content,
.no-results .page-content {
	margin: 0 auto;
	max-width: 760px;
}

.error-404 .page-content > p,
.no-results .page-content > p {
	color: var(--text-secondary);
}

.error-404 .search-form,
.no-results .search-form {
	margin-left: auto;
	margin-right: auto;
}

.error-404 h2 {
	color: var(--heading);
	font-family: var(--font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	margin: 2.5rem 0 1.25rem;
}

.error-404 .news-grid {
	margin-top: 0;
	text-align: left;
}

.archive-description {
	color: var(--text-secondary);
	font-size: 0.95rem;
	line-height: 1.7;
	margin-bottom: 1.5rem;
	max-width: 760px;
}

.archive-description p {
	margin: 0 0 0.5rem;
}

/* --------------------------------------------------------------------------
 * 4) Haber meta satırı — yazar, tarih, okuma süresi ve paylaşım ikonu.
 * `.entry-meta` zaten flex gap ile ayrım yapıyor; burada yalnızca ikon
 * hizası ve eksik ölçüler tamamlanır. `.share-btn` ağ renkleri main.css'te
 * tanımlı olduğu için paylaşım düğmelerine geniş kural yazılmaz.
 * -------------------------------------------------------------------------- */
.entry-meta .author,
.entry-meta .posted-on,
.entry-meta .reading-time,
.entry-meta .entry-views {
	align-items: center;
	display: inline-flex;
	gap: 0.3rem;
}

.subtitle-marker {
	border-radius: 2px;
	display: inline-block;
	height: 0.85em;
	margin-right: 0.5rem;
	vertical-align: -0.08em;
	width: 4px;
}

.share-svg {
	display: block;
	flex: 0 0 auto;
	height: 16px;
	width: 16px;
}

/* --------------------------------------------------------------------------
 * 5) Yazı araçları — yazı boyutu ve yazdırma düğmeleri.
 * -------------------------------------------------------------------------- */
.habercms-article-tools {
	align-items: center;
	border-bottom: 1px solid var(--border);
	border-top: 1px solid var(--border);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	justify-content: space-between;
	margin: 1.5rem 0;
	padding: 0.7rem 0;
}

.font-size-controls {
	align-items: center;
	display: flex;
	gap: 0.4rem;
}

.tools-label {
	color: var(--text-muted);
	font-size: 0.82rem;
	font-weight: 600;
	margin-right: 0.2rem;
}

.btn-font-size,
.btn-article-print {
	align-items: center;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text-secondary);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	gap: 0.35rem;
	justify-content: center;
	min-height: 32px;
	min-width: 34px;
	padding: 0.3rem 0.6rem;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn-font-size:hover,
.btn-article-print:hover {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}

.btn-font-size:focus-visible,
.btn-article-print:focus-visible {
	outline: 2px solid var(--brand);
	outline-offset: 2px;
}

.btn-font-size.is-active {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}

.article-print-tool {
	display: flex;
}

/* --------------------------------------------------------------------------
 * 6) Öne çıkan başlıklar kutusu — özet bloğu.
 * -------------------------------------------------------------------------- */
.habercms-summary-box {
	background: var(--surface-alt);
	border-left: 4px solid var(--brand);
	border-radius: var(--radius);
	margin: 0 0 1.75rem;
	padding: 1.1rem 1.35rem;
}

.summary-box-title {
	align-items: center;
	color: var(--heading);
	display: flex;
	font-family: var(--font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	gap: 0.45rem;
	margin-bottom: 0.6rem;
}

.summary-box-title svg {
	color: var(--brand);
	flex: 0 0 auto;
}

.summary-box-content {
	color: var(--text-secondary);
	font-size: 0.95rem;
	line-height: 1.7;
}

.summary-box-content p {
	margin: 0;
}

/* --------------------------------------------------------------------------
 * 7) Duyarlı daraltma — araç satırı ve arama formu dar ekranda sarar.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.habercms-article-tools {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.6rem;
	}

	.tools-label {
		width: 100%;
	}

	.search-form {
		flex-direction: column;
	}

	.search-submit {
		width: 100%;
	}

	.error-404,
	.no-results {
		padding: 2rem 0 3rem;
	}
}

/* --------------------------------------------------------------------------
 * 8) İkinci tur — dinamik sınıf ve liste boşlukları.
 * Aşağıdakiler şablonlarda üretiliyor, canlı ve stilleri eksikti.
 * -------------------------------------------------------------------------- */

/* content.php / content-search.php: görsel ile başlık arasında boşluk yoktu.
   Değer, content-card.php'nin .news-card-thumb kuralıyla aynı tutuldu. */
.news-card .entry-summary {
	margin-top: 0.6rem;
}

.entry-meta .byline a {
	color: var(--text);
	font-weight: 600;
}

.entry-meta .byline a:hover {
	color: var(--brand);
}

/* Firma ızgara sütun sayısı — 2/3/4/6 vardı, 5 eksikti (ayar etkisizdi). */
.firma-cols-5 {
	grid-template-columns: repeat(5, 1fr);
}

/* Yorumlar kapalı bildirimi. */
.no-comments {
	background: var(--surface-alt);
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius);
	color: var(--text-muted);
	font-size: 0.9rem;
	margin: 1.5rem 0;
	padding: 0.85rem 1.1rem;
	text-align: center;
}

/* Yazar profili meta bloğu (avatar/ada/bio stilli, sarmalayıcı değil). */
.author-profile-meta {
	margin-top: 0.85rem;
}

.author-profile-meta .author-profile-name {
	margin: 0.35rem 0 0;
}

/* İlan tekil sayfasında kategori rozetleri. */
.entry-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 0.9rem;
}

.entry-cats a {
	background: var(--surface-alt);
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--text-secondary);
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.25rem 0.75rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.entry-cats a:hover {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}

/* Spor bölümü koyu zeminde — Swiper varsayılan noktaları siyah kalıyordu.
   Sarmalayıcı sınıf `.sport` (main.css:1218); `.sport-section` şablonlarda
   hiç üretilmiyor, bu yüzden seçici doğrudan pagination sınıfına bağlandı. */
.sport-pagination {
	--swiper-pagination-color: #fff;
	--swiper-pagination-bullet-inactive-color: rgba(255, 255, 255, 0.45);
	margin-top: 0.85rem;
	position: static;
}

/* Firma rehberi ve ilan arşivi sayfa sarmalayıcıları. */
.firma-rehberi,
.habercms-ilan-archives {
	display: block;
	margin: 1.5rem 0 2.5rem;
}

/* Tekil yazı kenar çubuğu — 300px ızgara yolunda taşmayı önler. */
.single-sidebar {
	min-width: 0;
}

/* .firma-cols-5 için responsive merdiven main.css ile birebir aynı
   tutulmalı: polish.css son yüklendiği için tema kurallarını her
   genişlikte geçersiz kılmasın. */
@media (max-width: 900px) {
	.firma-cols-5 {
		grid-template-columns: repeat(2, 1fr);
		justify-content: center;
	}
}

@media (max-width: 600px) {
	.firma-cols-5 {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   YAZDIRMA — .btn-article-print (window.print) ve tarayıcı yazdırması.
   Tema tam bir haber sitesi yerleşimi kuruyor; yazdırılan çıktı yalnızca
   haberin kendisi olmalı. Ekran yerleşimi bu blokla hiç etkilenmez.
   ========================================================================== */
@media print {

	@page {
		margin: 1.6cm;
	}

	/* Koyu zeminleri ve renkli dolguları kapat. */
	body {
		background: #fff !important;
		color: #000 !important;
		font-size: 12pt;
	}

	/* Site kromu — header, gezinme, ticker, footer, kayan katmanlar. */
	.header-bar,
	.main-navigation,
	.offcanvas,
	.offcanvas-overlay,
	.sondakika-band,
	.breaking-ticker,
	.news-progress-container,
	.site-footer,
	.back-to-top,
	.mobile-share,
	.mobile-ad,
	[class^="habercms-popup-ad"],
	[class*=" habercms-popup-ad"],
	#wpadminbar,
	.breadcrumb,
	.habercms-breadcrumb {
		display: none !important;
	}

	/* Reklam alanları ve reklam engelleme duvarı. */
	.ad-wrap,
	.habercms-adblock-banner {
		display: none !important;
	}

	/* Haber dışı tüm yan/alt bölümler. */
	.single-sidebar,
	.related-posts,
	.comments-area,
	.comment-respond,
	.comment-list,
	.habercms-article-tools,
	.entry-share,
	.pagination,
	.post-navigation,
	.author-box,
	.habercms-related-multi {
		display: none !important;
	}

	/* Tek kolona düş, yapışkan konumlar yazdırmada kayabilir. */
	.single-layout,
	.site-main,
	.container,
	.entry-content,
	.habercms-summary-box {
		display: block !important;
		grid-template-columns: none !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
	}

	*,
	*::before,
	*::after {
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/* Kırpılmış metinleri (line-clamp) yazdırmada tam göster — kaynak
	   seçiciler: main.css, esenhaber.css ve features.css. */
	.news-title,
	.news-desc,
	.entry-title,
	.widget-title,
	.cat-hero-title,
	.cat-card-title,
	.sport-card-title,
	.hero-side-title,
	.author-article,
	.habercms-notif-title,
	.habercms-gallery-title,
	.habercms-scroll-title,
	.habercms-latestlist-featured-excerpt {
		-webkit-line-clamp: none !important;
		line-clamp: none !important;
		max-height: none !important;
		overflow: visible !important;
	}

	/* Başlık, kategori ve meta yazdırılabilir kalsın. */
	.entry-header {
		border-bottom: 1pt solid #ccc;
		margin-bottom: 10pt;
		padding-bottom: 6pt;
	}

	.entry-title {
		color: #000 !important;
		font-size: 20pt;
		line-height: 1.25;
	}

	/* Yazdırılan kopyada kaynak URL görünsün. */
	.entry-title::after {
		color: #444;
		content: attr(data-url);
		display: block;
		font-family: var(--font-sans);
		font-size: 9pt;
		font-weight: 400;
		letter-spacing: 0;
		margin-top: 4pt;
		text-transform: none;
		word-break: break-all;
	}

	.entry-meta,
	.posted-on,
	.byline,
	.reading-time,
	.entry-views {
		color: #333 !important;
		font-size: 9.5pt;
	}

	/* Görseller sayfa genişliğine sığsın, kart bölünmesin. */
	.entry-content img,
	.entry-thumbnail img,
	.wp-caption img,
	figure img {
		float: none !important;
		height: auto !important;
		max-width: 100% !important;
		page-break-inside: avoid;
	}

	figure,
	.wp-caption,
	blockquote,
	table,
	.habercms-summary-box,
	.entry-header {
		page-break-inside: avoid;
	}

	.entry-content p,
	.entry-content li {
		orphans: 3;
		widows: 3;
	}

	.entry-content a {
		color: #000 !important;
		text-decoration: underline;
	}

	/* Koyu temada basılan kutu/zeminler okunabilir kalsın. */
	[data-theme="dark"] body,
	[data-theme="dark"] .entry-content,
	[data-theme="dark"] .entry-header {
		background: #fff !important;
		color: #000 !important;
	}
}

/* --------------------------------------------------------------------------
 * İçindekiler Tablosu (TOC) — uzun haberlerde başlık navigasyonu.
 * -------------------------------------------------------------------------- */
.habercms-toc {
	margin: 0 0 1.75rem;
	border: 1px solid var(--border, #e5e8ec);
	border-left: 4px solid var(--brand, #e00000);
	border-radius: 8px;
	background: var(--surface-2, #f5f7f9);
	overflow: hidden;
}

.habercms-toc-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 0.5rem;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0.85rem 1.1rem;
	font: inherit;
	font-weight: 700;
	color: var(--heading, #1f2430);
	text-align: left;
}

.habercms-toc-toggle:focus-visible {
	outline: 2px solid var(--blue, #005ae8);
	outline-offset: -2px;
}

.habercms-toc-title {
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.85rem;
}

.habercms-toc-caret {
	transition: transform 0.2s ease;
	font-size: 0.8rem;
	color: var(--muted, #616875);
}

.habercms-toc[data-collapsed="1"] .habercms-toc-caret {
	transform: rotate(180deg);
}

.habercms-toc-list {
	list-style: none;
	margin: 0;
	padding: 0 1.1rem 1rem;
}

.habercms-toc[data-collapsed="1"] .habercms-toc-list {
	display: none;
}

.habercms-toc-list li {
	margin: 0.35rem 0;
	line-height: 1.4;
}

.habercms-toc-list li a {
	color: var(--text, #212529);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.habercms-toc-list li a:hover {
	color: var(--brand, #e00000);
}

.habercms-toc-list .toc-level-2 > a {
	font-weight: 600;
}

.habercms-toc-list .toc-level-3 {
	padding-left: 1.1rem;
	font-size: 0.92rem;
}

.habercms-toc-list li.toc-active > a {
	color: var(--brand, #e00000);
	font-weight: 700;
}

/* --------------------------------------------------------------------------
 * Yorumlar — başlık aç/kapa (progressive enhancement).
 * -------------------------------------------------------------------------- */
.comments-area .comments-toggle {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	color: var(--heading, #1f2430);
}

.comments-toggle-btn {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	color: inherit;
	text-align: left;
}

.comments-toggle-btn:focus-visible {
	outline: 2px solid var(--blue, #005ae8);
	outline-offset: 2px;
}

.comments-toggle-caret {
	font-size: 0.8rem;
	color: var(--muted, #616875);
	transition: transform 0.2s ease;
}

.comments-area[data-collapsed="1"] .comments-toggle-caret {
	transform: rotate(180deg);
}

.comments-area[data-collapsed="1"] .comments-body {
	display: none;
}

/* --------------------------------------------------------------------------
 * "Daha Fazla Yükle" — arşiv/kategori/arama listeleri.
 * -------------------------------------------------------------------------- */
.habercms-pagination-hidden {
	display: none !important;
}

.habercms-load-more {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1.75rem auto 0.5rem;
	min-width: 200px;
	padding: 0.75rem 1.6rem;
	border: 0;
	border-radius: 999px;
	background: var(--brand, #e00000);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.habercms-load-more:hover {
	background: var(--brand-dark, #b30000);
}

.habercms-load-more:focus-visible {
	outline: 2px solid var(--blue, #005ae8);
	outline-offset: 3px;
}

.habercms-load-more:disabled,
.habercms-load-more.is-loading {
	opacity: 0.7;
	cursor: progress;
}
