/* MW Varianten & Warenkorb
 * Viele Regeln mit !important, weil WooCommerce, das Theme (reset.css) und
 * die Elementor-Kit-Buttons sonst Hintergründe, Paddings und Farben überschreiben.
 */
.mw-atc{
  --mw-atc-accent:#0b4a8f;
  --mw-atc-accent-text:#fff;
  --mw-atc-text:#1d2733;
  --mw-atc-muted:#6b7480;
  --mw-atc-line:#d4d9e0;
  --mw-atc-bg:#fff;
  --mw-atc-radius:10px;
  --mw-atc-h:50px;
  --mw-atc-swatch-img:60px;
  color:var(--mw-atc-text);
}
.mw-atc,.mw-atc *{box-sizing:border-box}
.mw-atc form.cart{margin:0!important;padding:0!important;border:0!important;background:none!important}

/* ---------- Varianten-Tabelle → Block-Layout ---------- */
.mw-atc table.variations,
.mw-atc table.variations tbody,
.mw-atc table.variations tr,
.mw-atc table.variations th,
.mw-atc table.variations td{
  display:block!important;width:auto!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;text-align:left!important;line-height:1.4!important;
}
.mw-atc table.variations{margin:0 0 22px!important;border-collapse:separate!important;table-layout:auto!important}
.mw-atc table.variations tr + tr{margin-top:20px!important}
.mw-atc table.variations th.label{padding:0 0 10px!important}
.mw-atc table.variations th.label label{
  display:inline!important;margin:0!important;color:var(--mw-atc-text)!important;
  font-size:15px;font-weight:600;
}
.mw-atc .mw-atc__selected{font-weight:400;color:var(--mw-atc-muted)}
.mw-atc .mw-atc__selected:not(:empty)::before{content:":\00a0";color:var(--mw-atc-text);font-weight:600}
.mw-atc table.variations td.value{position:relative!important}

/* Originales Dropdown bleibt im Formular, ist aber unsichtbar */
.mw-atc.is-ready table.variations select.mw-atc__native{
  position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;
  opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important;
}
/* Fallback ohne JS: Dropdown hübsch */
.mw-atc table.variations select{
  width:100%;height:var(--mw-atc-h);padding:0 14px;border:1px solid var(--mw-atc-line);
  border-radius:var(--mw-atc-radius);background:var(--mw-atc-bg);color:var(--mw-atc-text);font-size:15px;
}

.mw-atc .reset_variations{
  display:inline-block;margin-top:10px;font-size:13px;color:var(--mw-atc-muted)!important;text-decoration:underline!important;
}
.mw-atc.mw-atc--no-reset .reset_variations{display:none!important}

/* ---------- Auswahl-Buttons ---------- */
.mw-atc .mw-atc__swatches{display:flex;flex-wrap:wrap;gap:8px}
.mw-atc button.mw-atc__swatch,
.mw-atc button.mw-atc__swatch:hover,
.mw-atc button.mw-atc__swatch:focus,
.mw-atc button.mw-atc__swatch:active{
  -webkit-appearance:none!important;appearance:none!important;
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:52px!important;min-height:calc(var(--mw-atc-h) - 6px)!important;height:auto!important;
  margin:0!important;padding:8px 18px!important;
  border:1px solid var(--mw-atc-line)!important;border-radius:var(--mw-atc-radius)!important;
  background:var(--mw-atc-bg)!important;color:var(--mw-atc-text)!important;
  box-shadow:none!important;text-shadow:none!important;text-transform:none!important;letter-spacing:0!important;
  font-size:15px;font-weight:500;line-height:1.2!important;text-align:center!important;white-space:normal!important;
  cursor:pointer!important;transition:border-color .15s ease,background-color .15s ease,color .15s ease,opacity .15s ease!important;
}
.mw-atc button.mw-atc__swatch:hover{border-color:var(--mw-atc-text)!important}
.mw-atc button.mw-atc__swatch:focus-visible{outline:2px solid var(--mw-atc-accent)!important;outline-offset:2px!important}
.mw-atc button.mw-atc__swatch.is-active,
.mw-atc button.mw-atc__swatch.is-active:hover,
.mw-atc button.mw-atc__swatch.is-active:focus{
  border-color:var(--mw-atc-accent)!important;background:var(--mw-atc-accent)!important;color:var(--mw-atc-accent-text)!important;
}
/* passt nicht zur anderen Auswahl – klickbar, wechselt die Kombination */
.mw-atc button.mw-atc__swatch.is-excluded{opacity:.45!important}
/* ausverkauft */
.mw-atc button.mw-atc__swatch.is-unavailable,
.mw-atc button.mw-atc__swatch.is-unavailable:hover{
  opacity:.4!important;cursor:not-allowed!important;border-style:dashed!important;border-color:var(--mw-atc-line)!important;
}
.mw-atc button.mw-atc__swatch.is-unavailable .mw-atc__swatch-text{text-decoration:line-through}

