/* ⚠️ r6.18b2 — ALAN GEOMETRİSİ TEK KAYNAK: girdi ve Select2 kutusunun
   içerik başlangıcı (kenarlık + yatay dolgu) aynı sayıdan gelmeli. */
:root {
  --mk-alan-y: 48px;      /* alan yüksekliği */
  --mk-alan-x: 14px;      /* yatay iç dolgu  */
  --mk-alan-kenar: 1px;   /* kenarlık kalınlığı */
  --mk-alan-ok: 22px;     /* ok için sağ boşluk */
  --mk-odeme-header-h: 68px;   /* brief: 64–72px sade ödeme header'ı */
  /* ⚠️ Yan kolon genişliği = dokunma hedefi. Diğer geometri jetonlarıyla
     aynı yerde durur ki logonun gerçek merkezde kalması tek sayıya bağlansın. */
  --mk-odeme-ikon: 44px;
  /* Mobil sepet kartı görsel kolonu — TEK KAYNAK (ızgara ve görsel aynı sayıyı okur). */
  --mk-sepet-gorsel: 88px;   /* dokunma hedefi = kenar payı hesabının birimi */
}

/* SEPET SAYFASI + ÖDEME — marka-tema F7. İlke: checkout bir katalog sayfası değildir; dikkat dağıtan hiçbir yüzey yok. */

/* ============================================================
   ORTAK FORM DİLİ
   ============================================================ */
.mk-sepet-sayfasi .woocommerce, .mk-odeme-sayfasi .woocommerce {
  max-width: var(--mk-icerik); margin: 0 auto; padding: 0 var(--mk-kenar);
}
.mk-sepet-sayfasi h1, .mk-odeme-sayfasi h1 {
  font-family: var(--mk-font); font-size: clamp(21px, 2.2vw, 28px);
  font-weight: 500; letter-spacing: .01em; text-transform: none;
  margin: clamp(20px, 3vw, 36px) 0 clamp(18px, 2.5vw, 28px);
}

/* Etiket üstte, yer tutucu yok — çift metin gürültüsü olmaz. */
.mk-odeme-sayfasi .woocommerce form .form-row { display: block; margin: 0 0 16px; padding: 0; }
.mk-odeme-sayfasi .woocommerce form .form-row label {
  /* ⚠️ r6.21 — Form etiketi jetonlardan; alan yüksekliği değişmedi. */
  display: block; font-size: var(--mk-fs-form-etiket); font-weight: var(--mk-fw-islevsel);
  letter-spacing: var(--mk-ls-form-etiket); text-transform: uppercase;
  color: var(--mk-gri); margin-bottom: 6px;
}
.mk-odeme-sayfasi .woocommerce form .form-row label .required { color: var(--mk-siyah); text-decoration: none; }

/* Girdi: 16px — iOS Safari odakta yakınlaştırma yapmasın. */
.mk-sepet-sayfasi input[type="text"], .mk-sepet-sayfasi input[type="number"],
.mk-odeme-sayfasi .woocommerce form .form-row input.input-text,
.mk-odeme-sayfasi .woocommerce form .form-row textarea,
.mk-odeme-sayfasi .woocommerce form .form-row select {
  width: 100%; box-sizing: border-box;
  font-family: var(--mk-font); font-size: var(--mk-fs-form-girdi); line-height: 1.4;
  color: var(--mk-siyah); background: var(--mk-beyaz);
  border: var(--mk-alan-kenar) solid var(--mk-cizgi-form); border-radius: 0;
  padding: 13px var(--mk-alan-x); min-height: var(--mk-alan-y);
  transition: border-color var(--mk-gecis-hizli);
}

/* ============================================================ SELECT2 / SELECTW */

/* ⚠️ `!important` gereksiz: WooCommerce `country-select.js` selectWoo'yu `width: */
.mk-odeme-sayfasi .woocommerce form .form-row .select2-container { width: 100%; }

.mk-odeme-sayfasi .select2-container--default .select2-selection--single {
  box-sizing: border-box; width: 100%;
  height: var(--mk-alan-y); min-height: var(--mk-alan-y);   /* metin girdisiyle AYNI */
  padding: 0 var(--mk-alan-x);              /* iç dolgu __rendered'a değil buraya */
  border: var(--mk-alan-kenar) solid var(--mk-cizgi-form); border-radius: 0;
  background: var(--mk-beyaz);
  display: flex; align-items: center;       /* seçili metin dikey ortalı */
  transition: border-color var(--mk-gecis-hizli);
}
.mk-odeme-sayfasi .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 var(--mk-alan-ok) 0 0; margin: 0; flex: 1 1 auto;
  font-family: var(--mk-font); font-size: var(--mk-fs-form-girdi); line-height: 1.4;
  color: var(--mk-siyah);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mk-odeme-sayfasi .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--mk-gri-acik);
}
.mk-odeme-sayfasi .select2-container--default .select2-selection--single .select2-selection__arrow {
  position: absolute; top: 0; right: 12px; height: 100%; width: 10px;
  display: flex; align-items: center; justify-content: center;
}
.mk-odeme-sayfasi .select2-container--default .select2-selection--single .select2-selection__clear {
  min-width: 24px; min-height: 24px; line-height: 1; margin: 0 6px 0 0;
}

