/*
 * MG PS — Sepet sayfası (klasik sepet). Yalnızca `is_cart()` sayfasında yüklenir.
 * Şablonlar: xprocal-child/woocommerce/cart/*.php
 *
 * KAPSAMA: her kural `.mgps-sepet` / `.mgps-sepet-bos` kökü altında —
 * shop.css ve pdp.css'te uygulanan yöntemin aynısı. Sepet şablonunda
 * WooCommerce'in sözleşme sınıfları (`shop_table`, `cart_item`, `quantity`,
 * `remove`, `coupon`, `actions`) DURUYOR; onları burada yeniden boyuyoruz.
 *
 * ÖZGÜLLÜK NOTU: WooCommerce'in kendi sayfa stili `.woocommerce table.shop_table td`
 * (0,2,1) yazıyor. Hücre kurallarımız `.mgps-sepet table.mgps-sepet__tablo td`
 * (0,2,2) ile yazıldı — yükleme sırasına bel bağlamadan kazanır.
 *
 * Token seti sidecart.css ile birebir aynı (bkz. docs/sidecart-yeniden-tasarim-plani.md §2.4).
 * Font ayarlanmıyor — tema Montserrat'ı global veriyor.
 */

/* ⚠️ ÜÇ AYRI KÖK — `.mgps-sepet__oneri` ötekilerin İÇİNDE DEĞİL.
   Tema cross-sell'i `woocommerce_cart_collaterals`'tan alıp `woocommerce_after_cart`'a
   taşıyor (xprocal/inc/woocommerce/woocommerce-template-hooks.php:92-93), yani
   öneri bölümü `.mgps-sepet` sarmalayıcısının DIŞINA basılıyor. Token'lar
   yalnızca `.mgps-sepet` üzerinde tanımlı olsaydı orada hiç çözülmezdi:
   ilk denemede `background:var(--ink)` saydama düştü ve "Sepete Ekle"
   butonları beyaz üstüne beyaz, görünmez çıktı (ölçüldü). Bu yüzden öneri
   bloğu — sidecart.css'te olduğu gibi — kendi token setini taşıyor. */
.mgps-sepet,
.mgps-sepet-bos,
.mgps-sepet__oneri {
  --ink:#0F0F10; --ink-2:#3B3F45; --muted:#70757C; --faint:#A3A7AD;
  --line:#ECECEE; --wash:#F4F3F1; --indirim:#B4231F;
  color:var(--ink); line-height:1.6;
}
.mgps-sepet *, .mgps-sepet-bos *, .mgps-sepet__oneri * { box-sizing:border-box; }
.mgps-sepet img { max-width:100%; height:auto; display:block; }
.mgps-sepet a { color:inherit; text-decoration:none; }
.mgps-sepet button, .mgps-sepet input { font-family:inherit; }

/* Konteyner PDP ile aynı okuma genişliği (1240). Tema `#content > .col-full`
   ile zaten 1290'a kadar veriyor, burada tavana çarpmıyoruz. */
/* Alt boşluk 56 — öneri şeridi hemen altta kendi 44px üst dolgusuyla geliyor;
   90 olsaydı ikisi toplanıp kopukluk yaratırdı. */
.mgps-sepet { max-width:1240px; margin:0 auto; padding:40px 24px 56px; }

/* ── Üst şerit ── */
.mgps-sepet__ust {
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  flex-wrap:wrap; margin-bottom:28px;
  padding-bottom:20px; border-bottom:1px solid var(--line);
}
.mgps-sepet__baslik {
  margin:0; font-size:26px; font-weight:800; letter-spacing:-.5px;
  display:flex; align-items:baseline; gap:10px;
}
.mgps-sepet__sayi {
  font-size:12px; font-weight:700; color:var(--muted); background:var(--wash);
  border-radius:999px; padding:3px 10px; letter-spacing:0;
}
/* Başlık hizasındaki iki liste eylemi: "Alışverişe devam et" ve
   "Sepeti Temizle". Aksiyon şeridinden buraya taşındılar — orada teklif
   mesaj kutusu açılınca aşağı kayıyorlardı. */
.mgps-sepet__ust-eylem { display:flex; align-items:center; gap:20px; }
.mgps-sepet__temizle-form { margin:0; }

