/* ==============================================================
   MOCKUP DESIGNER — Cart & Checkout  v3.1
   CI: navy #082f57 | blue #0D5EA8 | cyan #1FB6D9
   ============================================================== */

/* ── Seitenhintergrund ── */
body.woocommerce-cart,
body.woocommerce-checkout { background:#eef2f7 !important; }

body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title { display:none !important; }

/* ══════════════════════════════════════════════════════
   WARENKORB — 2-Spalten Grid
   ══════════════════════════════════════════════════════ */

body.woocommerce-cart .woocommerce {
  display:grid !important;
  grid-template-columns:2fr 1fr !important;
  align-items:start !important;
  gap:28px !important;
  max-width:1200px !important;
  margin:36px auto 80px !important;
  padding:0 24px !important;
  box-sizing:border-box !important;
}
body.woocommerce-cart .woocommerce > * { min-width:0; }
body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column:1/-1 !important; }
body.woocommerce-cart .woocommerce > .woocommerce-cart-form  { grid-column:1 !important; grid-row:2 !important; }
body.woocommerce-cart .woocommerce > .cart-collaterals       { grid-column:2 !important; grid-row:2/5 !important; position:sticky !important; top:24px !important; align-self:start !important; }

/* ── Cart-Tabelle → Card-Liste ── */
.woocommerce-cart-form .shop_table.cart {
  display:block !important; border:none !important; background:transparent !important; width:100% !important;
}
.woocommerce-cart-form .shop_table.cart thead { display:none !important; }
.woocommerce-cart-form .shop_table.cart tbody { display:block !important; }
.woocommerce-cart-form .cart_item {
  display:block !important;
  background:#fff !important;
  border-radius:20px !important;
  box-shadow:0 3px 20px rgba(8,47,87,.09) !important;
  margin-bottom:18px !important;
  overflow:hidden !important;
  transition:none !important;
}
.woocommerce-cart-form .cart_item td { display:none !important; border:none !important; padding:0 !important; }
.woocommerce-cart-form .cart_item td.product-name { display:block !important; }

/* ══════════════════════════════════════════════════════
   ARTIKEL-CARD
   ══════════════════════════════════════════════════════ */