.mk-odeme-sayfasi .select2-container--default.select2-container--focus .select2-selection--single,
.mk-odeme-sayfasi .select2-container--default.select2-container--open .select2-selection--single {
  outline: 2px solid var(--mk-siyah); outline-offset: 2px; border-color: var(--mk-siyah);
}

.mk-odeme-sayfasi .select2-container--default .select2-dropdown {
  border: 1px solid var(--mk-siyah); border-radius: 0;
  background: var(--mk-beyaz); font-family: var(--mk-font); font-size: 15px;
  max-width: calc(100vw - 2 * var(--mk-kenar));
}
.mk-odeme-sayfasi .select2-container--default .select2-results__option {
  padding: 11px 14px; min-height: 44px; box-sizing: border-box; line-height: 1.4;
}
.mk-odeme-sayfasi .select2-container--default .select2-results__option--highlighted[aria-selected],
.mk-odeme-sayfasi .select2-container--default .select2-results__option[aria-selected="true"] {
  background: var(--mk-stone); color: var(--mk-siyah);
}
.mk-odeme-sayfasi .select2-container--default .select2-search--dropdown .select2-search__field {
  font-family: var(--mk-font); font-size: var(--mk-fs-form-girdi); min-height: 44px;
  padding: 10px 12px; border: 1px solid var(--mk-cizgi-form); border-radius: 0;
}
.mk-odeme-sayfasi .woocommerce form .form-row input.input-text:focus,
.mk-odeme-sayfasi .woocommerce form .form-row select:focus,
.mk-odeme-sayfasi .woocommerce form .form-row textarea:focus {
  outline: 2px solid var(--mk-siyah); outline-offset: 2px; border-color: var(--mk-siyah);
}
/* Otomatik doldurma metni GÖRÜNÜR kalmalı — tarayıcı autofill'i gizlenmez. */
.mk-odeme-sayfasi input:-webkit-autofill { -webkit-text-fill-color: var(--mk-siyah); }

