/* =========================================================================
   Alibey Tıp — Elementor widget stilleri
   ========================================================================= */

/* Kutulu kapsayıcı içinde bile ekranı kaplayan bölümler. */
.ab-tam-genislik {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
}

/* --------------------------------------------------------------------- hero */

.ab-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(103deg, var(--ab-teal) 0%, #35959A 44%, var(--ab-teal-2) 100%);
	color: #fff;
	padding-top: 72px;
}
.ab-hero__nabiz {
	position: absolute;
	left: -40px;
	top: 6%;
	font-size: 300px;
	line-height: 0;
	color: rgba(255, 255, 255, .08);
	pointer-events: none;
	z-index: 1;
}
.ab-hero__ic {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: 40px;
	align-items: end;
	min-height: 540px;
}
/* Şeridin binebilmesi için metin sütunu altta pay bırakır. */
.ab-hero__metin { padding: 40px 0 156px; }

.ab-hero__ustyazi {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px;
	font-family: var(--ab-baslik-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .92);
}
.ab-hero__ustyazi .ab-ikon { font-size: 19px; }

.ab-hero__baslik {
	margin: 0;
	max-width: 11em;
	color: #fff;
	font-size: clamp(2.1rem, 1.25rem + 3vw, 3.85rem);
	line-height: 1.12;
	letter-spacing: -.035em;
	font-weight: 800;
}
.ab-hero__aciklama {
	max-width: 470px;
	margin: 22px 0 34px;
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255, 255, 255, .86);
}
.ab-hero__butonlar { display: flex; gap: 14px; flex-wrap: wrap; }

.ab-btn--hayalet {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .5);
}
.ab-btn--hayalet:hover { background: #fff; color: var(--ab-teal); border-color: #fff; }

.ab-hero__gorsel { align-self: end; position: relative; }
.ab-hero__gorsel img {
	display: block;
	width: 100%;
	max-width: 540px;
	margin-inline: auto;
	object-fit: contain;
}
.ab-hero__yer-tutucu {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 4;
	max-width: 420px;
	margin: 0 auto;
	font-size: 180px;
	color: rgba(255, 255, 255, .28);
}

/* -------------------------------------------------------------- öne çıkanlar */

.ab-serit { position: relative; z-index: 5; }
.ab-serit--binisik { margin-top: -112px; }
.ab-serit__ic {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 26px 60px rgba(16, 45, 60, .13);
	overflow: hidden;
}
.ab-serit__kutu {
	display: block;
	padding: 38px 30px 40px;
	text-align: center;
	color: inherit;
}
.ab-serit__kutu + .ab-serit__kutu { border-left: 1px solid #EAF1F4; }
.ab-serit__ikon {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--ab-mint-2);
	color: var(--ab-teal);
	font-size: 34px;
	transition: background-color var(--ab-gecis), color var(--ab-gecis), transform var(--ab-gecis);
}
a.ab-serit__kutu:hover .ab-serit__ikon { background: var(--ab-yesil); color: #fff; transform: translateY(-4px); }
.ab-serit__baslik { margin: 0 0 9px; font-size: 19px; color: var(--ab-mavi); }
.ab-serit__metin { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--ab-govde); }

/* ---------------------------------------------------------------- tanıtım */

.ab-hakkinda {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
	gap: 64px;
	align-items: center;
}
.ab-hakkinda--ters .ab-hakkinda__metin { order: 2; }

.ab-isaretli {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px 26px;
	list-style: none;
	margin: 26px 0 32px;
	padding: 0;
}
.ab-isaretli li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ab-baslik-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--ab-ink);
}
.ab-isaretli .ab-ikon { font-size: 21px; color: var(--ab-yesil); }

.ab-katman__rozet {
	position: absolute;
	left: -8px;
	bottom: 46px;
	z-index: 2;
	display: block;
	background: #fff;
	border-radius: 12px;
	padding: 16px 22px;
	box-shadow: 0 16px 40px rgba(16, 45, 60, .16);
	text-align: center;
	min-width: 128px;
}
.ab-katman__rozet strong {
	display: block;
	font-family: var(--ab-baslik-font);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.1;
	color: var(--ab-teal);
}
.ab-katman__rozet span { display: block; font-size: 13px; line-height: 1.4; color: var(--ab-govde); }

/* ---------------------------------------------------------------- imkânlar */

.ab-imkanlar {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}
/* Tasarımdaki kademeli diziliş: sol sütun aşağı kayar. */
.ab-imkanlar--kademeli > *:nth-child(odd) { margin-top: 42px; }

