/* Tema özel eklentileri — form, flash mesajları, page-hero arka plan,
   boş durum ve sayfalama. Mevcut site.css'e dokunmaz. */

/* Page hero — tema ayarından gelen arka plan için CSS değişkeni. */
.page-hero[style*="--tftema-page-hero-bg"]::before {
	background-image: var(--tftema-page-hero-bg) !important;
}

/* Chip filtre — bağımlı chip gizleme */
.product-filter .chip.is-hidden { display: none !important; }
.filter-row.is-hidden { display: none !important; }

/* İletişim bilgi kartları (telefon / gsm / e-posta / adres) */
.tftema-info-group + .tftema-info-group { margin-top: 28px; }
.tftema-info-group-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d62;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #cfe1ef;
	letter-spacing: 0.01em;
}
.tftema-info-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}
.tftema-info-card {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	background: linear-gradient(135deg, #f1f7fc, #e0edf7);
	border: 1px solid #cfe1ef;
	border-radius: 16px;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.tftema-info-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -16px rgba(10, 61, 98, 0.35);
	border-color: #b8d6ea;
}
.tftema-info-card-icon {
	width: 44px; height: 44px; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid #b8d6ea; border-radius: 12px;
	color: #0f5795;
}
.tftema-info-card-body {
	display: flex; flex-direction: column; gap: 4px;
	min-width: 0; flex: 1;
}
.tftema-info-card-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #5a7a92;
	letter-spacing: 0.01em;
}
.tftema-info-card-value {
	font-size: 1.05rem;
	font-weight: 600;
	color: #0a3d62;
	line-height: 1.4;
	word-break: break-word;
}
.tftema-info-card-value a { color: inherit; text-decoration: none; }
.tftema-info-card-value a:hover { color: #0096c7; }

.tftema-map {
	height: 100%;
	display: flex;
}
.tftema-map iframe { flex: 1; }

/* Sayfalama */
.tftema-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 12px;
	margin: 0 4px;
	border-radius: 10px;
	color: #0a3d62;
	font-weight: 600;
	background: #f1f7fc;
	border: 1px solid #e0edf7;
	transition: all 0.2s;
	text-decoration: none;
	font-size: 0.95rem;
}
.tftema-pagination .page-numbers:hover,
.tftema-pagination .page-numbers.current {
	background: linear-gradient(135deg, #0a3d62, #0f5795);
	color: #fff;
	border-color: transparent;
}

/* Prose (post içeriği) */
.prose { color: #1f2937; font-size: 1.02rem; line-height: 1.75; max-width: 80ch; margin: 0 auto; }
.prose.prose-wide { max-width: none; margin: 0; }
.prose h2 { font-family: 'Playfair Display', serif; font-size: 1.8rem; color: #062a45; margin: 1.6em 0 0.6em; }
.prose h3 { font-size: 1.3rem; color: #0a3d62; margin: 1.3em 0 0.5em; font-weight: 700; }
.prose p { margin: 0 0 1em; }
.prose a { color: #0096c7; text-decoration: underline; }
.prose a:hover { color: #0f5795; }
.prose ul, .prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.prose li { margin: 0.3em 0; }
.prose img { max-width: 100%; height: auto; border-radius: 12px; margin: 1em 0; }
.prose blockquote {
	border-left: 4px solid #48cae4;
	padding: 0.5em 1em;
	color: #334155;
	font-style: italic;
	background: #f1f7fc;
	border-radius: 0 12px 12px 0;
	margin: 1em 0;
}

/* Özel badge sayıları (1970 rozet) — text-xs yerine okunabilir boyut */
.tftema-badge-num { font-size: 2.3rem; font-weight: 800; line-height: 1; color: #48cae4; }
.tftema-badge-label { font-size: 0.82rem; }

/* Footer "1970'den beri" mini etiket — text-xs yerine okunabilir */
.tftema-brand-mini { font-size: 0.82rem; color: rgba(255,255,255,0.7); }

/* Boş durum */
.tftema-empty {
	text-align: center;
	padding: 4rem 1.5rem;
	color: #64748b;
}
.tftema-empty p { margin: 0 0 1rem; }

/* Ürün arşiv filtre: yardımcı davranış */
.product-card.is-hidden { display: none !important; }

/* Hizmet Verdiğimiz Alanlar kartı — küçük fonttan kaçınarak okunabilir ölçüler. */
.services-num {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.services-card-text {
	font-size: 15px;
	line-height: 1.55;
}

/* Faaliyet Noktaları: sol parallax + sağ sabit harita düzeni mobilde alt alta. */
@media (max-width: 1023px) {
	.world-map-wrap { max-width: 560px; margin: 0 auto; }
}

/* Ürün kartı başlığı mobilde daha dengeli.
   Masaüstü: 1.7rem (site.css default) — dokunulmaz.
   Tablet ve mobil: ölçek küçültülür, min 15px (okunabilirlik kuralı ≥14px). */
@media (max-width: 767px) {
	.product-info h3 {
		font-size: clamp(1rem, 4vw, 1.25rem);
		line-height: 1.25;
	}
	.product-info p {
		font-size: 14px;
		line-height: 1.5;
	}
}
@media (max-width: 480px) {
	.product-info h3 { font-size: clamp(0.95rem, 4.2vw, 1.1rem); }
}

/* Anasayfa Bizden Haberler — yatay kart: sol kare foto, sağ yazı. */
.news-card-h {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 20px;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 34px -20px rgba(4,24,39,0.25), 0 0 0 1px rgba(15,87,149,0.06);
	text-decoration: none;
	color: inherit;
	transition: transform .35s ease, box-shadow .35s ease;
}
.news-card-h:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 44px -22px rgba(4,24,39,0.35), 0 0 0 1px rgba(15,87,149,0.1);
}
.news-card-h-media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #e0edf7;
	overflow: hidden;
}
.news-card-h-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.news-card-h:hover .news-card-h-media img { transform: scale(1.06); }
.news-card-h-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 22px 24px 22px 0;
	min-width: 0;
	word-break: break-word;
}
.news-card-h-body h4 {
	font-size: 19px;
	font-weight: 700;
	color: #0a3d62;
	line-height: 1.35;
	margin: 0;
}
.news-card-h-body p {
	font-size: 15px;
	line-height: 1.6;
	color: #475569;
	margin: 10px 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.news-card-h-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 600;
	color: #0f5795;
	letter-spacing: 0.02em;
}
.news-card-h:hover .news-card-h-more { color: #00b4d8; }

@media (max-width: 639px) {
	.news-card-h { grid-template-columns: 140px 1fr; gap: 14px; }
	.news-card-h-body { padding: 16px 16px 16px 0; }
	.news-card-h-body h4 { font-size: 17px; }
	.news-card-h-body p { font-size: 14px; -webkit-line-clamp: 2; }
}


/* ============================================================
   İşleme Adımları (anasayfa) — görsel + numara + başlık.
   ============================================================ */
.process-steps-section {
	background:
		radial-gradient(1200px 360px at 80% -10%, rgba(0, 180, 216, 0.08), transparent 60%),
		radial-gradient(900px 320px at 0% 110%, rgba(10, 61, 98, 0.06), transparent 65%),
		#f8fbfd;
}
.process-steps-section { padding: 4rem 0; overflow: visible; }
.process-steps-section .container-x { overflow: visible; }
.process-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	padding-top: 40px;
	padding-bottom: 40px;
	overflow: visible;
}
@media (min-width: 900px) {
	.process-steps-grid { grid-template-columns: repeat(9, minmax(0, 1fr)); align-items: start; }
	.process-steps-grid .process-step:nth-child(even) { margin-top: 32px; }
}
.process-step {
	position: relative;
	margin: 0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 22px -16px rgba(10, 61, 98, 0.45);
	overflow: visible;
	transition: box-shadow .35s ease;
	padding-top: 22px;
}
.process-step:hover {
	box-shadow: 0 14px 28px -16px rgba(10, 61, 98, 0.5);
}
.process-step-media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 10px;
	margin: 0 8px;
}
.process-step-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}
.process-step:hover .process-step-media img { transform: scale(1.06); }
.process-step-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 61, 98, 0.45) 0%, rgba(10, 61, 98, 0.1) 45%, transparent 70%);
	pointer-events: none;
}
.process-step-num {
	position: absolute;
	top: 6px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	min-width: 30px;
	height: 30px;
	padding: 0 9px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: linear-gradient(135deg, #0a3d62 0%, #00b4d8 100%);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 12px -3px rgba(10, 61, 98, 0.5);
}
.process-step-title {
	font-size: 14px;
	font-weight: 700;
	color: #0a3d62;
	line-height: 1.3;
	padding: 10px 10px 12px;
	text-align: center;
}

@media (max-width: 899px) {
	.process-steps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding-top: 22px; padding-bottom: 14px; }
}
@media (max-width: 479px) {
	.process-steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.process-step-title { font-size: 14px; padding: 9px 8px 11px; }
}
