/* Özge Koleji — Global Dinamik Yazı Şablonu stilleri.
   Tamamı .oyt-scope kapsamı altında scoped'dır (yalnız is_singular('post')
   sayfalarında body'ye eklenen sınıf). Astra'nın astra-settings / Global
   Palette kaynaklı astra-dark-mode-enable kuralları bu kapsam içinde
   !important ile override edilir; site genelinde hiçbir şey değişmez.

   v1.1.1 notları (gerçek DOM/computed style ölçümüyle doğrulanan kök
   nedenler için değişiklik özetine bakın):
   - .oyt-hero artık Astra'nın .ast-container (max-width:1240px) kutusundan
     negatif margin ile taşarak gerçek tam genişlik render edilir.
   - .oyt-article, WP post_class()'ın eklediği Astra'nın "ast-article-single"
     sınıfından gelen ~85px varsayılan dikey padding'i sıfırlar.
   - Galeri artık sabit aspect-ratio kutularıyla 2 sütun render edilir
     (önceki grid satırları height:100% zincirinden yükseksiz kalıyordu). */

.oyt-scope {
	background-color: #FFFFFF !important;
	color: #2E2E2E !important;
}

.oyt-scope,
.oyt-scope * {
	box-sizing: border-box;
}

/* Kök neden (v1.1.2, post 2028 üzerinde getBoundingClientRect ile ölçüldü):
   Astra'nın içerik sarmalayıcısı (.ast-container) display:flex; bizim
   <div class="oyt-scope"> öğemiz Astra'nın #primary/content-area id/sınıf
   beklentisini taşımadığından flex item olarak yalnızca %85 (1020px/1200px)
   genişlik alıyor, kalan %15 sağda boş kalıyordu. calc(-50vw + 50%) bu
   yanlış (1020px) genişlik üzerinden hesaplanınca hero sola kayıp sağda
   ~90-120px boşluk bırakıyordu. div.oyt-scope'u zorla %100 flex-basis'e
   sabitlemek DOM'u/Astra ayarlarını değiştirmeden bu asimetriyi giderir. */
div.oyt-scope {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 100% !important;
}

.oyt-scope .oyt-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ---------- Hero: Astra'nın boxed .ast-container'ından taşan gerçek tam genişlik ---------- */

.oyt-scope .oyt-hero {
	width: 100vw;
	max-width: none;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	background: linear-gradient(135deg, #123B73 0%, #1E5AA8 100%) !important;
	background-image:
		linear-gradient(135deg, #123B73 0%, #1E5AA8 100%),
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.05) 0px,
			rgba(255, 255, 255, 0.05) 1px,
			transparent 1px,
			transparent 46px
		) !important;
	padding: 26px 0;
	color: #FFFFFF !important;
	font-family: Roboto, Arial, sans-serif;
	overflow: hidden;
}

/* Hero'nun iç sütunu: aşağıdaki .oyt-article ile aynı genişlik (980px) ve
   aynı sol hiza için birebir aynı max-width/padding deseni kullanılır. */
.oyt-scope .oyt-hero-inner {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}

.oyt-scope .oyt-breadcrumb {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.75) !important;
	margin-bottom: 12px;
}

.oyt-scope .oyt-breadcrumb a {
	color: rgba(255, 255, 255, 0.85) !important;
	text-decoration: none;
	background: transparent !important;
}

.oyt-scope .oyt-breadcrumb a:hover,
.oyt-scope .oyt-breadcrumb a:focus-visible {
	text-decoration: underline;
}

.oyt-scope .oyt-breadcrumb-sep {
	margin: 0 6px;
	color: rgba(255, 255, 255, 0.5) !important;
}

.oyt-scope .oyt-breadcrumb-current {
	color: #FFFFFF !important;
}

.oyt-scope .oyt-badge {
	display: inline-block;
	flex-shrink: 0;
	align-self: flex-start;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	padding: 6px 13px;
	border-radius: 999px;
	text-decoration: none;
	margin-bottom: 10px;
}

