/* Boden aus Natur – Warenkorb (Cart)
   Enqueuet über functions.php (ban_enqueue_shop_assets) — NUR auf der jeweiligen Seite.
   Ersetzt das frühere Custom-CSS-Snippet (Customizer/head). Warme BAN-CI,
   gescoped unter #content .woocommerce, kein !important. */

/* ═══════════════════════════════════════════════
   Boden aus Natur – Warenkorb Clean CSS
   Spezifität via #content, kein !important
   Alle Abstände und Schriftgrößen fluid via clamp()

   HINWEIS: Mobile-Layout wird NICHT überschrieben.
   WooCommerce .shop_table_responsive erledigt das
   responsive Stacking selbst – dieses CSS kümmert
   sich nur um Optik, Farbe, Abstände & Typografie.
   ═══════════════════════════════════════════════ */

/* ── Variablen (warme BAN-CI, wie Produktseite/Landing) ── */
#content .woocommerce {
  --ban-bg: #ffffff;          /* Karten/Tabellen */
  --ban-bg-soft: #F3EEE2;     /* Sand: Kopfzeilen, Summen-Box, Aktionen */
  --ban-border: #ECE3D2;      /* warmer Rahmen */
  --ban-text: #2C2A23;
  --ban-text-muted: #8B8069;
  --ban-green: #617F29;
  --ban-green-dk: #4F6A1F;
  --ban-gold: #B98A4E;
  --ban-disp: 'Lora', Georgia, serif;
  --ban-radius: clamp(6px, 0.5vw, 8px);
  --ban-radius-lg: clamp(8px, 0.75vw, 12px);
  --ban-input-height: clamp(40px, 3.2vw, 48px);
}

/* ── Gesamtlayout ── */
#content .woocommerce {
  padding: clamp(0.75em, 2vw, 1.5em) 0 clamp(1.5em, 4vw, 3em);
  color: var(--ban-text);
}

@media (min-width: 1100px) {
  #content .woocommerce:not(:has(.cart-empty)) {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1.5em, 2.5vw, 2.5em);
    align-items: flex-start;
  }

  #content .woocommerce .woocommerce-notices-wrapper {
    flex: 0 0 100%;
  }

  #content .woocommerce .woocommerce-cart-form {
    flex: 1 1 65%;
    min-width: 0;
  }

  #content .woocommerce .cart-collaterals {
    flex: 0 0 clamp(280px, 28vw, 340px);
    position: sticky;
    top: clamp(1em, 2vw, 2em);
  }
}

/* ══════════════════════════════════
   WARENKORB-TABELLE
   ══════════════════════════════════ */

/* ── Table Wrapper ── */
#content .woocommerce table.shop_table.cart {
  width: 100%;
  border: 1px solid var(--ban-border);
  border-radius: var(--ban-radius-lg);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: var(--ban-bg);
  font-size: 16px;
}

/* ── Globale Zellen-Resets ── */
#content .woocommerce table.shop_table.cart th,
#content .woocommerce table.shop_table.cart td {
  border: none;
  border-bottom: 1px solid var(--ban-border);
  padding: clamp(0.6em, 1vw, 0.9em) clamp(0.6em, 1.2vw, 1em);
  vertical-align: middle;
  text-align: left;
  font-size: 16px;
}

/* ── Thead ── */
#content .woocommerce table.shop_table.cart thead th {
  background: var(--ban-bg-soft);
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ban-text-muted);
  padding: clamp(0.6em, 0.9vw, 0.8em) clamp(0.6em, 1.2vw, 1em);
}

/* ── Tbody Zeilen ── */
#content .woocommerce table.shop_table.cart tbody tr {
  transition: background-color 0.15s ease;
}

#content .woocommerce table.shop_table.cart tbody tr:hover > td {
  background: var(--ban-bg-soft);
}

#content .woocommerce table.shop_table.cart tbody tr:last-child td {
  border-bottom: none;
}

/* ── Entfernen-Spalte ── */
#content .woocommerce table.shop_table.cart td.product-remove {
  width: clamp(36px, 3vw, 48px);
  text-align: center;
  padding-left: clamp(0.4em, 0.6vw, 0.6em);
  padding-right: 0;
}

