/**
 * Umuda Vuslat — Components
 * Buton, kart, menü, form, badge, breadcrumb gibi yeniden kullanılabilir bileşenler.
 */

/* BUTTON */
.uv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--uv-space-2);
	padding: 0.875rem 1.75rem;
	font-family: var(--uv-font-body);
	font-weight: 600;
	font-size: var(--uv-fs-base);
	line-height: 1;
	border: 2px solid transparent;
	border-radius: var(--uv-radius-md);
	cursor: pointer;
	transition: background-color var(--uv-transition-fast), color var(--uv-transition-fast),
		border-color var(--uv-transition-fast), transform var(--uv-transition-fast),
		box-shadow var(--uv-transition-fast);
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
}
.uv-btn:hover { transform: translateY(-1px); box-shadow: var(--uv-shadow-md); }
.uv-btn:active { transform: translateY(0); }

.uv-btn--primary {
	background: var(--uv-primary);
	color: #fff;
	border-color: var(--uv-primary);
}
.uv-btn--primary:hover, .uv-btn--primary:focus {
	background: var(--uv-primary-dark);
	border-color: var(--uv-primary-dark);
	color: #fff;
}

.uv-btn--secondary {
	background: var(--uv-secondary);
	color: #fff;
	border-color: var(--uv-secondary);
}
.uv-btn--secondary:hover, .uv-btn--secondary:focus {
	background: var(--uv-secondary-dark);
	border-color: var(--uv-secondary-dark);
	color: #fff;
}

.uv-btn--outline {
	background: transparent;
	color: var(--uv-primary);
	border-color: var(--uv-primary);
}
.uv-btn--outline:hover, .uv-btn--outline:focus {
	background: var(--uv-primary);
	color: #fff;
}

.uv-btn--ghost {
	background: transparent;
	color: var(--uv-text);
	border-color: transparent;
}
.uv-btn--ghost:hover { background: var(--uv-bg-alt); color: var(--uv-primary); }

.uv-btn--lg { padding: 1.125rem 2.25rem; font-size: var(--uv-fs-md); }
.uv-btn--sm { padding: 0.625rem 1.25rem; font-size: var(--uv-fs-sm); }
.uv-btn--block { display: flex; width: 100%; }

/* MENU (Primary) */
.uv-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--uv-space-2);
}
.uv-menu li { position: relative; }
.uv-menu a {
	display: block;
	padding: var(--uv-space-3) var(--uv-space-4);
	color: var(--uv-text);
	font-weight: 600;
	font-size: var(--uv-fs-sm);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	border-radius: var(--uv-radius-sm);
	transition: color var(--uv-transition-fast), background-color var(--uv-transition-fast);
}
.uv-menu a:hover, .uv-menu .current-menu-item > a, .uv-menu .current_page_item > a {
	color: var(--uv-primary);
	background: rgba(1, 117, 100, 0.06);
}
.uv-menu .menu-item-has-children > a::after {
	content: '▾';
	margin-left: var(--uv-space-2);
	font-size: 0.7em;
	opacity: 0.6;
}
.uv-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: #fff;
	border: 1px solid var(--uv-border);
	border-radius: var(--uv-radius-md);
	box-shadow: var(--uv-shadow-lg);
	padding: var(--uv-space-2);
	list-style: none;
	display: none;
	z-index: var(--uv-z-dropdown);
}
.uv-menu li:hover > .sub-menu,
.uv-menu li:focus-within > .sub-menu { display: block; }
.uv-menu .sub-menu a {
	padding: var(--uv-space-3) var(--uv-space-4);
	text-transform: none;
	letter-spacing: 0;
	font-size: var(--uv-fs-base);
}
.uv-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}

