/* =====================================================================
   Kropp Feinkost – Warenkorb-Styling (Leer + Voll)
   Tokens: --bg, --bg2, --surface, --text, --muted, --accent,
           --line, --card-sh, --head  →  kropp-design.css
   ===================================================================== */

/* ---- Leerer Warenkorb ------------------------------------------ */

.kp-cart-empty {
  text-align: center;
  padding: 56px 24px 72px;
  max-width: 480px;
  margin: 0 auto;
}

.kp-cart-empty__fish {
  width: 240px;
  height: 240px;
  margin: 0 auto 28px;
}

.kp-cart-empty__fish img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(40,25,10,.18));
}

.kp-cart-empty__title {
  font-family: 'Fraunces','Georgia',serif;
  font-size: clamp(22px, 4vw, 28px);
  font-weight: 900;
  color: var(--head);
  margin: 0 0 12px;
}

.kp-cart-empty__sub {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 32px;
}

.kp-cart-empty__btn {
  font-size: 16px;
  padding: 14px 30px;
}

/* Hide default WC empty-cart elements when our custom block is present */
.kp-cart-empty ~ .cart-empty,
.kp-cart-empty ~ .return-to-shop { display: none !important; }

/* ---- Voller Warenkorb: Artikel-Tabelle -------------------------- */

.woocommerce-cart .woocommerce-cart-form {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--card-sh);
  margin-bottom: 32px;
}

.woocommerce-cart .woocommerce-cart-form .shop_table { border: none; }

.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
  background: var(--bg2);
  color: var(--muted);
  font-family: 'Libre Franklin', sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr {
  border-bottom: 1px solid var(--line);
  transition: background .15s;
}
.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:last-child {
  border-bottom: none;
}
.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:hover {
  background: var(--bg);
}

.woocommerce-cart .woocommerce-cart-form .shop_table td {
  padding: 16px;
  vertical-align: middle;
  color: var(--text);
  border: none;
}

/* Produktbild – rund, wie im Shop-Raster */
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid var(--line);
  display: block;
}

/* Produktname */
.woocommerce-cart .woocommerce-cart-form .product-name a {
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
  transition: color .15s;
}
.woocommerce-cart .woocommerce-cart-form .product-name a:hover {
  color: var(--accent);
}

/* Preise */
.woocommerce-cart .woocommerce-cart-form .product-price bdi,
.woocommerce-cart .woocommerce-cart-form .product-subtotal bdi {
  font-variant-numeric: tabular-nums;
}
.woocommerce-cart .woocommerce-cart-form .product-subtotal {
  font-weight: 700;
  color: var(--accent);
}

/* Mengenfeld */
.woocommerce-cart .woocommerce-cart-form .quantity .qty {
  width: 66px;
  padding: 8px 10px;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  text-align: center;
  transition: border-color .2s;
}
.woocommerce-cart .woocommerce-cart-form .quantity .qty:focus {
  outline: none;
  border-color: var(--accent);
  background: var(--surface);
}

/* Entfernen-Button */
.woocommerce-cart .woocommerce-cart-form a.remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--bg2);
  color: var(--muted) !important;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.woocommerce-cart .woocommerce-cart-form a.remove:hover {
  background: #fee2e2;
  color: #c0392b !important;
}
:root[data-theme="dark"] .woocommerce-cart .woocommerce-cart-form a.remove:hover {
  background: rgba(192,57,43,.22);
  color: #e07373 !important;
}

/* Aktionszeile (Gutschein + Warenkorb aktualisieren) */
.woocommerce-cart .woocommerce-cart-form .actions {
  padding: 14px 16px;
  background: var(--bg2);
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.woocommerce-cart .woocommerce-cart-form .actions .coupon {
  display: flex;
  gap: 8px;
  flex: 1 1 auto;
}
.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code {
  padding: 10px 14px;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font-size: 14px;
  min-width: 140px;
  flex: 1;
  transition: border-color .2s;
}
.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code:focus {
  outline: none;
  border-color: var(--accent);
}
.woocommerce-cart .woocommerce-cart-form .actions .coupon .button,
.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
  background: transparent;
  color: var(--accent);
  border: 1.5px solid var(--accent);
  border-radius: 8px;
  padding: 10px 18px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background .2s, color .2s;
  white-space: nowrap;
}
.woocommerce-cart .woocommerce-cart-form .actions .coupon .button:hover,
.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:hover {
  background: var(--accent);
  color: #fff;
}

/* ---- Warenkorbsummen -------------------------------------------- */

.woocommerce-cart .cart_totals {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
  box-shadow: var(--card-sh);
  max-width: 440px;
  margin-left: auto;
}

.woocommerce-cart .cart_totals h2 {
  font-family: 'Fraunces','Georgia',serif;
  font-size: 20px;
  font-weight: 900;
  color: var(--head);
  margin: 0 0 18px;
}

.woocommerce-cart .cart_totals .shop_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.woocommerce-cart .cart_totals .shop_table th {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 0;
  text-align: left;
  border-bottom: 1px solid var(--line);
  width: 50%;
  background: transparent;
}

.woocommerce-cart .cart_totals .shop_table td {
  color: var(--text);
  font-size: 15px;
  padding: 10px 0;
  text-align: right;
  border-bottom: 1px solid var(--line);
  font-variant-numeric: tabular-nums;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  border-bottom: none;
  padding-top: 18px;
}

.woocommerce-cart .cart_totals .order-total th {
  color: var(--head);
  font-weight: 700;
  font-size: 16px;
}

.woocommerce-cart .cart_totals .order-total td strong {
  color: var(--accent);
  font-size: 22px;
  font-family: 'Fraunces',serif;
  font-weight: 900;
}

/* Mindermengenzuschlag-Zeile */
.woocommerce-cart .cart_totals .fee th,
.woocommerce-cart .cart_totals .fee td {
  font-size: 13px;
  color: var(--muted);
}

/* Zur-Kasse-Button */
.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 4px;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 16px 24px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  font-family: 'Libre Franklin', sans-serif !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s !important;
  box-shadow: 0 4px 16px rgba(168,71,42,.28) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--accent-h) !important;
}

/* ---- Responsive ------------------------------------------------- */
@media (max-width: 680px) {
  /* Tabelle zu Blockformat */
  .woocommerce-cart .woocommerce-cart-form .shop_table thead { display: none; }
  .woocommerce-cart .woocommerce-cart-form .shop_table,
  .woocommerce-cart .woocommerce-cart-form .shop_table tbody,
  .woocommerce-cart .woocommerce-cart-form .shop_table tr,
  .woocommerce-cart .woocommerce-cart-form .shop_table td { display: block; width: 100%; }

  .woocommerce-cart .woocommerce-cart-form .shop_table tr {
    border-bottom: 1px solid var(--line);
    padding: 12px 0;
  }
  .woocommerce-cart .woocommerce-cart-form .shop_table td {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border: none;
  }
  .woocommerce-cart .woocommerce-cart-form .shop_table td::before {
    content: attr(data-title);
    font-size: 11px;
    font-weight: 700;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    min-width: 80px;
    flex-shrink: 0;
  }
  .woocommerce-cart .woocommerce-cart-form .product-remove { display: none; }

  .woocommerce-cart .cart_totals { max-width: 100%; margin-left: 0; }

  .kp-cart-empty { padding: 40px 20px 56px; }
  .kp-cart-empty__fish { width: 180px; height: 180px; }
}