#content .woocommerce table.shop_table.cart td.product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(28px, 2.2vw, 34px);
  height: clamp(28px, 2.2vw, 34px);
  border-radius: 50%;
  font-size: clamp(1.1em, 1em + 0.2vw, 1.3em);
  color: var(--ban-text-muted);
  background: transparent;
  transition: background-color 0.2s ease, color 0.2s ease;
  text-decoration: none;
  line-height: 1;
}

#content .woocommerce table.shop_table.cart td.product-remove a.remove:hover {
  background: #fef2f2;
  color: #dc2626;
}

/* ── Produktname ── */
#content .woocommerce table.shop_table.cart td.product-name {
  font-weight: 600;
  font-size: 16px;
}

#content .woocommerce table.shop_table.cart td.product-name a {
  color: var(--ban-text);
  text-decoration: none;
}

#content .woocommerce table.shop_table.cart td.product-name a:hover {
  color: var(--ban-green);
}

/* Variationen */
#content .woocommerce table.shop_table.cart td.product-name dl.variation {
  margin: clamp(0.2em, 0.35vw, 0.35em) 0 0;
  font-size: 15px;
  color: var(--ban-text-muted);
  font-weight: 400;
}

#content .woocommerce table.shop_table.cart td.product-name dl.variation dt,
#content .woocommerce table.shop_table.cart td.product-name dl.variation dd {
  display: inline;
  margin: 0;
  padding: 0;
}

#content .woocommerce table.shop_table.cart td.product-name dl.variation dt {
  font-weight: 600;
  /* Abstand nach dem Doppelpunkt (Label → Wert); das margin:0 oben nimmt ihn sonst weg */
  margin-right: .4em;
}

/* ── Preis & Zwischensumme ── */
#content .woocommerce table.shop_table.cart td.product-price,
#content .woocommerce table.shop_table.cart td.product-subtotal {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-size: 16px;
}

#content .woocommerce table.shop_table.cart td.product-subtotal {
  font-weight: 600;
}

/* MwSt-Hinweis */
#content .woocommerce table.shop_table.cart .wgm-tax {
  display: block;
  font-size: 13px;
  color: var(--ban-text-muted);
  font-weight: 400;
  margin-top: 2px;
}

/* ── Mengen-Input ── */
#content .woocommerce table.shop_table.cart .quantity .qty {
  width: clamp(52px, 5vw, 68px);
  min-height: var(--ban-input-height);
  padding: clamp(0.3em, 0.5vw, 0.45em) clamp(0.4em, 0.6vw, 0.55em);
  font-size: 16px;
  text-align: center;
  background: var(--ban-bg);
  border: 1px solid var(--ban-border);
  border-radius: var(--ban-radius);
  color: var(--ban-text);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  appearance: textfield;
  -moz-appearance: textfield;
  box-sizing: border-box;
}

#content .woocommerce table.shop_table.cart .quantity .qty:focus {
  border-color: var(--ban-green);
  box-shadow: 0 0 0 3px rgba(97, 127, 41, 0.1);
  outline: none;
}

#content .woocommerce table.shop_table.cart .quantity .qty::-webkit-inner-spin-button,
#content .woocommerce table.shop_table.cart .quantity .qty::-webkit-outer-spin-button {
  opacity: 1;
  height: auto;
}

/* ── Actions-Zeile (Coupon + Aktualisieren) ── */
#content .woocommerce table.shop_table.cart td.actions {
  background: var(--ban-bg-soft);
  padding: clamp(0.75em, 1.2vw, 1em) clamp(0.6em, 1.2vw, 1em);
  border-bottom: none;
  text-align: right;
}

/* Warenkorb aktualisieren Button */
#content .woocommerce table.shop_table.cart td.actions > button.button {
  display: inline-block;
  padding: clamp(0.5em, 0.8vw, 0.7em) clamp(1em, 1.8vw, 1.5em);
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--ban-text);
  background: var(--ban-bg);
  border: 1px solid var(--ban-border);
  border-radius: var(--ban-radius);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

#content .woocommerce table.shop_table.cart td.actions > button.button:hover {
  border-color: var(--ban-green);
  background: var(--ban-bg-soft);
}

#content .woocommerce table.shop_table.cart td.actions > button.button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ══════════════════════════════════
   WARENKORB-SUMMEN (Sidebar)
   ══════════════════════════════════ */

