/* ==========================================================================
   Bozbay Theme — builder elemanları
   ========================================================================== */

.bz-grid {
	display: grid;
	grid-template-columns: repeat(var(--bz-cols, 3), minmax(0, 1fr));
	gap: 28px;
}

@media (max-width: 991px) {
	.bz-grid {
		grid-template-columns: repeat(min(var(--bz-cols, 3), 2), minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.bz-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bz-align-left { text-align: start; }
.bz-align-center { text-align: center; }
.bz-align-right { text-align: end; }

/* --------------------------------------------------------------------------
   Bölüm başlığı
   -------------------------------------------------------------------------- */

.bz-el-heading {
	display: block;
	margin-bottom: 8px;
}

.bz-heading__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	padding: 5px 12px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bz-primary);
	background: rgba(37, 99, 235, 0.08);
	border-radius: 999px;
}

.bz-heading__title {
	margin-bottom: 12px;
}

.bz-heading__subtitle {
	max-width: 62ch;
	margin: 0;
	color: var(--bz-muted);
	font-size: 1.0625rem;
}

.bz-align-center .bz-heading__subtitle {
	margin-inline: auto;
}

/* --------------------------------------------------------------------------
   Ayraç
   -------------------------------------------------------------------------- */

.bz-el-divider,
.bz-el-space {
	display: block;
	width: 100%;
}

.bz-divider {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--bz-border);
}

.bz-divider--dashed {
	border-top-style: dashed;
}

/* --------------------------------------------------------------------------
   Özellik listesi
   -------------------------------------------------------------------------- */

.bz-el-list {
	display: block;
}

.bz-list {
	display: grid;
	grid-template-columns: repeat(var(--bz-cols, 1), minmax(0, 1fr));
	gap: 10px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 767px) {
	.bz-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bz-list__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.bz-list__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(37, 99, 235, 0.1);
	color: var(--bz-primary);
}

/* --------------------------------------------------------------------------
   Görsel kutu
   -------------------------------------------------------------------------- */

.bz-el-imagebox {
	display: block;
}

.bz-imagebox {
	position: relative;
	display: flex;
	align-items: flex-end;
	padding: 28px;
	overflow: hidden;
	border-radius: calc(var(--bz-radius) * 1.5);
	background-size: cover;
	background-position: center;
	color: #fff;
	transition: transform 0.3s ease;
}

.bz-imagebox:hover {
	transform: translateY(-3px);
	color: #fff;
}

.bz-align-center .bz-imagebox { align-items: center; justify-content: center; }
.bz-align-right .bz-imagebox { justify-content: flex-end; }

.bz-imagebox__overlay {
	position: absolute;
	inset: 0;
	background: #000;
}

.bz-imagebox__body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: inherit;
	gap: 10px;
}

.bz-imagebox__subtitle {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.85;
}

.bz-imagebox__title {
	font-family: var(--bz-font-heading);
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight: var(--bz-heading-weight);
	line-height: 1.2;
}

/* --------------------------------------------------------------------------
   CTA
   -------------------------------------------------------------------------- */

.bz-el-cta {
	display: block;
}

.bz-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 36px 40px;
	border-radius: calc(var(--bz-radius) * 2);
}

.bz-cta--column {
	flex-direction: column;
	text-align: center;
}

.bz-cta__title {
	margin: 0 0 6px;
	color: inherit;
	font-size: clamp(20px, 2.4vw, 28px);
}

.bz-cta__desc {
	margin: 0;
	opacity: 0.85;
}

@media (max-width: 767px) {
	.bz-cta {
		flex-direction: column;
		text-align: center;
		padding: 28px 22px;
	}
}

/* --------------------------------------------------------------------------
   İkon kutu
   -------------------------------------------------------------------------- */

.bz-el-iconbox {
	display: block;
	height: 100%;
}

.bz-iconbox {
	display: flex;
	gap: 16px;
	height: 100%;
}

.bz-iconbox--top {
	flex-direction: column;
}

.bz-iconbox--boxed {
	padding: 28px;
	border: 1px solid var(--bz-border);
	border-radius: calc(var(--bz-radius) * 1.5);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bz-iconbox--boxed:hover {
	border-color: transparent;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.09);
}

.bz-iconbox--filled {
	padding: 28px;
	background: #f7f8fa;
	border-radius: calc(var(--bz-radius) * 1.5);
}

.bz-iconbox__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: var(--bz-radius);
	background: rgba(37, 99, 235, 0.1);
	color: var(--bz-primary);
}

