/**
 * Yeniden kullanilabilir bilesenler: buton, kart, badge, form, header, footer, sticky CTA.
 */

/* Butonlar */
.gma-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 22px;
	font-size: 13px;
	font-weight: 600;
	border-radius: var(--gma-radius-sm);
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: background var(--gma-transition-fast), color var(--gma-transition-fast), transform var(--gma-transition-fast);
	font-family: var(--gma-font);
}
.gma-btn:active { transform: scale(0.98); }
.gma-btn--primary { background: var(--gma-navy); color: #FFFFFF; }
.gma-btn--primary:hover { background: var(--gma-navy-hover); color: #FFFFFF; }
.gma-btn--secondary { background: #FFFFFF; color: var(--gma-navy); border-color: var(--gma-navy); }
.gma-btn--secondary:hover { background: var(--gma-bg-2); }
.gma-btn--ghost { background: transparent; color: var(--gma-navy); padding: 4px 0; font-weight: 600; }
.gma-btn--block { width: 100%; }

/* Badge / trust rozeti */
.gma-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--gma-bg-2);
	color: var(--gma-navy);
	font-size: 11px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: var(--gma-radius-pill);
}
.gma-badge__dot {
	width: 6px; height: 6px; border-radius: 50%;
	background: var(--gma-success);
	display: inline-block;
}

/* Kartlar */
.gma-card {
	border: 0.5px solid var(--gma-border);
	border-radius: var(--gma-radius);
	padding: var(--gma-space-3);
	background: #FFFFFF;
	transition: transform var(--gma-transition-fast), box-shadow var(--gma-transition-fast);
}
.gma-card:hover { transform: translateY(-3px); }
.gma-card__icon {
	width: 34px; height: 34px;
	border-radius: 9px;
	background: var(--gma-navy);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: var(--gma-space-2);
	font-size: 18px;
}
.gma-card__title { font-size: 14px; font-weight: 700; color: var(--gma-navy); margin-bottom: 6px; }
.gma-card__desc { font-size: 12px; color: var(--gma-text-muted-2); margin-bottom: 10px; }

/* Grid yardimcilari */
.gma-grid { display: grid; gap: var(--gma-space-2); }
.gma-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gma-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gma-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Form elemanlari */
.gma-field { margin-bottom: var(--gma-space-2); }
.gma-field label { display: block; font-size: 12px; font-weight: 600; color: var(--gma-text); margin-bottom: 6px; }
.gma-input, .gma-textarea, .gma-select {
	width: 100%;
	padding: 11px 14px;
	border: 0.5px solid var(--gma-border-strong);
	border-radius: var(--gma-radius-sm);
	font-family: var(--gma-font);
	font-size: 13px;
	background: #FFFFFF;
	transition: border-color var(--gma-transition-fast);
}
.gma-input:focus, .gma-textarea:focus, .gma-select:focus {
	border-color: var(--gma-navy);
	outline: none;
}
.gma-field--error .gma-input,
.gma-field--error .gma-textarea { border-color: var(--gma-danger); }
.gma-field__error-msg { color: var(--gma-danger); font-size: 11px; margin-top: 4px; }
.gma-honeypot { position: absolute; left: -9999px; opacity: 0; }

/* Header */
.gma-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #FFFFFF;
	border-bottom: 0.5px solid var(--gma-border);
}
.gma-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
}
.gma-logo img { height: 34px; width: auto; }
.gma-logo { display: inline-flex; align-items: center; min-width: 0; }
.gma-logo .custom-logo-link { display: inline-flex; align-items: center; }
.gma-logo .custom-logo { height: 38px; width: auto; max-width: 100%; }
/* Logo yedeği: görsel yüklenemezse site adı metni gösterilir (kırık görsel simgesi çıkmaz) */
.gma-logo__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gma-logo--fallback .gma-logo__text { position: static; width: auto; height: auto; clip: auto; overflow: visible; font-size: 19px; font-weight: 800; color: var(--gma-navy); }
.gma-logo { font-size: 19px; font-weight: 800; color: var(--gma-navy); }
.gma-nav > ul, .gma-nav .gma-menu { list-style: none; display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; }
.gma-nav a, .gma-nav .gma-menu__label { font-size: 13px; font-weight: 500; color: var(--gma-text); }
.gma-nav a:hover { color: var(--gma-navy); }
.gma-nav li[aria-current], .gma-nav .current-menu-item > a { color: var(--gma-navy); font-weight: 700; }