#content .woocommerce .cart-collaterals {
  margin-top: 0;
}

#content .woocommerce .cart-collaterals .cart_totals {
  width: 100%;
  background: var(--ban-bg-soft);
  border: 1px solid var(--ban-border);
  border-radius: var(--ban-radius-lg);
  padding: clamp(1em, 2vw, 1.5em) clamp(1em, 2vw, 1.5em) clamp(0.5em, 1vw, 0.75em);
}

/* Überschrift (Lora, warme CI) */
#content .woocommerce .cart_totals h2 {
  font-family: var(--ban-disp);
  font-size: clamp(20px, 1.25em, 24px);
  font-weight: 600;
  color: var(--ban-green-dk);
  margin: 0 0 clamp(0.75em, 1.2vw, 1em);
  padding: 0;
  letter-spacing: -0.2px;
}

/* Summen-Tabelle */
#content .woocommerce .cart_totals table.shop_table {
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: 16px;
}

#content .woocommerce .cart_totals table.shop_table th,
#content .woocommerce .cart_totals table.shop_table td {
  border: none;
  border-bottom: 1px solid var(--ban-border);
  padding: clamp(0.6em, 1vw, 0.85em) 0;
  font-size: 16px;
  vertical-align: top;
}

#content .woocommerce .cart_totals table.shop_table th {
  font-weight: 600;
  color: var(--ban-text);
  text-align: left;
  white-space: nowrap;
  width: 40%;
}

#content .woocommerce .cart_totals table.shop_table td {
  text-align: right;
  color: var(--ban-text);
}

/* Versandoptionen */
#content .woocommerce .cart_totals ul.woocommerce-shipping-methods {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}

/* Radio + Label nebeneinander: Umbrüche und der MwSt-Hinweis bleiben bündig unter dem Label-Text. */
#content .woocommerce .cart_totals ul.woocommerce-shipping-methods li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: clamp(0.2em, 0.4vw, 0.35em) 0;
  font-size: 15px;
}

#content .woocommerce .cart_totals ul.woocommerce-shipping-methods li label {
  flex: 1;
  min-width: 0;
  line-height: 1.45; /* Theme setzt label auf 1 → als Block-Element gequetschte Umbrüche */
  cursor: pointer;
  font-weight: 400;
}

#content .woocommerce .cart_totals ul.woocommerce-shipping-methods li .shipping_method {
  flex-shrink: 0;
  margin: 3px 0 0;
  accent-color: var(--ban-green);
}

/* MwSt-Hinweis (German Market) unter der Versandart: linksbündig statt rechts wie in den Summen. */
#content .woocommerce .cart_totals ul.woocommerce-shipping-methods .wgm-tax {
  text-align: left;
}

/* Versandziel */
#content .woocommerce .cart_totals .woocommerce-shipping-destination {
  font-size: 14px;
  color: var(--ban-text-muted);
  margin-top: clamp(0.3em, 0.5vw, 0.5em);
  text-align: left;
}

/* Gesamtsumme */
#content .woocommerce .cart_totals tr.order-total th,
#content .woocommerce .cart_totals tr.order-total td {
  font-size: clamp(17px, 1.06em, 19px);
  font-weight: 700;
  border-bottom: none;
  padding-top: clamp(0.75em, 1.2vw, 1em);
  padding-bottom: clamp(0.75em, 1.2vw, 1em);
}

/* MwSt in Summen */
#content .woocommerce .cart_totals .wgm-tax {
  display: block;
  font-size: 13px;
  color: var(--ban-text-muted);
  font-weight: 400;
  margin-top: 2px;
  text-align: right;
}

/* ══════════════════════════════════
   WEITER ZUR KASSE – BUTTON
   ══════════════════════════════════ */

#content .woocommerce .wc-proceed-to-checkout {
  padding: 0;
  margin-top: clamp(0.75em, 1.2vw, 1em);
}

#content .woocommerce .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  padding: clamp(0.7em, 1.1vw, 0.9em) clamp(1em, 2vw, 1.5em);
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(17px, 1.06em, 19px);
  font-weight: 600;
  letter-spacing: 0.5px;
  text-align: center;
  color: #ffffff;
  background-color: var(--ban-green);
  border: none;
  border-radius: var(--ban-radius);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  text-decoration: none;
  box-sizing: border-box;
}