.oyt-scope .oyt-badge--gold {
	background: #E8B84B !important;
	color: #123B73 !important;
}

.oyt-scope .oyt-badge--gold:hover,
.oyt-scope .oyt-badge--gold:focus-visible {
	background: #dba82f !important;
}

.oyt-scope .oyt-badge--light {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #EAF1FA !important;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.oyt-scope .oyt-badge--light:hover,
.oyt-scope .oyt-badge--light:focus-visible {
	background: rgba(255, 255, 255, 0.24) !important;
}

.oyt-scope .oyt-badge--sm {
	font-size: 11px;
	padding: 4px 9px;
}

.oyt-scope .oyt-title {
	font-family: Roboto, Arial, sans-serif;
	font-size: clamp(22px, 1.4vw + 17px, 32px);
	font-weight: 700;
	line-height: 1.28;
	color: #FFFFFF !important;
	margin: 0 0 12px;
	max-width: 100%;
	word-break: break-word;
}

.oyt-scope .oyt-hero-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	position: relative;
	padding-top: 12px;
}

.oyt-scope .oyt-hero-meta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 2px;
	background: #E8B84B !important;
}

.oyt-scope .oyt-date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #EAF1FA !important;
}

.oyt-scope .oyt-icon-calendar {
	flex-shrink: 0;
}

/* ---------- Ana içerik: açık/beyaz zemin, sabit renk şeması ---------- */

.oyt-scope .oyt-main {
	background-color: #FFFFFF !important;
	color: #2E2E2E !important;
	padding: 32px 0 56px;
}

.oyt-scope .oyt-article {
	max-width: 980px;
	margin: 0 auto !important;
	padding: 0 !important;
	background-color: #FFFFFF !important;
	color: #2E2E2E !important;
}

.oyt-scope .oyt-featured-image {
	margin: 0 0 28px;
}

.oyt-scope .oyt-featured-image-img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	display: block;
}

.oyt-scope .oyt-content {
	font-family: Roboto, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: #2E2E2E !important;
	background-color: #FFFFFF !important;
}

.oyt-scope .oyt-content > * + * {
	margin-top: 1.1em;
}

.oyt-scope .oyt-content h1,
.oyt-scope .oyt-content h2,
.oyt-scope .oyt-content h3,
.oyt-scope .oyt-content h4,
.oyt-scope .oyt-content h5,
.oyt-scope .oyt-content h6 {
	color: #123B73 !important;
	background-color: transparent !important;
}

.oyt-scope .oyt-content h2 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 1.6em;
}

.oyt-scope .oyt-content h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	margin-top: 1.4em;
}

.oyt-scope .oyt-content p {
	margin: 0;
	color: #2E2E2E !important;
}

.oyt-scope .oyt-content ul,
.oyt-scope .oyt-content ol {
	padding-left: 1.4em;
	margin: 0;
	color: #2E2E2E !important;
}

.oyt-scope .oyt-content li + li {
	margin-top: 0.4em;
}

.oyt-scope .oyt-content a {
	color: #1E5AA8 !important;
	text-decoration: underline;
	background-color: transparent !important;
}

.oyt-scope .oyt-content blockquote {
	background-color: #EAF1FA !important;
	border-left: 4px solid #1E5AA8;
	margin: 1.4em 0;
	padding: 16px 20px;
	border-radius: 0 8px 8px 0;
	color: #123B73 !important;
	font-style: italic;
}

.oyt-scope .oyt-content blockquote p {
	margin: 0;
	color: #123B73 !important;
}

.oyt-scope .oyt-content figure {
	margin: 0;
}

.oyt-scope .oyt-content figure img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
}

.oyt-scope .oyt-content figcaption {
	font-size: 14px;
	color: #6b6f76 !important;
	text-align: center;
	margin-top: 8px;
}

/* WordPress galerisi: sabit aspect-ratio kutuları ile 2 sütun (masaüstü) /
   1 sütun (mobil). Kök neden: grid satırları auto yükseklikte iken hem çekirdek
   WP CSS'i hem eski kuralımız img'e height:100% veriyordu; tanımlı bir üst
   yükseklik olmadığından satır 0'a yakın çöküyor, görseller nokta gibi
   render ediliyordu. aspect-ratio, grid'den bağımsız sabit bir yükseklik
   kaynağı sağlar. */
