/* ==========================================================================
   Ödeme sayfası
   style.css bölüm 0'daki belirteçlerin üstüne kurulur; burada yeni renk
   tanımlanmaz. Kurallar `.odeme-sayfasi` gövde sınıfıyla sınırlıdır ki
   sepet ve hesap sayfaları etkilenmesin (sınıfı inc/odeme.php koyuyor).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Sayfa iskeleti
   -------------------------------------------------------------------------- */

.odeme-duzen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 2rem;
	align-items: start;
}

@media (max-width: 1000px) {
	.odeme-duzen { grid-template-columns: 1fr; }
}

.odeme-sol { min-width: 0; display: grid; gap: 1.25rem; }
.odeme-sag { min-width: 0; }

/* Yapışkan özet · üst şerit yüksekliği kadar boşluk bırakılır. */
.odeme-ozet-kutu {
	position: sticky;
	top: 1.5rem;
	padding: 1.25rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg-soft);
	box-shadow: var(--sh-1);
}

@media (max-width: 1000px) {
	.odeme-ozet-kutu { position: static; }
}

/* Çekirdeğin iki sütunlu `col2-set` kabı; sol sütun zaten dar, alt alta. */
.odeme .col2-set { display: grid; gap: 1.25rem; }
.odeme .col2-set .col-1,
.odeme .col2-set .col-2 { min-width: 0; }

/* Teslimat sütunu boş kalabiliyor (kargo kapalıysa); boş kart çizilmesin. */
.odeme .col-2:not(:has(.woocommerce-additional-fields)):not(:has(.woocommerce-shipping-fields h3)) {
	display: none;
}

.odeme-blok {
	padding: 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg);
}

.odeme-baslik,
.odeme h3 {
	margin: 0 0 1.25rem;
	font-size: var(--fs-xl);
	font-weight: 700;
	line-height: 1.2;
}

.odeme-ozet-kutu .odeme-baslik { margin-bottom: 1rem; }

.odeme-uyari {
	margin: 0 0 1rem;
	color: var(--text-2);
	font-size: var(--fs-sm);
}

/* --------------------------------------------------------------------------
   2. Form alanları
   Etiket üstte, alan altta. Çekirdek `<p class="form-row">` basıyor;
   satır ızgaraya çevrildi ki `form-row-first` / `form-row-last` çiftleri
   aynı satırı paylaşsın.
   -------------------------------------------------------------------------- */

.odeme .woocommerce-billing-fields__field-wrapper,
.odeme .woocommerce-shipping-fields__field-wrapper,
.odeme .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.odeme .form-row {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.odeme .form-row-first { grid-column: 1 / 2; }
.odeme .form-row-last  { grid-column: 2 / -1; }

@media (max-width: 560px) {
	.odeme .woocommerce-billing-fields__field-wrapper,
	.odeme .woocommerce-shipping-fields__field-wrapper,
	.odeme .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
	.odeme .form-row-first,
	.odeme .form-row-last { grid-column: 1 / -1; }
}

.odeme .form-row label {
	display: block;
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--text);
	line-height: 1.3;
}

.odeme .form-row label .required {
	color: var(--danger);
	text-decoration: none;
	border: 0;
}

.odeme .form-row label .optional {
	color: var(--text-3);
	font-weight: 400;
}

.odeme .woocommerce-input-wrapper { display: block; width: 100%; }

.odeme input[type="text"],
.odeme input[type="tel"],
.odeme input[type="email"],
.odeme input[type="password"],
.odeme input[type="number"],
.odeme select,
.odeme textarea {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
	background: var(--bg);
	color: var(--text);
	font: inherit;
	font-size: var(--fs-md);
	line-height: 1.4;
	transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}

.odeme textarea {
	min-height: 110px;
	resize: vertical;
}

.odeme input::placeholder,
.odeme textarea::placeholder { color: var(--text-3); }

.odeme input:hover,
.odeme select:hover,
.odeme textarea:hover { border-color: var(--text-2); }