#content .woocommerce .wc-proceed-to-checkout .checkout-button:hover {
  background-color: #4f6a1f;
}

#content .woocommerce .wc-proceed-to-checkout .checkout-button:active {
  transform: scale(0.99);
}

/* ══════════════════════════════════
   NOTICES
   ══════════════════════════════════ */

#content .woocommerce .woocommerce-info,
#content .woocommerce .woocommerce-message {
  background: var(--ban-bg-soft);
  border: 1px solid var(--ban-border);
  border-left: 3px solid var(--ban-green);
  color: var(--ban-text);
  padding: clamp(0.7em, 1.2vw, 0.9em) clamp(0.9em, 1.5vw, 1.25em);
  border-radius: var(--ban-radius);
  margin-bottom: clamp(1em, 1.8vw, 1.5em);
  font-size: 15px;
}

#content .woocommerce .woocommerce-info::before,
#content .woocommerce .woocommerce-message::before {
  color: var(--ban-green);
}

#content .woocommerce .woocommerce-info::before {
  margin-right: .25rem;
  position: relative;
  top: 1px;
  left: 0;
  /* Warenkorb leer */
}

#content .woocommerce .woocommerce-message a.button {
  font-size: 15px;
  padding: clamp(0.35em, 0.6vw, 0.5em) clamp(0.75em, 1.2vw, 1em);
  background: var(--ban-green);
  color: #ffffff;
  border-radius: var(--ban-radius);
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.2s ease;
}

#content .woocommerce .woocommerce-message a.button:hover {
  background: #4f6a1f;
}

#content .woocommerce .woocommerce-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-left: 3px solid #dc2626;
  color: #991b1b;
  padding: clamp(0.7em, 1.2vw, 0.9em) clamp(0.9em, 1.5vw, 1.25em);
  border-radius: var(--ban-radius);
  margin-bottom: clamp(1em, 1.8vw, 1.5em);
  font-size: 15px;
  list-style: none;
}

/* ══════════════════════════════════
   LEERER WARENKORB
   ══════════════════════════════════ */
  
#content .woocommerce .wc-empty-cart-message + .return-to-shop {
  text-align: center;
  margin-top: clamp(0.5em, 1vw, 1em);
}

#content .woocommerce .return-to-shop .button {
  display: inline-block;
  padding: clamp(0.6em, 1vw, 0.8em) clamp(1.25em, 2.5vw, 2em);
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  background: var(--ban-green);
  border-radius: var(--ban-radius);
  text-decoration: none;
  transition: background-color 0.2s ease;
}

#content .woocommerce .return-to-shop .button:hover {
  background: #4f6a1f;
}

/* ══════════════════════════════════
   PEWC CHILD-PRODUKTE (Add-ons)
   ══════════════════════════════════ */

#content .woocommerce table.shop_table.cart tr.pewc-child-product td {
  background: var(--ban-bg-soft);
  font-size: 15px;
  color: var(--ban-text-muted);
  padding-top: clamp(0.4em, 0.7vw, 0.6em);
  padding-bottom: clamp(0.4em, 0.7vw, 0.6em);
}

#content .woocommerce table.shop_table.cart tr.pewc-child-product td.product-name {
  font-weight: 400;
}

/* ══════════════════════════════════
   RESPONSIVE – MOBILE (≤ 768px)

   WooCommerce .shop_table_responsive
   macht das Stacking selbst.
   Hier nur: Optik & Schrift aufräumen.
   ══════════════════════════════════ */