/* Hata: yalnız renkle anlatılmaz — kenarlık + ikon + metin birlikte. */
.mk-odeme-sayfasi .woocommerce-invalid input.input-text,
.mk-odeme-sayfasi .woocommerce-invalid select { border-color: #8a2b2b; border-width: 1px; }
/* ⚠️ Görünen kutu `<select>` değil; hata kenarlığı ona da gerekir. */
.mk-odeme-sayfasi .woocommerce-invalid .select2-container--default .select2-selection--single {
  border-color: #8a2b2b; border-width: 1px;
}
.mk-odeme-sayfasi .woocommerce-invalid label::after {
  content: " •"; color: #8a2b2b;   /* renk körlüğünde de fark edilir işaret */
}

/* ============================================================ SEPET SAYFASI WooCommerce tablosu; şabl */
.mk-sepet-sayfasi .woocommerce-cart-form { margin-bottom: clamp(24px, 3vw, 40px); }
.mk-sepet-sayfasi table.shop_table {
  width: 100%; border: 0; border-collapse: collapse; border-radius: 0;
}
.mk-sepet-sayfasi table.shop_table th {
  font-size: 10.5px; font-weight: var(--mk-fw-islevsel); letter-spacing: .14em; text-transform: uppercase;
  color: var(--mk-gri-acik); text-align: left; padding: 0 0 12px;
  border-bottom: 1px solid var(--mk-cizgi);
}
.mk-sepet-sayfasi table.shop_table td {
  padding: 20px 0; border-bottom: 1px solid var(--mk-cizgi); vertical-align: middle; background: none;
}
/* ⚠️ F13-r6.15: kaldır bağlantısı PHP tarafında ürün adının altına taşındı. `td. */
.mk-sepet-sayfasi table.shop_table th.product-remove,
.mk-sepet-sayfasi table.shop_table td.product-remove {
  width: 0; padding: 0; border: 0; font-size: 0;
}
.mk-sepet-sayfasi td.product-thumbnail img { width: 72px; aspect-ratio: 2/3; object-fit: cover; background: var(--mk-beyaz); }
.mk-sp-ad { display: block; font-size: 14px; line-height: 1.35; }
.mk-sp-varyant { display: block; font-size: 12.5px; color: var(--mk-gri); margin-top: 3px; overflow-wrap: anywhere; }
/* ⚠️ ≥44px hedef; sessiz alt çizgili metin — belirsiz `×` DEĞİL. Erişilebilir
   ad ürün ismini içerir (PHP: `mk_sp_kaldir_html`). */
.mk-sp-kaldir {
  display: inline-flex; align-items: center; margin-top: 6px;
  font-size: 12px; color: var(--mk-gri);
  border-bottom: 1px solid var(--mk-cizgi-form);
  min-height: 44px; padding: 0 2px 1px 0;
}
.mk-sp-kaldir:hover { color: var(--mk-siyah); border-bottom-color: var(--mk-siyah); }
.mk-sepet-sayfasi td.product-price, .mk-sepet-sayfasi td.product-subtotal {
  font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap;
}

/* Adet: canonical input ortada, −/+ yanlarda */
.mk-sepet-sayfasi .quantity { display: inline-flex; align-items: center; border: 1px solid var(--mk-cizgi-form); }
.mk-sepet-sayfasi .quantity input.qty {
  width: 52px; min-height: 40px; text-align: center; border: 0; padding: 8px 4px;
  /* ⚠️ r6.21 — 15px idi, iOS yakınlaştırıyordu. */
  font-size: var(--mk-fs-form-girdi); font-variant-numeric: tabular-nums; -moz-appearance: textfield;"
}
.mk-sepet-sayfasi .quantity input.qty::-webkit-outer-spin-button,
.mk-sepet-sayfasi .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mk-adet-btn {
  background: none; border: 0; cursor: pointer; color: var(--mk-siyah);
  width: 40px; height: 40px; font-size: 16px; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center;
}
.mk-adet-btn:hover { background: var(--mk-stone); }

/* ⚠️ F13-r6.18a: canonical düğme DOM'da KALIR. Sınıf yalnız JS bağlandıktan sonr */
/* ⚠️ r6.18d — Gizleme yalnız "kuruldu ve sağlıklı" durumunda; sınıf gövdede. */
body.mk-oto-adet-kurulu.mk-sepet-sayfasi .woocommerce form.woocommerce-cart-form td.actions [name="update_cart"],
body.mk-oto-adet-kurulu form.woocommerce-cart-form [name="update_cart"] { display: none; }

.mk-sepet-sayfasi .actions { padding-top: 20px !important; }
/* !important: WooCommerce shop_table'a satır içi hücre dolgusu veriyor. */

.mk-sepet-sayfasi .cart_totals { max-width: 420px; margin-left: auto; }
.mk-sepet-sayfasi .cart_totals h2 {
  font-size: 12px; font-weight: var(--mk-fw-islevsel); letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px;
}
.mk-sepet-sayfasi .cart_totals table { width: 100%; border-collapse: collapse; }
.mk-sepet-sayfasi .cart_totals th, .mk-sepet-sayfasi .cart_totals td {
  padding: 10px 0; border-bottom: 1px solid var(--mk-cizgi); font-size: 14px; text-align: left;
}
.mk-sepet-sayfasi .cart_totals td { text-align: right; font-variant-numeric: tabular-nums; }
.mk-sp-toplam { font-size: 16px; font-weight: 500; }
.mk-sepet-sayfasi .wc-proceed-to-checkout { padding: 18px 0 0; }
.mk-sepet-sayfasi .wc-proceed-to-checkout a.checkout-button {
  /* ⚠️ r6.21a — Birincil CTA: jetonlar; dolgu değişmedi. */
  display: block; width: 100%; text-align: center; padding: 17px 24px;
  font-size: var(--mk-fs-cta); font-weight: var(--mk-fw-islevsel); letter-spacing: var(--mk-ls-cta); text-transform: uppercase;
  background: var(--mk-siyah); color: var(--mk-beyaz); border: 1px solid var(--mk-siyah); border-radius: 0;
}
.mk-sepet-sayfasi .wc-proceed-to-checkout a.checkout-button:hover { background: transparent; color: var(--mk-siyah); }

/* Boş sepet */
.mk-sp-bos { text-align: center; max-width: 460px; margin: 0 auto; padding: clamp(48px, 8vw, 100px) 0; }
.mk-sp-bos-baslik { font-size: clamp(18px, 2vw, 22px); font-weight: 500; text-transform: none; margin: 0 0 10px; }
.mk-sp-bos-metin { font-size: 14px; color: var(--mk-gri); margin: 0 0 26px; }
/* ⚠️ r6.18f3 — TEK CTA: canonical ; temanın ikinci butonu
   markup'tan kaldırıldı (CSS ile gizleme değil). */
.mk-sepet-sayfasi .return-to-shop { text-align: center; margin: 0; }
.mk-sepet-sayfasi .return-to-shop a {
  display: inline-block; background: var(--mk-siyah); color: var(--mk-beyaz);
  /* ⚠️ r6.21a — BOŞ DURUM CTA'sı: jetonlara bağlandı. */
  padding: 16px 34px; border: 0; border-radius: 0;
  font-size: var(--mk-fs-cta); font-weight: var(--mk-fw-islevsel); letter-spacing: var(--mk-ls-cta); text-transform: uppercase;
}
.mk-sepet-sayfasi .return-to-shop a:hover { background: var(--mk-gri); }

/* ⚠️ r6.18f3 — Boş `td.actions` şeridi; karar sağlık sınıfına bağlı. */
body.mk-oto-adet-kurulu.mk-sepet-sayfasi td.actions { display: none; }

/* ============================================================ ÖDEME — masaüstü */
.mk-odeme-geri {
  font-size: 12px; letter-spacing: .08em; color: var(--mk-gri);
  border-bottom: 1px solid var(--mk-cizgi-form); padding-bottom: 2px; min-height: 44px;
  display: inline-flex; align-items: center;
}
.mk-odeme-geri:hover { color: var(--mk-siyah); border-bottom-color: var(--mk-siyah); }
/* ═══ ÖDEME HEADER'I ═══ Kapsam bileşenin KENDİ sınıfı: aynı şablon sipariş
   alındı sayfasında da basılır, orada gövde sınıfı yoktur. */
/* ⚠️ r6.18c1 — Zincir kesin genişliğe bağlanır;  YOK. */
.wp-block-shortcode:has(.mk-odeme-header) {
  display: block; box-sizing: border-box; width: 100%; max-width: 100%; margin: 0;
}
.mk-odeme-header {
    /* ⚠️ r6.18c3 — IZGARA TERK EDİLDİ: yerleşim çocukların ızgara öğesi olmasına bağlıydı, `wpautop` araya `<p> */
  position: relative;
  box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
  direction: ltr;
  background: var(--mk-fildisi);
  border-bottom: 1px solid var(--mk-cizgi);
  color: var(--mk-siyah);
}
.mk-odeme-header-ic {
  position: relative;
  box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
  height: var(--mk-odeme-header-h);
}
/* ⚠️ Logo viewport'un MATEMATİKSEL merkezinde; sağdaki ikondan bağımsız. */
.mk-odeme-logo {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1; white-space: nowrap;
  /* Dar ekranda çantayla çakışmasın. */
  max-width: calc(100% - 2 * (var(--mk-kenar) + var(--mk-odeme-ikon) + 8px));
  overflow: hidden; text-overflow: ellipsis;
}
/* ⚠️ Çanta FİZİKSEL sağ kenara bağlı. */
.mk-odeme-sepet {
  position: absolute; top: 50%; right: var(--mk-kenar);
  transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  min-width: var(--mk-odeme-ikon); min-height: var(--mk-odeme-ikon);
  line-height: 1; color: inherit;
}
.mk-odeme-sepet:hover { color: var(--mk-gri); }

/* ⚠️ Ödeme akışında (teşekkür DÂHİL) gövde üst dolgusu SIFIR; bu header sabit
   değil. */
body.mk-odeme-akisi { padding-top: 0; }
/* ⚠️ WordPress varsayılanı ardışık üst seviye bloklara 24px verir; `:where()`
   özgüllüğü 0. Toplu sıfırlama yok. */
.wp-site-blocks > .mk-odeme-main { margin-block-start: 0; }
.mk-odeme-sayfasi .mk-footer-ic { display: none; }   /* checkout'ta dev footer gürültüsü yok */

.mk-odeme-sayfasi form.checkout {
  display: grid; grid-template-columns: minmax(0, 62fr) minmax(320px, 38fr);
  gap: clamp(28px, 4vw, 64px); align-items: start;
}
/* Kolonlar AÇIKÇA atanır → DOM sırası değişse bile masaüstü düzeni sabit kalır. (F7.1: JS mobilde sarm */
.mk-mobil-ozet { display: none; }          /* masaüstünde gerekmez — canonical özet sağda */
.mk-odeme-sol { grid-column: 1; grid-row: 1; }
.mk-odeme-ozet { grid-column: 2; grid-row: 1; }

.mk-odeme-sayfasi h3, .mk-odeme-sayfasi #order_review_heading {
  font-family: var(--mk-font); font-size: 12px; font-weight: var(--mk-fw-islevsel);
  letter-spacing: .14em; text-transform: uppercase; color: var(--mk-siyah);
  margin: 0 0 16px; padding-top: 26px; border-top: 1px solid var(--mk-cizgi);
}
.mk-odeme-sol > h3:first-child { padding-top: 0; border-top: 0; }

