/* .kuka-prose'un varsayılan 760px "okuma genişliği" (--measure-table) düz
   metin/SSS içeriği için doğru, ama sepetin iki kolonlu tablo+toplam grid'i
   için çok dar — toplamlar sütununu ~217px'e, ürün adını ~200px'e sıkıştırıp
   "Beden:" gibi kısa kelimeleri bile satır ortasından bölüyordu. Sayfanın
   kendi üst sınırı zaten .kuka-content-page üzerinden geliyor. */
.woocommerce-cart .kuka-prose {
  max-width: none;
}

.woocommerce-cart .entry-title {
  margin: 0 0 var(--space-6);
  font-size: var(--text-heading-medium);
  font-weight: var(--weight-regular);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-tight);
}

/* Sepet iskeleti — Blocksy'nin cart.php şablonu totalları ".cart-collaterals"
   sarmalayıcısına koymaz; form ve ".cart_totals" ".ct-woocommerce-cart-form"
   içinde doğrudan kardeştir. Bildirimler ve cross-sell bu sarmalayıcının
   dışında kaldığı için otomatik tam genişlik akar; grid'i doğru düzeyde kur. */
.woocommerce-cart .ct-woocommerce-cart-form {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.75fr);
  align-items: start;
  gap: var(--space-8);
}

.woocommerce-cart .ct-woocommerce-cart-form > .woocommerce-cart-form {
  grid-column: 1;
  min-width: 0;
}

.woocommerce-cart .ct-woocommerce-cart-form > .cart_totals {
  grid-column: 2;
  min-width: 0;
}

/* Bu mağazada cross-sell bağlanmadı; olası çıktıyı gizle ki toplamlara karışmasın. */
.woocommerce-cart .cross-sells {
  display: none;
}

.woocommerce table.shop_table {
  background: transparent;
  border: var(--stroke) solid var(--color-line);
  border-radius: 0;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  padding: var(--space-2);
  border-color: var(--color-line);
}

/* Kolon genişlikleri sabitlenip başlıklar sarmasın. */
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
  vertical-align: middle;
}