.ab-imkan {
	display: block;
	padding: 30px 26px 32px;
	border-radius: 10px;
	background: linear-gradient(155deg, #45BE9D 0%, #32A78B 100%);
	color: #fff;
	transition: transform var(--ab-gecis), box-shadow var(--ab-gecis);
}
a.ab-imkan:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(50, 167, 139, .38); color: #fff; }
.ab-imkan__ikon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 18px;
	border-radius: 13px;
	background: #fff;
	color: #2FA184;
	font-size: 26px;
}
.ab-imkan__baslik { margin: 0 0 8px; font-size: 17.5px; color: #fff; }
.ab-imkan__metin { margin: 0; font-size: 14.2px; line-height: 1.72; color: rgba(255, 255, 255, .87); }

/* ----------------------------------------------------------------- bölümler */

.ab-brans-izgara {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
.ab-brans {
	position: relative;
	display: block;
	background: #fff;
	border: 1px solid var(--ab-cizgi);
	border-radius: 10px;
	transition: transform var(--ab-gecis), box-shadow var(--ab-gecis), border-color var(--ab-gecis), background-color var(--ab-gecis);
}
.ab-brans:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 44px rgba(16, 45, 60, .12);
}
.ab-brans__ikon {
	display: grid;
	place-items: center;
	color: var(--ab-teal);
	transition: background-color var(--ab-gecis), color var(--ab-gecis);
}
.ab-brans__baslik { color: var(--ab-ink); line-height: 1.35; }
.ab-brans:hover .ab-brans__baslik { color: var(--ab-mavi); }
.ab-brans__ozet { margin: 0; font-size: 14.2px; line-height: 1.7; color: var(--ab-govde); }
.ab-brans__ok {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--ab-baslik-font);
	font-weight: 700;
	font-size: 14px;
	color: var(--ab-yesil);
}
.ab-brans-izgara__alt { margin-top: 40px; text-align: center; }