/* Sipariş özeti */
.mk-odeme-sayfasi #order_review { background: var(--mk-stone); padding: 22px 22px 26px; }
.mk-odeme-sayfasi #order_review_heading { padding: 0; border: 0; margin-bottom: 12px; }
.mk-odeme-sayfasi table.shop_table.woocommerce-checkout-review-order-table {
  width: 100%; border: 0; border-collapse: collapse; margin: 0;
}
.mk-odeme-sayfasi .woocommerce-checkout-review-order-table th,
.mk-odeme-sayfasi .woocommerce-checkout-review-order-table td {
  padding: 10px 0; border-bottom: 1px solid var(--mk-cizgi); font-size: 13.5px; background: none;
}
.mk-odeme-sayfasi .woocommerce-checkout-review-order-table td { text-align: right; font-variant-numeric: tabular-nums; }
.mk-odeme-sayfasi .woocommerce-checkout-review-order-table th { text-align: left; font-weight: 400; }
/* ⚠️ 600 KORUNUYOR: genel toplam ticari vurgudur, işlevsel etiket değil. */
.mk-odeme-sayfasi .order-total th, .mk-odeme-sayfasi .order-total td { font-weight: 600; font-size: 15px; border-bottom: 0; }
.mk-oz-satir { display: flex; gap: 10px; align-items: flex-start; }
.mk-oz-gorsel { width: 44px; aspect-ratio: 2/3; object-fit: cover; background: var(--mk-beyaz); flex: none; }
.mk-oz-metin { display: block; line-height: 1.35; }
.mk-odeme-sayfasi .product-quantity { color: var(--mk-gri); }

/* Yapışkan özet — kısa viewport'ta ve 200% yakınlaştırmada KAPANIR. */
@media (min-width: 901px) and (min-height: 760px) {
  .mk-odeme-sayfasi .mk-odeme-ozet {
    position: sticky; top: 24px;
    max-height: calc(100vh - 48px); overflow-y: auto; overscroll-behavior: contain;
  }
}