.uv-menu-footer {
	flex-direction: column;
	gap: var(--uv-space-2);
}
.uv-menu-footer a {
	padding: var(--uv-space-1) 0;
	color: rgba(255,255,255,0.85);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	background: transparent !important;
}
.uv-menu-footer a:hover { color: var(--uv-secondary); }
.uv-menu-footer .current-menu-item > a,
.uv-menu-footer .current_page_item > a,
.uv-menu-footer .current-menu-ancestor > a {
	color: #fff;
	font-weight: 600;
}

/* MOBILE TOGGLE — hamburger */
.uv-mobile-toggle {
	display: none;
	background: transparent;
	border: 1px solid var(--uv-border);
	border-radius: var(--uv-radius-md);
	padding: 10px 12px;
	cursor: pointer;
	color: var(--uv-text);
	flex-direction: column;
	gap: 4px;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
}
.uv-mobile-toggle__bar {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--uv-primary, #017564);
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.25s ease;
}
.uv-mobile-toggle[aria-expanded="true"] .uv-mobile-toggle__bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.uv-mobile-toggle[aria-expanded="true"] .uv-mobile-toggle__bar:nth-child(2) { opacity: 0; }
.uv-mobile-toggle[aria-expanded="true"] .uv-mobile-toggle__bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.uv-mobile-toggle:focus-visible { outline: 2px solid var(--uv-primary); outline-offset: 2px; }

/* MOBILE CLOSE (X) ve mobile-donate — desktop'ta gizli */
.uv-mobile-close, .uv-mobile-donate { display: none; }

/* CARD */
.uv-card {
	background: #fff;
	border: 1px solid var(--uv-border);
	border-radius: var(--uv-radius-lg);
	overflow: hidden;
	transition: transform var(--uv-transition), box-shadow var(--uv-transition);
	display: flex;
	flex-direction: column;
}
.uv-card:hover { transform: translateY(-4px); box-shadow: var(--uv-shadow-lg); }
.uv-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--uv-bg-alt); }
.uv-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--uv-transition-slow); }
.uv-card:hover .uv-card__media img { transform: scale(1.05); }
.uv-card__body { padding: var(--uv-space-5); flex: 1; display: flex; flex-direction: column; }
.uv-card__title { font-size: var(--uv-fs-xl); margin-bottom: var(--uv-space-2); }
.uv-card__title a { color: var(--uv-black); }
.uv-card__title a:hover { color: var(--uv-primary); }
.uv-card__meta { font-size: var(--uv-fs-sm); color: var(--uv-text-muted); margin-bottom: var(--uv-space-3); }
.uv-card__excerpt { color: var(--uv-text-muted); margin-bottom: var(--uv-space-4); }
.uv-card__footer { margin-top: auto; }

/* BADGE */
.uv-badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: var(--uv-fs-xs);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: var(--uv-radius-full);
	background: var(--uv-bg-alt);
	color: var(--uv-text);
}
.uv-badge--primary { background: rgba(1, 117, 100, 0.12); color: var(--uv-primary); }
.uv-badge--secondary { background: rgba(193, 158, 97, 0.18); color: var(--uv-secondary-dark); }

/* BREADCRUMBS */
.uv-breadcrumbs {
	font-size: var(--uv-fs-sm);
	color: var(--uv-text-muted);
	display: flex;
	flex-wrap: wrap;
	gap: var(--uv-space-2);
	align-items: center;
}
.uv-breadcrumbs a { color: var(--uv-text-muted); }
.uv-breadcrumbs a:hover { color: var(--uv-primary); }
.uv-breadcrumbs .sep { opacity: 0.5; }