/* --- referanstaki biçim: mint kart, ortalanmış, daire ikon --- */
.ab-brans-izgara--orta .ab-brans {
	padding: 38px 28px 34px;
	text-align: center;
	background: var(--ab-mint-2);
	border-color: transparent;
}
.ab-brans-izgara--orta .ab-brans:hover {
	background: #fff;
	border-color: var(--ab-cizgi);
}
.ab-brans-izgara--orta .ab-brans__ikon {
	width: 70px;
	height: 70px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: #fff;
	font-size: 32px;
	box-shadow: 0 6px 18px rgba(16, 45, 60, .07);
}
.ab-brans-izgara--orta .ab-brans:hover .ab-brans__ikon { background: var(--ab-yesil); color: #fff; }
.ab-brans-izgara--orta .ab-brans__baslik { margin: 0 0 10px; font-size: 19px; }
.ab-brans-izgara--orta .ab-brans__ok {
	margin-top: 14px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height var(--ab-gecis), opacity var(--ab-gecis), margin-top var(--ab-gecis);
}
.ab-brans-izgara--orta .ab-brans:hover .ab-brans__ok,
.ab-brans-izgara--orta .ab-brans:focus-visible .ab-brans__ok { max-height: 30px; opacity: 1; }

/* --- sola yaslı biçim (iç sayfalarda) --- */
.ab-brans-izgara--sol .ab-brans { padding: 30px 26px 46px; overflow: hidden; }
.ab-brans-izgara--sol .ab-brans:hover { border-color: transparent; }
.ab-brans-izgara--sol .ab-brans__ikon {
	width: 62px;
	height: 62px;
	margin-bottom: 18px;
	border-radius: 16px;
	background: var(--ab-mint-2);
	font-size: 30px;
}
.ab-brans-izgara--sol .ab-brans:hover .ab-brans__ikon { background: var(--ab-yesil); color: #fff; }
.ab-brans-izgara--sol .ab-brans__baslik { margin: 0 0 9px; font-size: 18px; }
.ab-brans-izgara--sol .ab-brans__ok {
	position: absolute;
	right: 22px;
	bottom: 18px;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity var(--ab-gecis), transform var(--ab-gecis);
}
.ab-brans-izgara--sol .ab-brans__ok-yazi { display: none; }
.ab-brans-izgara--sol .ab-brans:hover .ab-brans__ok { opacity: 1; transform: translateX(0); }

/* ----------------------------------------------------------------- hekimler */

.ab-kaydirici { position: relative; }
.ab-kaydirici__oklar {
	position: absolute;
	top: -86px;
	right: 0;
	display: flex;
	gap: 10px;
}
.ab-ok {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 50%;
	background: #E7EFEC;
	color: #61707F;
	font-size: 21px;
	cursor: pointer;
	transition: background-color var(--ab-gecis), color var(--ab-gecis), opacity var(--ab-gecis);
}
.ab-ok--dolu { background: var(--ab-yesil); color: #fff; }
.ab-ok:hover:not(:disabled) { background: var(--ab-teal); color: #fff; }
.ab-ok:disabled { opacity: .35; cursor: default; }

.ab-kaydirici__ray {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 24px) / 4);
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 6px;
}
.ab-kaydirici__ray::-webkit-scrollbar { display: none; }
.ab-kaydirici__ray > * { scroll-snap-align: start; }

.ab-hekimler__izgara {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.ab-hekim__gorsel {
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 8px;
	overflow: hidden;
	background: var(--ab-mint-2);
}
.ab-hekim__gorsel img { width: 100%; height: 100%; object-fit: cover; }
.ab-hekim__yer-tutucu {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-size: 72px;
	color: var(--ab-teal);
	opacity: .45;
}
.ab-hekim__plaka {
	position: relative;
	z-index: 2;
	margin: -54px 16px 0;
	padding: 15px 14px 16px;
	background: #fff;
	border-radius: 8px;
	text-align: center;
	box-shadow: 0 12px 28px rgba(16, 45, 60, .12);
	transition: background-color var(--ab-gecis);
}
.ab-hekim:hover .ab-hekim__plaka,
.ab-hekim:focus-within .ab-hekim__plaka { background: var(--ab-yesil); }
.ab-hekim__ad { margin: 0; font-size: 17px; line-height: 1.3; }
.ab-hekim__ad a { color: var(--ab-mavi); }
.ab-hekim:hover .ab-hekim__ad a,
.ab-hekim:focus-within .ab-hekim__ad a { color: #fff; }
.ab-hekim__uzmanlik { margin: 5px 0 0; font-size: 13.5px; color: var(--ab-soluk); }
.ab-hekim:hover .ab-hekim__uzmanlik { color: rgba(255, 255, 255, .88); }
.ab-hekim__randevu {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 0;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	font-family: var(--ab-baslik-font);
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	transition: max-height var(--ab-gecis), opacity var(--ab-gecis), margin-top var(--ab-gecis);
}
.ab-hekim:hover .ab-hekim__randevu,
.ab-hekim:focus-within .ab-hekim__randevu { max-height: 40px; opacity: 1; margin-top: 10px; }

/* ----------------------------------------------------------------- sayaçlar */

.ab-sayaclar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
.ab-sayac { text-align: center; }
.ab-sayac__ikon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--ab-mint-2);
	color: var(--ab-teal);
	font-size: 30px;
}
.ab-sayac__deger {
	margin: 0;
	font-family: var(--ab-baslik-font);
	font-size: clamp(2rem, 1.4rem + 1.6vw, 2.8rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--ab-teal);
	letter-spacing: -.03em;
}
.ab-sayac__etiket { margin: 6px 0 0; font-size: 14.5px; }

.ab-sayaclar--ters .ab-sayac__ikon { background: rgba(255, 255, 255, .14); color: #fff; }
.ab-sayaclar--ters .ab-sayac__deger { color: #fff; }
.ab-sayaclar--ters .ab-sayac__etiket { color: rgba(255, 255, 255, .8); }

/* ------------------------------------------------------------------ randevu */

.ab-randevu {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
	gap: 50px;
	align-items: center;
}
/* Tasarımda form solda, görsel sağda. */
.ab-randevu__form { order: 0; background: #fff; border-radius: 14px; padding: 40px; box-shadow: var(--ab-golge); }
.ab-randevu__medya { order: 1; }

.ab-video {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--ab-mint-2);
}
.ab-video img { width: 100%; height: 100%; object-fit: cover; }
.ab-video__yer-tutucu {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-size: 92px;
	color: var(--ab-teal);
	opacity: .4;
}
.ab-video__dugme {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 76px;
	height: 76px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ab-yesil);
	font-size: 30px;
	cursor: pointer;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .22);
	transition: transform var(--ab-gecis);
}
.ab-video__dugme::before {
	content: '';
	position: absolute;
	inset: -14px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .55);
	animation: ab-nabiz 2.4s ease-out infinite;
}
.ab-video__dugme:hover { transform: scale(1.06); }
.ab-video.is-oynatiliyor .ab-video__dugme,
.ab-video.is-oynatiliyor img { display: none; }
.ab-video__cerceve { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@keyframes ab-nabiz {
	0%   { transform: scale(.85); opacity: .9; }
	100% { transform: scale(1.35); opacity: 0; }
}

/* -------------------------------------------------------------------- form */

.ab-form__kupe { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ab-form__satir { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ab-form__alan { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.ab-form__alan label {
	font-family: var(--ab-baslik-font);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ab-ink);
}
.ab-form__alan label span { color: var(--ab-yesil); }

.ab-form input[type="text"],
.ab-form input[type="tel"],
.ab-form input[type="email"],
.ab-form input[type="date"],
.ab-form select,
.ab-form textarea {
	width: 100%;
	font: inherit;
	font-size: 15px;
	padding: 13px 16px;
	color: var(--ab-ink);
	background: var(--ab-mint-1);
	border: 1px solid var(--ab-cizgi);
	border-radius: 8px;
	transition: border-color var(--ab-gecis), box-shadow var(--ab-gecis), background-color var(--ab-gecis);
}
.ab-form textarea { resize: vertical; min-height: 96px; }
.ab-form input:focus,
.ab-form select:focus,
.ab-form textarea:focus {
	outline: 0;
	background: #fff;
	border-color: var(--ab-yesil);
	box-shadow: 0 0 0 4px rgba(79, 196, 158, .16);
}
.ab-form .is-hatali { border-color: #D24B4B; background: #FEF7F7; }
.ab-form__hata { font-size: 13px; color: #C0392B; }

.ab-form__onay { margin: 4px 0 20px; }
.ab-form__onay label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.6;
	cursor: pointer;
}
.ab-form__onay input { margin-top: 4px; width: 17px; height: 17px; accent-color: var(--ab-yesil); flex: none; }

.ab-form__durum:empty { display: none; }
.ab-form__durum {
	margin: 16px 0 0;
	padding: 13px 16px;
	border-radius: 8px;
	font-size: 14.5px;
}
.ab-form__durum.is-basarili { background: #E9F8F1; color: #1B7A53; border: 1px solid #B7E4CE; }
.ab-form__durum.is-hata { background: #FDEDED; color: #B3261E; border: 1px solid #F5C6C6; }
.ab-form__not { margin: 14px 0 0; font-size: 13px; color: var(--ab-soluk); }

.ab-btn.is-yukleniyor { opacity: .7; cursor: progress; }

/* ----------------------------------------------------------------- iletişim */

.ab-iletisim__kartlar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 56px;
}
.ab-il-kart {
	background: #fff;
	border: 1px solid var(--ab-cizgi);
	border-radius: 10px;
	padding: 30px 24px;
	text-align: center;
	transition: transform var(--ab-gecis), box-shadow var(--ab-gecis);
}
.ab-il-kart:hover { transform: translateY(-5px); box-shadow: var(--ab-golge-kart); }
.ab-il-kart__ikon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--ab-mint-2);
	color: var(--ab-teal);
	font-size: 27px;
}
.ab-il-kart h3 { margin: 0 0 8px; font-size: 17px; }
.ab-il-kart p { margin: 0; font-size: 14.8px; line-height: 1.7; }
.ab-il-kart a { color: var(--ab-govde); }
.ab-il-kart a:hover { color: var(--ab-yesil); }

.ab-iletisim__alt {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: stretch;
}
.ab-iletisim__harita { min-height: 420px; border-radius: 14px; overflow: hidden; background: var(--ab-mint-2); }
.ab-iletisim__harita iframe { width: 100%; height: 100%; min-height: 420px; border: 0; display: block; }
.ab-harita-bos {
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 10px;
	height: 100%;
	min-height: 420px;
	padding: 30px;
	text-align: center;
	color: var(--ab-teal);
}
.ab-harita-bos span { font-size: 52px; opacity: .55; }
.ab-harita-bos p { margin: 0; font-size: 15px; color: var(--ab-govde); }
.ab-harita-bos__ipucu { font-size: 13px !important; color: var(--ab-soluk) !important; max-width: 320px; }

/* --------------------------------------------------------------- çağrı bandı */

.ab-cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(103deg, var(--ab-teal) 0%, #35959A 50%, var(--ab-teal-2) 100%);
	color: #fff;
	padding: 56px 0;
}
.ab-cta__nabiz {
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 220px;
	line-height: 0;
	color: rgba(255, 255, 255, .09);
	pointer-events: none;
}
.ab-cta__ic {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.ab-cta__baslik { margin: 0 0 6px; color: #fff; font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem); }
.ab-cta__metin p { margin: 0; color: rgba(255, 255, 255, .86); }
.ab-cta__eylem { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.ab-cta__tel { display: inline-flex; align-items: center; gap: 13px; color: #fff; }
.ab-cta__tel:hover { color: #fff; }
.ab-cta__tel-ikon {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
	font-size: 24px;
}
.ab-cta__tel small { display: block; font-size: 12.5px; opacity: .8; }
.ab-cta__tel strong { font-family: var(--ab-baslik-font); font-size: 21px; font-weight: 800; letter-spacing: -.02em; }

/* ------------------------------------------------------------- görünürlük */

.ab-beliren { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.ab-beliren.is-gorunur { opacity: 1; transform: none; }

/* Elementor'un frontend.min.css dosyasındaki `.elementor img{border-radius:0}`
   kuralı sonradan yüklendiği için aynı özgüllükteki kurallarımızı yener;
   ikinci sınıfla özgüllük artırılır. */
.elementor .ab-katman img.ab-katman__gorsel,
.elementor .ab-katman img { border-radius: 4px; }

.elementor .ab-bolum-basi--ters .ab-baslik { color: #fff; }
.ab-bolum-basi--ters .ab-baslik { color: #fff; }
.ab-bolum-basi--ters .ab-aciklama { color: rgba(255, 255, 255, .82); }

/* ---------------------------------------------------- tasarlanmış boş durum */

.ab-bos-kutu {
	display: grid;
	justify-items: center;
	gap: 16px;
	padding: 52px 30px 56px;
	text-align: center;
	background: #fff;
	border: 1px dashed var(--ab-cizgi);
	border-radius: var(--ab-r-buyuk);
}
.ab-bos-kutu__ikon {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: var(--ab-mint-2);
	color: var(--ab-teal);
	font-size: 34px;
}
.ab-bos-kutu__metin {
	margin: 0;
	max-width: 520px;
	font-size: 16px;
	color: var(--ab-govde);
}
.ab-bos-kutu__eylem { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; justify-content: center; }
.ab-bos-kutu__tel {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--ab-baslik-font);
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--ab-teal);
}
.ab-bos-kutu__tel:hover { color: var(--ab-yesil); }

/* ========================================================== yeni bölümler */

/* ------------------------------------------------------- sayaç bandı (mavi) */

.ab-serit-mavi {
	background: linear-gradient(100deg, var(--ab-mavi) 0%, #2E6FD6 100%);
	color: #fff;
}
.ab-sayaclar--ters .ab-sayac__deger { color: #fff; }
.ab-sayac--bos .ab-sayac__deger { opacity: .55; }
.ab-sayac--bos .ab-sayac__deger span { cursor: help; }

/* --------------------------------------------------------- hasta yorumları */

.ab-yorumlar {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 56px;
	align-items: center;
}
.ab-yorumlar__basi .ab-baslik { margin-bottom: 16px; }
.ab-kaydirici__oklar--akis { position: static; margin-top: 26px; display: flex; gap: 10px; }

.ab-kaydirici__ray--yorum { grid-auto-columns: calc((100% - 24px) / 2); align-items: stretch; }

.ab-yorum {
	position: relative;
	margin: 0;
	padding: 34px 28px 28px;
	background: #fff;
	border: 1px solid var(--ab-cizgi);
	border-radius: var(--ab-r-buyuk);
	box-shadow: var(--ab-golge-kart);
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.ab-yorum__tirnak {
	position: absolute;
	top: 6px;
	right: 24px;
	font-family: var(--ab-baslik-font);
	font-size: 84px;
	line-height: 1;
	color: var(--ab-mint-2);
	pointer-events: none;
}
.ab-yorum__metin {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 15.5px;
	line-height: 1.8;
	color: var(--ab-govde);
	flex: 1;
}
.ab-yorum__metin p { margin: 0 0 .8em; }
.ab-yorum__kim {
	display: flex;
	align-items: center;
	gap: 13px;
	padding-top: 18px;
	border-top: 1px solid var(--ab-cizgi);
	font-size: 14px;
}
.ab-yorum__kim strong {
	display: block;
	font-family: var(--ab-baslik-font);
	font-size: 15.5px;
	color: var(--ab-ink);
}
.ab-yorum__kim small { color: var(--ab-soluk); font-size: 13px; }
.ab-yorum__avatar {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	flex: none;
	border-radius: 50%;
	overflow: hidden;
	background: var(--ab-mint-2);
	color: var(--ab-teal);
	font-size: 22px;
}
/* Elementor'un `.elementor img{border-radius:0}` kuralını yenmek için iki sınıf. */
.elementor .ab-yorum .ab-yorum__avatar img,
.ab-yorum__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.ab-yorum__kaynak {
	margin-left: auto;
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 20px;
	background: var(--ab-mint-2);
	color: var(--ab-teal);
	white-space: nowrap;
}

/* ------------------------------------------------------- çalışma adımları */

.ab-adimlar {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	position: relative;
}
/* Adımlar arasındaki bağlantı çizgisi. */
.ab-adimlar::before {
	content: '';
	position: absolute;
	top: 44px;
	left: 16%;
	right: 16%;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--ab-cizgi) 0 10px, transparent 10px 20px);
	z-index: 0;
}
.ab-adim { position: relative; z-index: 1; text-align: center; }
.ab-adim__ikon {
	position: relative;
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--ab-mint-2);
	color: var(--ab-teal);
	font-size: 36px;
	transition: border-color var(--ab-gecis), transform var(--ab-gecis);
}
.ab-adim:hover .ab-adim__ikon { border-color: var(--ab-yesil); transform: translateY(-4px); }
.ab-adim__no {
	position: absolute;
	top: -4px;
	right: -4px;
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--ab-yesil);
	color: #fff;
	font-family: var(--ab-baslik-font);
	font-size: 14px;
	font-weight: 800;
}
.ab-adim__baslik { margin: 0 0 9px; font-size: 19px; }
.ab-adim__metin { margin: 0; font-size: 14.8px; line-height: 1.72; max-width: 300px; margin-inline: auto; }

/* -------------------------------------------------------------- e-bülten */

.ab-bulten {
	background: linear-gradient(100deg, var(--ab-mavi) 0%, #2E6FD6 100%);
	color: #fff;
	padding: 56px 0;
}
.ab-bulten__ic {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
}
.ab-bulten__ustyazi {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	font-family: var(--ab-baslik-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .82);
}
.ab-bulten__ustyazi .ab-ikon { font-size: 18px; }
.ab-bulten__baslik {
	margin: 0;
	color: #fff;
	font-size: clamp(1.45rem, 1.05rem + 1.4vw, 2.05rem);
}
.ab-bulten__satir { display: flex; gap: 12px; }
.ab-bulten__form input[type="email"] {
	flex: 1;
	min-width: 0;
	background: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .3);
	color: #fff;
	padding: 15px 18px;
}
.ab-bulten__form input[type="email"]::placeholder { color: rgba(255, 255, 255, .7); }
.ab-bulten__form input[type="email"]:focus {
	background: rgba(255, 255, 255, .2);
	border-color: #fff;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .16);
	color: #fff;
}
.ab-bulten__form .ab-btn--beyaz { color: var(--ab-mavi); }
.ab-bulten__onay { margin: 14px 0 0; font-size: 13.5px; color: rgba(255, 255, 255, .82); }
.ab-bulten__onay a { color: #fff; text-decoration: underline; }
.ab-bulten__onay input { accent-color: #fff; }
.ab-bulten .ab-form__durum { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .3); color: #fff; }
.ab-bulten .ab-form__durum.is-basarili { background: rgba(255, 255, 255, .22); color: #fff; border-color: rgba(255, 255, 255, .45); }
.ab-bulten .ab-form__durum.is-hata { background: rgba(255, 92, 92, .28); color: #fff; border-color: rgba(255, 255, 255, .4); }
.ab-bulten .ab-form__hata { color: #FFE0E0; }

/* --------------------------------------------------- yazı kartı üst bilgisi */

.ab-kart__ust-bilgi {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0;
	font-size: 13.5px;
	color: var(--ab-soluk);
}
.ab-kart__ust-bilgi span { display: inline-flex; align-items: center; gap: 7px; }
.ab-kart__ust-bilgi .ab-ikon { font-size: 16px; color: var(--ab-yesil); }

/* İletişim kartlarındaki telefon/e-posta bağlantıları 18px yüksekliğindeydi. */
.ab-il-kart p a { display: inline-block; min-height: 24px; padding-block: 3px; }