/* ============================================================ ÖDEME YÖNTEMLERİ — yalnız biçimlendirme Gateway'i */
.mk-odeme-sayfasi .woocommerce-checkout-payment { background: none; border-radius: 0; }
.mk-odeme-sayfasi ul.wc_payment_methods { list-style: none; margin: 0; padding: 0; border: 0; }
.mk-odeme-sayfasi ul.wc_payment_methods li { margin: 0; border-bottom: 1px solid var(--mk-cizgi); }
.mk-odeme-sayfasi ul.wc_payment_methods li:last-child { border-bottom: 0; }
.mk-odeme-sayfasi ul.wc_payment_methods label {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 0; min-height: 48px; font-size: 14px; cursor: pointer;
}
.mk-odeme-sayfasi ul.wc_payment_methods input[type="radio"] { width: 18px; height: 18px; accent-color: var(--mk-siyah); }
/* Tek yöntem varsa dev radyo kartı gösterme gereği yok. */
.mk-odeme-sayfasi ul.wc_payment_methods li:only-child input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.mk-odeme-sayfasi ul.wc_payment_methods li:only-child label { padding-top: 0; }

.mk-odeme-sayfasi .payment_box {
  background: var(--mk-beyaz); border: 1px solid var(--mk-cizgi);
  border-radius: 0; margin: 0 0 16px; padding: 16px;
  font-size: 13.5px; color: #333;
}
.mk-odeme-sayfasi .payment_box::before { display: none; }   /* WooCommerce'in üçgen oku */
/* Gateway kendi input'larını basar; yalnız ortak form dilini uygularız. */
.mk-odeme-sayfasi .payment_box input[type="text"],
.mk-odeme-sayfasi .payment_box input[type="tel"],
.mk-odeme-sayfasi .payment_box input[type="number"],
.mk-odeme-sayfasi .payment_box select {
  width: 100%; box-sizing: border-box; font-size: 16px; min-height: 48px;
  border: 1px solid var(--mk-cizgi-form); border-radius: 0; padding: 12px 14px;
  background: var(--mk-beyaz); font-family: var(--mk-font);
}
.mk-odeme-sayfasi .payment_box iframe { width: 100%; border: 0; display: block; }

.mk-odeme-sayfasi #place_order {
  /* ⚠️ r6.21a — Birincil CTA: jetonlar. */
  width: 100%; padding: 18px 24px; margin-top: 6px;
  font-size: var(--mk-fs-cta); font-weight: var(--mk-fw-islevsel); letter-spacing: var(--mk-ls-cta); text-transform: uppercase;
  background: var(--mk-siyah); color: var(--mk-beyaz);
  border: 1px solid var(--mk-siyah); border-radius: 0; cursor: pointer;
}
.mk-odeme-sayfasi #place_order:hover { background: transparent; color: var(--mk-siyah); }
.mk-odeme-sayfasi .woocommerce-terms-and-conditions-wrapper { margin: 18px 0; font-size: 13px; }
.mk-odeme-sayfasi .woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--mk-gri); }