.woocommerce-cart table.cart {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.woocommerce-cart table.cart .product-remove {
  width: var(--space-4);
  min-width: var(--space-4);
  white-space: nowrap;
}

.woocommerce-cart table.cart .product-thumbnail {
  width: var(--space-8);
  min-width: var(--space-8);
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal,
.woocommerce-cart table.cart .product-quantity {
  white-space: nowrap;
}

.woocommerce-cart table.cart .product-name {
  min-width: 0;
}

.woocommerce-cart table.cart thead th {
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce-cart table.cart img {
  width: var(--space-8);
  aspect-ratio: var(--ratio-product-card);
  object-fit: cover;
}

/* Renk ve beden tek hücrede ayrı okunur. */
.woocommerce-cart .product-name .variation {
  margin: var(--space-1) 0 0;
  font-size: var(--text-caption);
  color: var(--color-muted);
}

.woocommerce-cart .product-name .variation dt {
  display: inline;
  float: none;
  clear: none;
  margin: 0;
}

.woocommerce-cart .product-name .variation dd {
  display: inline;
  float: none;
  clear: none;
  margin: 0 var(--space-0-5);
}

.woocommerce-cart .product-name .variation dd::after {
  content: "·";
  margin-left: var(--space-0-5);
  color: var(--color-line);
}

.woocommerce-cart .product-name .variation dd:last-of-type::after {
  content: "";
  margin-left: 0;
}

.woocommerce-cart .product-name .variation p {
  display: inline;
  margin: 0;
  color: var(--color-ink);
}

.woocommerce-cart .product-name .backorder_notification {
  margin: var(--space-1) 0 0;
  font-size: var(--text-caption);
  color: var(--color-muted);
}

/* Blocksy 1000px altında gerçek adet/ara toplam/kaldır hücrelerini gizler
   (bkz. woocommerce.min.css "tr>.product-quantity" kuralı) ve bunun yerine
   ürün adı hücresine gömülü bu kopya kontrolü gösterir — biri her zaman
   tek başına görünür, ikisi asla aynı anda değil. ≥1000px'te masaüstünde
   ayrı sütunlar zaten var, kopyayı burada gizle. */
@media (min-width: 62.5em) {
  .woocommerce-cart .product-name .price,
  .woocommerce-cart .product-name .product-mobile-actions {
    display: none;
  }
}

.woocommerce-cart .product-name .product-mobile-actions {
  margin-top: var(--space-2);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-caption);
}

.woocommerce-cart .product-name .product-mobile-actions .ct-product-multiply-symbol {
  color: var(--color-muted);
}

.woocommerce-cart .product-name .product-mobile-actions .remove {
  display: inline-flex;
  margin-left: auto;
  color: var(--color-ink);
}

/* Kupon ve "Sepeti güncelle" aynı satırda. Bu bir table-cell (td[colspan]);
   display:grid/flex vermek onu tablo kolon algoritmasından çıkarıp
   min-content'e çökertiyor (buton yazısı harf harf sarar). Table-cell
   kalsın, hizalama float ile yapılsın — en güvenilir kombinasyon. */
.woocommerce-cart .woocommerce-cart-form .actions {
  padding-top: var(--space-3);
  border-top: var(--stroke) solid var(--color-line);
}

.woocommerce-cart .woocommerce-cart-form .actions::after {
  content: "";
  display: block;
  clear: both;
}

.woocommerce-cart .woocommerce-cart-form .actions .coupon {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1);
  float: left;
  margin: 0;
}

.woocommerce-cart .woocommerce-cart-form .actions .coupon input[type="text"] {
  min-width: var(--space-12);
  max-width: var(--measure-copy);
  min-height: var(--control-large);
  padding: var(--space-1);
  background: transparent;
  border: var(--stroke) solid var(--color-line);
}

.woocommerce-cart .woocommerce-cart-form .actions > .button[name="update_cart"] {
  float: right;
  margin: 0;
}

.woocommerce .quantity .qty {
  min-height: var(--control);
  background: transparent;
  border: var(--stroke) solid var(--color-line);
}

/* Adet +/− ikonları Blocksy'nin "woo" ikon fontundan glif çekiyor; açık
   zeminde görünmez/okunaksız kalıyordu. Blocksy'nin konumlandırma ve
   boyut mekaniğine dokunmadan yalnız glifi ve rengi markaya çek. */
.woocommerce-cart .quantity[data-type="type-2"] {
  --quantity-arrows-initial-color: var(--color-ink);
  --quantity-arrows-hover-color: var(--color-white);
  --quantity-hover-color: var(--color-ink);
  border: var(--stroke) solid var(--color-line);
}

.woocommerce-cart .quantity[data-type="type-2"] .qty {
  background: transparent;
  border: 0;
}

.woocommerce-cart .quantity[data-type="type-2"] .ct-increase::before,
.woocommerce-cart .quantity[data-type="type-2"] .ct-decrease::before {
  content: "+";
  font-family: var(--font-mono);
  font-size: var(--text-body);
  font-weight: var(--weight-medium);
  line-height: 1;
}

.woocommerce-cart .quantity[data-type="type-2"] .ct-decrease::before {
  content: "−";
}

.woocommerce-cart .cart_totals {
  width: auto;
  padding: var(--space-3);
  background: var(--color-sand);
}

.woocommerce-cart .cart_totals h2 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-body-large);
  font-weight: var(--weight-medium);
}

/* Blocksy ≤689.98px'te th'yi gizler, td'yi label'ı float'lanmış bir
   ::before'a bırakıp değeri sağa yaslar; nowrap o teknikte satırın
   sarmasını önleyip taşmaya yol açtığı için yalnız Blocksy'nin kendi
   masaüstü eşiğinde (≥43.125em) uygula. */
@media (min-width: 43.125em) {
  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td {
    white-space: nowrap;
  }

  .woocommerce-cart .cart_totals .shipping td {
    white-space: normal;
  }
}

