/* Ödeme sayfaları (_CheckoutLayout yükler; üye ol sayfası da aydınlatma metni penceresi için yükler): ana CSS'e eklenmeyen parçalar. Renkler tema değişkenlerinden. */
.checkout__topbar{background:var(--body-background-color);border-bottom:1px solid var(--border-color);padding:1.2rem 0}
.checkout__topbar--logo{display:inline-flex;align-items:center;font-size:2rem;font-weight:700;color:var(--foreground-color)}
.checkout__topbar--logo img{display:block;max-height:4rem;width:auto}
.checkout__topbar--secure{display:inline-flex;align-items:center;gap:.6rem;font-size:1.3rem;color:var(--foreground-sub-color)}
.checkout__topbar--secure .icon{width:1.6rem;height:1.6rem;fill:currentColor}
.checkout__footer{border-top:1px solid var(--border-color);padding:2rem 0;text-align:center;font-size:1.3rem;color:var(--foreground-sub-color)}
.checkout__footer ul{gap:1.6rem;margin:.8rem 0 0;padding:0;list-style:none}
.checkout__footer a{text-decoration:underline}
.checkout__main .section__header--title,.checkout__content--step .section__header--title{font-size:1.9rem}
.checkout__content--step{margin-bottom:3rem}
.checkout__vat{margin:1rem 0 0;font-size:1.2rem;color:var(--foreground-sub-color)}
.checkout__review{border:1px solid var(--border-color);background:#FAFAFA;padding:2rem}
.checkout__review p{margin:0 0 .6rem}
.checkout__saved .form-check{margin-bottom:.8rem}
.checkout__card .col-4{padding-right:.8rem}
.checkout__installments{border:0;padding:0;min-width:0}
.checkout__pay .form-check-label{font-size:1.4rem}
.legal-box{max-height:22rem;overflow:auto;padding:1.5rem 2rem;border:1px solid var(--border-color);font-size:1.3rem;line-height:1.6;background:var(--body-background-color)}
.legal-box:focus-visible{outline:2px solid var(--secondary-color)}
.checkout__result{max-width:56rem;margin:3rem auto;padding:4rem 3rem;border:1px solid var(--border-color);background:var(--body-background-color)}
.checkout__result--icon{display:inline-flex;align-items:center;justify-content:center;width:6.4rem;height:6.4rem;margin-bottom:2rem;border-radius:50%;font-size:3.2rem;color:#fff}
.checkout__result--ok{background:#16a34a}
.checkout__result--fail{background:var(--secondary-color)}
/* Fatura türüne göre alanlar: JS'siz, seçili türün alanları görünür */
.checkout__form:has(#fatura-bireysel:checked) .checkout__corporate{display:none}
.checkout__form:has(#fatura-kurumsal:checked) .checkout__individual{display:none}
/* Kargo adresi yalnız "farklı bir kargo adresi" işaretliyse açılır */
.checkout__form:not(:has(#checkboxDiffShipping:checked)) .checkout__shipping-fields{display:none}
/* Sipariş özeti: son satırın altında çizgi olmaz (tek üründe çizgi kötü durur; çok üründe yalnız ürünleri ayırır) */
.checkout__product--table .cart__table--body__items:last-child>.cart__table--body__list{border-bottom:0}
@media (max-width: 991.98px) {
  .checkout__footer a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 .8rem; }
}
/* Salt okunur alanlar (sanal POS cari bilgileri): gri, yazılabilir gibi görünmez */
.checkout__input--field[readonly], .checkout__notes--textarea__field[readonly] { background-color: #e9ecef; color: #495057; cursor: default; }
/* Yasal metin pencereleri (ön bilgilendirme formu, mesafeli satış sözleşmesi) */
.yasal-dialog { width: min(92vw, 860px); max-height: 88vh; padding: 2.4rem; border: 1px solid var(--border-color); border-radius: 10px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.yasal-dialog::backdrop { background: rgba(0, 0, 0, .5); }
.yasal-dialog__baslik { display: flex; align-items: center; justify-content: space-between; gap: 1.6rem; margin-bottom: 1.6rem; }
.yasal-dialog__baslik h2 { margin: 0; }
.yasal-dialog__kapat { background: none; border: 0; font-size: 3.2rem; line-height: 1; padding: 0 .6rem; min-width: 48px; min-height: 48px; cursor: pointer; }
.yasal-dialog .legal-box { max-height: 58vh; overflow: auto; }
.checkout__checkbox--label a { text-decoration: underline; color: var(--secondary-color); }

/* Ödeme sonucu: teşekkürler sayfası */
.thankyou-page { padding: 3rem 0 6rem; }
.thankyou-head { display: flex; align-items: center; gap: 1.6rem; margin-bottom: 2rem; }
.thankyou-badge-icon { flex: none; width: 5.2rem; height: 5.2rem; border-radius: 50%; background: #16a34a; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.thankyou-greeting { margin: 0; font-size: 1.5rem; color: #6b7280; }
.thankyou-title { margin: 0; font-size: 3rem; font-weight: 700; line-height: 1.2; }
.thankyou-card { background: #fff; border: 1px solid var(--border-color); border-radius: 8px; padding: 2rem; margin-bottom: 1.6rem; }
.thankyou-card--highlight { border-color: #16a34a; background: #f0fdf4; }
.thankyou-card-title { margin: 0 0 1.2rem; font-size: 1.3rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; }
.thankyou-section { margin: 2.4rem 0 1.2rem; }
.thankyou-row { display: flex; justify-content: space-between; align-items: center; gap: 1.6rem; flex-wrap: wrap; padding: .4rem 0; font-size: 1.5rem; }
.thankyou-number { font-size: 2rem; letter-spacing: .04em; }
.thankyou-note { margin-top: 1rem; font-size: 1.4rem; line-height: 1.7; color: #374151; }
.thankyou-email { color: var(--secondary-color); text-decoration: underline; }
.thankyou-address { margin: 0 0 1.2rem; font-style: normal; font-size: 1.4rem; line-height: 1.7; color: #111827; }
.thankyou-hint { margin: .8rem 0 0; font-size: 1.2rem; color: #6b7280; }
.thankyou-reason { font-size: 1.6rem; font-weight: 600; color: var(--secondary-color); }
.thankyou-link { background: none; border: 0; padding: 0; min-height: 4rem; color: var(--secondary-color); font-weight: 600; text-decoration: underline; cursor: pointer; }
.thankyou-map { margin-top: 1.2rem; }
.thankyou-map iframe { width: 100%; height: 26rem; border: 0; border-radius: 6px; }
.thankyou-help a { color: var(--secondary-color); font-weight: 600; }
.thankyou-list { margin: 0; padding-left: 2rem; font-size: 1.4rem; line-height: 1.8; }
.thankyou-actions { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin-top: 2rem; }
.thankyou-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 4.8rem; padding: 0 2rem; border: 1px solid var(--border-color); border-radius: 5px; background: #fff; color: inherit; font-weight: 600; cursor: pointer; text-decoration: none; }
.thankyou-secondary:hover { border-color: var(--secondary-color); color: var(--secondary-color); }
.thankyou-steps { list-style: none; margin: 0; padding: 0; counter-reset: adim; }
.thankyou-steps li { position: relative; padding: 0 0 1.8rem 4.4rem; counter-increment: adim; display: flex; flex-direction: column; gap: .2rem; font-size: 1.4rem; }
.thankyou-steps li:last-child { padding-bottom: 0; }
.thankyou-steps li::before { content: counter(adim); position: absolute; left: 0; top: 0; width: 3rem; height: 3rem; border-radius: 50%; border: 2px solid var(--border-color); background: #fff; color: #6b7280; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.thankyou-steps li::after { content: ""; position: absolute; left: 1.4rem; top: 3.2rem; bottom: .2rem; width: 2px; background: var(--border-color); }
.thankyou-steps li:last-child::after { display: none; }
.thankyou-steps li.is-done::before { content: "✓"; background: #16a34a; border-color: #16a34a; color: #fff; }
.thankyou-steps li span { color: #6b7280; }
@media (max-width: 767.98px) { .thankyou-title { font-size: 2.4rem; } .thankyou-card { padding: 1.6rem; } }
@media print { .thankyou-actions, .thankyou-link, .thankyou-map, header, footer, .checkout__sidebar .checkout__now--btn { display: none !important; } }

/* Tarayıcı doğrulaması (checkout-validation.js): hatalı alanda sağda kırmızı ünlem, geçerli alanda yeşil tik (Bootstrap davranışı; alan sınıfının
   arka planı ikonu eziyordu). Açılır kutuda (il / ilçe) kendi oku olduğundan ikon konmaz. */
.checkout__input--field.is-invalid, .checkout__notes--textarea__field.is-invalid {
  border-color: #dc3545; padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: right calc(.375em + .1875rem) center; background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}
.checkout__notes--textarea__field.is-invalid { background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem); }
.checkout__input--field.is-valid, .checkout__notes--textarea__field.is-valid {
  border-color: #198754; padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: right calc(.375em + .1875rem) center; background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}
.checkout__notes--textarea__field.is-valid { background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem); }
.checkout__input--select__field.is-invalid { border-color: #dc3545; background-image: none; }
.checkout__input--select__field.is-valid { border-color: #198754; }
.checkout__input--field.is-invalid:focus, .checkout__notes--textarea__field.is-invalid:focus { box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25); }

/* Yurt dışı satış (ülke seçimi açıkken): ülkeye göre bölümler JS'siz değişir */
.checkout__form:not(:has(#selectCountry option:not([value="TR"]):checked)) .checkout__abroad--billing { display: none; }
.checkout__form:has(#selectCountry option:not([value="TR"]):checked) :is(.checkout__domestic--billing, .checkout__invoice-type, .checkout__identity) { display: none; }
.checkout__form:not(:has(#shippingCountry option:not([value="TR"]):checked)) .checkout__abroad--delivery { display: none; }
.checkout__form:has(#shippingCountry option:not([value="TR"]):checked) .checkout__domestic--delivery { display: none; }

/* Telefon: ülke kodu seçici + numara */
.checkout__phone { display: flex; gap: .8rem; align-items: stretch; }
.checkout__phone > .checkout__phone--country { flex: 0 0 11.5rem; }
.checkout__phone > .checkout__phone--country .checkout__input--select__field { width: 100%; }
.checkout__phone > .checkout__input--field { flex: 1 1 auto; min-width: 0; }

/* Bayraklı ülke seçici (checkout-country.js; select yedekte kalır) */
.country-picker { position: relative; }
.country-picker__button { display: flex; align-items: center; gap: .8rem; width: 100%; min-height: 4.8rem; padding: 0 1.2rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--body-background-color); color: var(--foreground-color); font: inherit; font-size: 1.4rem; text-align: left; cursor: pointer; }
.country-picker__button:focus-visible { outline: 2px solid var(--secondary-color); outline-offset: 1px; }
.country-picker__button::after { content: ""; margin-left: auto; flex: none; width: .7rem; height: .7rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.country-picker__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.country-picker__flag { flex: none; width: 2rem; height: 1.5rem; border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.country-picker__panel { position: absolute; z-index: 30; left: 0; top: calc(100% + .4rem); min-width: 100%; width: max(100%, 28rem); border: 1px solid var(--border-color); border-radius: 5px; background: var(--body-background-color); box-shadow: 0 12px 30px rgba(0, 0, 0, .18); }
.country-picker__panel[hidden] { display: none; }
.country-picker__search { display: block; width: calc(100% - 1.6rem); margin: .8rem; min-height: 4rem; padding: 0 1rem; border: 1px solid var(--border-color); border-radius: 5px; font: inherit; font-size: 1.4rem; background: var(--body-background-color); color: var(--foreground-color); }
.country-picker__list { max-height: 24rem; margin: 0; padding: 0 0 .4rem; overflow-y: auto; list-style: none; }
.country-picker__option { display: flex; align-items: center; gap: .8rem; min-height: 4rem; padding: 0 1.2rem; font-size: 1.4rem; cursor: pointer; }
.country-picker__option[aria-selected="true"] { font-weight: 600; }
.country-picker__option:hover, .country-picker__option.is-active { background: rgba(127, 127, 127, .14); }
.country-picker__dial { margin-left: auto; color: var(--foreground-sub-color); }
.country-picker__empty { padding: 1rem 1.2rem; font-size: 1.3rem; color: var(--foreground-sub-color); }
@media (max-width: 575.98px) {
  .checkout__phone > .checkout__phone--country { flex-basis: 10rem; }
  .country-picker__panel { width: min(28rem, 86vw); }
}
/* İl / ilçe aranabilir seçici (checkout-address.js): ülke seçicisinin görünümü; gerçek <select> görünmez ama doğrulama için yerinde kalır */
.place-picker { position: relative; }
.place-picker__native { position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; opacity: 0; pointer-events: none; }
.country-picker__label--placeholder { color: var(--foreground-sub-color); }
.place-picker:has(> .place-picker__native.is-invalid) .country-picker__button { border-color: #dc3545; }
