/*
 * Mesamy — Elementor tutkalı.
 *
 * Bu dosya yeni bir görsel dil tanımlamaz; temanın bölümleri Elementor
 * kapsayıcısının içine girdiğinde bozulan birkaç şeyi yerine oturtur.
 * Yalnızca sayfada bir Mesamy widget'ı varsa yüklenir (get_style_depends).
 */

/* Elementor her widget'ı bir sarmalayıcıya alır; bölümlerimiz kendi dikey
   boşluğunu taşıdığı için sarmalayıcı boşluk eklememeli. */
.elementor-widget-mesamy-slider .elementor-widget-container,
.elementor-widget-mesamy-trust .elementor-widget-container,
.elementor-widget-mesamy-cta .elementor-widget-container {
	margin: 0;
	padding: 0;
}

/* Tam genişlik sayfa şablonunda içerik kapsayıcısı yoktur; makale etiketi
   yalnızca anlamsal bir sarmalayıcı olarak kalır. */
.ms-full {
	margin: 0;
	padding: 0;
}

/* Güven bandı ve teklif bandı, kutulu bir kapsayıcı içine konulduğunda bile
   kendi zeminini kenardan kenara taşır; bant olmanın anlamı budur.

   Taşma, kapsayıcının İÇ BOŞLUĞU kadar değil, ekranın kenarına kadar
   hesaplanır. Önceki kural temanın kendi gutter'ı kadar negatif boşluk
   veriyordu; Elementor kapsayıcısının iç boşluğu bundan farklı olduğu için
   bant ekranı birkaç piksel aşıyor ve sayfada yatay kaydırma oluşuyordu. */
.elementor-widget-mesamy-trust .ms-usp,
.elementor-widget-mesamy-cta .ms-cta {
	margin-inline: calc(50% - 50vw);
}

@media (min-width: 1024px) {
	.elementor-widget-mesamy-trust .ms-usp,
	.elementor-widget-mesamy-cta .ms-cta {
		margin-inline: 0;
	}
}

/* Zemini Elementor kapsayıcısından verilen teklif bandı: kendi koyu zeminini
   bırakır, yalnızca boşluğunu ve beyaz metnini korur. */
.ms-cta--plain {
	background: none;
}

/* Yan kaydırmalı ürün listesi.
   Ayrı bir kütüphane yok: ızgara tek satıra alınır ve tarayıcının kendi
   scroll-snap'i kullanılır, böylece parmakla kaydırma doğal kalır. */
.ms-scroller {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	margin-inline: calc(50% - 50vw);
	padding-inline: calc(50vw - 50%);
}

.ms-scroller::-webkit-scrollbar {
	display: none;
}

.ms-scroller > .products {
	display: flex;
	gap: var(--ms-4);
}

.ms-scroller > .products > li {
	flex: 0 0 72%;
	scroll-snap-align: start;
}

@media (min-width: 640px) {
	.ms-scroller > .products > li { flex-basis: 42%; }
}

@media (min-width: 1024px) {
	.ms-scroller > .products > li { flex-basis: 23%; }
}

/* Editörde bölüm neden boş basmıyor: yalnızca düzenleyene görünür. */
.elementor-editor-active .ms-block-notice {
	display: block;
}

/* ==========================================================================
   Faz 4 — yeni yerleşimler

   Bu kurallar yalnızca YENİ seçenekler devredeyken iş görür: varsayılan
   ayarlarla hiçbiri eşleşmez, dolayısıyla mevcut sayfaların görünümü
   değişmez.
   ========================================================================== */

/* --- Teklif bandı: yan yana kutular --- */

.ms-cta__boxes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: var(--ms-4, 24px);
}

.ms-cta__box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 260px;
	padding: var(--ms-6, 40px) var(--ms-5, 32px);
	border-radius: var(--ms-r, 12px);
	background-size: cover;
	background-position: center;
}

/* Örtü yalnızca bir renk seçilince basılır (content kuralı Elementor'dan
   gelir); seçilmemişse ::before hiç oluşmaz. */
.ms-cta__box::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ms-cta__box > .ms-cta__inner {
	position: relative;
	z-index: 1;
	margin-inline: auto;
}

.ms-cta--multi { padding-block: var(--ms-7, 56px); }

/* --- Güven bandı: ayırıcı çizgi --- */

.ms-usp--divided .ms-usp__item + .ms-usp__item {
	border-left: 1px solid var(--ms-line, rgba(0, 20, 63, 0.12));
	padding-left: var(--ms-4, 24px);
}

@media (max-width: 899px) {
	/* İki sütunlu düzende her satırın ilk maddesinde çizgi olmamalı. */
	.ms-usp--divided .ms-usp__item:nth-child(odd) {
		border-left: 0;
		padding-left: 0;
	}
}

/* --- Neden biz: yerleşimler --- */

.ms-why__stacked > .ms-why { margin-top: var(--ms-5, 32px); }

.ms-why--numbered .ms-why__num {
	display: block;
	font-size: var(--ms-fs-sm, 0.875rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--ms-accent-2, #6083c0);
	margin-bottom: var(--ms-2, 8px);
}

/* Kart tıklanabilir olduğunda bağlantı kartın tamamını kaplar; metin rengi
   değişmez, çünkü renk kararı stil sekmesine aittir. */
.ms-why__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ms-why__link:focus-visible {
	outline: 2px solid var(--ms-accent, #012c8a);
	outline-offset: 4px;
}

/* --- İkon yerine görsel --- */

.ms-item__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* --- Bölüm başlığı: üst etiket ve alt metinle birlikte --- */

.ms-section__head--rich {
	align-items: flex-start;
}

.ms-section__head-text > .ms-kicker { margin-bottom: var(--ms-2, 8px); }
.ms-section__head-text > .ms-lede { margin: var(--ms-3, 16px) 0 0; }


/* Daralan ızgarada metin kutusu küçülebilmeli.

   Esnek kutular varsayılan olarak içeriklerinin en-küçük genişliğinin altına
   inmez; dar bir sütunda uzun bir başlık bu yüzden kutuyu dışarı taşırır.
   `min-width: 0` bu varsayılanı kaldırır: başlık sarar, kutu taşmaz. */
.ms-usp__item,
.ms-usp__body,
.ms-why__item,
.ms-steps__item {
	min-width: 0;
}

.ms-usp__body > * { overflow-wrap: anywhere; }