.odeme input:focus,
.odeme select:focus,
.odeme textarea:focus {
	outline: none;
	border-color: var(--gold-deep);
	box-shadow: 0 0 0 3px var(--gold-soft);
}

/* Klavye erişimi için görünür odak halkası korunur. */
.odeme input:focus-visible,
.odeme select:focus-visible,
.odeme textarea:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 1px;
}

/* Çekirdek doğrulaması sınıf basar; kenarlık renkle söyler. */
.odeme .woocommerce-invalid input.input-text,
.odeme .woocommerce-invalid select,
.odeme .woocommerce-invalid textarea { border-color: var(--danger); }

.odeme .woocommerce-validated input.input-text,
.odeme .woocommerce-validated select { border-color: var(--success); }

/* Sipariş notu tek başına tam satır. */
.odeme .form-row.notes { grid-column: 1 / -1; }

/* Farklı adrese gönder onay kutusu · etiket satır içi kalmalı. */
.odeme .woocommerce-shipping-fields > h3 { display: flex; align-items: center; gap: 0.6rem; }
.odeme .woocommerce-shipping-fields #ship-to-different-address-checkbox {
	width: 20px;
	min-height: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--gold-deep);
}
.odeme .woocommerce-shipping-fields > h3 span { font-size: var(--fs-lg); }
.odeme .shipping_address { margin-top: 1.25rem; }

/* --------------------------------------------------------------------------
   3. select2 (il seçimi)
   Çekirdek selectWoo'yu yükleyip <select>'i gizliyor; kendi kutusu tema
   alanlarıyla aynı ölçüde durmalıydı.
   -------------------------------------------------------------------------- */

.odeme .select2-container { width: 100% !important; }

.odeme .select2-container .select2-selection--single {
	height: 46px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
	background: var(--bg);
}

.odeme .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
	padding-left: 0.75rem;
	padding-right: 2.25rem;
	color: var(--text);
	font-size: var(--fs-md);
}

.odeme .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; right: 0.5rem; }
.odeme .select2-container .select2-selection--single .select2-selection__placeholder { color: var(--text-3); }
.odeme .select2-container--open .select2-selection--single { border-color: var(--gold-deep); }

/* Açılır liste gövdenin sonuna taşınıyor; `.odeme` kapsamı dışında kalır. */
.select2-dropdown {
	border-color: var(--line-strong);
	border-radius: var(--r-sm);
	font-family: var(--font);
	font-size: var(--fs-md);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--gold-soft);
	color: var(--text);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	min-height: 40px;
	padding: 0 0.6rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
}

/* --------------------------------------------------------------------------
   4. Sipariş özeti
   -------------------------------------------------------------------------- */

.ozet-urunler {
	display: grid;
	gap: 0.875rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--line);
}

.ozet-urun {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: start;
}

.ozet-urun-gorsel {
	position: relative;
	width: 56px;
	height: 56px;
	padding: 0.25rem;
	border: 1px solid var(--line);
	border-radius: var(--r-sm);
	background: var(--bg);
}

.ozet-urun-gorsel img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Adet rozeti · görselin köşesinde durur, satırda yer yemesin. */
.ozet-urun-adet {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: var(--dark);
	color: var(--on-dark);
	font-size: var(--fs-2xs);
	font-weight: 700;
	font-style: normal;
}

.ozet-urun-bilgi { display: grid; gap: 0.15rem; min-width: 0; }

.ozet-urun-ad {
	font-size: var(--fs-sm);
	font-weight: 600;
	line-height: 1.35;
}

.ozet-urun-kod,
.ozet-urun-birim {
	color: var(--text-2);
	font-size: var(--fs-xs);
}