.oyt-scope .oyt-content .wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 14px !important;
	align-items: stretch;
}

.oyt-scope .oyt-content .wp-block-gallery figure.wp-block-image {
	aspect-ratio: 4 / 3;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border-radius: 10px;
	overflow: hidden;
}

.oyt-scope .oyt-content .wp-block-gallery figure.wp-block-image > a,
.oyt-scope .oyt-content .wp-block-gallery figure.wp-block-image > div {
	display: block !important;
	width: 100%;
	height: 100%;
}

.oyt-scope .oyt-content .wp-block-gallery .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}

/* ---------- Yazı altı meta / navigasyon ---------- */

.oyt-scope .oyt-post-footer {
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid #E5EAF0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background-color: #FFFFFF !important;
}

.oyt-scope .oyt-post-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.oyt-scope .oyt-chip {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	color: #123B73 !important;
	background-color: #F5F6F8 !important;
	border: 1px solid #E5EAF0;
	border-radius: 999px;
	padding: 6px 12px;
	text-decoration: none;
}

.oyt-scope .oyt-chip:hover,
.oyt-scope .oyt-chip:focus-visible {
	background-color: #EAF1FA !important;
}

/* Paylaşım: erişilebilir yuvarlak ikon butonları (metin görünmez,
   aria-label ile korunur). */
.oyt-scope .oyt-share {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.oyt-scope .oyt-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	color: #1E5AA8 !important;
	background-color: #FFFFFF !important;
	border: 1px solid #E5EAF0;
	border-radius: 999px;
	cursor: pointer;
	line-height: 1;
}

.oyt-scope .oyt-share-link:hover,
.oyt-scope .oyt-share-link:focus-visible {
	background-color: #EAF1FA !important;
	border-color: #1E5AA8;
}

.oyt-scope .oyt-copy-link.oyt-copy-link--copied {
	background-color: #EAF1FA !important;
	border-color: #1E5AA8;
	color: #123B73 !important;
}

/* Önceki/sonraki yazı: yalnız var olan taraf render edilir; boş panel yok.
   Tek link varsa flex:1 tüm satırı kullanır, iki link varsa eşit paylaşır. */
.oyt-scope .oyt-adjacent-nav {
	margin-top: 20px;
	display: flex;
	border: 1px solid #E5EAF0;
	border-radius: 10px;
	overflow: hidden;
	background-color: #FFFFFF !important;
}

.oyt-scope .oyt-adjacent-link {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 20px;
	text-decoration: none;
	color: #2E2E2E !important;
	background-color: #FFFFFF !important;
	min-width: 0;
}

.oyt-scope .oyt-adjacent-nav--two .oyt-adjacent-prev {
	border-right: 1px solid #E5EAF0;
}

.oyt-scope .oyt-adjacent-next {
	text-align: right;
	align-items: flex-end;
}

.oyt-scope .oyt-adjacent-link:hover,
.oyt-scope .oyt-adjacent-link:focus-visible {
	background-color: #F5F7FA !important;
}

.oyt-scope .oyt-adjacent-label {
	font-size: 12px;
	font-weight: 600;
	color: #1E5AA8 !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.oyt-scope .oyt-adjacent-title {
	font-size: 15px;
	font-weight: 500;
	color: #123B73 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

/* ---------- İlgili içerikler ---------- */

.oyt-scope .oyt-related {
	max-width: 1200px;
	margin: 40px auto 0;
	background-color: #FFFFFF !important;
}

.oyt-scope .oyt-related-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.oyt-scope .oyt-related-title {
	font-family: Roboto, Arial, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #123B73 !important;
	margin: 0;
}

.oyt-scope .oyt-related-all {
	font-size: 14px;
	font-weight: 600;
	color: #1E5AA8 !important;
	text-decoration: none;
}

.oyt-scope .oyt-related-all:hover,
.oyt-scope .oyt-related-all:focus-visible {
	text-decoration: underline;
}

/* En fazla 3 eşit sütun; 2 sonuç varsa 2 dengeli kart (3. boş kutu yok);
   auto-fit + minmax bunu tek kuralla çözer. */
.oyt-scope .oyt-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 22px;
}