.mgps-sepet__devam {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:700; color:var(--muted);
  text-transform:uppercase; letter-spacing:.6px;
  transition:color .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet__devam:hover { color:var(--ink); }
.mgps-sepet__devam svg { width:15px; height:15px; }

/* ── Ana yerleşim ──
   `.cart-collaterals` sarmalayıcısı şablonda KORUNUYOR (üçüncü parti eklentiler
   `woocommerce_cart_collaterals` ile oraya giriyor) ama burada şeffaflaştırılıyor;
   böylece özet kutusu sağ kolona, öneri şeridi tam genişliğe düşüyor. */
.mgps-sepet__duzen {
  display:grid; grid-template-columns:minmax(0,1fr) 340px;
  gap:40px; align-items:start;
}
/* ⚠️ `width:100%` + `float:none` ŞART. WooCommerce'in klasik sepeti iki kolonu
   FLOAT ile kuruyor ve forma yüzde genişlik veriyor. Izgarada float yoksayılır
   ama genişlik yoksayılmaz: form 792px'lik kolonun %65,6'sında (519px) kalıyor,
   sağında 273px boşluk kalıyordu (ölçüldü). Özgüllük (0,3,1) — temanın
   `.woocommerce-page .woocommerce-cart-form` kalıbını geçmesi gerekiyor. */
.mgps-sepet form.woocommerce-cart-form.mgps-sepet__form {
  grid-column:1; grid-row:1; min-width:0; width:100%; float:none; margin:0;
}
.mgps-sepet__ek { display:contents; }
.mgps-sepet .cart_totals { grid-column:2; grid-row:1; }

/* ── Kalem tablosu ── */
/* `table-layout:fixed` + açık sütun genişlikleri. `auto` ile tarayıcı artan
   yeri orantısız dağıtıyordu: adet sütunu 247px kaparken ürün adına 238px
   kalıyor ve başlıklar 5-6 satıra bölünüyordu (ölçüldü). Sabit düzende ad
   sütunu kalanı alır (~390px). */
.mgps-sepet table.mgps-sepet__tablo {
  width:100%; border-collapse:collapse; border:none; margin:0;
  background:none; table-layout:fixed;
}
.mgps-sepet table.mgps-sepet__tablo th.product-price    { width:110px; }
.mgps-sepet table.mgps-sepet__tablo th.product-quantity { width:150px; }
.mgps-sepet table.mgps-sepet__tablo th.product-subtotal { width:120px; }
.mgps-sepet table.mgps-sepet__tablo th.product-remove   { width:44px; }
.mgps-sepet table.mgps-sepet__tablo th,
.mgps-sepet table.mgps-sepet__tablo td {
  border:none; background:none; padding:18px 12px; vertical-align:middle;
}
.mgps-sepet table.mgps-sepet__tablo thead th {
  padding:0 12px 12px; font-size:11px; font-weight:700; color:var(--faint);
  text-transform:uppercase; letter-spacing:1px; text-align:left;
  border-bottom:1px solid var(--line);
}
.mgps-sepet table.mgps-sepet__tablo thead th.product-price,
.mgps-sepet table.mgps-sepet__tablo thead th.product-quantity,
.mgps-sepet table.mgps-sepet__tablo thead th.product-subtotal { text-align:center; }
.mgps-sepet table.mgps-sepet__tablo thead th.product-subtotal { text-align:right; }

.mgps-sepet table.mgps-sepet__tablo tbody tr.mgps-sepet__satir { border-bottom:1px solid var(--line); }
.mgps-sepet table.mgps-sepet__tablo td.product-price,
.mgps-sepet table.mgps-sepet__tablo td.product-quantity { text-align:center; }
.mgps-sepet table.mgps-sepet__tablo td.product-subtotal { text-align:right; }
.mgps-sepet table.mgps-sepet__tablo td.product-remove { text-align:right; width:44px; }
.mgps-sepet table.mgps-sepet__tablo td.product-name { padding-left:0; }

/* Ürün hücresi */
.mgps-sepet__urun { display:flex; align-items:center; gap:16px; min-width:0; }
.mgps-sepet__gorsel { flex:0 0 auto; }
.mgps-sepet__gorsel img {
  width:88px; height:88px; object-fit:cover;
  border:1px solid var(--line); background:var(--wash);
}
.mgps-sepet__bilgi { min-width:0; display:flex; flex-direction:column; gap:3px; }
/* `word-break:normal` ŞART: tema tabloda kelimeleri harf ortasından kırıyordu
   ("Primer Koru / ma Öncesi" — ölçüldü). Uzun ürün adları yalnızca gerektiğinde,
   kelime sınırında taşacak. */
.mgps-sepet__bilgi .mgps-sepet__ad,
.mgps-sepet__bilgi > a {
  font-size:14px; font-weight:600; color:var(--ink); line-height:1.45;
  word-break:normal; overflow-wrap:break-word;
  transition:color .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet__bilgi a:hover { color:var(--ink-2); }

/* Varyasyon meta ("size: 1000 ML") — WooCommerce `<dl class="variation">` basar. */
.mgps-sepet .variation {
  margin:2px 0 0; display:flex; flex-wrap:wrap; gap:0 6px;
  font-size:11.5px; color:var(--faint); font-weight:600;
}
.mgps-sepet .variation dt, .mgps-sepet .variation dd { margin:0; padding:0; font-weight:600; }
.mgps-sepet .variation dt { text-transform:uppercase; letter-spacing:.4px; }
.mgps-sepet .variation dd p { margin:0; }
.mgps-sepet .backorder_notification { margin:4px 0 0; font-size:11.5px; color:var(--indirim); }

/* Fiyat + satır toplamı */
.mgps-sepet table.mgps-sepet__tablo td.product-price { font-size:13.5px; color:var(--muted); white-space:nowrap; }
.mgps-sepet table.mgps-sepet__tablo td.product-subtotal { font-size:14.5px; font-weight:700; white-space:nowrap; }
.mgps-sepet td.product-price del, .mgps-sepet td.product-subtotal del { color:var(--faint); font-weight:400; margin-right:4px; }
.mgps-sepet td.product-price ins, .mgps-sepet td.product-subtotal ins { text-decoration:none; }

/* İndirimli satır toplamı: eski fiyat ile yeni fiyat BİTİŞİK.
   Mobbin'deki dört referans da (KakaoTalk, ZIGZAG, Warby Parker, Thrive)
   ikiliyi yan yana ya da üst üste sıkı tutuyor; arada boşluk olunca hangi
   sayının geçerli olduğu okunmuyor. Eski fiyat küçük ve soluk, yeni fiyat
   kalın ve koyu — fark renkle değil AĞIRLIKLA veriliyor, kırmızı bu
   tasarımda yalnızca indirim satırlarına ait. */
.mgps-sepet__tutar {
  display:inline-flex; align-items:baseline; justify-content:flex-end;
  flex-wrap:wrap; gap:2px 7px;
}
.mgps-sepet__tutar .mgps-sepet__tutar-eski {
  font-size:12px; font-weight:500; color:var(--faint);
  text-decoration:line-through; margin:0;
}
.mgps-sepet__tutar .mgps-sepet__tutar-yeni {
  font-size:14.5px; font-weight:800; color:var(--ink);
  text-decoration:none; background:none;
}

/* Adet — ± butonlarını tema JS'i ekliyor
   (xprocal/assets/js/woocommerce/quantity.js: `.buttons_added` + `.minus`/`.plus`).
   Markup'a dokunmuyoruz, yalnızca boyuyoruz. */
.mgps-sepet .quantity {
  display:inline-flex; align-items:center; border:1px solid var(--line);
  width:fit-content; margin:0 auto; background:#fff;
}
.mgps-sepet .quantity .minus,
.mgps-sepet .quantity .plus {
  width:30px; height:34px; padding:0; border:none; background:#fff; color:var(--ink);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:13px; line-height:1;
  transition:background .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet .quantity .minus:hover, .mgps-sepet .quantity .plus:hover { background:var(--wash); }
.mgps-sepet .quantity input.qty {
  width:40px; height:34px; padding:0; text-align:center;
  border:none; border-left:1px solid var(--line); border-right:1px solid var(--line);
  font-size:13px; font-weight:700; color:var(--ink); background:#fff;
  -moz-appearance:textfield; appearance:textfield;
}
.mgps-sepet .quantity input.qty::-webkit-outer-spin-button,
.mgps-sepet .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

/* Birim seçici (Adet / Koli) — adet kutusunun ÜSTÜNDE, dar ve sessiz.
   Sunucuya gitmeyen bir giriş kolaylığı olduğu için görsel ağırlığı düşük
   tutuluyor; satırın asıl kontrolü adet kutusu. */
.mgps-sepet__birim {
  display:block; width:100%; max-width:126px; margin:0 auto 6px;
  height:26px; padding:0 6px;
  border:1px solid var(--line); background:#fff; border-radius:0;
  font-size:11px; font-weight:700; color:var(--muted);
  text-align:center; text-align-last:center; cursor:pointer;
}
.mgps-sepet__birim:focus { outline:none; border-color:var(--ink-2); color:var(--ink); }

/* Teklif formundan çıkış — yıkıcı değil, o yüzden sessiz metin butonu. */
.mgps-sepet__vazgec {
  flex:0 0 auto; height:42px; padding:0 14px;
  border:none; background:none; color:var(--muted);
  font-size:11.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  cursor:pointer; transition:color .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet__vazgec:hover { color:var(--ink); background:none; }
.mgps-sepet__vazgec[hidden] { display:none; }

/* Kaldır (×) */
.mgps-sepet a.remove {
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  font-size:19px; line-height:1; color:var(--faint); background:none;
  transition:color .2s cubic-bezier(.25,.46,.45,.94), background .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet a.remove:hover { color:var(--indirim); background:var(--wash); }

/* ── Aksiyon şeridi (kupon + güncelle + B2BKing butonları) ──
   Tablonun DIŞINDA bir blok (gerekçe cart.php'de). B2BKing bu kaba yalnızca
   butonlarını değil gizli form alanlarını, `<textarea>` ve yükleme
   göstergelerini de basıyor; hepsi 0 genişlikte olduğu için esnek dizilimi
   bozmuyorlar ama `gap` onları da saydığından `gap` yerine öğe kenar boşluğu
   kullanılmıyor — sadece görünür olanlar hizalanıyor. */
.mgps-sepet__aksiyonlar {
  margin-top:22px; padding-top:22px; border-top:1px solid var(--line);
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.mgps-sepet__kupon { display:flex; gap:0; flex:0 1 auto; min-width:0; }
.mgps-sepet .mgps-sepet__kupon-alan {
  width:190px; min-width:120px; height:42px; padding:0 14px; margin:0;
  border:1px solid var(--line); border-right:none; background:#fff;
  font-size:13px; color:var(--ink);
}
.mgps-sepet .mgps-sepet__kupon-alan::placeholder { color:var(--faint); }
.mgps-sepet .mgps-sepet__kupon-alan:focus { outline:none; border-color:var(--ink-2); }

/* `flex:0 0 auto` + `white-space:nowrap` ŞART: esnek kutuda buton sıkışınca
   metin harf harf alt alta düşüyordu ("U Y G U L A" — ölçüldü). */
.mgps-sepet .mgps-sepet__kupon-btn {
  flex:0 0 auto; white-space:nowrap;
  height:42px; padding:0 20px; border:1px solid var(--ink); background:#fff; color:var(--ink);
  font-size:11.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  cursor:pointer; border-radius:0;
  transition:background .2s cubic-bezier(.25,.46,.45,.94), color .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet .mgps-sepet__kupon-btn:hover { background:var(--ink); color:#fff; }
/* Güncelleme sırasında liste soluklaşır — çift tıklamayı caydırır. */
.mgps-sepet .woocommerce-cart-form.mgps-sepet--guncelleniyor {
  opacity:.55; pointer-events:none;
  transition:opacity .15s cubic-bezier(.25,.46,.45,.94);
}

/* B2BKing "Teklif İsteği" / "Satın Alma Listesi" butonları aynı hücreye
   giriyor (woocommerce_cart_actions). Kendi kırmızı stillerini taşıyorlar;
   burada yalnızca hizaya sokuluyorlar. */
/* B2BKing'in iki bayi butonu ("Teklif İsteği", "Satın Alma Listesi").
 *
 * ⚠️ Teklif butonu ID ile hedefleniyor. B2BKing `#b2bking_request_custom_quote_button
 * { height:auto }` yazıyor (style.min.css) — ID seçici (0,1,0,0) sınıf tabanlı
 * kuralımızı (0,4,0) yener ve buton 42 yerine 53px kalıyordu (ölçüldü).
 *
 * Renk kararı: ikisi de İKİNCİL (çerçeveli) yapıldı. Önceden marka kırmızısıyla
 * dolu basılıyorlardı ve sağdaki siyah "Ödeme Sayfasına Git" ile görsel olarak
 * yarışıyorlardı; sepette birincil eylem ödemeye gitmek. */
.mgps-sepet__aksiyonlar .button:not(.mgps-sepet__kupon-btn),
.mgps-sepet__aksiyonlar #b2bking_request_custom_quote_button,
.mgps-sepet__aksiyonlar .b2bking_add_cart_to_purchase_list_button {
  flex:0 0 auto; white-space:nowrap;
  height:42px; min-height:42px; padding:0 20px; margin:0;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--ink); border-radius:0;
  background:#fff; color:var(--ink);
  font-size:11.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  transition:background .2s cubic-bezier(.25,.46,.45,.94), color .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet__aksiyonlar .button:not(.mgps-sepet__kupon-btn):hover,
.mgps-sepet__aksiyonlar #b2bking_request_custom_quote_button:hover,
.mgps-sepet__aksiyonlar .b2bking_add_cart_to_purchase_list_button:hover {
  background:var(--ink); color:#fff;
}

/* Teklif formu (butona basınca açılan mesaj alanı) — B2BKing bunu aynı şeridin
   içine basıyor, tam satır kaplamalı yoksa butonların arasına sıkışıyor. */
.mgps-sepet__aksiyonlar #b2bking_request_custom_quote_textarea,
.mgps-sepet__aksiyonlar .b2bking_request_custom_quote_text_label,
.mgps-sepet__aksiyonlar .b2bking_before_quote_request_form {
  flex:1 0 100%;
}
.mgps-sepet__aksiyonlar #b2bking_request_custom_quote_textarea {
  min-height:110px; padding:12px 14px; margin:0;
  border:1px solid var(--line); background:#fff;
  font-size:13px; color:var(--ink); resize:vertical;
}
.mgps-sepet__aksiyonlar #b2bking_request_custom_quote_textarea:focus {
  outline:none; border-color:var(--ink-2);
}
.mgps-sepet__aksiyonlar .b2bking_request_custom_quote_text_label {
  font-size:11px; font-weight:700; color:var(--faint);
  text-transform:uppercase; letter-spacing:.8px;
}

/* "Sepeti Temizle" — yıkıcı ve geri alınamaz, o yüzden sessiz: çerçevesiz,
   soluk; niyet hover'da kırmızıyla belli oluyor. Sağa itiliyor ki yapıcı
   eylemlerden (kupon, teklif, liste) görsel olarak ayrışsın.
   `flex:0 0 auto` + SVG boyutu ŞART: boyutsuz SVG butonu 195px yüksekliğe
   şişiriyordu (ölçüldü). */
.mgps-sepet__temizle {
  white-space:nowrap; padding:0; margin:0;
  display:inline-flex; align-items:center; gap:7px;
  border:none; background:none; color:var(--muted);
  font-size:12.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  cursor:pointer; line-height:1;
  transition:color .2s cubic-bezier(.25,.46,.45,.94);
}
/* `background:none` hover'da AÇIKÇA tekrar yazılıyor: tema `button:hover`e
   kendi dolgusunu veriyor ve sessiz buton bir anda kutuya dönüşüyordu. */
.mgps-sepet__temizle svg { width:15px; height:15px; flex-shrink:0; }
.mgps-sepet__temizle:hover,
.mgps-sepet__temizle:focus-visible {
  color:var(--indirim); background:none; border:none; box-shadow:none;
}

/* ── Özet kutusu ── */
.mgps-sepet .cart_totals {
  background:var(--wash); border:1px solid var(--line); padding:24px;
  position:sticky; top:24px;
}
.mgps-sepet__ozet-baslik {
  margin:0 0 18px; font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:1.2px;
}
.mgps-sepet table.mgps-sepet__ozet-tablo {
  width:100%; border-collapse:collapse; border:none; margin:0; background:none;
}
.mgps-sepet table.mgps-sepet__ozet-tablo th,
.mgps-sepet table.mgps-sepet__ozet-tablo td {
  border:none; background:none; padding:8px 0; font-size:13px; vertical-align:top;
}
/* `word-break:normal` — tema kelimeleri harf ortasından kırıyor; "GYEON
   İndirimi" dar etiket sütununda "GYEON İndirim" + "i" olarak bölünüyordu. */
.mgps-sepet table.mgps-sepet__ozet-tablo th {
  text-align:left; font-weight:600; color:var(--muted); padding-right:12px;
  word-break:normal; overflow-wrap:break-word;
}
/* ⚠️ `white-space:nowrap` BURAYA KONULMAZ. Kargo hücresi uzun bir teslimat
   adresi taşıyor ("Gönderim hedefi: … Alanya / ANTALYA …"); nowrap ile hücre
   555px genişlik talep edip 340px'lik kutuyu taşırdı ve etiket sütunu 25px'e
   sıkışıp harfleri alt alta bastı (ölçüldü). Tutarlar zaten kısa; yalnızca
   fiyat kalıbı bölünmesin diye o nokta hedefleniyor. */
.mgps-sepet table.mgps-sepet__ozet-tablo td {
  text-align:right; font-weight:700;
  white-space:normal; overflow-wrap:break-word;
}
.mgps-sepet table.mgps-sepet__ozet-tablo td .woocommerce-Price-amount { white-space:nowrap; }

/* Negatif ücret satırları = bayi iskontosu (B2BKing marka başına ekliyor). */
.mgps-sepet .mgps-sepet__ozet-satir--indirim th,
.mgps-sepet .mgps-sepet__ozet-satir--indirim td { color:var(--indirim); }

/* Tutar `<span class="amount">` içinde; tema onu marka kırmızısına boyuyor
   (ölçüldü: hücre siyahken rakam kırmızı çıkıyordu). Kırmızı bu tasarımda
   YALNIZCA indirim anlamına geliyor — toplam nötr kalmalı, yoksa "indirim"
   sinyali değersizleşir. */
.mgps-sepet .mgps-sepet__ozet-satir--toplam th,
.mgps-sepet .mgps-sepet__ozet-satir--toplam td,
.mgps-sepet .mgps-sepet__ozet-satir--toplam td .amount,
.mgps-sepet .mgps-sepet__ozet-satir--toplam td .woocommerce-Price-amount {
  padding-top:16px; border-top:1px solid var(--line);
  font-size:16px; font-weight:800; color:var(--ink);
}
.mgps-sepet .mgps-sepet__ozet-satir--toplam td .amount,
.mgps-sepet .mgps-sepet__ozet-satir--toplam td .woocommerce-Price-amount {
  padding-top:0; border-top:none;
}
/* İndirim satırlarında da rakam span'i temanın rengini almasın. */
.mgps-sepet .mgps-sepet__ozet-satir--indirim td .amount,
.mgps-sepet .mgps-sepet__ozet-satir--indirim td .woocommerce-Price-amount { color:var(--indirim); }

/* Kargo satırı — yöntem listesi + adres bilgisi */
.mgps-sepet .cart_totals .woocommerce-shipping-methods,
.mgps-sepet .cart_totals ul#shipping_method {
  list-style:none; margin:0; padding:0; text-align:right;
}
.mgps-sepet .cart_totals ul#shipping_method li { margin:0 0 4px; }
.mgps-sepet .cart_totals .woocommerce-shipping-destination {
  margin:6px 0 0; font-size:11.5px; font-weight:400; color:var(--muted); line-height:1.5;
}
.mgps-sepet .cart_totals .shipping-calculator-button {
  font-size:11.5px; font-weight:700; color:var(--muted); text-decoration:underline;
}
.mgps-sepet .cart_totals .shipping-calculator-button:hover { color:var(--ink); }

/* Ödeme butonu */
.mgps-sepet .wc-proceed-to-checkout { margin-top:20px; padding:0; }
.mgps-sepet .wc-proceed-to-checkout a.checkout-button,
.mgps-sepet .wc-proceed-to-checkout .button {
  display:block; width:100%; margin:0; padding:16px; text-align:center;
  background:var(--ink); color:#fff; border:none; border-radius:0;
  font-size:12.5px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  transition:opacity .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet .wc-proceed-to-checkout a.checkout-button:hover,
.mgps-sepet .wc-proceed-to-checkout .button:hover { opacity:.85; background:var(--ink); color:#fff; }

/* ── Sıkça Birlikte Alınanlar ──
   Bağımsız blok: sepetin ALTINA, `woocommerce_after_cart` üzerinden basılıyor
   (yukarıdaki tema notu). Kendi kapsayıcısı ve kendi sıfırlamaları var — çünkü
   `.mgps-sepet`in içindeki kurallar buraya ulaşmıyor. */
/* ⚠️ `width:100%; float:none` — formdaki tuzağın aynısı. WooCommerce
   `.cross-sells`e de float + yüzde genişlik veriyor; şerit 1220px'lik alanın
   %65,6'sında (800px) kalıyor ve dört kart 170px'e düşüp butonlar iki satıra
   bölünüyordu (ölçüldü). */
section.cross-sells.mgps-sepet__oneri {
  width:100%; float:none;
  max-width:1240px; margin:0 auto; padding:44px 24px 90px;
  border-top:1px solid var(--line);
}
.mgps-sepet__oneri a { color:inherit; text-decoration:none; }
.mgps-sepet__oneri img { max-width:100%; height:auto; display:block; }
.mgps-sepet__oneri-baslik {
  margin:0 0 24px; font-size:15px; font-weight:800;
  text-transform:uppercase; letter-spacing:1.2px;
}
/* Kartların KENDİSİ burada stillenmiyor — şerit PLP ürün kartını yeniden
   kullanıyor (cross-sells.php) ve `.mgps-shop .card` / `.mgps-shop .grid`
   kuralları shop.css'ten geliyor. Burada yalnızca şeridin sepet sayfasındaki
   yerleşimi var. Böylece "Önizle" ve kart tasarımı tek yerden bakımlanıyor.

   `.mgps-shop` sarmalayıcısının kendi alt dolgusu (90px) burada sıfırlanıyor;
   bölümün dolgusunu yukarıdaki `section.cross-sells` kuralı veriyor. */
.mgps-sepet__oneri.mgps-shop { padding-bottom:90px; }
.mgps-sepet__oneri .grid { margin:0; grid-template-columns:repeat(4, minmax(0,1fr)); gap:28px 20px; }

/* Kart yüksekliğini satıra eşitle ve CTA'yı dibe yapıştır. Başlıklar farklı
   satır sayısında (kimi kartta marka etiketi de yok), bu yüzden butonlar
   kart kart farklı yükseklikte bitiyordu — şeritte göze çarpıyor. */
.mgps-sepet__oneri .card { height:100%; }
.mgps-sepet__oneri .card__cta { margin-top:auto; }

/* ── WooCommerce bildirimleri (silindi / geri al, kupon hatası, sepet temizlendi) ──
 *
 * Bildirimler `woocommerce_before_cart` ile `.mgps-sepet`in DIŞINA basılıyor,
 * bu yüzden token'lara güvenilemez — renkler burada açık yazıldı.
 * Varsayılan hali tam genişlikte kalın yeşil bir bant; sayfanın geri kalanı
 * beyaz/nötr olduğu için tek başına gürültü yapıyordu. Kapsayıcıyla aynı
 * 1240 hizasına alındı, sol kenar çubuğuyla sakin bir şerit oldu.
 */
/* ⚠️ İKİ AYRI YER. Silme/geri-al bildirimi `.woocommerce-notices-wrapper`
   içine düşüyor, "sepete eklendi" bildirimi ise doğrudan `div.woocommerce`in
   çocuğu olarak basılıyor (ölçüldü). Yalnızca sarmalayıcıyı hedefleyen ilk
   sürüm ikincisini kaçırdı ve o bildirim tam genişlikte yeşil bant olarak
   kaldı. Bu yüzden kutular sayfa genelinde hedefleniyor, hizayı da kendileri
   taşıyor. */
body.woocommerce-cart .woocommerce-notices-wrapper {
  max-width:1240px; margin:0 auto; padding:24px 24px 0;
}
body.woocommerce-cart .woocommerce-notices-wrapper:empty { padding:0; }

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  max-width:1192px; margin-left:auto; margin-right:auto;
}
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  display:flex; align-items:center; flex-wrap:wrap; gap:4px 14px;
  margin:0 0 4px; padding:14px 18px;
  background:#F4F3F1; border:none; border-left:3px solid #0F0F10;
  border-radius:0; color:#0F0F10;
  font-size:13.5px; font-weight:600; line-height:1.5;
  list-style:none;
}
body.woocommerce-cart .woocommerce-error {
  border-left-color:#B4231F; color:#B4231F;
}
/* WooCommerce ikonunu ve tema süslemelerini kaldır — kendi kenar çubuğumuz var. */
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before {
  display:none;
}
/* "Geri alınsın mı?" — bildirimin ASIL değeri bu; buton gibi görünmeli. */
body.woocommerce-cart .woocommerce-message .restore-item,
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-cart .woocommerce-error .button {
  order:2; margin:0; padding:8px 16px; min-height:0; height:auto;
  background:#0F0F10; color:#fff; border:none; border-radius:0;
  font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  text-decoration:none; white-space:nowrap;
  transition:opacity .2s cubic-bezier(.25,.46,.45,.94);
}
body.woocommerce-cart .woocommerce-message .restore-item:hover,
body.woocommerce-cart .woocommerce-message .button:hover,
body.woocommerce-cart .woocommerce-info .button:hover,
body.woocommerce-cart .woocommerce-error .button:hover {
  opacity:.85; background:#0F0F10; color:#fff;
}

@media (max-width: 768px) {
  body.woocommerce-cart .woocommerce-notices-wrapper { padding:16px 16px 0; }
}

/* ── Boş sepet ── */
.mgps-sepet-bos {
  max-width:520px; margin:0 auto; padding:80px 24px 100px; text-align:center;
}
.mgps-sepet-bos__ikon { width:48px; height:48px; margin:0 auto 20px; color:var(--faint); display:block; }
.mgps-sepet-bos__baslik { margin:0 0 10px; font-size:22px; font-weight:800; letter-spacing:-.4px; }
.mgps-sepet-bos__alt { margin:0; color:var(--muted); font-size:14px; }
.mgps-sepet-bos__mesaj { color:var(--muted); font-size:14px; }
.mgps-sepet-bos__mesaj .woocommerce-info {
  margin:0; padding:0; background:none; border:none; color:var(--muted); font-size:14px;
}
.mgps-sepet-bos__mesaj .woocommerce-info::before { display:none; }
/* Başlığın tekrarı — gerekçe cart-empty.php'de. */
.mgps-sepet-bos__mesaj .cart-empty { display:none; }
.mgps-sepet-bos__aksiyon { margin-top:28px; }
.mgps-sepet-bos__cta {
  display:inline-block; padding:14px 32px; background:var(--ink); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  text-decoration:none; transition:opacity .2s cubic-bezier(.25,.46,.45,.94);
}
.mgps-sepet-bos__cta:hover { opacity:.85; color:#fff; }
.mgps-sepet-bos__bayi { margin:20px 0 0; font-size:12.5px; color:var(--muted); }
.mgps-sepet-bos__bayi a { font-weight:700; color:var(--ink); text-decoration:underline; }

/* ── Erişilebilirlik ── */
.mgps-sepet a:focus-visible,
.mgps-sepet button:focus-visible,
.mgps-sepet input:focus-visible,
.mgps-sepet-bos a:focus-visible {
  outline:2px solid var(--ink); outline-offset:2px;
}
.mgps-sepet .screen-reader-text {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

@media (prefers-reduced-motion: reduce) {
  .mgps-sepet *, .mgps-sepet-bos * { transition:none !important; animation:none !important; }
}

/* ── Duyarlı ── */
@media (max-width: 1024px) {
  .mgps-sepet__duzen { grid-template-columns:minmax(0,1fr); gap:32px; }
  .mgps-sepet__form { grid-column:1; grid-row:1; }
  .mgps-sepet .cart_totals { grid-column:1; grid-row:2; position:static; }
  .mgps-sepet__oneri .grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
}

@media (max-width: 768px) {
  .mgps-sepet { padding:28px 16px 64px; }
  .mgps-sepet__baslik { font-size:21px; }
  /* Başlık kendi satırında; iki eylem altta tam genişlikte sola-sağa yaslı —
     dar ekranda yan yana sıkışıp okunmaz hale gelmesinler. */
  .mgps-sepet__ust { gap:14px; }
  .mgps-sepet__ust-eylem { flex:1 1 100%; justify-content:space-between; gap:12px; }
  .mgps-sepet__devam, .mgps-sepet__temizle { font-size:11.5px; }

  /* Tablo → kart. Başlık satırı gizlenir; satır esnek kutuya dönüşüp iki
     bandda toplanıyor: (1) görsel + ad, (2) birim fiyat, (3) adet + satır
     toplamı yan yana. Önceki sürümde her hücre kendi etiketli satırını
     alıyordu — üç ayrı çizgili blok çıkıyor ve liste gereksiz uzuyordu. */
  .mgps-sepet table.mgps-sepet__tablo thead { display:none; }
  .mgps-sepet table.mgps-sepet__tablo,
  .mgps-sepet table.mgps-sepet__tablo tbody { display:block; width:100%; }
  /* `td`ye width:100% VERİLMEZ — satır esnek kutu ve genişliği flex-basis
     belirliyor. Verilince adet kutusu ile satır toplamı aynı banda sığmayıp
     alt alta düşüyordu (ölçüldü). */
  .mgps-sepet table.mgps-sepet__tablo td { display:block; }

  .mgps-sepet table.mgps-sepet__tablo tbody tr.mgps-sepet__satir {
    position:relative; display:flex; flex-wrap:wrap; align-items:center;
    padding:16px 0; border-bottom:1px solid var(--line);
  }
  /* Hücre çizgileri kapalı — temanın `shop_table_responsive` kuralları her
     hücreye alt çizgi basıyor ve satır içinde üç ayrı çizgi oluşuyordu.
     Özgüllük (0,2,3) o kuralları geçmek için. */
  .mgps-sepet table.mgps-sepet__tablo tbody tr td {
    padding:0; text-align:left; border:none;
  }

  .mgps-sepet table.mgps-sepet__tablo td.product-name {
    flex:1 1 100%; margin-bottom:10px; padding-right:32px;
  }

  /* Birim fiyat ürün adının ALTINDA, küçük ve soluk — ayrı bir bant değil.
     Önceki sürümde kendi bandında etiketi solda / tutarı sağda duruyordu;
     arada kocaman boşluk kalıyor ve alttaki satır toplamıyla aynı büyüklükte
     olduğu için hangisinin ne olduğu anlaşılmıyordu (kullanıcı bildirdi).
     Görselin genişliği kadar içeriden başlıyor ki adın hizasına otursun. */
  .mgps-sepet table.mgps-sepet__tablo td.product-price {
    flex:1 1 100%; margin:-6px 0 10px; padding-left:76px;
    font-size:12px; color:var(--faint); font-weight:600;
    /* ⚠️ `text-align:left` BURADA olmak zorunda. Yukarıdaki `tbody tr td`
       kuralı (0,2,4) da left veriyor ama computed değer `center` çıkıyordu —
       canlıda bayi girişiyle ölçüldü (2026-08-11): ürün adı 107px'te başlarken
       "Birim 340,00₺" 226px'te, yani 119px sağa ortalanmış. Etiket ile tutar
       bitişikti, ikisi BİRLİKTE kayıyordu; sorun ::before'da değil hizada.
       Bu seçici (0,3,3) o mirası kesin olarak kesiyor. */
    text-align:left;
  }
  /* ⚠️ `float:none` + `display:inline` ŞART. WooCommerce'in
     `shop_table_responsive` CSS'i etiketi `float:left; display:table` yapıyor;
     o haliyle etiket sola yapışıp tutar sağda kalıyor ve aralarında kocaman
     bir boşluk oluşuyordu (ölçüldü). Etiket ile tutar bitişik olmalı. */
  .mgps-sepet table.mgps-sepet__tablo td.product-price::before {
    content:attr(data-title) " "; float:none; display:inline;
    font-size:12px; font-weight:600; color:var(--faint);
    text-transform:none; letter-spacing:0;
  }

  /* Adet solda, satır toplamı sağda — tek band. */
  .mgps-sepet table.mgps-sepet__tablo td.product-quantity { flex:0 0 auto; }
  /* Satır toplamı ADET KUTUSUYLA hizalı olmalı, adet hücresinin tamamıyla
     değil. Hücre iki katlı (birim seçici + adet kutusu) ve satırın
     `align-items:center`i tutarı bu ikilinin ortasına koyuyordu — ölçüldü:
     tutar her satırda adet kutusunun ~23px yukarısında kalıyor, üç kalemde de
     aynı sapma. `flex-end` + adet kutusu yüksekliği kadar `min-height` ile
     tutar kutunun tam ortasına oturuyor; birim seçici olsa da olmasa da. */
  .mgps-sepet table.mgps-sepet__tablo td.product-subtotal {
    flex:1 1 auto; text-align:right; font-size:15px;
    align-self:flex-end; display:flex; align-items:center; justify-content:flex-end;
    min-height:44px;
  }
  /* Mobilde ikili sağa yaslı tek satır; dar ekranda alt alta düşerse de
     bitişik kalır. */
  .mgps-sepet__tutar { justify-content:flex-end; }
  .mgps-sepet__tutar .mgps-sepet__tutar-yeni { font-size:15px; }
  /* "ADET:" ve "TOPLAM:" etiketleri kapalı — WooCommerce'in kendi
     `shop_table_responsive` CSS'i her hücreye `data-title`ı ::before ile
     basıyor. Adet kontrolü ve satır toplamı zaten kendini anlatıyor; etiketler
     satır başına iki gereksiz satır ekliyordu. Birim fiyatınki duruyor,
     orada bağlam gerçekten gerekiyor. */
  .mgps-sepet table.mgps-sepet__tablo td.product-quantity::before,
  .mgps-sepet table.mgps-sepet__tablo td.product-subtotal::before { content:none; display:none; }

  .mgps-sepet .quantity { margin:0; }
  .mgps-sepet__birim { margin-left:0; margin-right:0; max-width:118px; }

  /* Kaldır butonu satırın sağ üstüne */
  .mgps-sepet table.mgps-sepet__tablo td.product-remove {
    position:absolute; top:14px; right:0; width:auto; padding:0;
  }

  .mgps-sepet__gorsel img { width:64px; height:64px; }
  .mgps-sepet__urun { gap:12px; }

  .mgps-sepet__aksiyonlar { flex-direction:column; align-items:stretch; }
  .mgps-sepet__kupon { width:100%; }
  .mgps-sepet .mgps-sepet__kupon-alan { flex:1 1 auto; width:auto; }
  .mgps-sepet__aksiyonlar .button:not(.mgps-sepet__kupon-btn) {
    width:100%; justify-content:center;
  }

  .mgps-sepet__oneri { padding:32px 16px 64px; }
  .mgps-sepet__oneri .grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px 12px; }
}

@media (max-width: 480px) {
  .mgps-sepet { padding:24px 16px 56px; }
  .mgps-sepet .cart_totals { padding:18px; }
  .mgps-sepet-bos { padding:60px 16px 80px; }
}