.md-cart-card { display:flex; flex-direction:column; }
.md-cart-img-link { display:block; border-radius:20px 20px 0 0; overflow:hidden; background:#fff; }
.md-cart-mockup {
  display:block !important; width:100% !important; height:300px !important;
  object-fit:contain !important; object-position:center !important;
  background:#fff !important; padding:16px !important; box-sizing:border-box !important;
}
.md-cart-body { padding:14px 20px 12px; display:flex; flex-direction:column; gap:8px; border-top:1px solid #e8eef5; background:#f4f8fb; }
.md-cart-title { font:700 16px/1.3 "Sora",sans-serif; color:#082f57; text-decoration:none; }
.md-cart-title:hover { color:#0D5EA8; }
.md-cart-badges { display:flex; flex-wrap:wrap; gap:7px; }
.md-badge-color { background:#eef2f7; border-radius:999px; padding:3px 11px; font:600 12px -apple-system,sans-serif; color:#082f57; }
.md-badge-price { background:#e6f1ff; border-radius:999px; padding:3px 11px; font:700 13px -apple-system,sans-serif; color:#0D5EA8; }

/* ── Card Footer: Qty | Rechnung | Löschen ── */
.md-cart-footer {
  display:flex; align-items:center; gap:10px;
  padding:12px 20px 16px; border-top:1px solid #e0e8f0; background:#f4f8fb;
}
.md-qty-slot { display:flex; align-items:center; }
.md-qty-slot label { display:none !important; }
.md-qty-slot .quantity { display:flex !important; }
.md-qty-slot input.qty,
.md-qty-slot input[type=number] {
  width:64px !important; padding:8px 6px !important;
  border:1.5px solid #d0dbe8 !important; border-radius:10px !important;
  font:700 15px/1 -apple-system,sans-serif !important;
  color:#082f57 !important; background:#f4f8fb !important;
  text-align:center !important; box-shadow:none !important; outline:none !important;
  -moz-appearance:textfield !important;
}
.md-qty-slot input.qty::-webkit-inner-spin-button,
.md-qty-slot input.qty::-webkit-outer-spin-button { -webkit-appearance:none; }
.md-qty-slot input.qty:focus { border-color:#0D5EA8 !important; box-shadow:0 0 0 3px rgba(13,94,168,.12) !important; }

.md-calc { flex:1; display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.md-calc-formula { font:400 12px -apple-system,sans-serif; color:#999; }
.md-calc-total { font:700 20px/1 "Sora",sans-serif; color:#082f57; }

/* ── Löschen-Button + Tooltip ── */
.md-remove-wrap { position:relative !important; display:inline-flex !important; flex-shrink:0 !important; }
.md-remove-tooltip {
  position:absolute !important; bottom:calc(100% + 8px) !important; left:50% !important;
  transform:translateX(-50%) !important;
  background:#082f57 !important; color:#fff !important;
  font:600 11px -apple-system,sans-serif !important; white-space:nowrap !important;
  padding:5px 10px !important; border-radius:8px !important;
  pointer-events:none !important; opacity:0 !important;
  transition:opacity .18s !important; z-index:99 !important;
}
.md-remove-tooltip::after {
  content:"" !important; position:absolute !important; top:100% !important; left:50% !important;
  transform:translateX(-50%) !important;
  border:5px solid transparent !important; border-top-color:#082f57 !important;
}
.md-remove-wrap:hover .md-remove-tooltip { opacity:1 !important; }
.md-remove-btn {
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:42px !important; height:42px !important; border-radius:50% !important;
  background:#e74c3c !important; color:#fff !important;
  text-decoration:none !important; flex-shrink:0 !important;
  box-shadow:0 2px 8px rgba(231,76,60,.35) !important;
  transition:background .18s, transform .15s, box-shadow .15s !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2218%22 height=%2218%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%223 6 5 6 21 6%22/%3E%3Cpath d=%22M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6%22/%3E%3Cpath d=%22M10 11v6M14 11v6%22/%3E%3Cpath d=%22M9 6V4h6v2%22/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:center !important;
  background-size:18px 18px !important; font-size:0 !important;
}
.md-remove-btn:hover {
  background-color:#c0392b !important; color:#fff !important;
  transform:scale(1.1) !important; box-shadow:0 4px 14px rgba(231,76,60,.5) !important;
}

/* ── „Neues Design hinzufügen" Button ── */
.md-add-design-wrap { margin-bottom:14px !important; }
.md-add-design-btn {
  display:inline-flex !important; align-items:center !important; gap:9px !important;
  padding:14px 24px !important;
  background:linear-gradient(135deg,#082f57,#0D5EA8) !important;
  color:#fff !important; border:none !important; border-radius:14px !important;
  font:700 15px/1 "Sora",sans-serif !important;
  text-decoration:none !important; cursor:pointer !important;
  box-shadow:0 4px 16px rgba(8,47,87,.28) !important;
  transition:opacity .18s, transform .15s !important; white-space:nowrap !important;
}
.md-add-design-btn:hover { opacity:.88 !important; transform:translateY(-1px) !important; color:#fff !important; }
@media(max-width:900px){
  .md-add-design-btn { display:flex !important; justify-content:center !important; width:100% !important; box-sizing:border-box !important; }
  .woocommerce > .md-add-design-wrap { display:none !important; }
}

/* ── Gutschein / Actions ── */
.woocommerce-cart-form .shop_table.cart tr:not(.cart_item) {
  display:block !important; width:100% !important; box-sizing:border-box !important;
}
.woocommerce-cart-form .shop_table.cart td.actions {
  display:block !important; width:100% !important; box-sizing:border-box !important;
  padding:0 !important; border:none !important;
  background:transparent !important; border-radius:0 !important;
  box-shadow:none !important; margin-top:4px !important;
}
.woocommerce-cart-form .actions {
  display:flex !important; flex-wrap:wrap !important; gap:0 !important; align-items:stretch !important;
  background:transparent !important; border-radius:0 !important; padding:0 !important;
  box-shadow:none !important; border:none !important;
  width:100% !important; box-sizing:border-box !important;
}
.woocommerce-cart-form .shop_table.cart td.actions,
.woocommerce-cart-form .actions .coupon { text-align:left !important; }
.woocommerce-cart-form .actions .coupon {
  background:#fff; border-radius:20px; padding:16px 22px;
  box-shadow:0 3px 20px rgba(8,47,87,.09);
  flex:none !important; width:100% !important; box-sizing:border-box !important;
  flex-direction:column; gap:0; display:flex;
}
.woocommerce-cart-form .actions .coupon .md-coupon-toggle-text {
  font:500 15px -apple-system,sans-serif; color:#082f57; cursor:pointer;
  display:block; user-select:none;
}
.woocommerce-cart-form .actions .coupon .md-coupon-toggle-text a { color:#0D5EA8; text-decoration:none; font-weight:600; }
.woocommerce-cart-form .actions .coupon .md-coupon-toggle-text a:hover { text-decoration:underline; }
.woocommerce-cart-form .actions .coupon > label { display:none !important; }
.woocommerce-cart-form .actions .coupon .md-coupon-fields {
  border-top:1px solid #eef2f7; margin-top:12px; padding-top:14px;
  display:flex; flex-direction:column; gap:10px;
}
.woocommerce-cart-form .actions .coupon input#coupon_code {
  width:100% !important; box-sizing:border-box !important;
  padding:10px 14px !important; border:1.5px solid #d0dbe8 !important; border-radius:10px !important;
  font:500 14px -apple-system,sans-serif !important; color:#082f57 !important; background:#f4f8fb !important;
  outline:none !important; display:block !important; float:none !important; text-align:left !important;
}
.woocommerce-cart-form .actions .coupon input#coupon_code:focus { border-color:#0D5EA8 !important; box-shadow:0 0 0 3px rgba(13,94,168,.11) !important; }
.woocommerce-cart-form .actions .coupon .button,
.woocommerce-cart-form .actions .coupon button[name="apply_coupon"] {
  width:100% !important; box-sizing:border-box !important; padding:11px 20px !important;
  border:none !important; border-radius:10px !important;
  background:#082f57 !important; color:#fff !important; font:700 14px "Sora",sans-serif !important;
  cursor:pointer !important; text-align:center !important; transition:background .15s !important;
  display:block !important; float:none !important; margin-top:15px !important;
}
.woocommerce-cart-form .actions .coupon .button:hover,
.woocommerce-cart-form .actions .coupon button[name="apply_coupon"]:hover { background:#0D5EA8 !important; }
.woocommerce-cart-form .actions button[name=update_cart] { display:none !important; }

/* ══════════════════════════════════════════════════════
   WARENKORB-SUMME
   ══════════════════════════════════════════════════════ */

.cart-collaterals { margin-top:0 !important; width:100% !important; float:none !important; }
.cart_totals,
.woocommerce .cart_totals {
  float:none !important; width:100% !important; box-sizing:border-box !important;
  background:#fff !important; border-radius:20px !important;
  padding:22px !important; box-shadow:0 3px 20px rgba(8,47,87,.09) !important;
  overflow:hidden !important;
}
.cart_totals h2 { font:700 16px/1.3 "Sora",sans-serif !important; color:#082f57 !important; margin:0 0 16px !important; padding:0 !important; border:none !important; }
.cart_totals .shop_table,
.cart_totals .shop_table tbody,
.cart_totals .shop_table tfoot { display:block !important; width:100% !important; border:none !important; }
.cart_totals .shop_table tr {
  display:flex !important; justify-content:space-between !important; align-items:baseline !important;
  padding:7px 0 !important; border:none !important; border-bottom:1px solid #f0f4f8 !important;
}
.cart_totals .shop_table tr:last-child { border-bottom:none !important; }
.cart_totals .shop_table th {
  display:block !important; flex-shrink:0 !important; border:none !important; padding:0 !important;
  font:500 13px -apple-system,sans-serif !important; color:#666 !important; text-align:left !important;
}
.cart_totals .shop_table td {
  display:block !important; flex-shrink:0 !important; border:none !important; padding:0 !important;
  font:600 14px -apple-system,sans-serif !important; color:#082f57 !important; text-align:right !important;
}
.cart_totals .order-total { border-bottom:none !important; padding-top:4px !important; margin-top:6px !important; border-top:2px solid #eef2f7 !important; }
.cart_totals .order-total th { font:600 14px -apple-system,sans-serif !important; color:#082f57 !important; }
.cart_totals .order-total td { font:700 20px/1 "Sora",sans-serif !important; color:#082f57 !important; }
.cart_totals .woocommerce-Price-amount { white-space:nowrap !important; }
.cart_totals .wc-block-components-payment-method-icons,
.cart_totals .klarna-checkout-widget,
.cart_totals [class*="klarna"],
.cart_totals [class*="paypal-message"],
.cart_totals [class*="ppcp-message"] {
  font-size:12px !important; color:#888 !important; margin:8px 0 !important; line-height:1.5 !important;
  text-align:left !important; display:block !important;
  word-break:break-word !important; overflow-wrap:break-word !important;
  max-width:100% !important; box-sizing:border-box !important;
}
.cart_totals [class*="klarna"] *,
.cart_totals [class*="paypal-message"] *,
.cart_totals [class*="ppcp-message"] * {
  text-align:left !important; max-width:100% !important;
  word-break:break-word !important; overflow-wrap:break-word !important;
}
.cart_totals #payment-method-message { padding-left:0 !important; padding-right:0 !important; }

/* ── Weiter zur Kasse ── */
.wc-proceed-to-checkout { margin-top:24px !important; padding:0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-cart .wc-proceed-to-checkout .button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display:block !important; width:100% !important; box-sizing:border-box !important;
  padding:20px 16px !important; margin:25px 0 !important;
  background:linear-gradient(135deg,#0D5EA8,#1FB6D9) !important;
  color:#fff !important; border:none !important; border-radius:12px !important;
  font:700 15px/1.3 "Sora",sans-serif !important; text-align:center !important;
  text-decoration:none !important; cursor:pointer !important; white-space:normal !important;
  box-shadow:0 4px 18px rgba(13,94,168,.32) !important;
  transition:opacity .18s, transform .18s !important; letter-spacing:.01em !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a:hover { opacity:.88 !important; transform:translateY(-1px) !important; color:#fff !important; }

/* ── Express-Zahlung Trennlinie ── */
body.woocommerce-cart .cart_totals > *:not(h2):not(.shop_table):not(.wc-proceed-to-checkout) { position:relative !important; }
body.woocommerce-cart .cart_totals iframe { max-width:100% !important; border-radius:8px !important; overflow:hidden; }
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout { border-bottom:1px solid #eef2f7 !important; padding-bottom:18px !important; margin-bottom:0 !important; }
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout + *::before {
  content:"— oder schnell zahlen —" !important;
  display:block !important; text-align:center !important;
  font:500 11px -apple-system,sans-serif !important; color:#aaa !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
  padding:14px 0 10px !important;
}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout ~ * { margin-top:0 !important; }
body.woocommerce-cart .cart-collaterals iframe,
body.woocommerce-cart .cart-collaterals .paypal-button-container { max-width:100% !important; }

.md-thumb-hidden { display:none !important; }
td.product-thumbnail:has(.md-thumb-hidden) { display:none !important; }

/* ══════════════════════════════════════════════════════
   KASSE
   ══════════════════════════════════════════════════════ */

body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce-page {
  max-width:1140px !important; margin:36px auto 80px !important;
  padding:0 24px !important; box-sizing:border-box !important;
}
body.woocommerce-checkout form.checkout {
  display:grid !important;
  grid-template-columns:1fr 380px !important;
  column-gap:28px !important; row-gap:20px !important;
  align-items:start !important;
}
/* Grid-Slots linke Spalte: wcpay-Wrapper landet per JS in #md-oder-divider (grid-row:6) */
body.woocommerce-checkout #customer_details { grid-column:1 !important; grid-row:2 !important; display:block !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-column:1 !important; grid-row:3 !important; align-self:start !important; }
body.woocommerce-checkout #woocommerce-checkout-form-coupon { grid-column:1 !important; grid-row:4 !important; align-self:start !important; margin-top:-20px !important; }
body.woocommerce-checkout #payment { grid-column:1 !important; grid-row:5 !important; }
body.woocommerce-checkout #md-oder-divider {
  grid-column:1 !important; grid-row:6 !important;
  background:#fff !important; border-radius:20px !important;
  padding:24px !important; box-shadow:0 3px 20px rgba(8,47,87,.09) !important;
  margin:0 !important;
}
body.woocommerce-checkout h3#order_review_heading { display:none !important; }
body.woocommerce-checkout #order_review {
  grid-column:2 !important; grid-row:2 / span 5 !important;
  position:sticky !important; top:20px !important; align-self:start !important;
}
body.woocommerce-checkout .md-checkout-info-card { display:none !important; }

body.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-page > .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce > #woocommerce-checkout-form-coupon,
body.woocommerce-checkout .woocommerce-page > #woocommerce-checkout-form-coupon { display:none !important; }

body.woocommerce-checkout form.checkout .woocommerce-form-coupon-toggle {
  background:#fff !important; border-radius:20px !important;
  padding:16px 22px !important; box-shadow:0 3px 20px rgba(8,47,87,.09) !important;
  cursor:pointer !important; border-left:none !important;
}
body.woocommerce-checkout form.checkout .woocommerce-form-coupon-toggle::before,
body.woocommerce-checkout form.checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display:none !important; }
body.woocommerce-checkout form.checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  border-left:none !important; background:transparent !important;
  padding:0 !important; margin:0 !important; box-shadow:none !important; border:none !important;
}
body.woocommerce-checkout form.checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon {
  background:transparent !important; border-radius:0 !important;
  box-shadow:none !important; border:none !important; outline:none !important;
  margin:12px 0 0 !important; padding:0 !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon form,
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon .woocommerce-form-coupon {
  background:transparent !important; border:none !important; padding:0 !important; margin:0 !important; box-shadow:none !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon {
  border-top:1px solid #eef2f7 !important; padding-top:14px !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon input#coupon_code {
  border:1.5px solid #d0dbe8 !important; border-radius:10px !important;
  background:#f4f8fb !important; color:#082f57 !important;
  padding:10px 14px !important; font:500 14px -apple-system,sans-serif !important; outline:none !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon input#coupon_code:focus {
  border-color:#0D5EA8 !important; box-shadow:0 0 0 3px rgba(13,94,168,.11) !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon .button,
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon button[name="apply_coupon"] {
  background:#082f57 !important; color:#fff !important; border:none !important;
  border-radius:10px !important; padding:11px 20px !important;
  font:700 14px "Sora",sans-serif !important; cursor:pointer !important; transition:background .15s !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon .button:hover,
body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon button[name="apply_coupon"]:hover { background:#0D5EA8 !important; }
body.woocommerce-checkout form.checkout > #woocommerce-checkout-form-coupon {
  background:#fff !important; border-radius:0 0 20px 20px !important;
  padding:4px 22px 20px !important; box-shadow:0 6px 20px rgba(8,47,87,.07) !important; margin-top:-20px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity { display:none !important; }
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody .cart_item {
  margin-left:-22px !important; margin-right:-22px !important; padding-bottom:0 !important; border-bottom:none !important;
}
body.woocommerce-checkout #order_review .md-cart-card { border-radius:0 !important; border-bottom:1px solid #f0f4f8 !important; }
body.woocommerce-checkout #order_review .md-cart-card .md-cart-img-link { border-radius:0 !important; }
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody .cart_item:last-child .md-cart-card { border-bottom:none !important; }
body.woocommerce-checkout #order_review .md-cart-card,
body.woocommerce-checkout #order_review .md-cart-card:hover {
  transform:none !important; box-shadow:none !important; cursor:default !important; background:transparent !important;
}
body.woocommerce-checkout #order_review table .cart_item td .md-cart-body,
body.woocommerce-checkout #order_review table .cart_item td .md-cart-body:hover,
body.woocommerce-checkout #order_review .md-cart-body { background:#f4f8fb !important; }
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr,
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr:nth-child(odd),
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr:nth-child(even),
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr td { background:transparent !important; }
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot { margin-top:4px !important; }

/* ── Formular-Sektionen ── */
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
  background:#fff !important; border-radius:20px !important;
  padding:26px !important; box-shadow:0 3px 20px rgba(8,47,87,.09) !important;
  margin-bottom:16px !important; width:100% !important; float:none !important; box-sizing:border-box !important;
}
body.woocommerce-checkout #customer_details .col-2 { margin-bottom:0 !important; }
body.woocommerce-checkout h3 {
  font:700 16px/1.2 "Sora",sans-serif !important; color:#082f57 !important;
  border-left:4px solid #1FB6D9 !important; padding:2px 0 2px 12px !important; margin:0 0 20px !important;
}
body.woocommerce-checkout #order_review {
  background:#fff !important; border-radius:20px !important;
  padding:22px !important; box-shadow:0 4px 24px rgba(8,47,87,.10) !important; margin-top:0 !important;
}
body.woocommerce-checkout #order_review::before {
  content:"Deine Bestellung" !important; display:block !important;
  font:700 16px/1.2 "Sora",sans-serif !important; color:#082f57 !important;
  border-left:4px solid #1FB6D9 !important; padding:2px 0 2px 12px !important; margin-bottom:18px !important;
}
body.woocommerce-checkout .form-row label {
  font:600 11px -apple-system,sans-serif !important; color:#082f57 !important;
  text-transform:uppercase !important; letter-spacing:.06em !important;
  margin-bottom:5px !important; display:block !important;
}
body.woocommerce-checkout .form-row { margin-bottom:12px !important; }
body.woocommerce-checkout .input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  border:1.5px solid #d0dbe8 !important; border-radius:11px !important;
  padding:11px 14px !important; font:500 15px -apple-system,sans-serif !important;
  color:#082f57 !important; background:#fff !important;
  width:100% !important; box-sizing:border-box !important;
  box-shadow:none !important; outline:none !important;
  transition:border .18s,box-shadow .18s !important;
  -webkit-appearance:none !important; appearance:none !important;
}
body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
  border-color:#0D5EA8 !important; box-shadow:0 0 0 3px rgba(13,94,168,.12) !important;
}

/* ── Bestellübersicht Tabelle ── */
.woocommerce-checkout-review-order-table {
  width:100% !important; border:none !important; border-collapse:collapse !important; display:block !important;
}
.woocommerce-checkout-review-order-table thead { display:none !important; }
.woocommerce-checkout-review-order-table tbody .cart_item td.product-total { display:none !important; }
.woocommerce-checkout-review-order-table tbody { display:block !important; }
.woocommerce-checkout-review-order-table tbody .cart_item {
  display:block !important; padding:0 0 14px !important; border-bottom:1px solid #f0f4f8 !important; margin-bottom:14px !important;
}
.woocommerce-checkout-review-order-table tbody .cart_item:last-child { border-bottom:none !important; margin-bottom:0 !important; }
.woocommerce-checkout-review-order-table tbody .cart_item td { display:block !important; border:none !important; padding:0 !important; width:100% !important; }
.woocommerce-checkout-review-order-table tbody .cart_item td.product-name { width:100% !important; }
body.woocommerce-checkout .md-cart-card .md-remove-wrap { display:none !important; }
body.woocommerce-checkout .md-cart-card .md-qty-slot { display:none !important; }
body.woocommerce-checkout .md-cart-card .md-cart-footer {
  padding:10px 20px 14px !important; background:#f4f8fb !important; border-top:1px solid #e8eef5 !important;
}
body.woocommerce-checkout .md-cart-mockup { height:200px !important; }
body.woocommerce-checkout .md-cart-card { cursor:default !important; }
.woocommerce-checkout-review-order-table tfoot { display:block !important; margin-top:8px !important; }
.woocommerce-checkout-review-order-table tfoot tr {
  display:flex !important; justify-content:space-between !important; align-items:baseline !important;
  padding:8px 0 !important; border-bottom:1px solid #f0f4f8 !important;
}
.woocommerce-checkout-review-order-table tfoot tr:last-child { border-bottom:none !important; }
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  display:block !important; padding:0 !important; border:none !important;
  font:500 14px -apple-system,sans-serif !important; color:#444 !important;
}
.woocommerce-checkout-review-order-table tfoot td { font-weight:600 !important; color:#082f57 !important; }
.woocommerce-checkout-review-order-table tfoot .order-total th { font:700 15px "Sora",sans-serif !important; color:#082f57 !important; }
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font:700 20px/1 "Sora",sans-serif !important; color:#082f57 !important;
  padding-top:12px !important; border-top:2px solid #eef2f7 !important;
}
body.woocommerce-checkout #order_review [class*="paypal-message"],
body.woocommerce-checkout #order_review [class*="ppcp-message"],
body.woocommerce-checkout #order_review .wc-block-components-payment-method-icons {
  font-size:12px !important; color:#888 !important; padding:10px 0 6px !important;
}

/* ── Zahlungsmethoden ── */
body.woocommerce-checkout #payment {
  background:#fff !important; border-radius:20px !important;
  padding:24px !important; box-shadow:0 3px 20px rgba(8,47,87,.09) !important; margin:0 !important;
}
body.woocommerce-checkout #payment h3 { margin-bottom:18px !important; }
#payment .payment_methods { list-style:none !important; margin:0 0 16px !important; padding:0 !important; }
#payment .payment_methods > li {
  border:1.5px solid #e8eef5 !important; border-radius:12px !important;
  margin-bottom:8px !important; cursor:pointer !important;
  transition:border-color .18s, background .18s, box-shadow .18s !important;
  list-style:none !important; padding:0 !important; overflow:hidden !important; position:relative !important;
}
#payment .payment_methods > li:has(input:checked) {
  border-color:#0D5EA8 !important; background:#f0f6ff !important; box-shadow:0 2px 12px rgba(13,94,168,.13) !important;
}
#payment .payment_methods > li input[type="radio"] {
  position:absolute !important; opacity:0 !important; pointer-events:none !important; width:0 !important; height:0 !important;
}
#payment .payment_methods > li > label {
  display:flex !important; align-items:center !important; gap:10px !important;
  padding:14px 16px !important; width:100% !important; box-sizing:border-box !important;
  cursor:pointer !important; font:600 15px -apple-system,sans-serif !important;
  color:#082f57 !important; margin:0 !important; position:relative !important;
}
#payment .payment_methods > li > label img { max-height:22px !important; width:auto !important; object-fit:contain !important; }
#payment .payment_methods > li > label::after {
  content:"" !important; margin-left:auto !important; flex-shrink:0 !important;
  width:22px !important; height:22px !important; border-radius:50% !important;
  border:2px solid #d0dbe8 !important; background:#fff !important;
  transition:border-color .18s, background .18s !important; box-sizing:border-box !important;
}
#payment .payment_methods > li:has(input:checked) > label::after {
  border-color:#0D5EA8 !important; background:#0D5EA8 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 10%22%3E%3Cpath d=%22M1 5l3.5 3.5L11 1%22 stroke=%22%23fff%22 stroke-width=%222%22 fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:center !important; background-size:12px 10px !important;
}
#payment .payment_box {
  background:#e8f1fd !important; border-radius:0 0 10px 10px !important;
  padding:12px 16px !important; margin:0 !important; font-size:13px !important; color:#444 !important;
  border-top:1px solid #ccddf5 !important;
}
#payment .payment_methods > li .payment_box::before { display:none !important; }

/* ── Bestellung aufgeben ── */
#place_order {
  display:block !important; width:100% !important; box-sizing:border-box !important;
  padding:16px 24px !important; margin-top:16px !important;
  background:linear-gradient(135deg,#0D5EA8,#1FB6D9) !important;
  color:#fff !important; border:none !important; border-radius:14px !important;
  font:700 16px/1 "Sora",sans-serif !important; text-align:center !important;
  box-shadow:0 6px 22px rgba(13,94,168,.32) !important; cursor:pointer !important;
  transition:transform .18s,box-shadow .18s !important; letter-spacing:.02em !important;
}
#place_order:hover { transform:translateY(-2px) !important; box-shadow:0 10px 28px rgba(13,94,168,.42) !important; }

/* ── Gespiegelte Summen in #payment (via JS) ── */
.md-payment-totals { border-top:1px solid #f0f4f8 !important; margin-top:16px !important; padding-top:8px !important; }
.md-payment-totals-row {
  display:flex !important; justify-content:space-between !important; align-items:baseline !important;
  padding:7px 0 !important; border-bottom:1px solid #f0f4f8 !important;
  font:500 14px -apple-system,sans-serif !important; color:#444 !important;
}
.md-payment-totals-row:last-child { border-bottom:none !important; }
.md-payment-totals-row span:last-child { font-weight:600 !important; color:#082f57 !important; }
.md-payment-totals-row.md-totals-grand { border-top:2px solid #eef2f7 !important; margin-top:4px !important; padding-top:12px !important; }
.md-payment-totals-row.md-totals-grand span:first-child { font:700 15px "Sora",sans-serif !important; color:#082f57 !important; }
.md-payment-totals-row.md-totals-grand span:last-child { font:700 20px/1 "Sora",sans-serif !important; color:#082f57 !important; }

/* ── Notices ── */
.woocommerce-message,.woocommerce-info {
  border-radius:12px !important; border-top:none !important;
  border-left:4px solid #1FB6D9 !important; background:#f0f9ff !important;
  color:#082f57 !important; padding:14px 18px !important;
}
.woocommerce-message::before,
.woocommerce-info::before { display:none !important; }
.woocommerce-error { border-radius:12px !important; border-top:none !important; border-left:4px solid #e74c3c !important; background:#fff5f5 !important; color:#c0392b !important; padding:14px 18px !important; }

/* ── Zusatzinfos-Card ── */
.md-checkout-info-card {
  background:#fff !important; border-radius:20px !important;
  padding:22px !important; box-shadow:0 4px 24px rgba(8,47,87,.09) !important; margin-top:16px !important;
}
.md-info-row { display:flex !important; align-items:flex-start !important; gap:14px !important; padding:12px 0 !important; border-bottom:1px solid #f0f4f8 !important; }
.md-info-row:last-child { border-bottom:none !important; padding-bottom:0 !important; }
.md-info-row svg { flex-shrink:0 !important; margin-top:2px !important; }
.md-info-row div { display:flex !important; flex-direction:column !important; gap:2px !important; }
.md-info-row strong { font:600 13px -apple-system,sans-serif !important; color:#082f57 !important; }
.md-info-row span { font:400 12px -apple-system,sans-serif !important; color:#888 !important; }

/* ── Lösch-Bestätigung Modal ── */
#md-confirm-modal { display:none; position:fixed; inset:0; z-index:99999; }
#md-confirm-modal.md-confirm-visible { display:block; }
#md-confirm-overlay { position:fixed; inset:0; background:rgba(8,47,87,.45); backdrop-filter:blur(3px); animation:mdFadeIn .2s ease; }
#md-confirm-box {
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  background:#fff; border-radius:24px; padding:36px 32px 28px;
  box-shadow:0 20px 60px rgba(8,47,87,.22); width:min(420px,90vw); text-align:center; animation:mdSlideUp .22s ease;
}
#md-confirm-icon { width:68px; height:68px; border-radius:50%; background:#fff0ee; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
#md-confirm-box h3 { font:700 20px/1.2 "Sora",sans-serif; color:#082f57; margin:0 0 10px; border:none !important; padding:0 !important; }
#md-confirm-box p { font:400 14px/1.5 -apple-system,sans-serif; color:#666; margin:0 0 26px; }
#md-confirm-btns { display:flex; gap:12px; }
#md-confirm-cancel { flex:1; padding:13px; border:1.5px solid #d0dbe8; border-radius:12px; background:#fff; color:#082f57; font:600 14px -apple-system,sans-serif; cursor:pointer; transition:background .15s; }
#md-confirm-cancel:hover { background:#f4f8fb; }
#md-confirm-ok { flex:1; padding:13px; border:none; border-radius:12px; background:linear-gradient(135deg,#e74c3c,#c0392b); color:#fff; font:700 14px -apple-system,sans-serif; cursor:pointer; box-shadow:0 4px 14px rgba(231,76,60,.35); transition:opacity .15s; }
#md-confirm-ok:hover { opacity:.88; }
@keyframes mdFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes mdSlideUp { from { opacity:0; transform:translate(-50%,-44%); } to { opacity:1; transform:translate(-50%,-50%); } }

/* ══════════════════════════════════════════
   MOBILE — Warenkorb (≤ 900px)
   ══════════════════════════════════════════ */
@media(max-width:900px){
  body.woocommerce-cart .woocommerce {
    grid-template-columns:1fr !important; padding:0 14px !important;
    margin:20px auto 60px !important; gap:16px !important;
  }
  body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { order:0 !important; }
  body.woocommerce-cart .woocommerce > .woocommerce-cart-form  { order:1 !important; grid-column:1 !important; grid-row:auto !important; }
  body.woocommerce-cart .woocommerce > .cart-collaterals       { order:2 !important; grid-column:1 !important; grid-row:auto !important; position:sticky !important; top:16px !important; }
  .woocommerce-cart-form .shop_table.cart td::before,
  .woocommerce-cart-form .shop_table.cart th::before { display:none !important; content:none !important; }
  .woocommerce-cart-form .shop_table.cart td.product-name { display:block !important; }
  .md-cart-card { text-align:center !important; }
  .md-cart-body { padding:12px 20px 10px !important; text-align:center !important; }
  .md-cart-badges { justify-content:center !important; }
  .md-cart-title { display:block !important; }
  .md-cart-footer { padding:10px 20px 16px !important; justify-content:center !important; }
  .md-calc { align-items:center !important; }
  .md-remove-wrap { margin-left:auto !important; }
  .md-cart-mockup { height:240px !important; }
  .md-calc-total { font-size:18px !important; }
  .cart_totals .shop_table td::before,
  .cart_totals .shop_table th::before { display:none !important; content:none !important; }
  .woocommerce-cart-form .actions { flex-direction:column !important; align-items:stretch !important; }
  .woocommerce-cart-form .actions .coupon { flex-direction:column !important; display:flex !important; }
  .woocommerce-cart-form .actions .coupon,
  .woocommerce-cart-form .shop_table.cart td.actions,
  .woocommerce-cart-form .actions .coupon .md-coupon-toggle-text { text-align:left !important; }
  .woocommerce-cart-form .actions .coupon input#coupon_code { width:100% !important; text-align:left !important; }
  .woocommerce-cart-form .actions .coupon .button { width:100% !important; text-align:center !important; }
  /* Klarna/PayPal Nachrichten nicht überlappen */
  .cart_totals [class*="klarna"],
  .cart_totals [class*="paypal-message"],
  .cart_totals [class*="ppcp-message"],
  .cart_totals .ppcp-messages { display:block !important; position:static !important; margin:6px 0 !important; clear:both !important; }
}

/* ══════════════════════════════════════════
   MOBILE — Kasse (≤ 860px)
   ══════════════════════════════════════════ */
@media(max-width:860px){
  html { overflow-x:hidden !important; }
  body { overflow-x:hidden !important; max-width:100% !important; position:relative !important; }
  #page, #wrapper, #outer-wrapper, .site, .site-wrapper,
  #content, .content-area, main, #main,
  .wp-site-blocks, .entry-content { max-width:100% !important; overflow-x:hidden !important; box-sizing:border-box !important; }
  iframe, [class*="stripe"], [class*="paypal"], [id*="paypal"],
  [class*="amazon"], [id*="amazon"], [class*="klarna"], [id*="klarna"] { max-width:100% !important; box-sizing:border-box !important; }
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-checkout .woocommerce-page {
    padding:0 14px !important; margin:16px auto 60px !important;
    overflow-x:hidden !important; width:100% !important; box-sizing:border-box !important; max-width:100vw !important;
  }
  body.woocommerce-checkout form.checkout {
    display:flex !important; flex-direction:column !important;
    gap:16px !important; width:100% !important; box-sizing:border-box !important;
    overflow-x:hidden !important; max-width:100% !important;
  }
  body.woocommerce-checkout form.checkout > * {
    width:100% !important; box-sizing:border-box !important;
    grid-column:unset !important; grid-row:unset !important; min-width:0 !important; max-width:100% !important;
  }
  body.woocommerce-checkout #payment { width:100% !important; box-sizing:border-box !important; overflow:hidden !important; max-width:100% !important; }
  body.woocommerce-checkout #payment .place-order { width:100% !important; box-sizing:border-box !important; }
  body.woocommerce-checkout #place_order {
    width:100% !important; box-sizing:border-box !important;
    min-width:0 !important; max-width:100% !important; white-space:normal !important; font-size:15px !important;
  }
  body.woocommerce-checkout #customer_details                       { order:2 !important; }
  body.woocommerce-checkout #order_review                           { order:3 !important; }
  body.woocommerce-checkout .woocommerce-form-coupon-toggle         { order:4 !important; }
  body.woocommerce-checkout #woocommerce-checkout-form-coupon       { order:4 !important; }
  body.woocommerce-checkout #payment                                { order:5 !important; }
  body.woocommerce-checkout #md-oder-divider                        { order:6 !important; }
  body.woocommerce-checkout .wcpay-express-checkout-wrapper,
  body.woocommerce-checkout .wc-block-components-express-payment,
  body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
  body.woocommerce-checkout [class*="express-checkout"],
  body.woocommerce-checkout [class*="amazon-pay"],
  body.woocommerce-checkout [id*="amazon-pay"],
  body.woocommerce-checkout [class*="amazonpay"],
  body.woocommerce-checkout [id*="amazonpay"] { width:100% !important; max-width:100% !important; box-sizing:border-box !important; overflow:hidden !important; }
  body.woocommerce-checkout .wcpay-express-checkout-wrapper iframe,
  body.woocommerce-checkout .wcpay-express-checkout-wrapper button,
  body.woocommerce-checkout .wcpay-express-checkout-wrapper > *,
  body.woocommerce-checkout [class*="express-checkout"] iframe,
  body.woocommerce-checkout [class*="express-checkout"] button,
  body.woocommerce-checkout [class*="amazon-pay"] iframe,
  body.woocommerce-checkout [class*="amazon-pay"] button,
  body.woocommerce-checkout [class*="amazonpay"] iframe,
  body.woocommerce-checkout [class*="amazonpay"] button { max-width:100% !important; width:100% !important; box-sizing:border-box !important; }
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon {
    margin:0 !important; padding:4px 0 8px !important; width:100% !important; box-sizing:border-box !important;
  }
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon form,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon .woocommerce-form-coupon {
    display:block !important; width:100% !important; box-sizing:border-box !important;
  }
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon p,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon .form-row {
    display:block !important; width:100% !important; box-sizing:border-box !important;
    float:none !important; margin-bottom:10px !important;
  }
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon input[type="text"],
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon input#coupon_code {
    width:100% !important; box-sizing:border-box !important; display:block !important;
  }
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon .button,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle #woocommerce-checkout-form-coupon button {
    width:100% !important; box-sizing:border-box !important; display:block !important; text-align:center !important;
  }
  body.woocommerce-checkout .md-cart-mockup { height:180px !important; }
  body.woocommerce-checkout .md-cart-card { font-size:14px !important; }
}

/* ══════════════════════════════════════════
   KLEIN-MOBIL (≤ 480px)
   ══════════════════════════════════════════ */
@media(max-width:480px){
  body.woocommerce-cart .woocommerce { padding:0 10px !important; }
  .md-cart-mockup { height:200px !important; }
  .cart_totals { padding:18px 16px !important; }
  .cart_totals h2 { font-size:15px !important; }
  .cart_totals .order-total td { font-size:18px !important; }
  body.woocommerce-cart .wc-proceed-to-checkout a { font-size:14px !important; padding:13px 14px !important; }
  body.woocommerce-checkout #customer_details .col-1,
  body.woocommerce-checkout #customer_details .col-2 { padding:18px !important; }
  body.woocommerce-checkout #payment { padding:18px !important; }
  body.woocommerce-checkout #order_review { padding:18px !important; }
}


/* Datenschutz-Hinweistext in der Kasse */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-privacy-policy-text p {
  font-size: 0.8rem !important;
}