.ozet-urun-tutar {
	font-size: var(--fs-sm);
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

.ozet-toplamlar { width: 100%; margin: 1rem 0 0; }
.ozet-toplamlar tr { border: 0; }

.ozet-toplamlar th,
.ozet-toplamlar td {
	padding: 0.4rem 0;
	border: 0;
	font-size: var(--fs-md);
	vertical-align: top;
}

.ozet-toplamlar th {
	font-weight: 500;
	text-align: left;
	color: var(--text-2);
}

.ozet-toplamlar td {
	text-align: right;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ozet-toplamlar .order-total th,
.ozet-toplamlar .order-total td {
	padding-top: 0.75rem;
	border-top: 1px solid var(--line);
	font-size: var(--fs-lg);
	font-weight: 700;
	color: var(--text);
}

/* Kargo seçenekleri · çekirdek <ul> basıyor, liste sağa yaslı kalmasın. */
.ozet-toplamlar .woocommerce-shipping-methods { display: grid; gap: 0.35rem; text-align: left; }
.ozet-toplamlar .woocommerce-shipping-methods li { display: flex; align-items: center; gap: 0.4rem; }
.ozet-toplamlar .woocommerce-shipping-methods input { accent-color: var(--gold-deep); }
.ozet-toplamlar .woocommerce-shipping-methods label { font-weight: 500; font-size: var(--fs-sm); }
.ozet-toplamlar .woocommerce-shipping-destination { color: var(--text-2); font-size: var(--fs-xs); font-weight: 400; }

.ozet-geri {
	display: inline-block;
	margin-top: 1rem;
	color: var(--text-2);
	font-size: var(--fs-sm);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ozet-geri:hover { color: var(--gold-deep); }

/* --------------------------------------------------------------------------
   5. Ödeme yöntemleri
   Radyo görünür kalır (klavye ve ekran okuyucu), kart görünümü etiketten
   gelir. Seçili kart `:has()` ile altın kenarlığa geçer.
   -------------------------------------------------------------------------- */

.odeme .payment_methods { display: grid; gap: 0.75rem; margin: 0 0 1.5rem; padding: 0; }

.odeme-kart {
	border: 1px solid var(--line-strong);
	border-radius: var(--r-md);
	background: var(--bg);
	overflow: hidden;
	transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}

.odeme-kart:hover { border-color: var(--text-2); }

.odeme-kart:has(input[type="radio"]:checked) {
	border-color: var(--gold-deep);
	box-shadow: inset 0 0 0 1px var(--gold-deep);
	background: var(--gold-soft);
}

.odeme-kart:has(input[type="radio"]:focus-visible) {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

.odeme-kart-ust {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.95rem 1rem;
	cursor: pointer;
}

.odeme-kart-ust input[type="radio"] {
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 0;
	flex: none;
	accent-color: var(--gold-deep);
}

.odeme-kart-ad { font-size: var(--fs-md); font-weight: 600; }
.odeme-kart-ikon { margin-left: auto; display: inline-flex; align-items: center; gap: 0.35rem; }
.odeme-kart-ikon img { max-height: 24px; width: auto; }

.odeme-kart .payment_box {
	margin: 0;
	padding: 0 1rem 1rem 3.5rem;
	color: var(--text-2);
	font-size: var(--fs-sm);
}
.odeme-kart .payment_box p { margin: 0; }
.odeme-kart .payment_box p + p { margin-top: 0.5rem; }

@media (max-width: 560px) {
	.odeme-kart .payment_box { padding-left: 1rem; }
}

/* --------------------------------------------------------------------------
   6. Onay bölümü
   -------------------------------------------------------------------------- */

.odeme-onay { display: grid; gap: 1rem; margin: 0; padding: 0; }

.odeme .woocommerce-terms-and-conditions-wrapper { margin: 0; }

.odeme .woocommerce-privacy-policy-text {
	color: var(--text-2);
	font-size: var(--fs-sm);
	line-height: 1.5;
}
.odeme .woocommerce-privacy-policy-text p { margin: 0; }
.odeme .woocommerce-privacy-policy-link {
	color: var(--gold-deep);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.odeme .woocommerce-terms-and-conditions-wrapper .form-row {
	flex-direction: row;
	align-items: flex-start;
	gap: 0.6rem;
}
.odeme .woocommerce-terms-and-conditions-wrapper .form-row label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 500;
}
.odeme input[type="checkbox"] {
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 0;
	flex: none;
	accent-color: var(--gold-deep);
}

.odeme #place_order { margin-top: 0.25rem; }

/* --------------------------------------------------------------------------
   7. Kupon ve bildirimler
   -------------------------------------------------------------------------- */

.odeme-sayfasi .woocommerce-info,
.odeme-sayfasi .woocommerce-message,
.odeme-sayfasi .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
	padding: 0.875rem 1rem;
	border: 1px solid var(--line);
	border-left: 3px solid var(--gold-deep);
	border-radius: var(--r-sm);
	background: var(--bg-soft);
	color: var(--text);
	font-size: var(--fs-sm);
	list-style: none;
}

.odeme-sayfasi .woocommerce-error {
	border-left-color: var(--danger);
	color: var(--danger);
}
.odeme-sayfasi .woocommerce-error li { list-style: none; }

.odeme-sayfasi .woocommerce-message .button { margin-left: auto; }

.odeme-sayfasi .showcoupon {
	color: var(--gold-deep);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.odeme-kupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
	padding: 1rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg-soft);
}

.odeme-kupon .input-text {
	flex: 1 1 200px;
	min-height: 46px;
	padding: 0 0.75rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
	background: var(--bg);
	font: inherit;
}

/* Giriş formu ödeme sayfasında da açılabiliyor. */
.odeme-sayfasi .woocommerce-form-login {
	display: grid;
	gap: 1rem;
	margin: 0 0 1.5rem;
	padding: 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg-soft);
}
.odeme-sayfasi .woocommerce-form-login .form-row { display: grid; gap: 0.375rem; margin: 0; }
.odeme-sayfasi .woocommerce-form-login label { font-size: var(--fs-sm); font-weight: 600; }
.odeme-sayfasi .woocommerce-form-login .input-text {
	width: 100%;
	min-height: 46px;
	padding: 0 0.75rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
	font: inherit;
}

/* --------------------------------------------------------------------------
   8. Boş sepet
   Sepet boşken çekirdek yalnız bir uyarı basıyor; sayfa çıplak kalmasın.
   -------------------------------------------------------------------------- */

.odeme-sayfasi .cart-empty,
.odeme-sayfasi .wc-empty-cart-message { text-align: center; padding: 2rem 0; }

/* --------------------------------------------------------------------------
   9. Boş sepet kartı
   Yönlendirme kapatıldığı için ödeme sayfasının kendisi boş durumu gösterir
   (inc/odeme.php + checkout/form-checkout.php).
   -------------------------------------------------------------------------- */

.odeme-bos {
	max-width: 560px;
	margin: 0 auto;
	padding: 2.5rem 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg-soft);
	text-align: center;
}