.oyt-scope .oyt-related-card {
	display: flex;
	flex-direction: column;
	background-color: #FFFFFF !important;
	border: 1px solid #E5EAF0;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.oyt-scope .oyt-related-card:hover,
.oyt-scope .oyt-related-card:focus-visible {
	box-shadow: 0 6px 18px rgba(18, 59, 115, 0.12);
	transform: translateY(-2px);
}

.oyt-scope .oyt-related-card-image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.oyt-scope .oyt-related-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.oyt-scope .oyt-related-card-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
	background-color: #FFFFFF !important;
}

.oyt-scope .oyt-related-card-date {
	font-size: 12px;
	color: #6b6f76 !important;
}

.oyt-scope .oyt-related-card-title {
	font-size: 16px;
	font-weight: 600;
	color: #2E2E2E !important;
	margin: 0;
	line-height: 1.4;
}

.oyt-scope .oyt-related-card-cta {
	font-size: 13px;
	font-weight: 600;
	color: #1E5AA8 !important;
	margin-top: auto;
	padding-top: 4px;
}

/* ---------- Astra koyu palet kurallarına karşı ek koruma ----------
   Astra'nın astra-dark-mode-enable seçicileri yalnız form/input/select/
   menü bağlamlarını hedefliyor; şablonda böyle öğeler bulunuyorsa
   (kopyala butonu gibi) burada açıkça sabitlenir. */

.oyt-scope.astra-dark-mode-enable,
body.astra-dark-mode-enable .oyt-scope {
	background-color: #FFFFFF !important;
	color: #2E2E2E !important;
}

body.astra-dark-mode-enable .oyt-scope .oyt-copy-link,
body.astra-dark-mode-enable .oyt-scope button {
	background-color: #FFFFFF !important;
	color: #1E5AA8 !important;
	border-color: #E5EAF0 !important;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
	.oyt-scope .oyt-hero {
		padding: 32px 0;
	}

	.oyt-scope .oyt-content {
		font-size: 16px;
	}

	.oyt-scope .oyt-content h2 {
		font-size: 24px;
	}

	.oyt-scope .oyt-content h3 {
		font-size: 19px;
	}
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
	.oyt-scope .oyt-container {
		padding: 0 20px;
	}

	.oyt-scope .oyt-hero {
		padding: 24px 0;
	}

	.oyt-scope .oyt-content {
		font-size: 15px;
	}

	.oyt-scope .oyt-content h2 {
		font-size: 21px;
	}

	.oyt-scope .oyt-content h3 {
		font-size: 17px;
	}

	.oyt-scope .oyt-content .wp-block-gallery {
		grid-template-columns: 1fr !important;
	}

	.oyt-scope .oyt-post-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.oyt-scope .oyt-adjacent-nav {
		flex-direction: column;
	}

	.oyt-scope .oyt-adjacent-nav--two .oyt-adjacent-prev {
		border-right: none;
		border-bottom: 1px solid #E5EAF0;
	}

	.oyt-scope .oyt-adjacent-next {
		text-align: left;
		align-items: flex-start;
	}

	.oyt-scope .oyt-related-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Erişilebilirlik ---------- */

.oyt-scope .oyt-hero a:focus-visible,
.oyt-scope .oyt-content a:focus-visible,
.oyt-scope .oyt-chip:focus-visible,
.oyt-scope .oyt-share-link:focus-visible,
.oyt-scope .oyt-adjacent-link:focus-visible,
.oyt-scope .oyt-related-card:focus-visible,
.oyt-scope .oyt-related-all:focus-visible {
	outline: 2px solid #E8B84B;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.oyt-scope .oyt-related-card {
		transition: none;
	}
}