.woocommerce-cart .cart_totals .shipping-method {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-cart .cart_totals .shipping-method li {
  display: flex;
  gap: var(--space-1);
  align-items: baseline;
}

.woocommerce-cart .cart_totals .shipping-method label {
  white-space: normal;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding-bottom: 0;
}

/* Bildirim kutuları. Önce yalnız zemin ve üst çizgi tanımlıydı; metin rengi
   WooCommerce/Blocksy varsayılanından geliyordu ve krem zemin üzerinde
   okunmuyordu. Renk artık token'la açıkça verilir ve üç durum üst çizgiyle
   ayrışır. Soldaki boş kare, WooCommerce'in ikon fontuyla çizilen ::before
   idi; projede 0 ikon fontu ilkesi olduğu için font yüklenmiyor ve yerinde
   tofu kalıyordu — kural kapatıldı. */
/* Hijyen ibaresi sepet sayfasında tablo ile toplamların altında durur. */
.kuka-cart-hygiene {
  max-width: var(--measure-table);
  margin: var(--space-4) 0 0;
  color: var(--color-muted);
  font-size: var(--text-caption);
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  background: var(--color-sand);
  color: var(--color-ink);
  border-top: var(--space-0-5) solid var(--color-ink);
  padding-left: var(--space-3);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error li::before,
.woocommerce-info li::before,
.woocommerce-message li::before {
  content: none;
}

.woocommerce-error {
  border-top-color: var(--color-error);
}

.woocommerce-message {
  border-top-color: var(--color-success);
}

.woocommerce-info {
  border-top-color: var(--color-ink);
}

.woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a {
  color: var(--color-ink);
}

.kuka-cart-panel__content {
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.kuka-cart-panel__items {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  padding: var(--space-3);
}

.kuka-cart-panel__item {
  display: grid;
  grid-template-columns: clamp(7rem, 24%, 11rem) minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-bottom: var(--stroke) solid var(--color-line);
}

.kuka-cart-panel__image img {
  width: 100%;
  aspect-ratio: var(--ratio-product-card);
  object-fit: cover;
}

.kuka-cart-panel__body,
.kuka-cart-panel__form,
.kuka-cart-panel__quantity,
.kuka-cart-panel__subtotal,
.kuka-cart-panel__actions,
.kuka-cart-panel__legal {
  display: flex;
}

.kuka-cart-panel__body {
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.kuka-cart-panel__form,
.kuka-cart-panel__subtotal {
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-1);
}

.kuka-cart-panel__name {
  font-size: var(--text-body-large);
  font-weight: var(--weight-medium);
  text-decoration: none;
}

.kuka-cart-panel__meta,
.kuka-cart-panel__legal {
  font-size: var(--text-micro);
}

.kuka-cart-panel__meta {
  margin: 0;
  color: var(--color-muted);
}

.kuka-cart-panel__price {
  margin-block: var(--space-0-5) var(--space-1);
  font-size: var(--text-body-large);
}

.kuka-cart-panel__quantity {
  border: var(--stroke) solid var(--color-line);
}

.kuka-cart-panel__quantity button,
.kuka-cart-panel__quantity input {
  width: var(--control);
  min-height: var(--control);
  padding: 0;
  background: transparent;
  border: 0;
  text-align: center;
  transition: background var(--duration-micro) var(--ease-standard);
}

.kuka-cart-panel__quantity button:hover {
  background: var(--color-sand);
}

.kuka-cart-panel__quantity input {
  appearance: textfield;
  border-inline: var(--stroke) solid var(--color-line);
}

.kuka-cart-panel__remove {
  min-height: var(--control);
  padding: 0;
  background: transparent;
  border: 0;
  text-decoration: underline;
  text-underline-offset: var(--space-0-5);
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.kuka-cart-panel__foot {
  padding: var(--space-3);
  background: var(--color-sand);
  border-top: var(--stroke) solid var(--color-line);
}

.kuka-cart-panel__shipping {
  margin: 0 0 var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.kuka-cart-panel__subtotal {
  margin-bottom: var(--space-2);
  font-size: var(--text-body-large);
}

.kuka-cart-panel__actions {
  flex-direction: column;
  gap: var(--space-1);
}

.kuka-cart-panel__actions > a {
  width: 100%;
  text-align: center;
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.kuka-cart-panel__actions .kuka-button--outline {
  background: transparent !important;
  border: var(--stroke) solid var(--color-ink) !important;
  color: var(--color-ink) !important;
}

.kuka-cart-panel__legal {
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-1);
  margin: var(--space-2) 0 0;
  color: var(--color-muted);
}

.kuka-cart-panel__security {
  margin: var(--space-3) calc(var(--space-3) * -1) calc(var(--space-3) * -1);
  padding: var(--space-2) var(--space-3);
  border-top: var(--stroke) solid var(--color-line);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.kuka-cart-panel__empty {
  max-width: var(--measure-copy-narrow);
  margin: auto;
  padding: var(--space-4);
  text-align: center;
}

.kuka-cart-panel__empty h2 {
  margin: var(--space-2) 0 var(--space-3);
  font-size: var(--text-heading-small);
}

/* 68em eşiği 1024px'i de kart düzeninde tutar; iki kolon sadece geniş
   masaüstünde (1280px+) tabloya yetecek kadar yer bırakır. */
@media (max-width: 68em) {
  .woocommerce-cart .cart_totals {
    width: 100%;
  }

  /* Sepet tablosu mobilde kart düzenine döner; başlıklar gizlenir,
     her hücre data-title ile etiketlenir ve tam genişlik akar. */
  .woocommerce-cart .ct-woocommerce-cart-form {
    display: block;
  }

  .woocommerce-cart .cart_totals {
    display: block;
    margin-top: var(--space-6);
  }

  .woocommerce-cart table.cart thead {
    display: none;
  }

  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart tbody,
  .woocommerce-cart table.cart tr,
  .woocommerce-cart table.cart td,
  .woocommerce-cart table.cart th {
    display: block;
    width: 100%;
  }

  .woocommerce-cart table.cart tr {
    padding: var(--space-2) 0;
    border-bottom: var(--stroke) solid var(--color-line);
  }

  .woocommerce-cart table.cart tr:last-child {
    border-bottom: 0;
  }

  .woocommerce-cart table.cart td {
    padding: var(--space-0-5) 0;
    border: 0;
    text-align: right;
  }

  .woocommerce-cart table.cart td::before {
    content: attr(data-title);
    float: left;
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: var(--text-micro);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
  }

  .woocommerce-cart table.cart .product-remove {
    width: auto;
    min-width: 0;
    text-align: right;
  }

  .woocommerce-cart table.cart .product-remove::before {
    display: none;
  }

  .woocommerce-cart table.cart .product-thumbnail {
    width: var(--space-8);
    min-width: 0;
    text-align: left;
  }

  .woocommerce-cart table.cart .product-thumbnail::before {
    display: none;
  }

  .woocommerce-cart table.cart .product-name {
    min-width: 0;
    text-align: left;
  }

  .woocommerce-cart table.cart .product-name::before {
    display: none;
  }

  .woocommerce-cart table.cart .product-name .variation {
    margin-top: var(--space-0-5);
  }

  .woocommerce-cart table.cart .actions {
    padding: var(--space-3) 0 0;
  }

  /* Blocksy'nin kendi ≤689.98px kuralları (flex-direction:column, input
     width:100%) burada da devrede; genişliği belirsiz bırakmamak için
     tüm alt öğeleri açıkça 100% yapıp kesişimi ortadan kaldır. */
  .woocommerce-cart table.cart .actions .coupon {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }

  .woocommerce-cart table.cart .actions > .button[name="update_cart"] {
    float: none;
    width: 100%;
    box-sizing: border-box;
    margin-top: var(--space-2);
  }

  .woocommerce-cart table.cart .actions .coupon input[type="text"],
  .woocommerce-cart table.cart .actions .coupon button[type="submit"] {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .woocommerce-cart .product-thumbnail {
    display: block !important;
  }

  .woocommerce-cart table.cart img {
    width: var(--space-8);
  }
}