.bz-iconbox__icon img {
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.bz-iconbox__title {
	margin: 0 0 8px;
	font-size: 1.125rem;
}

.bz-iconbox__text {
	margin: 0;
	color: var(--bz-muted);
}

.bz-iconbox__link {
	display: inline-block;
	margin-top: 10px;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Sayaç
   -------------------------------------------------------------------------- */

.bz-el-counter {
	display: block;
	width: 100%;
}

.bz-counter {
	text-align: center;
}

.bz-counter__icon {
	display: inline-flex;
	margin-bottom: 8px;
	color: var(--bz-primary);
}

.bz-counter__value {
	font-family: var(--bz-font-heading);
	font-size: clamp(30px, 4vw, 48px);
	font-weight: var(--bz-heading-weight);
	line-height: 1.1;
	color: var(--bz-text);
}

.bz-counter__label {
	margin-top: 6px;
	color: var(--bz-muted);
}

/* --------------------------------------------------------------------------
   İlerleme çubuğu
   -------------------------------------------------------------------------- */

.bz-el-progress {
	display: block;
	width: 100%;
}

.bz-progress__head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
	font-size: 0.9375rem;
	font-weight: 500;
}

.bz-progress__track {
	height: 8px;
	background: var(--bz-border);
	border-radius: 999px;
	overflow: hidden;
}

.bz-progress__bar {
	display: block;
	width: 0;
	height: 100%;
	background: var(--bz-primary);
	border-radius: inherit;
	transition: width 1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --------------------------------------------------------------------------
   Geri sayım
   -------------------------------------------------------------------------- */

.bz-el-countdown {
	display: block;
	width: 100%;
}

.bz-countdown {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.bz-countdown__unit {
	min-width: 84px;
	padding: 16px 12px;
	text-align: center;
	background: #f7f8fa;
	border-radius: calc(var(--bz-radius) * 1.5);
}

.bz-countdown__num {
	display: block;
	font-family: var(--bz-font-heading);
	font-size: 2rem;
	font-weight: var(--bz-heading-weight);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.bz-countdown__label {
	font-size: 0.8125rem;
	color: var(--bz-muted);
}

/* --------------------------------------------------------------------------
   Referanslar
   -------------------------------------------------------------------------- */

.bz-el-testimonial,
.bz-el-team,
.bz-el-brands,
.bz-el-gallery,
.bz-el-faq,
.bz-el-posts,
.bz-el-products,
.bz-el-product-cats,
.bz-el-page-title,
.bz-el-video,
.bz-el-map {
	display: block;
	width: 100%;
}

.bz-testimonial {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 26px;
	background: var(--bz-bg);
	border: 1px solid var(--bz-border);
	border-radius: calc(var(--bz-radius) * 1.5);
	height: 100%;
}

.bz-testimonial__stars {
	display: flex;
	gap: 2px;
	color: #f59e0b;
}

.bz-testimonial__stars svg {
	fill: currentColor;
}

/* Bu bir <blockquote>; genel alıntı stilini (gri kutu + sol çizgi) devralıp
   kart tasarımıyla çakışıyordu. Burada sıfırlıyoruz. */

.bz-testimonial__text {
	margin: 0;
	padding: 0;
	flex: 1 1 auto;
	background: none;
	border: 0;
	border-radius: 0;
	color: var(--bz-text);
	font-size: 1rem;
}

.bz-testimonial__text::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	margin-bottom: 12px;
	background: var(--bz-primary);
	opacity: 0.35;
}

.bz-testimonial__author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.bz-testimonial__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}

.bz-testimonial__author span {
	display: flex;
	flex-direction: column;
	line-height: 1.35;
}

.bz-testimonial__author small {
	color: var(--bz-muted);
}

/* --------------------------------------------------------------------------
   Fiyat tablosu
   -------------------------------------------------------------------------- */

.bz-el-pricing {
	display: block;
	height: 100%;
	width: 100%;
}

.bz-pricing {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	padding: 32px 28px;
	background: var(--bz-bg);
	border: 1px solid var(--bz-border);
	border-radius: calc(var(--bz-radius) * 2);
	text-align: center;
}

.bz-pricing.is-featured {
	border-color: var(--bz-primary);
	box-shadow: 0 14px 40px rgba(37, 99, 235, 0.14);
}

.bz-pricing__badge {
	position: absolute;
	top: -12px;
	inset-inline: 0;
	width: fit-content;
	margin-inline: auto;
	padding: 5px 14px;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	background: var(--bz-primary);
	border-radius: 999px;
}

.bz-pricing__title {
	margin: 0;
	font-size: 1.125rem;
}

.bz-pricing__price {
	font-family: var(--bz-font-heading);
	font-size: 2.5rem;
	font-weight: var(--bz-heading-weight);
	line-height: 1;
}

.bz-pricing__price small {
	font-size: 0.9375rem;
	font-weight: 400;
	color: var(--bz-muted);
}

.bz-pricing__features {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: start;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bz-pricing__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--bz-muted);
}

.bz-pricing__features svg {
	flex: 0 0 auto;
	margin-top: 3px;
	color: var(--bz-primary);
}

/* --------------------------------------------------------------------------
   Ekip
   -------------------------------------------------------------------------- */

.bz-team {
	text-align: center;
}

.bz-team__photo {
	margin-bottom: 14px;
	border-radius: calc(var(--bz-radius) * 1.5);
	overflow: hidden;
}

.bz-team__photo img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.bz-team:hover .bz-team__photo img {
	transform: scale(1.04);
}

.bz-team__name {
	margin: 0 0 2px;
	font-size: 1.0625rem;
}

.bz-team__role {
	margin: 0;
	color: var(--bz-muted);
	font-size: 0.9375rem;
}

/* --------------------------------------------------------------------------
   Markalar & galeri
   -------------------------------------------------------------------------- */

.bz-brands {
	display: grid;
	grid-template-columns: repeat(var(--bz-cols, 5), minmax(0, 1fr));
	gap: 20px;
	align-items: center;
}

@media (max-width: 767px) {
	.bz-brands {
		grid-template-columns: repeat(min(var(--bz-cols, 5), 3), minmax(0, 1fr));
	}
}

.bz-brands__item img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.bz-brands.is-grayscale img {
	filter: grayscale(1);
	opacity: 0.6;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.bz-brands.is-grayscale img:hover {
	filter: grayscale(0);
	opacity: 1;
}

.bz-gallery {
	display: grid;
	grid-template-columns: repeat(var(--bz-cols, 3), minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 767px) {
	.bz-gallery {
		grid-template-columns: repeat(min(var(--bz-cols, 3), 2), minmax(0, 1fr));
	}
}

.bz-gallery__item {
	display: block;
	overflow: hidden;
	border-radius: var(--bz-radius);
}

.bz-gallery__item img {
	width: 100%;
	aspect-ratio: var(--bz-ratio, 1 / 1);
	object-fit: cover;
	transition: transform 0.35s ease;
}

.bz-gallery__item:hover img {
	transform: scale(1.05);
}

/* --------------------------------------------------------------------------
   SSS
   -------------------------------------------------------------------------- */

.bz-faq {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bz-faq__item {
	border: 1px solid var(--bz-border);
	border-radius: calc(var(--bz-radius) * 1.5);
	overflow: hidden;
	background: var(--bz-bg);
}

.bz-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 22px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.bz-faq__q::-webkit-details-marker {
	display: none;
}

.bz-faq__q svg {
	flex: 0 0 auto;
	color: var(--bz-primary);
	transition: transform 0.2s ease;
}

.bz-faq__item[open] .bz-faq__q svg {
	transform: rotate(45deg);
}

.bz-faq__a {
	padding: 0 22px 20px;
	color: var(--bz-muted);
}

.bz-faq__a > *:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Video & harita
   -------------------------------------------------------------------------- */

.bz-video {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: calc(var(--bz-radius) * 1.5);
	background-color: #111;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	overflow: hidden;
}

.bz-video__play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.bz-video__play svg {
	width: 72px;
	height: 72px;
	padding: 22px;
	background: rgba(0, 0, 0, 0.45);
	border-radius: 50%;
	fill: currentColor;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.bz-video:hover .bz-video__play svg {
	transform: scale(1.08);
	background: var(--bz-primary);
}

.bz-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.bz-el-map {
	--bz-map-height: 420px;
	width: 100%;
	height: clamp(280px, min(48vh, 56vw), var(--bz-map-height));
	min-height: 280px;
	border-radius: calc(var(--bz-radius) * 1.5);
	overflow: hidden;
	background: var(--bz-border);
}

.bz-map {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	vertical-align: top;
}

@media (min-width: 768px) {
	.bz-el-map {
		height: clamp(360px, min(52vh, 42vw), var(--bz-map-height));
		min-height: 360px;
	}
}

@media (min-width: 1200px) {
	.bz-el-map {
		height: clamp(400px, min(48vh, 38vw), var(--bz-map-height));
		max-height: 520px;
	}
}

@media (max-width: 767px) {
	.bz-el-map {
		height: clamp(240px, 62vw, var(--bz-map-height));
		min-height: 240px;
	}
}

/* --------------------------------------------------------------------------
   Sayfa başlığı / breadcrumb
   -------------------------------------------------------------------------- */

.bz-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.9375rem;
	color: var(--bz-muted);
}

.bz-align-center .bz-breadcrumb { justify-content: center; }
.bz-align-right .bz-breadcrumb { justify-content: flex-end; }

.bz-breadcrumb a {
	color: var(--bz-muted);
}

.bz-breadcrumb a:hover {
	color: var(--bz-primary);
}

/* --------------------------------------------------------------------------
   Yazı listesi
   -------------------------------------------------------------------------- */

.bz-post-list-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.bz-post-list-item__media img {
	width: 84px;
	height: 84px;
	object-fit: cover;
	border-radius: var(--bz-radius);
}

.bz-post-list-item__title {
	margin: 0 0 4px;
	font-size: 1rem;
	line-height: 1.4;
}

.bz-post-list-item__title a {
	color: var(--bz-text);
}

.bz-post-list-item__title a:hover {
	color: var(--bz-primary);
}
