/* ===== Gemeinsam: Produkt, Warenkorb, Kasse ===== */
.wm-woo{--ink:#16131A;--acc:#C22847;--acc2:#E23E5C;--line:#E7E1EC;--soft:#FBF7FC;--muted:#6F6878;--bg2:#EFEAF2}
.wm-woo .woocommerce-message,.wm-woo .woocommerce-info,.wm-woo .woocommerce-error,
.wm-woo .woocommerce-notices-wrapper>*{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:4px solid var(--acc)!important;border-radius:12px!important;padding:16px 20px!important;font-family:Karla,sans-serif!important;font-size:15px!important;margin:0 0 12px!important;box-shadow:none!important;list-style:none}
.wm-woo .woocommerce-error{border-left-color:#B42318!important}
.wm-woo .woocommerce-message a,.wm-woo .woocommerce-info a,.wm-woo .woocommerce-error a{color:var(--acc)!important;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.wm-woo .woocommerce-message .button{float:right;background:var(--ink)!important;color:#fff!important;text-decoration:none;border:0!important;border-radius:8px!important;padding:6px 14px!important;font-size:14px!important}
.wm-woo .woocommerce-info:before,.wm-woo .woocommerce-message:before,.wm-woo .woocommerce-error:before{display:none!important}
.wm-woo .woocommerce-form-coupon-toggle .woocommerce-info,.wm-woo .woocommerce-form-login-toggle .woocommerce-info{border-left-color:var(--line)!important;background:var(--soft)!important}

/* Formularfelder */
.wm-woo input.input-text,.wm-woo input.qty,.wm-woo select,.wm-woo textarea,
.wm-woo .select2-container--default .select2-selection--single{background:#fff!important;border:1px solid #D9D2E0!important;border-radius:10px!important;color:var(--ink)!important;font-family:Karla,sans-serif!important;font-size:15px!important;padding:12px 14px!important;min-height:48px;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
.wm-woo .select2-container--default .select2-selection--single{display:flex;align-items:center;padding:0 14px!important}
.wm-woo .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0!important;color:var(--ink)!important;line-height:46px}
.wm-woo .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px!important;right:8px}
.wm-woo input.input-text:focus,.wm-woo input.qty:focus,.wm-woo select:focus,.wm-woo textarea:focus{border-color:var(--acc)!important;box-shadow:0 0 0 3px rgba(194,40,71,.12)!important;outline:0}
.wm-woo .form-row label,.wm-woo .woocommerce-form__label{font-family:Karla,sans-serif;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}
.wm-woo .form-row .required{color:var(--acc);text-decoration:none}
.wm-woo input.qty{width:76px!important;text-align:center;padding:12px 8px!important}

/* Buttons */
.wm-woo .button,.wm-woo button.button,.wm-woo .single_add_to_cart_button,.wm-woo .checkout-button,.wm-woo #place_order{background:linear-gradient(180deg,var(--acc2),var(--acc))!important;color:#fff!important;border:0!important;border-radius:10px!important;font-family:Sora,sans-serif!important;font-weight:600!important;font-size:16px!important;padding:14px 26px!important;line-height:1.3!important;box-shadow:0 6px 18px rgba(194,40,71,.22)!important;transition:transform .15s,box-shadow .15s}
.wm-woo .button:hover,.wm-woo .single_add_to_cart_button:hover,.wm-woo .checkout-button:hover,.wm-woo #place_order:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(194,40,71,.3)!important}
.wm-woo .button:after,.wm-woo .single_add_to_cart_button:after,.wm-woo .checkout-button:after,.wm-woo #place_order:after{display:none!important}
.wm-woo button[name=update_cart],.wm-woo button[name=apply_coupon]{background:#fff!important;color:var(--ink)!important;border:1px solid #D9D2E0!important;box-shadow:none!important;font-size:14px!important;padding:12px 18px!important}
.wm-woo button[name=update_cart]:disabled{opacity:.45}

/* ===== Produktseite ===== */
.wm-woo.single-product .et_pb_wc_price .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:0 0 6px!important;font-family:Sora,sans-serif!important;color:var(--ink)!important}
.wm-woo.single-product .et_pb_wc_price .price .amount{font-size:44px!important;font-weight:700!important;letter-spacing:-.02em;color:var(--ink)!important;line-height:1.05}
.wm-woo.single-product .et_pb_wc_price .price del .amount{font-size:22px!important;color:var(--muted)!important;font-weight:500!important}
.wm-woo.single-product .et_pb_wc_price .price ins{text-decoration:none}
.wm-woo.single-product .et_pb_wc_price .subscription-details{font-family:Karla,sans-serif!important;font-size:17px!important;color:var(--muted)!important;font-weight:500}
.wm-woo.single-product .et_pb_wc_price .legal-price-info,.wm-woo.single-product .et_pb_wc_price .legal-price-info *{font-family:Karla,sans-serif!important;font-size:13px!important;line-height:1.5!important;font-weight:400!important;color:var(--muted)!important;margin:0!important}
.wm-woo.single-product .et_pb_wc_price .legal-price-info a{text-decoration:underline;text-underline-offset:2px}
.wm-woo.single-product .et_pb_wc_price{padding-bottom:20px!important;margin-bottom:22px!important;border-bottom:1px solid var(--line)}
.wm-woo.single-product .et_pb_wc_add_to_cart form.cart{display:flex;gap:12px;align-items:stretch;margin:0!important}
.wm-woo.single-product .et_pb_wc_add_to_cart form.cart .quantity{margin:0!important}
.wm-woo.single-product .et_pb_wc_add_to_cart .single_add_to_cart_button{flex:1;margin:0!important}
.wm-woo.single-product .et_pb_wc_add_to_cart table.variations{margin-bottom:14px}
.wm-woo.single-product .et_pb_wc_add_to_cart table.variations th,.wm-woo.single-product .et_pb_wc_add_to_cart table.variations td{display:block;padding:0 0 6px;border:0;text-align:left}
.wm-woo.single-product .et_pb_wc_add_to_cart .reset_variations{font-size:13px;color:var(--muted)}
.wm-woo.single-product .et_pb_wc_add_to_cart .woocommerce-variation-price{margin:4px 0 12px}
.wm-woo.single-product .et_pb_wc_meta .product_meta{font-family:Karla,sans-serif;font-size:14px;color:var(--muted)}
.wm-woo.single-product .et_pb_wc_meta a{color:var(--acc)}
.wm-woo.single-product .et_pb_wc_images .woocommerce-product-gallery__image img{border-radius:16px}
.wm-woo.single-product .et_pb_wc_images .woocommerce-product-gallery__trigger{background:#fff;border-radius:50%;box-shadow:0 2px 10px rgba(22,19,26,.15)}
.wm-woo.single-product .et_pb_row:has(.et_pb_wc_images .woocommerce-product-gallery__image--placeholder) .et_pb_column:has(.et_pb_wc_images){display:none!important}
.wm-woo.single-product .et_pb_row:has(.et_pb_wc_images .woocommerce-product-gallery__image--placeholder) .et_pb_column:has(.et_pb_wc_price){width:100%!important;max-width:620px;margin-left:0!important}
.wm-woo.single-product .et_pb_section:has(.et_pb_wc_tabs .et_pb_all_tabs:empty):not(:has(.et_pb_wc_description)){display:none!important}
.wm-woo.single-product .et_pb_row:has(.et_pb_wc_tabs .et_pb_all_tabs:empty){display:none!important}
.wm-woo.single-product .et_pb_row:has(.et_pb_group):not(:has(.et_pb_module:not(.et_pb_group))){display:none!important}
.wm-woo.single-product .et_pb_wc_description{font-family:Karla,sans-serif;font-size:16px;line-height:1.7;color:#3A3540}
.wm-woo.single-product .et_pb_wc_description h2,.wm-woo.single-product .et_pb_wc_description h3{font-family:Sora,sans-serif;color:var(--ink);margin:1.2em 0 .5em}
.wm-woo.single-product .et_pb_wc_tabs{border:0!important}
.wm-woo.single-product .et_pb_wc_tabs .et_pb_tabs_controls{background:transparent!important;border-bottom:1px solid var(--line)}
.wm-woo.single-product .et_pb_wc_tabs .et_pb_tabs_controls li{background:transparent!important;border:0!important}
.wm-woo.single-product .et_pb_wc_tabs .et_pb_tabs_controls li a{font-family:Sora,sans-serif;font-weight:600;color:var(--muted)!important;padding:14px 18px!important}
.wm-woo.single-product .et_pb_wc_tabs .et_pb_tabs_controls li.et_pb_tab_active a{color:var(--ink)!important;box-shadow:inset 0 -2px 0 var(--acc)}
.wm-woo.single-product .et_pb_wc_tabs table.shop_attributes{border:0;margin:0}
.wm-woo.single-product .et_pb_wc_tabs table.shop_attributes th,.wm-woo.single-product .et_pb_wc_tabs table.shop_attributes td{border:0;border-bottom:1px solid var(--line);padding:12px 0;background:none;font-style:normal;font-family:Karla,sans-serif}
.wm-woo.single-product .et_pb_wc_tabs table.shop_attributes th{width:40%;color:var(--ink);font-weight:600}
.wm-woo.single-product .et_pb_wc_related_products ul.products li.product{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px!important;transition:transform .15s,box-shadow .15s}
.wm-woo.single-product .et_pb_wc_related_products ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(22,19,26,.08)}
.wm-woo.single-product .et_pb_wc_related_products ul.products li.product img{border-radius:12px}
.wm-woo.single-product .et_pb_wc_related_products .woocommerce-loop-product__title{font-family:Sora,sans-serif!important;font-size:17px!important;color:var(--ink)!important;padding:12px 0 4px!important}
.wm-woo.single-product .et_pb_wc_related_products .price{color:var(--ink)!important;font-family:Karla,sans-serif;font-weight:700}
.wm-woo.single-product .et_pb_wc_related_products .wc-gzd-additional-info{font-size:12px!important;color:var(--muted)!important}
.wm-woo.single-product .et_pb_section:has(.et_pb_wc_related_products):not(:has(li.product)){display:none!important}

/* ===== Tabellen (Warenkorb + Bestelluebersicht) ===== */
.wm-woo table.shop_table{border:0!important;border-collapse:collapse!important;margin:0!important;width:100%;font-family:Karla,sans-serif;font-size:15px;color:var(--ink)}
.wm-woo table.shop_table th,.wm-woo table.shop_table td{border:0!important;border-bottom:1px solid var(--line)!important;padding:14px 0!important;background:transparent!important;vertical-align:middle;text-align:left}
.wm-woo table.shop_table thead th{font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)!important;font-weight:600!important;padding-top:0!important}
.wm-woo table.shop_table tr:last-child>*{border-bottom:0!important}
.wm-woo table.shop_table td:last-child,.wm-woo table.shop_table th:last-child{text-align:right}
.wm-woo table.shop_table .amount{font-weight:600;white-space:nowrap}
.wm-woo table.shop_table .order-total th,.wm-woo table.shop_table .order-total td{font-family:Sora,sans-serif;font-size:19px!important;font-weight:700!important;border-top:1px solid var(--ink)!important}
.wm-woo table.shop_table .order-total .amount{font-size:22px}
.wm-woo table.shop_table .recurring-totals th{padding-top:24px!important;font-family:Sora,sans-serif;font-size:14px!important;text-transform:none;letter-spacing:0;color:var(--ink)!important}
.wm-woo table.shop_table .recurring-total th,.wm-woo table.shop_table .recurring-total td{color:var(--muted);font-size:14px}
.wm-woo table.shop_table .wc-gzd-additional-info,.wm-woo table.shop_table .first-payment-date,.wm-woo table.shop_table small{display:block;font-size:12px!important;color:var(--muted)!important;font-weight:400!important}
.wm-woo table.shop_table .includes_tax{font-size:12px;color:var(--muted)}

/* ===== Warenkorb ===== */
.wm-woo.woocommerce-cart table.cart{table-layout:auto}
.wm-woo.woocommerce-cart table.cart td.product-thumbnail{width:84px;padding-right:16px!important}
.wm-woo.woocommerce-cart table.cart td.product-thumbnail img{width:68px!important;height:68px!important;object-fit:cover;border-radius:10px}
.wm-woo.woocommerce-cart table.cart td.product-name a{font-family:Sora,sans-serif;font-weight:600;color:var(--ink)!important;font-size:16px;line-height:1.35}
.wm-woo.woocommerce-cart table.cart td.product-name{min-width:180px}
.wm-woo.woocommerce-cart table.cart td.product-remove{width:36px}
.wm-woo.woocommerce-cart table.cart a.remove{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--bg2)!important;color:var(--muted)!important;font-size:18px;line-height:1;text-decoration:none}
.wm-woo.woocommerce-cart table.cart a.remove:hover{background:var(--acc)!important;color:#fff!important}
.wm-woo.woocommerce-cart table.cart td.actions{padding-top:20px!important}
.wm-woo.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:10px;align-items:center;float:left}
.wm-woo.woocommerce-cart table.cart td.actions .coupon .input-text{width:200px!important}
.wm-woo.woocommerce-cart .cart_totals h2{font-family:Sora,sans-serif!important;font-size:22px!important;font-weight:700!important;color:var(--ink)!important;margin:0 0 14px!important;padding:0!important}
.wm-woo.woocommerce-cart .cart_totals .wc-proceed-to-checkout{padding:20px 0 0!important}
.wm-woo.woocommerce-cart .cart_totals .checkout-button{display:block!important;width:100%;text-align:center;margin:0!important}
.wm-woo.woocommerce-cart .cart_totals table.shop_table th{width:auto!important}
.wm-woo.woocommerce-cart .cart-empty.woocommerce-info{text-align:center;padding:40px 20px!important;font-size:17px!important}
.wm-woo.woocommerce-cart .return-to-shop{text-align:center;margin-top:16px}

/* ===== Kasse ===== */
.wm-woo.woocommerce-checkout h3,.wm-woo.woocommerce-checkout #order_review_heading,
.wm-woo.woocommerce-checkout .et_pb_wc_checkout_order_details h3{font-family:Sora,sans-serif!important;font-size:21px!important;font-weight:700!important;color:var(--ink)!important;margin:0 0 18px!important;padding:0!important}
.wm-woo.woocommerce-checkout .form-row{margin:0 0 16px!important;padding:0!important}
.wm-woo.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.wm-woo.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.wm-woo.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,.wm-woo.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{width:auto!important;float:none!important;grid-column:1/-1}
.wm-woo.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-first,.wm-woo.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-first{grid-column:1}
.wm-woo.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-last,.wm-woo.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-last{grid-column:2}
.wm-woo.woocommerce-checkout #ship-to-different-address{font-family:Karla,sans-serif!important;font-size:15px!important;font-weight:600!important}
.wm-woo.woocommerce-checkout #payment{background:transparent!important;border-radius:0!important}
.wm-woo.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 16px!important}
.wm-woo.woocommerce-checkout #payment ul.payment_methods li{list-style:none;border:1px solid var(--line);border-radius:12px;padding:14px 16px!important;margin:0 0 10px!important;background:#fff;font-family:Karla,sans-serif}
.wm-woo.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--acc);box-shadow:0 0 0 3px rgba(194,40,71,.08)}
.wm-woo.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;color:var(--ink);cursor:pointer}
.wm-woo.woocommerce-checkout #payment ul.payment_methods li img{max-height:22px;vertical-align:middle;margin-left:6px}
.wm-woo.woocommerce-checkout #payment div.payment_box{background:var(--soft)!important;color:#3A3540!important;border-radius:10px;font-size:14px!important;margin:10px 0 0!important;padding:12px 14px!important}
.wm-woo.woocommerce-checkout #payment div.payment_box:before{display:none!important}
.wm-woo.woocommerce-checkout #payment .place-order{padding:0!important;margin:0!important}
.wm-woo.woocommerce-checkout #place_order{display:block;width:100%;float:none!important;margin-top:8px!important;font-size:17px!important;padding:16px!important}
.wm-woo.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,.wm-woo.woocommerce-checkout .wc-gzd-checkbox-placeholder,.wm-woo.woocommerce-checkout .legal,.wm-woo.woocommerce-checkout .woocommerce-privacy-policy-text{font-family:Karla,sans-serif;font-size:13.5px;line-height:1.55;color:#4A4452}
.wm-woo.woocommerce-checkout .form-row.legal label,.wm-woo.woocommerce-checkout .form-row.checkbox-legal label{font-weight:400}
.wm-woo.woocommerce-checkout input[type=checkbox],.wm-woo.woocommerce-checkout input[type=radio]{accent-color:var(--acc);width:17px;height:17px;vertical-align:-3px;margin-right:6px}
.wm-woo.woocommerce-checkout form.checkout_coupon,.wm-woo.woocommerce-checkout form.woocommerce-form-login{border:1px solid var(--line)!important;border-radius:12px!important;padding:18px 20px!important;margin:0 0 14px!important;background:#fff}
.wm-woo.woocommerce-checkout table.shop_table td.product-name{font-weight:600;padding-right:12px!important}
.wm-woo.woocommerce-checkout table.shop_table td.product-name .product-quantity{color:var(--muted);font-weight:400}
.wm-woo.woocommerce-checkout .wc-gzd-edit-link-wrapper,.wm-woo.woocommerce-checkout a.wc-gzd-edit-link{display:inline-block;background:none!important;box-shadow:none!important;color:var(--acc)!important;padding:0!important;font-size:13px!important;font-family:Karla,sans-serif!important;text-decoration:underline}
.wm-woo.woocommerce-checkout .blockUI.blockOverlay{background:rgba(255,255,255,.7)!important;border-radius:16px}

/* ===== Spalten frueher stapeln ===== */
@media (max-width:1100px){
  .wm-woo:is(.woocommerce-cart,.woocommerce-checkout) .et_pb_row:has(.et_pb_wc_cart_totals,.et_pb_wc_checkout_payment_info){flex-direction:column!important}
  .wm-woo:is(.woocommerce-cart,.woocommerce-checkout) .et_pb_row:has(.et_pb_wc_cart_totals,.et_pb_wc_checkout_payment_info)>.et_pb_column{width:100%!important;margin-left:0!important;max-width:none!important}
  .wm-woo:is(.woocommerce-cart,.woocommerce-checkout) .et_pb_row:has(.et_pb_wc_cart_totals,.et_pb_wc_checkout_payment_info)>.et_pb_column+.et_pb_column{margin-top:20px!important}
}
@media (min-width:1101px){
  .wm-woo.woocommerce-checkout .et_pb_column:has(.et_pb_wc_checkout_payment_info){position:sticky;top:110px;align-self:flex-start}
}
@media (max-width:767px){
  .wm-woo.woocommerce-cart table.cart thead{display:none}
  .wm-woo.woocommerce-cart table.cart tr.cart_item{display:grid;grid-template-columns:68px 1fr auto;gap:4px 14px;padding:14px 0;border-bottom:1px solid var(--line);position:relative}
  .wm-woo.woocommerce-cart table.cart tr.cart_item td{display:block;border:0!important;padding:0!important;text-align:left!important}
  .wm-woo.woocommerce-cart table.cart tr.cart_item td:before{display:none!important}
  .wm-woo.woocommerce-cart table.cart td.product-thumbnail{grid-row:1/4;width:auto}
  .wm-woo.woocommerce-cart table.cart td.product-remove{position:absolute;top:12px;right:0;width:auto}
  .wm-woo.woocommerce-cart table.cart td.product-name{grid-column:2/4;padding-right:36px!important;min-width:0}
  .wm-woo.woocommerce-cart table.cart td.product-price{grid-column:2;font-size:14px;color:var(--muted)}
  .wm-woo.woocommerce-cart table.cart td.product-quantity{grid-column:2}
  .wm-woo.woocommerce-cart table.cart td.product-subtotal{grid-column:3;grid-row:2/4;align-self:end;font-weight:700}
  .wm-woo.woocommerce-cart table.cart tr:not(.cart_item) td.actions{display:block;padding-top:16px!important}
  .wm-woo.woocommerce-cart table.cart td.actions .coupon{float:none;flex-wrap:wrap;margin-bottom:10px}
  .wm-woo.woocommerce-cart table.cart td.actions .coupon .input-text{flex:1;width:auto!important}
  .wm-woo.woocommerce-cart table.cart td.actions button[name=update_cart]{width:100%}
  .wm-woo.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.wm-woo.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .wm-woo.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,.wm-woo.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{grid-column:1!important}
  .wm-woo.single-product .et_pb_wc_price .price .amount{font-size:36px!important}
}
/* Divi-Modul-CSS ueberstimmt sonst Rahmen/Hintergrund der Felder */
body.wm-woo .et_pb_module input.qty,body.wm-woo .et_pb_module input.input-text,body.wm-woo .et_pb_module select,body.wm-woo .et_pb_module textarea{border:1px solid #D9D2E0!important;background:#fff!important;border-radius:10px!important}
body.wm-woo .et_pb_module input.qty:focus,body.wm-woo .et_pb_module input.input-text:focus,body.wm-woo .et_pb_module select:focus,body.wm-woo .et_pb_module textarea:focus{border-color:#C22847!important}

/* Feinschliff Kasse */
body.wm-woo table.shop_table{background:transparent!important}
body.wm-woo table.shop_table td.actions a.button{background:none!important;box-shadow:none!important;color:#C22847!important;padding:0!important;font-family:Karla,sans-serif!important;font-size:14px!important;font-weight:600!important;text-decoration:underline;text-underline-offset:3px}
body.wm-woo table.shop_table td.actions a.button:hover{transform:none}
body.wm-woo table.shop_table tr.recurring-totals th{text-align:left!important}
body.wm-woo table.shop_table tr.order-total.recurring-total th,body.wm-woo table.shop_table tr.order-total.recurring-total td{font-size:15px!important;border-top:1px solid #E7E1EC!important;color:#6F6878!important}
body.wm-woo table.shop_table tr.order-total.recurring-total .amount{font-size:16px}
body.wm-woo .select2-container--default .select2-selection--single .select2-selection__arrow{top:50%!important;transform:translateY(-50%)}
body.wm-woo input.qty{text-align:center!important}
body.wm-woo .et_pb_wc_checkout_payment_info .woocommerce-checkout-payment,body.wm-woo .et_pb_wc_checkout_payment_info #payment{background:transparent!important;padding:0!important}
body.wm-woo .et_pb_wc_checkout_payment_info.et_pb_module{background:transparent!important;padding:0!important}
@media (max-width:767px){body.wm-woo.woocommerce-cart table.cart tr.cart_item td.product-name{padding-right:40px!important;overflow-wrap:anywhere}body.wm-woo.woocommerce-cart table.cart td.actions .coupon label{display:none}}