/* PAGINATION */
.uv-pagination, .pagination {
	display: flex;
	justify-content: center;
	gap: var(--uv-space-2);
	margin: var(--uv-space-7) 0;
}
.uv-pagination .page-numbers, .pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 var(--uv-space-3);
	border: 1px solid var(--uv-border);
	border-radius: var(--uv-radius-md);
	color: var(--uv-text);
	font-weight: 600;
}
.uv-pagination .page-numbers.current { background: var(--uv-primary); color: #fff; border-color: var(--uv-primary); }
.uv-pagination .page-numbers:hover { background: var(--uv-bg-alt); }

/* FORM HELPERS */
.uv-form-row { margin-bottom: var(--uv-space-5); }
.uv-form-row.error input, .uv-form-row.error textarea { border-color: var(--uv-error); }
.uv-form-message { padding: var(--uv-space-4); border-radius: var(--uv-radius-md); margin-bottom: var(--uv-space-4); }
.uv-form-message--success { background: rgba(46,125,50,0.12); color: var(--uv-success); }
.uv-form-message--error { background: rgba(198,40,40,0.12); color: var(--uv-error); }

/* TOP BAR (header üstü) */
.uv-topbar {
	background: var(--uv-primary);
	color: #fff;
	font-size: var(--uv-fs-sm);
	padding: var(--uv-space-2) 0;
}
.uv-topbar a { color: #fff; }
.uv-topbar a:hover { color: var(--uv-secondary-light); }
.uv-topbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--uv-space-4);
	flex-wrap: wrap;
}
.uv-topbar__contact { display: flex; gap: var(--uv-space-5); flex-wrap: wrap; align-items: center; }
.uv-topbar__social { display: flex; gap: var(--uv-space-3); }

/* Topbar — telefon & e-posta ikon eşliği */
.uv-topbar__phone,
.uv-topbar__email {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: color 0.2s ease, transform 0.2s ease;
}
.uv-topbar__phone:hover,
.uv-topbar__email:hover {
	color: #c19e61;
}
.uv-topbar__icon {
	flex-shrink: 0;
	width: 13px;
	height: 13px;
	color: #c19e61;
	opacity: 0.85;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
}
.uv-topbar__phone:hover .uv-topbar__icon {
	opacity: 1;
	transform: rotate(-12deg);
}
.uv-topbar__email:hover .uv-topbar__icon {
	opacity: 1;
	transform: translateY(-1px);
}

/* MOBİL TOPBAR — sadeleştir: mesaj + sosyal medya gizli, telefon+mail tek satır */
@media (max-width: 768px) {
	.uv-topbar__message,
	.uv-topbar__social {
		display: none !important;
	}
	.uv-topbar__inner {
		justify-content: center;
		flex-wrap: nowrap;
		gap: 12px;
	}
	.uv-topbar__contact {
		flex-wrap: nowrap;
		gap: 14px;
		justify-content: center;
		width: 100%;
	}
	.uv-topbar__phone,
	.uv-topbar__email {
		font-size: 12px;
	}
	.uv-topbar__email {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 50vw;
	}
}

/* SOSYAL MEDYA İKONLARI */
.uv-socials {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--uv-space-2);
	flex-wrap: wrap;
}
.uv-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--uv-radius-full);
	color: currentColor;
	background: rgba(255,255,255,0.1);
	transition: background-color var(--uv-transition-fast), transform var(--uv-transition-fast);
}
.uv-socials a:hover {
	background: var(--uv-secondary);
	color: #fff;
	transform: translateY(-2px);
}
.uv-socials--inline a {
	width: 28px;
	height: 28px;
	background: transparent;
}
.uv-socials--inline a:hover {
	background: rgba(255,255,255,0.15);
}
.uv-footer__social { margin-top: var(--uv-space-4); }