.odeme-bos-baslik { margin: 0 0 0.75rem; font-size: var(--fs-xl); }

.odeme-bos-metin {
	margin: 0 0 1.5rem;
	color: var(--text-2);
	font-size: var(--fs-md);
	line-height: 1.6;
}

.odeme-bos-eylem {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin: 0;
}

/* --------------------------------------------------------------------------
   10. Sipariş alındı sayfası
   Gövde sınıfını inc/odeme.php koyuyor: .siparis-alindi-sayfasi
   -------------------------------------------------------------------------- */

.siparis-alindi {
	display: grid;
	gap: 1.5rem;
	max-width: 760px;
	margin: 0 auto;
}

/* Onay başlığı */
.alindi-durum {
	padding: 2rem 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg-soft);
	text-align: center;
}

.alindi-isaret {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--bg);
	border: 2px solid var(--success);
	color: var(--success);
}

.alindi-baslik { margin: 0 0 0.5rem; font-size: var(--fs-xl); }

.alindi-metin {
	margin: 0;
	color: var(--text-2);
	font-size: var(--fs-md);
	line-height: 1.6;
}
.alindi-metin strong { color: var(--text); font-weight: 600; }

.alindi-durum-hata { border-color: var(--danger); }
.alindi-durum-hata .alindi-baslik { color: var(--danger); }