@media (max-width: 768px) {

  /* Tabelle: Border-Radius weg, Rand weg → sauberes Edge-to-Edge */
  #content .woocommerce table.shop_table.cart {
    border-radius: 0;
    border-left: none;
    border-right: none;
  }

  /* Schriftgröße auf Zellen: stabil 15px, kein Schrumpfen */
  #content .woocommerce table.shop_table.cart th,
  #content .woocommerce table.shop_table.cart td {
    font-size: 16px;
  }

  /* WooCommerce ::before Labels (Produkt:, Preis: etc.)
     Die kommen von shop_table_responsive – nur kosmetisch anpassen */
  #content .woocommerce table.shop_table.cart td::before {
    font-weight: 600;
    color: var(--ban-text-muted);
    font-size: 14px;
  }

  /* Produktname-Label verbergen – ist selbsterklärend */
  #content .woocommerce table.shop_table.cart td.product-name::before {
    display: none;
  }

  /* Entfernen-Button: oben rechts in der Zeile fixieren */
  #content .woocommerce table.shop_table.cart tr {
    position: relative;
  }

  #content .woocommerce table.shop_table.cart td.product-remove {
    position: absolute;
    top: 12px;
    right: 8px;
    width: auto;
    padding: 0;
    border: none;
  }

  #content .woocommerce table.shop_table.cart td.product-remove::before {
    display: none;
  }

  #content .woocommerce table.shop_table.cart td.product-remove a.remove {
    width: 36px;
    height: 36px;
    font-size: 1.4em;
  }

  /* Produktname: Platz rechts für den X-Button freihalten (nur Parent) */
  #content .woocommerce table.shop_table.cart tr:not(.pewc-child-product) > td.product-name {
    font-size: 16px;
    font-weight: 600;
    padding-right: 48px;
  }

  /* Child-Produkt Produktname: kein Extra-Padding (kein X-Button) */
  #content .woocommerce table.shop_table.cart tr.pewc-child-product > td.product-name {
    font-size: 16px;
    padding-right: 4px;
  }

  /* Mengen-Input: angemessene Größe */
  #content .woocommerce table.shop_table.cart .quantity .qty {
    width: 60px;
    min-height: 42px;
    font-size: 16px;
  }

  /* ── PEWC Parent-Produkte auf Mobile:
       Leere Preis/Zwischensumme-Zellen verstecken ── */
  #content .woocommerce table.shop_table.cart tr.pewc-parent-product td.product-price,
  #content .woocommerce table.shop_table.cart tr.pewc-parent-product td.product-subtotal {
    display: none;
  }

  /* Actions: zentriert */
  #content .woocommerce table.shop_table.cart td.actions {
    text-align: center;
  }

  /* Versand: th und td untereinander stapeln → Label bricht sauber um */
  #content .woocommerce .cart_totals tr.woocommerce-shipping-totals th,
  #content .woocommerce .cart_totals tr.woocommerce-shipping-totals td {
    display: block;
    width: 100%;
    text-align: left;
    padding-left: 0;
    padding-right: 0;
  }

  #content .woocommerce .cart_totals tr.woocommerce-shipping-totals th {
    border-bottom: none;
    padding-bottom: 0.25em;
  }

  /* Doppeltes "Versand:" verhindern – ::before von shop_table_responsive ausblenden */
  #content .woocommerce .cart_totals tr.woocommerce-shipping-totals td::before {
    display: none;
  }

  /* MwSt-Hinweis in Versand-Zeile: linksbündig (td ist block + left) */
  #content .woocommerce .cart_totals tr.woocommerce-shipping-totals .wgm-tax {
    text-align: left;
  }

  #content .woocommerce .cart_totals ul.woocommerce-shipping-methods li {
    padding: 0.35em 0;
  }

  /* Summen-Box: Abstand nach oben + Edge-to-Edge */
  #content .woocommerce .cart-collaterals {
    margin-top: clamp(1.25em, 2.5vw, 2em);
  }

  #content .woocommerce .cart-collaterals .cart_totals {
    border-radius: 0;
    border-left: none;
    border-right: none;
    padding: clamp(1em, 2vw, 1.5em) clamp(0.75em, 1.5vw, 1.25em) clamp(0.5em, 1vw, 0.75em);
  }
}

/* ══════════════════════════════════
   PRODUKTBILD (falls Spalte vorhanden)
   ══════════════════════════════════ */

#content .woocommerce table.shop_table.cart td.product-thumbnail {
  width: clamp(56px, 7vw, 84px);
}

#content .woocommerce table.shop_table.cart td.product-thumbnail img {
  width: clamp(48px, 6vw, 72px);
  height: clamp(48px, 6vw, 72px);
  object-fit: cover;
  border-radius: var(--ban-radius);
  border: 1px solid var(--ban-border);
  display: block;
}