/* ============================================================ BİLDİRİMLER — anlam korunur, dev k */
.mk-sepet-sayfasi .woocommerce-message, .mk-odeme-sayfasi .woocommerce-message,
.mk-sepet-sayfasi .woocommerce-info, .mk-odeme-sayfasi .woocommerce-info,
.mk-sepet-sayfasi .woocommerce-error, .mk-odeme-sayfasi .woocommerce-error {
  background: var(--mk-beyaz); border: 1px solid var(--mk-cizgi); border-left-width: 3px;
  border-radius: 0; padding: 14px 16px; font-size: 13.5px; color: var(--mk-siyah);
  list-style: none; margin: 0 0 18px;
}
.mk-sepet-sayfasi .woocommerce-message::before, .mk-odeme-sayfasi .woocommerce-message::before,
.mk-sepet-sayfasi .woocommerce-info::before, .mk-odeme-sayfasi .woocommerce-info::before,
.mk-sepet-sayfasi .woocommerce-error::before, .mk-odeme-sayfasi .woocommerce-error::before { display: none; }
.mk-sepet-sayfasi .woocommerce-error, .mk-odeme-sayfasi .woocommerce-error { border-left-color: #8a2b2b; }
.mk-sepet-sayfasi .woocommerce-message, .mk-odeme-sayfasi .woocommerce-message { border-left-color: #2f6b46; }
.mk-sepet-sayfasi .woocommerce-info, .mk-odeme-sayfasi .woocommerce-info { border-left-color: var(--mk-gri); }

/* ============================================================ MOBİL (≤900px) — masaüstünün küçül */
@media (max-width: 900px) {
  /* ═══ F7.2 MOBİL BİLGİ MİMARİSİ ═══ DOM sırası korunur; sunum sırası CSS'te. */
  .mk-odeme-sayfasi form.checkout { display: block; }

  /* Mobil özet görünür; masaüstü sağ kolon başlığı ve özet TABLOSU gizlenir
     (aynı bilgi iki kez gösterilmez). ÖDEME BÖLÜMÜ GİZLENMEZ. */
  .mk-mobil-ozet { display: block; }
  .mk-odeme-sayfasi #order_review_heading,
  .mk-odeme-sayfasi .woocommerce-checkout-review-order-table { display: none; }

  .mk-odeme-ozet { margin-top: 26px; }
  .mk-odeme-sayfasi #order_review { padding: 0; background: none; }

  /* ═══ MOBİL SEPET KARTI ═══ WooCommerce smallscreen `td::before` etiketleri
   ve zebra bastırılır; kapsam yalnız `tr.cart_item`. */
  .mk-sepet-sayfasi table.shop_table thead { display: none; }
  /* Ürün hücrelerinde teknik etiket YOK — ara toplam hariç (aşağıda). */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td::before {
    content: none; display: none;
  }
      /* ⚠️ r6.18g — Eski kural (0,3,2), WooCommerce (0,3,3) → eleman sayısında
     kaybediyordu. Aşağıdaki (0,5,4) geçer; kapsam yalnız `tr.cart_item`. */
  body.mk-sepet-sayfasi .woocommerce table.shop_table_responsive tr.cart_item:nth-child(2n) > td,
  body.mk-sepet-sayfasi .woocommerce table.shop_table_responsive tr.cart_item > td {
    background-color: transparent;
  }

  /* ── Kart: 88px görsel + bilgi kolonu ── */
  .mk-sepet-sayfasi table.shop_table tr.cart_item {
    display: grid; grid-template-columns: var(--mk-sepet-gorsel) minmax(0, 1fr);
    column-gap: 14px; row-gap: 4px;
    padding: 16px 0; border-bottom: 1px solid var(--mk-cizgi);
  }
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td {
    border: 0; padding: 0; text-align: left !important; min-width: 0;
  }
    /* ⚠️ r6.18f2 — Görsel 88px kolondan taşıyordu; kaynağı bulunamayan üçüncü
   bir kural kazanıyor. Ölçüler sabit + hücre kapsaması. */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-thumbnail {
    display: block; grid-column: 1; grid-row: 1 / span 3;
    box-sizing: border-box; min-width: 0;
    width: var(--mk-sepet-gorsel); max-width: var(--mk-sepet-gorsel);
    overflow: hidden;
  }
  /* ⚠️ Görsel 2:3 oranında ve SABİT — kartı ele geçirmez. */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-thumbnail img,
  .mk-sepet-sayfasi td.product-thumbnail img {
    display: block; box-sizing: border-box;
    width: var(--mk-sepet-gorsel);
    min-width: var(--mk-sepet-gorsel);
    max-width: var(--mk-sepet-gorsel);
    inline-size: var(--mk-sepet-gorsel);
    /* 2:3 oran korunur; `object-fit: cover` esnemeyi önler. */
    height: calc(var(--mk-sepet-gorsel) * 1.5);
    aspect-ratio: 2/3; object-fit: cover;
    margin: 0; background: var(--mk-stone);
  }
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-name {
    grid-column: 2; grid-row: 1;
    font-size: 15px; line-height: 1.35;
  }
  /* Uzun ad en fazla üç satır; taşma yerine kırpma. */
  .mk-sepet-sayfasi .mk-sp-ad, .mk-sepet-sayfasi td.product-name > a {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    overflow: hidden; overflow-wrap: anywhere;
  }
  /* Varyasyon bilgisi: sakin, adın altında. */
  .mk-sepet-sayfasi td.product-name .variation {
    font-size: 12px; color: var(--mk-gri); margin: 2px 0 0;
  }
  /* Birim fiyat adın hemen altında. */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-price {
    display: block; grid-column: 2; grid-row: 2;
    font-size: 13px; color: var(--mk-gri); font-variant-numeric: tabular-nums;
  }
  .mk-sepet-sayfasi td.product-price del { opacity: .6; margin-right: 6px; }
  .mk-sepet-sayfasi td.product-price ins { text-decoration: none; color: var(--mk-siyah); }
  /* ⚠️ KÖK NEDEN — uzun yatay çizgi: "Kaldır" `td.product-remove` içinde DEĞİL, `woocommerce_cart_item_name` filtresiyle `td.product-n */
  .mk-sepet-sayfasi .mk-sp-kaldir {
    border-bottom: 0; padding: 0; margin-top: 2px;
    min-height: 44px; font-size: 12px;
    text-decoration: underline; text-underline-offset: 3px;
  }
  /* Boş kaldır hücresi yer kaplamaz. */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-remove {
    display: none;
  }
  /* Miktar solda, satır toplamı sağda — aynı alt bölge. */
  /* ⚠️ r6.18f1 — Miktar ve satır toplamı AYNI hücrede karşılıklı
     sıkıştırılmıyor; ayrı satırlara alındı (320–430px'te aynı sade düzen). */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-quantity {
    grid-column: 2; grid-row: 3; justify-self: start; margin-top: 6px;
  }
  .mk-sepet-sayfasi td.product-quantity .quantity { width: 128px; }
  .mk-sepet-sayfasi td.product-quantity .quantity input.qty { height: 42px; min-height: 42px; }
  /* ⚠️ r6.18f3 — SATIR ARA TOPLAMI MOBİLDE GÖSTERİLMEZ. Birim fiyat kartta, "Ara Toplam" ve "Toplam" ise Sepet Toplamları bölümünde za */
  .mk-sepet-sayfasi .shop_table_responsive tr.cart_item td.product-subtotal {
    display: none;
  }

  /* ── Toplamlar: etiket solda, tutar sağda ── */
  .mk-sepet-sayfasi .cart_totals { max-width: none; }
  .mk-sepet-sayfasi .cart_totals h2 { margin-bottom: 8px; }
  .mk-sepet-sayfasi .cart_totals table tr {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  }
  .mk-sepet-sayfasi .cart_totals table td {
    flex: 1 1 auto; display: flex; align-items: baseline;
    justify-content: space-between; gap: 16px; padding: 9px 0;
  }
  /* Etiket WooCommerce'in `data-title`'ından — `<th>` mobilde gizli. */
  .mk-sepet-sayfasi .cart_totals .shop_table_responsive tr td::before {
    float: none; font-weight: 400; color: var(--mk-gri); font-size: 13px;
  }
  .mk-sepet-sayfasi .cart_totals tr.order-total td::before { color: var(--mk-siyah); font-weight: 500; }
  .mk-sepet-sayfasi .cart_totals .includes_tax,
  .mk-sepet-sayfasi .cart_totals small { font-size: 11.5px; color: var(--mk-gri); }

  /* ── Ritim ── */
  .mk-sepet-sayfasi h1,
  .mk-sepet-sayfasi .woocommerce-notices-wrapper {
    padding-left: var(--mk-kenar); padding-right: var(--mk-kenar);
  }
  .mk-sepet-sayfasi h1 { margin-bottom: 14px; overflow-wrap: anywhere; }
  .mk-sepet-sayfasi .woocommerce-cart-form { margin-bottom: 18px; }
}


/* ============================================================ MOBİL SİPARİŞ ÖZETİ — salt okunur sunum Ödeme ala */
.mk-mobil-ozet {
  border-top: 1px solid var(--mk-cizgi);
  border-bottom: 1px solid var(--mk-cizgi);
  margin: 0 0 24px;
}
.mk-mobil-ozet-baslik { margin: 0; }
.mk-mobil-ozet-ac {
  display: flex; width: 100%; align-items: center; justify-content: space-between;
  gap: 12px; background: none; border: 0; cursor: pointer; color: var(--mk-siyah);
  font-family: var(--mk-font); padding: 15px 0; min-height: 48px; text-align: left;
}
.mk-mobil-ozet-etiket {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: var(--mk-fw-islevsel); letter-spacing: .12em; text-transform: uppercase;
}
.mk-mobil-ozet-etiket::after {
  content: "+"; font-size: 15px; font-weight: 300; letter-spacing: 0;
}
.mk-mobil-ozet-ac[aria-expanded="true"] .mk-mobil-ozet-etiket::after { content: "\2212"; }
.mk-mobil-ozet-tutar { font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }

/* İLERLEMELİ ZENGİNLEŞTİRME: gizleme YALNIZ JS kurulduğunda (.mk-js) mümkün. */
.mk-mobil-ozet.mk-js.mk-kapali .mk-mobil-ozet-govde { display: none; }
.mk-mobil-ozet-govde { padding: 0 0 18px; }

.mk-mo-liste { list-style: none; margin: 0; padding: 0; }
.mk-mo-satir {
  display: grid; grid-template-columns: 48px 1fr auto; gap: 12px;
  padding: 12px 0; border-top: 1px solid var(--mk-cizgi);
  align-items: start;
}
.mk-mo-gorsel { background: var(--mk-beyaz); aspect-ratio: 2/3; overflow: hidden; }
.mk-mo-img, .mk-mo-gorsel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mk-mo-bilgi { min-width: 0; }
.mk-mo-ad { margin: 0; font-size: 13.5px; line-height: 1.35; }
/* Occasionwear doğrulaması: renk/beden okunabilir olmalı — müşteri yanlış
   seçtiğini burada görmeli. */
.mk-mo-varyant { margin: 3px 0 0; font-size: 12.5px; color: var(--mk-gri); overflow-wrap: anywhere; }
.mk-mo-adet { margin: 3px 0 0; font-size: 12px; color: var(--mk-gri-acik); }
.mk-mo-tutar { font-size: 13.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.mk-mo-toplam { margin: 14px 0 0; border-top: 1px solid var(--mk-cizgi); padding-top: 12px; }
.mk-mo-toplam > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 13.5px; }
.mk-mo-toplam dt { color: var(--mk-gri); }
.mk-mo-toplam dd { margin: 0; font-variant-numeric: tabular-nums; }
/* ⚠️ 600 KORUNUYOR: mobil özet genel toplamı — ticari vurgu. */
.mk-mo-genel { font-weight: 600; font-size: 15px !important; padding-top: 10px !important; }
/* !important ×2: yukarıdaki genel `> div` kuralı aynı özgüllükte; toplam satırı
   ondan ayrışmalı. Tek alternatif seçici savaşıydı. */
.mk-mo-genel dt { color: var(--mk-siyah); }

/* 200% yakınlaştırma / kısa viewport: yapışkanlık zaten kapalı (yukarıdaki
   min-height sorgusu). Bilgi kaybı olmaz, her şey doğal akışta. */

@media (prefers-reduced-motion: reduce) {
  .mk-odeme-sayfasi .woocommerce form .form-row input.input-text { transition: none; }
}

/* ═══ İL/İLÇE GEOMETRİ ═══ Kapsam alan kimliği;  yok. */
#billing_state_field .select2-container,
#shipping_state_field .select2-container,
#billing_city_field .select2-container,
#shipping_city_field .select2-container {
  display: block; width: 100%; margin: 0; vertical-align: middle;
}
#billing_state_field .select2-selection--single,
#shipping_state_field .select2-selection--single,
#billing_city_field .select2-selection--single,
#shipping_city_field .select2-selection--single {
  box-sizing: border-box; width: 100%;
  height: var(--mk-alan-y); min-height: var(--mk-alan-y);
  margin: 0;                                /* Select2'nin -4px'i sıfırlanır */
  padding: 0 var(--mk-alan-x);
  border: var(--mk-alan-kenar) solid var(--mk-cizgi-form); border-radius: 0;
  background: var(--mk-beyaz);
  display: flex; align-items: center;
}
/* İçerik başlangıcı = kenarlık + yatay dolgu. Girdiyle AYNI hesap. */
#billing_state_field .select2-selection__rendered,
#shipping_state_field .select2-selection__rendered,
#billing_city_field .select2-selection__rendered,
#shipping_city_field .select2-selection__rendered {
  padding: 0 var(--mk-alan-ok) 0 0; margin: 0; flex: 1 1 auto;
  font-family: var(--mk-font); font-size: var(--mk-fs-form-girdi); line-height: 1.4;
  color: var(--mk-siyah);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* Placeholder `__rendered` içindedir; konumu oradan gelir, burada yalnız renk. */