/* Açılır menü (masaüstü) */
.gma-nav .menu-item { position: relative; display: flex; align-items: center; gap: 2px; }
.gma-nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: -14px;
	min-width: 270px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: #FFFFFF;
	border: 0.5px solid var(--gma-border-strong);
	border-radius: var(--gma-radius-sm);
	box-shadow: 0 10px 28px rgba(10, 59, 107, 0.12);
	z-index: 120;
}
.gma-nav .sub-menu .menu-item { display: block; }
.gma-nav .sub-menu a { display: block; padding: 9px 12px; border-radius: 6px; font-size: 13px; }
.gma-nav .sub-menu a:hover, .gma-nav .sub-menu a:focus { background: var(--gma-bg-2); }
.gma-nav .menu-item-has-children:hover > .sub-menu,
.gma-nav .menu-item-has-children:focus-within > .sub-menu,
.gma-nav .menu-item-has-children.is-open > .sub-menu { display: block; }
/* Fare ile üst öğeden alt menüye geçerken boşlukta kapanmaması için görünmez köprü */
.gma-nav .menu-item-has-children > .sub-menu::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.gma-submenu-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	background: none; border: 0; padding: 4px; cursor: pointer; color: var(--gma-text);
	border-radius: 4px;
}
.gma-submenu-toggle:hover { color: var(--gma-navy); }
.gma-submenu-toggle svg { transition: transform var(--gma-transition-fast); }
.gma-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

/* Mobil menü */
.gma-mobile-menu { padding: 8px 16px 20px; border-top: 0.5px solid var(--gma-border); background: #FFFFFF; max-height: calc(100vh - 70px); overflow-y: auto; }
.gma-mobile-menu .gma-menu { list-style: none; margin: 0 0 16px; padding: 0; }
.gma-mobile-menu .menu-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border-bottom: 0.5px solid var(--gma-border); }
.gma-mobile-menu .menu-item > a, .gma-mobile-menu .menu-item > .gma-menu__label { flex: 1; padding: 13px 0; font-size: 15px; font-weight: 600; color: var(--gma-navy); }
.gma-mobile-menu .gma-submenu-toggle { padding: 12px; }
.gma-mobile-menu .sub-menu { display: none; flex-basis: 100%; list-style: none; margin: 0 0 8px; padding: 0 0 0 12px; }
.gma-mobile-menu .menu-item-has-children.is-open > .sub-menu { display: block; }
.gma-mobile-menu .sub-menu .menu-item { border-bottom: 0; }
.gma-mobile-menu .sub-menu a { padding: 9px 0; font-size: 14px; font-weight: 500; color: var(--gma-text); }

/* Yerel SVG ikonlar */
.gma-icon { display: inline-block; vertical-align: -0.2em; flex-shrink: 0; }
.gma-contact__icon { margin-right: 6px; color: var(--gma-navy); }
.gma-footer-menu { list-style: none; margin: 0; padding: 0; }
.gma-footer-menu li { margin-bottom: 6px; font-size: 13px; }

/* İş ortaklığı rozetleri */
.gma-partners { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; list-style: none; margin: 22px 0 0; padding: 0; }
.gma-partners__item a { display: inline-flex; }
.gma-partners__img { height: 40px; width: auto; max-width: 160px; display: block; }
.gma-partners__text {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 12px; border: 0.5px solid var(--gma-border-strong); border-radius: var(--gma-radius-pill);
	background: #FFFFFF; color: var(--gma-navy); font-size: 12px; font-weight: 600;
}
.gma-footer .gma-partners { margin-top: 14px; }
.gma-footer .gma-partners__text { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.18); color: #FFFFFF; }
.gma-menu-toggle {
	display: none;
	flex-direction: column;
	gap: 4px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
}
.gma-menu-toggle span { width: 20px; height: 2px; background: var(--gma-navy); }

/* Footer */
.gma-footer {
	background: var(--gma-footer-bg);
	color: var(--gma-footer-text);
	padding: var(--gma-space-6) 0 var(--gma-space-3);
}
.gma-footer a { color: var(--gma-footer-text); }
.gma-footer a:hover { color: #FFFFFF; }
.gma-footer p { overflow-wrap: anywhere; }
.gma-footer h4 { color: #FFFFFF; font-size: 12px; margin-bottom: 10px; }
.gma-footer__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(auto-fit, minmax(150px, 1fr)); gap: var(--gma-space-3); }
.gma-footer__bottom {
	margin-top: var(--gma-space-4);
	padding-top: var(--gma-space-2);
	border-top: 0.5px solid rgba(255,255,255,0.12);
	font-size: 11px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}

/* Mobil sticky CTA cubugu */
.gma-sticky-cta {
	display: none;
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 99;
	background: #FFFFFF;
	border-top: 0.5px solid var(--gma-border);
	padding: 10px 14px;
	gap: 8px;
}
.gma-sticky-cta__whatsapp {
	width: 44px; height: 44px;
	border-radius: 10px;
	background: #25D366;
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}

/* Scroll reveal baslangic durumu (JS ile 'is-visible' eklenir) */
.gma-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 400ms ease-out, transform 400ms ease-out;
}
.gma-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.gma-page-cta { margin: 32px 0 0; }