/* ══════════════════════════════════
   POSITIONS-DETAILS (Maß / Zuschnitt / m²)
   Konfig-Daten aus PEWC (Wunschmaß) und Measurement Price Calculator
   (Bahnenware/Zuschnitt) erscheinen als dl.variation bzw. Kind-Zeilen.
   Hier: einheitlich, ruhig, gut lesbar.
   ══════════════════════════════════ */

/* Konfig-/Maßangaben unter dem Namen (MPC + Add-ons) */
#content .woocommerce table.shop_table.cart td.product-name > .wc-item-meta,
#content .woocommerce table.shop_table.cart td.product-name dl.variation {
  margin: clamp(0.3em, 0.5vw, 0.5em) 0 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--ban-text-muted);
  font-weight: 400;
  line-height: 1.5;
}

#content .woocommerce table.shop_table.cart td.product-name .wc-item-meta li {
  margin: 0;
  padding: 0;
}

#content .woocommerce table.shop_table.cart td.product-name .wc-item-meta strong {
  font-weight: 600;
  color: var(--ban-text);
}

/* Restposten-Typ-Badge (via functions.php an den Positionsnamen angehängt) */
#content .woocommerce .ban-cart-typebadge {
  display: inline-block;
  margin-left: 8px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ban-green-dk);
  background: var(--ban-bg-soft);
  border: 1px solid var(--ban-border);
  border-radius: 20px;
  padding: 2px 10px;
  vertical-align: 1px;
  white-space: nowrap;
}

/* ══════════════════════════════════
   VERTRAUENSLEISTE (via functions.php, woocommerce_after_cart_table)
   ══════════════════════════════════ */

#content .woocommerce .ban-cart-trust {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.6em, 1.5vw, 1.4em) clamp(1em, 2.5vw, 2.2em);
  align-items: center;
  margin: clamp(1em, 2vw, 1.5em) 0 0;
  padding: clamp(0.9em, 1.6vw, 1.15em) clamp(1em, 2vw, 1.4em);
  background: var(--ban-bg-soft);
  border: 1px solid var(--ban-border);
  border-radius: var(--ban-radius-lg);
}

#content .woocommerce .ban-cart-trust__item {
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-size: 14px;
  font-weight: 600;
  color: var(--ban-text);
}

#content .woocommerce .ban-cart-trust__item svg {
  width: 20px;
  height: 20px;
  color: var(--ban-gold);
  flex-shrink: 0;
}

/* ══════════════════════════════════
   WARMER SEITENHINTERGRUND (wie Prototyp) + kühle Alt-Einfärbung neutralisieren
   Der warme Eindruck entsteht durch den cremefarbenen Seitengrund, auf dem die
   weiße Tabellen-Karte und die sandfarbene Summen-Box liegen. Zusätzlich wird
   die globale #f8fafd-/Zebra-Einfärbung aus dem alten Custom-CSS überschrieben.
   ══════════════════════════════════ */

/* Cremefarbener Seitengrund NUR auf der Warenkorb-Seite.
   Zwei Body-Klassen (höhere Spezifität) → schlägt auch die Elementor-Kit-Regel
   unabhängig von der Ladereihenfolge. */
body.woocommerce-cart.woocommerce-page { background-color: #FAF6EE !important; }
body.woocommerce-cart.woocommerce-page main#content,
body.woocommerce-cart.woocommerce-page .site-main { background-color: #FAF6EE !important; }

/* Positionszeilen weiß (statt kühlem #f8fafd), Kopf-/Aktionszeile sand. */
#content .woocommerce table.shop_table.cart { background: var(--ban-bg); }
#content .woocommerce table.shop_table.cart tbody > tr > td { background-color: var(--ban-bg) !important; }
#content .woocommerce table.shop_table.cart thead th,
#content .woocommerce table.shop_table.cart td.actions { background-color: var(--ban-bg-soft) !important; }

/* Summen-Zeilen transparent → die sandfarbene Summen-Box scheint durch. */
#content .woocommerce .cart_totals table.shop_table tbody > tr > td,
#content .woocommerce .cart_totals table.shop_table tbody > tr > th { background-color: transparent !important; }

/* ══════════════════════════════════
   LOADING OVERLAY
   ══════════════════════════════════ */

#content .woocommerce .blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.7);
}