/* WHATSAPP FLOAT BUTON */
.uv-whatsapp-float {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 28px -8px rgba(37, 211, 102, 0.5), 0 4px 12px rgba(0,0,0,0.15);
	z-index: 999;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.uv-whatsapp-float svg {
	width: 28px !important;
	height: 28px !important;
	display: block;
	flex-shrink: 0;
}
.uv-whatsapp-float:hover {
	color: #fff;
	transform: scale(1.08);
	box-shadow: 0 18px 36px -10px rgba(37, 211, 102, 0.6), 0 6px 16px rgba(0,0,0,0.2);
}

/* BACK TO TOP */
.uv-back-to-top {
	position: fixed;
	bottom: 24px;
	left: 24px;
	width: 44px;
	height: 44px;
	border-radius: var(--uv-radius-full);
	background: var(--uv-primary);
	color: #fff;
	border: 0;
	cursor: pointer;
	box-shadow: var(--uv-shadow-md);
	font-size: 20px;
	font-weight: 700;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity var(--uv-transition-fast), transform var(--uv-transition-fast);
	z-index: var(--uv-z-overlay);
}
.uv-back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.uv-back-to-top:hover { background: var(--uv-primary-dark); color: #fff; }

/* LIGHTBOX */
.uv-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.92);
	z-index: var(--uv-z-modal);
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--uv-space-5);
}
.uv-lightbox.is-open { display: flex; }
.uv-lb__img {
	max-width: 90vw;
	max-height: 85vh;
	object-fit: contain;
	border-radius: var(--uv-radius-md);
	box-shadow: var(--uv-shadow-xl);
}
.uv-lb__close, .uv-lb__prev, .uv-lb__next {
	position: absolute;
	background: rgba(255,255,255,0.15);
	color: #fff;
	border: 0;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	font-size: 28px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.uv-lb__close:hover, .uv-lb__prev:hover, .uv-lb__next:hover { background: rgba(255,255,255,0.3); }
.uv-lb__close { top: 24px; right: 24px; }
.uv-lb__prev { left: 24px; top: 50%; transform: translateY(-50%); }
.uv-lb__next { right: 24px; top: 50%; transform: translateY(-50%); }
.uv-lb__counter {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-size: var(--uv-fs-sm);
	background: rgba(0,0,0,0.5);
	padding: 6px 14px;
	border-radius: var(--uv-radius-full);
}

/* FOOTER ek bileşenleri */
.uv-footer__about { color: rgba(255,255,255,0.75); font-size: var(--uv-fs-sm); margin-bottom: var(--uv-space-4); }
.uv-footer__bank { font-size: var(--uv-fs-sm); margin-bottom: var(--uv-space-4); }
.uv-footer__iban { font-family: 'SFMono-Regular', Consolas, monospace; word-break: break-all; }
.uv-footer__apps { display: flex; gap: var(--uv-space-3); margin-top: var(--uv-space-4); flex-wrap: wrap; }
.uv-footer__app {
	padding: var(--uv-space-2) var(--uv-space-4);
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: var(--uv-radius-md);
	font-size: var(--uv-fs-sm);
	color: #fff !important;
	transition: background-color var(--uv-transition-fast);
}
.uv-footer__app:hover { background: rgba(255,255,255,0.1); }
.uv-footer__authorization {
	margin-top: var(--uv-space-7);
	padding: var(--uv-space-4);
	background: rgba(255,255,255,0.05);
	border-radius: var(--uv-radius-md);
	font-size: var(--uv-fs-sm);
	color: rgba(255,255,255,0.7);
	text-align: center;
}

/* FontAwesome icon support — kart icon container'larında <i> ve emoji aynı görünür. */
.uv-home-area__icon i.fa,
.uv-home-area__icon i[class*="fa-"] { font-size: 30px; line-height: 1; }
.uv-mv-value__icon i.fa,
.uv-mv-value__icon i[class*="fa-"] { font-size: 26px; color: #017564; line-height: 1; }
.uv-sf-trust__icon i.fa,
.uv-sf-trust__icon i[class*="fa-"] { font-size: 20px; color: #017564; line-height: 1; }
.uv-yt-diger__icon i.fa,
.uv-yt-diger__icon i[class*="fa-"] { font-size: 22px; color: #017564; line-height: 1; }
.uv-mr-res-card__icon i.fa,
.uv-mr-res-card__icon i[class*="fa-"] { font-size: 22px; color: #017564; line-height: 1; }
.uv-ya-why__icon i.fa,
.uv-ya-why__icon i[class*="fa-"] { font-size: 24px; color: #017564; line-height: 1; }