/* Bild-Swatches */
.mw-atc button.mw-atc__swatch.mw-atc__swatch--image,
.mw-atc button.mw-atc__swatch.mw-atc__swatch--image:hover,
.mw-atc button.mw-atc__swatch.mw-atc__swatch--image:focus{
  width:var(--mw-atc-swatch-img)!important;height:var(--mw-atc-swatch-img)!important;
  min-width:0!important;min-height:0!important;padding:3px!important;background:var(--mw-atc-bg)!important;
}
.mw-atc button.mw-atc__swatch--image img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;
  object-fit:cover!important;border-radius:calc(var(--mw-atc-radius) - 3px)!important;
}
.mw-atc button.mw-atc__swatch--image.is-active,
.mw-atc button.mw-atc__swatch--image.is-active:hover{
  background:var(--mw-atc-bg)!important;border:2px solid var(--mw-atc-accent)!important;padding:2px!important;
}

/* ---------- Preis / Verfügbarkeit der Variante ---------- */
.mw-atc .single_variation_wrap{margin:0!important}
.mw-atc .woocommerce-variation{margin:0 0 16px}
.mw-atc .woocommerce-variation:empty{margin:0}
.mw-atc .woocommerce-variation-price .price{display:block;margin:0 0 4px;font-size:22px;font-weight:600;color:var(--mw-atc-text)}
.mw-atc .woocommerce-variation-availability .stock{margin:0;font-size:14px}
.mw-atc .woocommerce-variation-availability .stock.in-stock{color:#2e7d4f}
.mw-atc .woocommerce-variation-availability .stock.out-of-stock{color:#b3261e}
.mw-atc .woocommerce-variation-description p{margin:0 0 6px;font-size:14px;color:var(--mw-atc-muted)}

/* ---------- Menge + Button in einer Zeile ---------- */
.mw-atc .woocommerce-variation-add-to-cart,
.mw-atc form.cart:not(.variations_form):not(.grouped_form){
  display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:12px!important;
}
.mw-atc .quantity{
  display:flex!important;align-items:stretch!important;flex:0 0 auto!important;float:none!important;
  height:var(--mw-atc-h)!important;margin:0!important;padding:0!important;
  border:1px solid var(--mw-atc-line)!important;border-radius:var(--mw-atc-radius)!important;
  background:var(--mw-atc-bg)!important;overflow:hidden!important;
}
.mw-atc .quantity:has(input[type="hidden"]){display:none!important}
.mw-atc .quantity input.qty{
  -moz-appearance:textfield!important;appearance:textfield!important;
  width:64px!important;height:100%!important;min-height:0!important;margin:0!important;padding:0 4px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:var(--mw-atc-text)!important;font-size:16px!important;font-weight:500!important;text-align:center!important;line-height:1!important;
}
.mw-atc .quantity.mw-atc__qty input.qty{width:46px!important}
.mw-atc .quantity input.qty::-webkit-outer-spin-button,
.mw-atc .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mw-atc .quantity input.qty:focus{outline:none!important}
.mw-atc .quantity:focus-within{border-color:var(--mw-atc-text)!important}

.mw-atc button.mw-atc__qty-btn,
.mw-atc button.mw-atc__qty-btn:hover,
.mw-atc button.mw-atc__qty-btn:focus,
.mw-atc button.mw-atc__qty-btn:active{
  -webkit-appearance:none!important;appearance:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:42px!important;min-width:0!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:var(--mw-atc-text)!important;cursor:pointer!important;transition:background-color .15s ease!important;
}
.mw-atc button.mw-atc__qty-btn:hover{background:rgba(127,127,127,.08)!important}
.mw-atc button.mw-atc__qty-btn:disabled{opacity:.3!important;cursor:default!important;background:transparent!important}
.mw-atc button.mw-atc__qty-btn svg{display:block!important;width:12px!important;height:12px!important;fill:none!important}

/* ---------- Warenkorb-Button ---------- */
.mw-atc .single_add_to_cart_button,
.mw-atc .single_add_to_cart_button:hover,
.mw-atc .single_add_to_cart_button:focus,
.mw-atc .single_add_to_cart_button:active{
  -webkit-appearance:none!important;appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  flex:0 1 auto!important;float:none!important;
  min-height:var(--mw-atc-h)!important;height:auto!important;margin:0!important;padding:10px 32px!important;
  border:0!important;border-radius:var(--mw-atc-btn-radius,var(--mw-atc-radius))!important;
  background:var(--mw-atc-btn-bg,var(--mw-atc-accent))!important;color:var(--mw-atc-btn-text,#fff)!important;
  box-shadow:none!important;text-shadow:none!important;opacity:1;
  font-size:16px;font-weight:600;line-height:1.2!important;text-transform:none;letter-spacing:0;
  cursor:pointer!important;transition:background-color .15s ease,color .15s ease,opacity .15s ease,transform .1s ease!important;
}
.mw-atc.mw-atc--btn-full .single_add_to_cart_button,
.mw-atc.mw-atc--btn-full .single_add_to_cart_button:hover{flex:1 1 200px!important}
.mw-atc .single_add_to_cart_button:hover{
  background:var(--mw-atc-btn-bg-hover,var(--mw-atc-btn-bg,var(--mw-atc-accent)))!important;
  color:var(--mw-atc-btn-text-hover,var(--mw-atc-btn-text,#fff))!important;
  filter:brightness(1.08);
}
.mw-atc .single_add_to_cart_button:active{transform:translateY(1px)}
.mw-atc .single_add_to_cart_button:focus-visible{outline:2px solid var(--mw-atc-accent)!important;outline-offset:3px!important}
.mw-atc .single_add_to_cart_button.disabled,
.mw-atc .single_add_to_cart_button:disabled,
.mw-atc .single_add_to_cart_button.disabled:hover{opacity:.45!important;cursor:not-allowed!important;filter:none;transform:none}

/* Lagerbestand bei einfachen Produkten */
.mw-atc > p.stock{margin:0 0 14px;font-size:14px}

/* Gruppierte Produkte: nur leicht aufräumen */
.mw-atc .grouped_form table{width:100%;margin:0 0 16px;border:0}
.mw-atc .grouped_form td{padding:8px 0;border:0;background:transparent!important;vertical-align:middle}

.mw-atc-empty{padding:20px;border:1px dashed #ccc;border-radius:8px;text-align:center;font-size:14px;color:#777}

@media (max-width:480px){
  .mw-atc .woocommerce-variation-add-to-cart,
  .mw-atc form.cart:not(.variations_form):not(.grouped_form){gap:10px!important}
  .mw-atc .single_add_to_cart_button{padding:10px 20px!important}
}

/* Nur für Screenreader (falls das Theme .screen-reader-text nicht definiert) */
.mw-atc .screen-reader-text,
.mw-atc .quantity label{
  position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important;
}