#billing_state_field .select2-selection__placeholder,
#shipping_state_field .select2-selection__placeholder,
#billing_city_field .select2-selection__placeholder,
#shipping_city_field .select2-selection__placeholder {
  color: var(--mk-gri-acik); padding: 0; margin: 0; line-height: inherit;
}
#billing_state_field .select2-selection__arrow,
#shipping_state_field .select2-selection__arrow,
#billing_city_field .select2-selection__arrow,
#shipping_city_field .select2-selection__arrow {
  position: absolute; top: 0; right: 12px; height: 100%; width: 10px;
  display: flex; align-items: center; justify-content: center;
}


/* ═══ ÖDEME KUPON FORMU ═══ Canonical form korunur; yalnız sunum. Kök nedenler: */
.mk-odeme-sayfasi form.checkout_coupon {
  border: 0; border-radius: 0; padding: 0; margin: 0 0 20px;
  background: none; box-shadow: none;
  display: flex; align-items: stretch; gap: 9px; flex-wrap: nowrap;
}
/* WooCommerce'in yüzde genişlik / float kuralları sıfırlanır. */
.mk-odeme-sayfasi form.checkout_coupon .form-row,
.mk-odeme-sayfasi form.checkout_coupon .form-row-first,
.mk-odeme-sayfasi form.checkout_coupon .form-row-last {
  width: auto; float: none; margin: 0; padding: 0; min-width: 0;
}
.mk-odeme-sayfasi form.checkout_coupon .form-row-first { flex: 1 1 auto; }
.mk-odeme-sayfasi form.checkout_coupon .form-row-last { flex: 0 0 auto; }
.mk-odeme-sayfasi form.checkout_coupon p:not(.form-row) { display: none; }
/* ⚠️ TEK 1px kenarlık — çift çerçeve yok. */
.mk-odeme-sayfasi form.checkout_coupon input#coupon_code {
  box-sizing: border-box; width: 100%; min-width: 0;
  height: 48px; font-size: 16px;
  border: 1px solid var(--mk-cizgi-form); outline: 0; box-shadow: none;
  padding: 0 14px; background: var(--mk-beyaz); border-radius: 0;
}
/* ⚠️ İkincil eylem: ince çerçeveli, tek satır, dolu siyah CTA DEĞİL. */
.mk-odeme-sayfasi form.checkout_coupon button[name="apply_coupon"] {
  display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; flex: 0 0 104px; width: 104px; height: 48px;
  /* ⚠️ r6.21a — Form gönderim: jetonlar; ikincil GÖRÜNÜM korunuyor. */
  white-space: nowrap; padding: 0 10px;
  background: transparent; color: var(--mk-siyah);
  border: 1px solid var(--mk-siyah); border-radius: 0;
  font-family: var(--mk-font); font-size: var(--mk-fs-cta); font-weight: var(--mk-fw-islevsel); letter-spacing: var(--mk-ls-cta); text-transform: uppercase; cursor: pointer;
}
.mk-odeme-sayfasi form.checkout_coupon button[name="apply_coupon"]:hover {
  background: var(--mk-siyah); color: var(--mk-beyaz);
}
@media (max-width: 374px) {
  .mk-odeme-sayfasi form.checkout_coupon { flex-wrap: wrap; }
  .mk-odeme-sayfasi form.checkout_coupon .form-row-first,
  .mk-odeme-sayfasi form.checkout_coupon .form-row-last { flex: 1 1 100%; }
  .mk-odeme-sayfasi form.checkout_coupon button[name="apply_coupon"] { width: 100%; }
}

/* ⚠️ r6.18g — Mobil özette KDV: canonical `wc_cart_totals_order_total_html()`
   çıktısındaki `.includes_tax`. Toplam güçlü, KDV ikincil. */
.mk-mobil-ozet-tutar { display: inline-flex; align-items: baseline; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.mk-mobil-ozet-tutar strong { font-weight: 500; }
.mk-mobil-ozet-tutar .includes_tax { font-size: 11.5px; color: var(--mk-gri); font-weight: 400; }