/* Künye: numara, tarih, tutar, yöntem */
.alindi-kunye {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--line);
	overflow: hidden;
}

.alindi-kunye li {
	display: grid;
	gap: 0.35rem;
	padding: 1.1rem 1.25rem;
	background: var(--bg);
}

.kunye-etiket {
	color: var(--text-2);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.kunye-deger { font-size: var(--fs-lg); font-weight: 600; line-height: 1.3; }

/* Bilgi notları */
.alindi-not {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--line);
	border-left: 3px solid var(--gold-deep);
	border-radius: var(--r-sm);
	background: var(--bg);
}

.alindi-not-baslik {
	margin: 0 0 0.5rem;
	font-size: var(--fs-md);
	font-weight: 600;
}

.alindi-not p {
	margin: 0;
	color: var(--text-2);
	font-size: var(--fs-sm);
	line-height: 1.65;
}
.alindi-not p strong { color: var(--text); }

.alindi-eylem {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin: 1.25rem 0 0;
}
.alindi-eylem-alt { margin-top: 0; }

/* Sipariş özeti · ödeme sayfasındaki `.ozet-urun` ile aynı dil */
.siparis-ozet {
	padding: 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg);
}

.siparis-ozet-baslik {
	margin: 0 0 1.25rem;
	font-size: var(--fs-lg);
	font-weight: 600;
}

.siparis-urunler { display: grid; gap: 1rem; }

.siparis-urun {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 0.9rem;
	align-items: start;
}

.siparis-urun-gorsel { position: relative; }
.siparis-urun-gorsel img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border: 1px solid var(--line);
	border-radius: var(--r-sm);
	background: var(--bg-soft);
}

.siparis-urun-adet {
	position: absolute;
	top: -7px;
	inset-inline-end: -7px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--dark);
	color: var(--on-dark);
	font-size: var(--fs-2xs);
	font-weight: 600;
	line-height: 20px;
	text-align: center;
}

.siparis-urun-bilgi { display: grid; gap: 0.2rem; min-width: 0; }
.siparis-urun-ad { font-size: var(--fs-sm); font-weight: 600; line-height: 1.4; }
.siparis-urun-ad a { color: inherit; text-decoration: none; }
.siparis-urun-ad a:hover { color: var(--gold-deep); text-decoration: underline; }

.siparis-urun-kod,
.siparis-urun-birim { color: var(--text-2); font-size: var(--fs-xs); }

.siparis-urun-not {
	margin-top: 0.4rem;
	color: var(--text-2);
	font-size: var(--fs-xs);
}
.siparis-urun-not p { margin: 0; }

.siparis-urun-tutar { font-size: var(--fs-sm); font-weight: 600; white-space: nowrap; }

/* Toplamlar */
.siparis-toplamlar {
	width: 100%;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--line);
	border-collapse: collapse;
}

.siparis-toplamlar th,
.siparis-toplamlar td {
	padding: 0.45rem 0;
	font-size: var(--fs-sm);
	font-weight: 500;
	text-align: start;
	vertical-align: top;
}

.siparis-toplamlar th { color: var(--text-2); }
.siparis-toplamlar td { text-align: end; }

.siparis-toplamlar .toplam-order_total th,
.siparis-toplamlar .toplam-order_total td {
	padding-top: 0.85rem;
	border-top: 1px solid var(--line);
	color: var(--text);
	font-size: var(--fs-lg);
	font-weight: 700;
}

.siparis-toplamlar .toplam-not td { text-align: start; color: var(--text-2); }

.siparis-eylemler { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.25rem 0 0; }

/* Adres kartları */
.siparis-adresler {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.siparis-adres {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--bg-soft);
}

.siparis-adres-baslik {
	margin: 0 0 0.75rem;
	font-size: var(--fs-md);
	font-weight: 600;
}

.siparis-adres address {
	display: grid;
	gap: 0.15rem;
	font-style: normal;
	color: var(--text-2);
	font-size: var(--fs-sm);
	line-height: 1.6;
}

.siparis-adres-satir { display: block; }
