/* EVD CI: Cart/Checkout Hauptaktion an evd-btn angleichen */
.wc-block-cart__submit-button.contained,
.wc-block-components-button.wc-block-cart__submit-button.contained,
.wc-block-components-checkout-place-order-button,
button.single_add_to_cart_button.button.alt,
.woocommerce a.button.checkout-button {
  background-color: var(--bg-transparent-rot);
  color: var(--text-weiss);
  border: 2px solid var(--fuechse-rot);
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: 17px;
  padding: 15px 25px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 55px;            /* feste Höhe */
  min-height: 55px;        /* erzwingt konstante Höhe */
  max-height: 55px;
  box-sizing: border-box;
}

.wc-block-cart__submit-button.contained:hover,
.wc-block-components-button.wc-block-cart__submit-button.contained:hover,
.wc-block-components-checkout-place-order-button:hover,
button.single_add_to_cart_button.button.alt:hover,
.woocommerce a.button.checkout-button:hover {
  background-color: var(--fuechse-rot);
  color: var(--text-weiss);
  text-decoration: none;
}

/* Block Checkout Button im Inneren Text-DIV angleichen */
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
}

/* Mobile full width */
@media (max-width: 600px) {
  .wc-block-cart__submit-button.contained,
  .wc-block-components-button.wc-block-cart__submit-button.contained,
  .wc-block-components-checkout-place-order-button {
  width: 100%;
  }
}

/* Sticky Container: Button bleibt sichtbar beim Scrollen im Cart (ohne zu springen) */
.wc-block-cart__submit-container {
  position: sticky;
  bottom: 0;
  z-index: 40;
  background: var(--fuechse-grau, #222);
  padding: 12px 0 14px;
  margin-top: 20px;
}

/* Falls Checkout-Seite ähnlichen Bereich hat (defensiv) */
.wc-block-checkout__actions,
.wp-block-woocommerce-checkout-actions-block {
  position: sticky;
  bottom: 0;
  z-index: 40;
  background: var(--fuechse-grau, #222);
  padding: 12px 0 14px;
}

/* Verhindert Layout-Shift durch dynamische Aktualisierungen */
.wc-block-cart__submit-button.contained .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  line-height: 1.1;
  white-space: nowrap;
  text-align: center;
  justify-content: center;
}

/* === Sticky Verhalten wieder deaktiviert (Anforderung: soll sich beim Scrollen nicht bewegen) === */
.wc-block-cart__submit-container,
.wc-block-checkout__actions,
.wp-block-woocommerce-checkout-actions-block {
  position: static !important;
  bottom: auto !important;
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 20px;
}
/* EVD Füchse – WooCommerce Styles (CI) */
:root {
  --wc-primary: var(--fuechse-rot);
  --wc-text: var(--text-weiss);
  --wc-muted: var(--text-grau-hell);
  --wc-bg: var(--fuechse-grau);
  --wc-surface: var(--bg-dunkel);
  --wc-border: var(--border-transparent);
}

/* Layout wrapper to match theme containers */
.woocommerce-page .site-content,
.woocommerce .site-content,
body.woocommerce .content-wrapper,
body.woocommerce .content-wrapper-nav,
body.woocommerce-page .content-wrapper,
body.woocommerce-page .content-wrapper-nav {
  background: var(--fuechse-grau);
}

.woocommerce .evd-shop-container,
.woocommerce-page .evd-shop-container {
  width: 85%;
  max-width: 1800px;
  margin: 0 auto;
  padding: 30px 0 60px;
  display: block; /* override theme flex on .content-container */
}

/* Headings */
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3 {
  color: var(--fuechse-rot);
  font-family: 'Redzone BlackReg', sans-serif;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .added_to_cart,
.woocommerce .wc-forward {
  background: var(--wc-primary);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px 16px;
  transition: transform .12s ease, opacity .2s ease, background .2s ease;
  text-decoration: none !important;
}
/* Entferne globale margin-top nur innerhalb von WooCommerce-Seiten */
.woocommerce .evd-form-submit,
.woocommerce .elementor-button,
.woocommerce .elementor-form .elementor-button,
.woocommerce button[type="submit"],
.woocommerce input[type="submit"],
.woocommerce-page .evd-form-submit,
.woocommerce-page .elementor-button,
.woocommerce-page .elementor-form .elementor-button,
.woocommerce-page button[type="submit"],
.woocommerce-page input[type="submit"] {
  margin-top: 0 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .added_to_cart:hover,
.woocommerce .wc-forward:hover {
  background: #b90710; /* darker fuchs-rot */
  opacity: .95;
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active {
  transform: translateY(1px);
}

/* Badges */
.woocommerce span.onsale {
  background: var(--wc-primary);
  color: #fff;
  border-radius: 999px;
  min-width: 48px;
  min-height: 48px;
  padding: 8px 10px;
  display: grid;
  place-items: center;
  font-weight: 700;
}

/* Cards / Product grid */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 10px;
  padding: 14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--text-weiss);
}
.woocommerce ul.products li.product .price {
  color: var(--text-weiss);
}

/* Single product */
.woocommerce div.product .product_title {
  color: var(--fuechse-rot);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--text-weiss);
  font-size: 1.75rem;
  font-weight: 700;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
  padding: 16px;
}

/* EVD Single Product Card */
.woocommerce div.product.evd-product .evd-product-card {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 12px;
  padding: 24px;
}
.woocommerce div.product.evd-product .evd-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 1/2 : 1/2 Aufteilung (doppelt so breit wie 1/4) */
  gap: 30px;
}

.woocommerce div.product.evd-product .evd-product-gallery {
  background: #1a1a1a;
  border-radius: 12px;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.woocommerce div.product.evd-product .evd-product-summary h1.product_title {
  margin-top: 0;
  margin-bottom: 12px;
}
.woocommerce div.product.evd-product .evd-product-summary .woocommerce-product-details__short-description {
  color: var(--text-weiss);
  margin-bottom: 18px;
}
.woocommerce div.product.evd-product .quantity .qty {
  max-width: 110px;
  background: #222;
  color: var(--text-weiss);
  border: 1px solid var(--wc-border);
  border-radius: 6px;
  padding: 10px 12px;
  min-height: 44px;
  font-weight: 700;
  text-align: center;
}

/* EVD Quantity Buttons Wrapper */
.evd-quantity-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: #222;
  border: 1px solid var(--wc-border);
  border-radius: 10px;
  overflow: hidden;
}

.evd-quantity-wrapper .qty {
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  max-width: 80px;
  min-height: 46px;
  padding: 10px 8px;
}

.evd-qty-btn {
  background: transparent;
  border: 0 !important;
  color: var(--wc-muted);
  width: 46px;
  height: 46px;
  font-size: 1.3rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.evd-qty-btn:hover {
  background: linear-gradient(#2c2c2c, #262626);
  color: var(--text-weiss);
}

.evd-qty-btn:active {
  background: #1b1b1b;
  color: var(--fuechse-rot);
}

.evd-quantity-wrapper:focus-within {
  box-shadow: 0 0 0 2px var(--wc-primary);
}

.woocommerce div.product.evd-product .quantity .qty:focus {
  outline: none;
  border-color: var(--wc-primary);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
}
.woocommerce div.product.evd-product .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product.evd-product .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product.evd-product .quantity .qty[type=number] {
  appearance: textfield;
  -moz-appearance: textfield;
}
.woocommerce div.product.evd-product form.cart {
  display: flex;
  flex-direction: column; /* neue Zeile für Menge + Button */
  align-items: flex-start; /* linkbündig */
  gap: 12px;
  width: 100%;
  max-width: 420px; /* schmaler */
  margin: 16px 0 24px; /* nicht zentriert */
}
/* Sicherheitsnetz: Verhindert, dass Themes/Plugins die Button-Zeile strecken/zentrieren */
.woocommerce div.product.evd-product form.cart .single_variation_wrap,
.woocommerce div.product.evd-product form.cart .variations_button {
  align-self: stretch;
}
.woocommerce div.product.evd-product .evd-product-extra {
  margin-top: 28px;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--text-weiss); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color: var(--wc-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
}
/* Re-Design: echte Tabs mit aktiver Unterstreichung */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 14px;
  border-bottom: 1px solid var(--wc-border);
  padding: 0;
  margin: 18px 0 12px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { 
  list-style: none; 
  border: 0 !important; 
  box-shadow: none !important; 
  background: transparent !important; 
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  color: var(--wc-muted);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 3px solid transparent;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #fff;
  border-bottom-color: rgba(255,255,255,.15);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a[aria-selected="true"] {
  color: #fff;
  border-bottom-color: var(--wc-primary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
  outline: 2px solid var(--wc-primary);
  outline-offset: 2px;
}
.woocommerce div.product .woocommerce-tabs .panel {
  margin-top: 10px;
}
/* Mobile: Tabs horizontal scrollbar */
@media (max-width: 600px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
    gap: 10px;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 10px 8px;
  }
}

/* ========================================
   EVD Product Description Lists Styling
   ======================================== */

/* Produktbeschreibungs-Listen (Kurzbeschreibung & Tab) */
.woocommerce-product-details__short-description ul,
.woocommerce-Tabs-panel--description ul,
#tab-description ul {
  list-style: none;
  padding: 0;
  margin: 12px 0;
}

.woocommerce-product-details__short-description ul li,
.woocommerce-Tabs-panel--description ul li,
#tab-description ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  color: var(--text-weiss, #fff);
  font-size: 15px;
  line-height: 1.7;
}

/* Roter Check-Icon als Bullet-Point */
.woocommerce-product-details__short-description ul li::before,
.woocommerce-Tabs-panel--description ul li::before,
#tab-description ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--fuechse-rot, #E30613);
  font-size: 16px;
  font-weight: bold;
}

/* Spezielle Styling für kleinere Text-Spans */
.woocommerce-product-details__short-description ul li .m-font-size-15,
.woocommerce-Tabs-panel--description ul li .m-font-size-15,
#tab-description ul li .m-font-size-15 {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
}

/* Mobile Optimierung */
@media (max-width: 768px) {
  .woocommerce-product-details__short-description ul li,
  .woocommerce-Tabs-panel--description ul li,
  #tab-description ul li {
    font-size: 14px;
    padding-left: 24px;
  }
  
  .woocommerce-product-details__short-description ul li::before,
  .woocommerce-Tabs-panel--description ul li::before,
  #tab-description ul li::before {
    font-size: 14px;
  }
}

/* ========================================
   EVD Product Gallery Styles
   ======================================== */

/* Main gallery container */
.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
  background: #1a1a1a;
  border-radius: 12px;
  padding: 16px;
  overflow: hidden;
}

/* Flexslider viewport container */
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  border-radius: 10px;
  overflow: hidden;
  background: #161616;
}

/* Main gallery wrapper */
.woocommerce div.product .woocommerce-product-gallery__wrapper {
  width: 100%;
  position: relative;
  margin: 0 !important;
}

/* Individual gallery images */
.woocommerce div.product .woocommerce-product-gallery__image {
  position: relative;
  display: block;
  background: #161616;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 2; /* Festes 3:2 Format - optimal für Produktbilder */
}

.woocommerce div.product .woocommerce-product-gallery__image a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__image a img,
.woocommerce div.product .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* Bild komplett sichtbar, zentriert */
  display: block;
  border-radius: 8px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

/* Hover nur wenn Zoom deaktiviert ist */
.woocommerce div.product .woocommerce-product-gallery.evd-zoom-disabled .woocommerce-product-gallery__image a:hover img {
  transform: scale(1.03);
}

/* Subtiler Hover auch mit Zoom */
.woocommerce div.product .woocommerce-product-gallery:not(.evd-zoom-disabled) .woocommerce-product-gallery__image:hover {
  filter: brightness(1.05);
}
/* Sale badge inside gallery */
.woocommerce div.product .evd-product-gallery .onsale,
.woocommerce div.product .woocommerce-product-gallery .onsale {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 10;
  background: var(--fuechse-rot);
  color: #fff;
  padding: 8px 14px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(227, 6, 19, 0.4);
}

/* Fullscreen/Zoom trigger button */
.woocommerce div.product .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(20, 20, 20, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  display: grid;
  place-items: center;
  text-indent: 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  transition: all 0.25s ease;
  cursor: pointer;
}
.woocommerce div.product .woocommerce-product-gallery:not(.evd-zoom-disabled) .woocommerce-product-gallery__image a { 
  cursor: zoom-in; 
}

.woocommerce div.product .woocommerce-product-gallery.evd-zoom-disabled .woocommerce-product-gallery__image a { 
  cursor: default; 
}

.woocommerce div.product .woocommerce-product-gallery__trigger:hover {
  background: rgba(227, 6, 19, 0.9);
  border-color: var(--fuechse-rot);
  box-shadow: 0 6px 24px rgba(227, 6, 19, 0.5);
  transform: scale(1.05);
}

.woocommerce div.product .woocommerce-product-gallery__trigger:active {
  transform: scale(0.98);
}

.woocommerce div.product .woocommerce-product-gallery__trigger:focus-visible {
  outline: 2px solid var(--fuechse-rot);
  outline-offset: 3px;
}

.woocommerce div.product .woocommerce-product-gallery__trigger span { 
  display: none; 
}

.woocommerce div.product .woocommerce-product-gallery__trigger::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
}

/* Zoom overlay image (injected by jQuery Zoom) */
.woocommerce div.product .woocommerce-product-gallery .zoomImg {
  border-radius: 10px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

/* Verhindere Zoom-Konflikt mit Hover */
.woocommerce div.product .woocommerce-product-gallery__image.zoomable a {
  position: relative;
  z-index: 1;
}

/* Flexslider smooth transitions */
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  transition: height 0.4s ease;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper > div {
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Loading state for gallery */
.woocommerce div.product .woocommerce-product-gallery.woocommerce-product-gallery--with-images {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

/* Prevent layout shift during image load */
.woocommerce div.product .woocommerce-product-gallery__image img[src=""] {
  opacity: 0;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Zusätzlicher Hover-Effekt für bessere Sichtbarkeit */
.woocommerce div.product .woocommerce-product-gallery__image:hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.03);
  pointer-events: none;
  z-index: 2;
  border-radius: 10px;
  transition: background 0.3s ease;
}

/* ========================================
   Thumbnails / Gallery Navigation
   ======================================== */

.woocommerce div.product .flex-control-nav,
.woocommerce div.product .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
}

.woocommerce div.product .flex-control-nav li,
.woocommerce div.product .flex-control-thumbs li { 
  margin: 0 !important;
  padding: 0;
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: #161616;
  transition: all 0.3s ease;
  cursor: pointer;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}

.woocommerce div.product .flex-control-nav li:hover,
.woocommerce div.product .flex-control-thumbs li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(227, 6, 19, 0.25);
}

.woocommerce div.product .flex-control-nav li img,
.woocommerce div.product .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  transition: all 0.3s ease;
  opacity: 0.6;
}

.woocommerce div.product .flex-control-nav li:hover img,
.woocommerce div.product .flex-control-thumbs li:hover img {
  opacity: 1;
  transform: scale(1.05);
}

/* Active thumbnail */
.woocommerce div.product .flex-control-nav li.flex-active,
.woocommerce div.product .flex-control-thumbs li.flex-active {
  border: 2px solid var(--fuechse-rot);
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.2);
}

.woocommerce div.product .flex-control-nav li.flex-active img,
.woocommerce div.product .flex-control-thumbs li.flex-active img {
  opacity: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .woocommerce div.product .flex-control-nav,
  .woocommerce div.product .flex-control-thumbs {
    gap: 6px;
    margin-top: 10px;
  }
  
  .woocommerce div.product .flex-control-nav li,
  .woocommerce div.product .flex-control-thumbs li {
    width: 60px;
    height: 60px;
  }
  
  .woocommerce div.product .woocommerce-product-gallery__image {
    min-height: 300px;
  }
}

@media (max-width: 480px) {
  .woocommerce div.product .flex-control-nav,
  .woocommerce div.product .flex-control-thumbs {
    gap: 5px;
  }
  
  .woocommerce div.product .flex-control-nav li,
  .woocommerce div.product .flex-control-thumbs li {
    width: 55px;
    height: 55px;
  }
  
  .woocommerce div.product .woocommerce-product-gallery {
    padding: 12px;
    border-radius: 8px;
  }
  
  .woocommerce div.product .woocommerce-product-gallery__image {
    min-height: 250px;
  }
  
  .woocommerce div.product .woocommerce-product-gallery__trigger {
    width: 38px;
    height: 38px;
    top: 16px;
    right: 16px;
  }
  
  .woocommerce div.product .evd-product-gallery .onsale,
  .woocommerce div.product .woocommerce-product-gallery .onsale {
    top: 16px;
    left: 16px;
    padding: 6px 10px;
    font-size: 12px;
  }
}

/* Ratings & reviews link */
.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 10px;
}
.woocommerce div.product .star-rating span::before,
.woocommerce .star-rating::before { color: var(--wc-primary); }

/* Availability / stock */
.woocommerce div.product .stock { font-weight: 600; }
.woocommerce div.product .stock.in-stock { color: var(--sprade-blau); }
.woocommerce div.product .stock.out-of-stock { color: var(--fuechse-rot); }

/* Product meta */
.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta a {
  color: var(--wc-muted);
}
.woocommerce div.product .product_meta > span {
  display: block;
  margin-top: 6px;
}

/* Variations (variable products) */
.woocommerce div.product form.variations_form table.variations {
  width: 100%;
  background: transparent;
  border: 0;
  margin-bottom: 12px;
  padding: 0; /* keine zusätzliche Einrückung */
}
.woocommerce div.product table.variations td,
.woocommerce div.product table.variations th { 
  border: 0; 
  padding-left: 0; /* linksbündig mit dem Rest */
}
.woocommerce div.product table.variations td.label {
  display: block;
  width: 100%;
  color: var(--text-weiss);
  margin-bottom: 6px;
}
.woocommerce div.product table.variations td.value { 
  display: block; 
  width: 100%;
  margin-bottom: 20px; /* Abstand zwischen Varianten auf mobil */
}
.woocommerce div.product table.variations td.value select {
  width: 100%;
  background-color: #222;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E30613' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  color: var(--text-weiss);
  border: 1px solid var(--wc-border);
  border-radius: 6px;
  padding: 10px 40px 10px 12px; /* Extra Platz rechts für Icon */
  line-height: 1.2;
  min-height: 44px;
  /* Entferne natives Dropdown-Icon */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
.woocommerce div.product table.variations td.value select:focus {
  outline: none;
  border-color: var(--wc-primary);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
}
.woocommerce div.product table.variations td.value select:disabled {
  opacity: .6;
}
.woocommerce div.product table.variations td.value select option[disabled],
.woocommerce div.product table.variations td.value select option[value=""] { color: var(--wc-muted); }
.woocommerce form.variations_form { margin-bottom: 10px; }
/* Variations row: zwei Spalten (Label | Auswahl), linksbündig und vertikal zentriert */
@media (min-width: 600px) {
  .woocommerce div.product form.variations_form table.variations tr {
    display: grid;
    grid-template-columns: 100px 400px; /* Feste Breiten für Label und Dropdown */
    align-items: center;
    column-gap: 16px; /* Abstand zwischen Label und Dropdown */
    margin-bottom: 20px; /* Abstand zwischen den Varianten */
    padding-left: 0;
  }
  .woocommerce div.product form.variations_form table.variations td.label {
    display: block;
    width: auto;
    margin: 0;
    padding-left: 0; /* linksbündig */
  }
  .woocommerce div.product form.variations_form table.variations td.label label {
    margin: 0;
    line-height: 1.1;
    display: block;
    white-space: nowrap; /* Label bleibt in einer Zeile */
  }
  .woocommerce div.product form.variations_form table.variations td.value {
    display: flex;
    align-items: center; /* Select + Reset-Link vertikal mittig */
    width: 100%;
    margin: 0;
    padding-left: 0; /* linksbündig */
  }
  .woocommerce div.product form.variations_form table.variations td.value select {
    width: 400px; /* Feste Breite für alle Dropdowns */
    max-width: 100%;
    flex: 0 0 400px; /* Verhindert Stretching/Shrinking */
  }
  .woocommerce div.product form.variations_form table.variations td.value .reset_variations {
    align-self: center;
    margin-left: 8px;
    flex-shrink: 0; /* Button wird nicht kleiner */
  }
}

/* Responsive: Auf kleineren Bildschirmen flexible Breite */
@media (max-width: 900px) {
  .woocommerce div.product form.variations_form table.variations tr {
    grid-template-columns: 100px 1fr; /* Dropdown nimmt verfügbaren Platz */
  }
  .woocommerce div.product form.variations_form table.variations td.value select {
    width: 100%;
    flex: 1 1 auto;
  }
}
/* Accessible helper to visually hide the native select but keep it for WC */
.evd-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Swatches container */
.evd-attr-swatches {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
  gap: 8px;
}
.evd-attr-swatches .evd-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  min-height: 40px;
  border-radius: 8px;
  background: #222;
  color: var(--text-weiss);
  border: 1px solid var(--wc-border);
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: background .2s ease, border-color .2s ease, transform .1s ease, color .2s ease;
}
.evd-attr-swatches .evd-swatch:hover { background: #262626; }
.evd-attr-swatches .evd-swatch:active { transform: translateY(1px); }
.evd-attr-swatches .evd-swatch.is-selected {
  background: var(--wc-primary);
  border-color: var(--wc-primary);
  color: #fff;
}
.evd-attr-swatches .evd-swatch.is-disabled {
  opacity: .45;
  cursor: not-allowed;
}
/* Reset link styled as ghost button */
.woocommerce .reset_variations {
  display: inline-block;
  margin-left: 8px;
  background: transparent;
  border: 1px solid var(--wc-border);
  color: var(--wc-muted);
  padding: 6px 10px;
  border-radius: 6px;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  line-height: 1; /* verhindert ungewollte Höhenvergrößerung */
}
.woocommerce .reset_variations:hover {
  background: #232323;
  color: #fff;
  border-color: #3a3a3a;
}
.woocommerce form.variations_form .reset_variations { 
  visibility: visible !important; /* Überschreibt das inline-style von WooCommerce */
  opacity: 0; 
  pointer-events: none; /* verhindert Klicks wenn nicht sichtbar */
  transition: opacity .2s ease; 
}
.woocommerce form.variations_form.has-selection .reset_variations { 
  visibility: visible !important; 
  opacity: 1; 
  pointer-events: auto; /* erlaubt Klicks wenn sichtbar */
}
/* Variation price/notice wrap */
.woocommerce div.product .single_variation {
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
  padding: 10px 12px;
}
.woocommerce div.product .single_variation .price { font-size: 1.2rem; font-weight: 700; }
.woocommerce div.product .single_variation { margin: 8px 0; }
.woocommerce div.product .single_variation .price { color: var(--text-weiss); }
/* Verberge die Variations-Box, wenn sie effektiv leer ist (keine Beschreibung, keine Verfügbarkeit, kein sichtbarer Preis) */
.woocommerce div.product .single_variation:not(:has(.woocommerce-variation-price .price:not([style*="display: none"]))):has(.woocommerce-variation-description:empty):has(.woocommerce-variation-availability:empty) {
  display: none;
}
.woocommerce div.product .variations_button {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-start; /* linkbündig, vertikal mittig */
  flex-wrap: wrap; /* falls wenig Platz vorhanden ist */
  width: 100%;
}
.woocommerce div.product .variations_button .quantity { display: inline-flex; align-items: center; gap: 6px; }
.woocommerce div.product .variations_button .quantity { margin: 0; }
.woocommerce div.product .variations_button .quantity .qty {
  max-width: 80px;
  min-height: 44px; /* gleiche Höhe wie Button */
}
.woocommerce div.product .variations_button .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px; /* gleiche Höhe wie Menge */
  line-height: 1; /* keine zusätzliche Vertikalhöhe */
}

/* Grouped products table */
.woocommerce div.product .group_table {
  width: 100%;
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
  overflow: hidden;
}
.woocommerce div.product .group_table td,
.woocommerce div.product .group_table th {
  border-color: var(--wc-border);
}
.woocommerce div.product .group_table .quantity .qty { max-width: 90px; }

/* Attributes table */
.woocommerce table.shop_attributes {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { border-color: var(--wc-border); }
/* Vertikale Zentrierung für Attributzeilen (Label & Werte) */
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  vertical-align: middle;
}
/* Value-Absatz ohne Zusatzabstand für saubere Zentrierung */
.woocommerce table.shop_attributes .woocommerce-product-attributes-item__value p {
  margin: 0;
}

/* Attribute-Werte als "Pills" (für Größenliste) */
.woocommerce table.shop_attributes .evd-attr-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.woocommerce table.shop_attributes .evd-attr-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 8px;
  background: #222;
  color: var(--text-weiss);
  border: 1px solid var(--wc-border);
  font-weight: 600;
  line-height: 1.1;
}

/* Notices spacing inside container */
.evd-shop-container .woocommerce-notices-wrapper {
  margin-bottom: 16px;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-radius: 8px; }

/* Share links */
.woocommerce div.product .sharedaddy, /* Jetpack */
.woocommerce div.product .woocommerce-product-details__social {
  margin-top: 14px;
}

/* Fix long words/links */
.woocommerce div.product .evd-product-summary { word-wrap: break-word; }

/* Responsive */
@media (max-width: 992px) {
  .woocommerce div.product.evd-product .evd-product-grid {
    grid-template-columns: 1fr;
  }
  .woocommerce div.product table.variations td.label { width: 100%; display: block; }
  .woocommerce div.product table.variations td.value { display: block; }
  .woocommerce div.product form.cart { flex-wrap: wrap; }
  /* Thumbnails become horizontal scroll on mobile */
  .woocommerce div.product .flex-control-nav {
    display: flex !important;
    overflow-x: auto;
    gap: 8px;
  }
  .woocommerce div.product .flex-control-nav li { flex: 0 0 80px; }
}

/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce form .woocommerce-error,
.woocommerce form .woocommerce-message,
.woocommerce form .woocommerce-info {
  background: var(--bg-transparent-rot);
  border: 1px solid var(--wc-border);
  color: var(--text-weiss);
}

/* Forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: #222;
  color: var(--text-weiss);
  border: 1px solid var(--wc-border);
  border-radius: 6px;
}
.woocommerce form .form-row label { color: var(--wc-muted); }

/* Tables (Cart/Checkout) */
.woocommerce table.shop_table {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  color: var(--text-weiss);
  border-radius: 8px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--wc-border); }

/* Mini cart and cart totals */
.woocommerce .cart_totals {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
  padding: 16px;
}
/* Produktseite: Alle Texte (außer Überschriften) in weiß */
.woocommerce div.product.evd-product .evd-product-summary,
.woocommerce div.product.evd-product .evd-product-summary p,
.woocommerce div.product.evd-product .evd-product-summary li,
.woocommerce div.product.evd-product .evd-product-summary span,
.woocommerce div.product .woocommerce-tabs .panel {
  color: var(--text-weiss);
}
/* Produkt-Meta und Links auch weiß (überschreibt frühere Muted-Farbe) */
.woocommerce div.product .product_meta,
/* Links im Produkttext & Tabs ebenfalls weiß */
.woocommerce div.product.evd-product .evd-product-summary a,
.woocommerce div.product .woocommerce-tabs .panel a {
  color: var(--text-weiss);
}
.woocommerce div.product .product_meta a { color: var(--text-weiss); }

/* Inhaltliche Links in Rot (Buttons ausgenommen) */
.woocommerce div.product.evd-product .evd-product-summary a:not(.button):not(.added_to_cart):not(.wc-forward),
.woocommerce div.product .woocommerce-tabs .panel a:not(.button):not(.added_to_cart):not(.wc-forward) {
  color: var(--fuechse-rot);
  text-decoration: none;
  transition: color .2s ease, text-decoration-color .2s ease;
}
.woocommerce div.product.evd-product .evd-product-summary a:not(.button):not(.added_to_cart):not(.wc-forward):visited,
.woocommerce div.product .woocommerce-tabs .panel a:not(.button):not(.added_to_cart):not(.wc-forward):visited {
  color: var(--fuechse-rot);
}
.woocommerce div.product.evd-product .evd-product-summary a:not(.button):not(.added_to_cart):not(.wc-forward):hover,
.woocommerce div.product .woocommerce-tabs .panel a:not(.button):not(.added_to_cart):not(.wc-forward):hover {
  color: #b90710; /* dunkleres Rot */
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}
.woocommerce div.product.evd-product .evd-product-summary a:not(.button):not(.added_to_cart):not(.wc-forward):focus-visible,
.woocommerce div.product .woocommerce-tabs .panel a:not(.button):not(.added_to_cart):not(.wc-forward):focus-visible {
  outline: 2px solid var(--wc-primary);
  outline-offset: 2px;
  text-decoration: underline;
}
/* Produkt-Meta: Text bleibt weiß, Links rot */
.woocommerce div.product .product_meta { color: var(--text-weiss); }
.woocommerce div.product .product_meta a { color: var(--fuechse-rot); text-decoration: none; }
.woocommerce div.product .product_meta a:hover { color: #b90710; text-decoration: underline; }

/* Pagination - Blog-Design übernommen */
.woocommerce nav.woocommerce-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #333;
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
  display: inline-flex;
  margin: 0;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next {
  background: var(--fuechse-rot, #DF0914);
  color: white;
  padding: 12px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li a.prev:hover,
.woocommerce nav.woocommerce-pagination ul li a.next:hover {
  background: var(--fuechse-rot, #DF0914);
  text-decoration: none;
  color: white;
  transform: scale(1.05);
  border-color: transparent;
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul li span.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #2b2b2b;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover {
  background: #2b2b2b;
  color: #fff;
  text-decoration: none;
  transform: scale(1.1);
  border-color: transparent;
}

.woocommerce nav.woocommerce-pagination ul li span.page-numbers.current {
  background: var(--fuechse-rot, #DF0914);
  color: white;
  pointer-events: none;
  text-decoration: none;
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li span.page-numbers.dots {
  background: transparent;
  color: #666;
  font-weight: bold;
  width: auto;
  padding: 0 5px;
}

@media (max-width: 768px) {
  .woocommerce nav.woocommerce-pagination {
    flex-direction: column;
    gap: 15px;
  }
  
  .woocommerce nav.woocommerce-pagination ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .woocommerce nav.woocommerce-pagination ul li a.prev,
  .woocommerce nav.woocommerce-pagination ul li a.next {
    width: 100%;
    justify-content: center;
    max-width: 200px;
  }
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb {
  color: var(--wc-muted);
  text-align: left;
  margin: 0 0 16px;
  display: block;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--text-weiss); }

/* Ensure our breadcrumb wrapper sits above the product card */
.woocommerce .evd-wc-breadcrumbs { margin-bottom: 16px; }

/* Inputs on checkout */
.woocommerce-checkout #customer_details .col-1, 
.woocommerce-checkout #customer_details .col-2 {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
  padding: 16px;
}

/* Messages */
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { color: var(--text-weiss); }

/* Align the shop to theme container */
.woocommerce .evd-shop-container > .woocommerce,
.woocommerce-page .evd-shop-container > .woocommerce {
  margin: 0;
}

/* ------------------------------------------------------------
   SHOP ARCHIVE (Produktübersicht) – CI-Anpassungen
   Orientiert sich visuell an Einzelprodukt-Karte (evd-product-card)
   ------------------------------------------------------------ */
/* Wrapper / Grundlayout */
.evd-shop-container .woocommerce-products-header {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
}
.evd-shop-container .woocommerce-products-header__title.page-title {
  color: var(--fuechse-rot);
  margin: 0 0 6px;
  font-size: clamp(1.9rem, 2.2vw, 2.6rem);
  line-height: 1.1;
}

/* Breadcrumb optisch näher an Einzelprodukt */
.evd-shop-container .evd-wc-breadcrumbs {
  margin-bottom: 14px;
}

/* Toolbar (Result Count + Ordering) */
.evd-shop-container .woocommerce-result-count,
.evd-shop-container .woocommerce-ordering { margin: 0; }
.evd-shop-container .woocommerce-ordering select.orderby {
  background: #222;
  color: var(--text-weiss);
  border: 1px solid var(--wc-border);
  border-radius: 8px;
  min-height: 44px;
  padding: 10px 14px;
  line-height: 1.1;
}
.evd-shop-container .woocommerce-ordering select.orderby:focus {
  outline: none;
  border-color: var(--wc-primary);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
}
/* Flex-Zeile falls beide Elemente direkt nacheinander erscheinen */
/* (Optionaler Platzhalter für alternative Reihenfolge entfernt – kein leerer Regelsatz) */
.evd-shop-container .woocommerce-result-count, .evd-shop-container form.woocommerce-ordering {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.evd-shop-container .woocommerce-result-count { color: var(--wc-muted); }

/* Produktgrid → modernes Grid statt Floats (Woo ≥5 unterstützt flexibles Override) */
.evd-shop-container ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 30px;
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
}

/* Produktkarte */
.evd-shop-container ul.products li.product {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 12px;
  padding: 16px 16px 18px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  transition: border-color .25s ease, transform .18s ease, box-shadow .25s ease;
}
.evd-shop-container ul.products li.product:hover {
  border-color: var(--wc-primary);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

/* Klickbarer Bereich */
.evd-shop-container ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
  height: 100%;
}

/* Bildbereich – dunkler Rahmen wie Gallery */
.evd-shop-container ul.products li.product a.woocommerce-LoopProduct-link img {
  border-radius: 10px;
  background: #161616;
  padding: 6px;
  transition: transform .35s ease;
}
.evd-shop-container ul.products li.product:hover a.woocommerce-LoopProduct-link img {
  transform: scale(1.03);
}

/* Sale Badge im Card-Kontext */
.evd-shop-container ul.products li.product .onsale {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  background: var(--fuechse-rot);
  color: #fff;
  font-weight: 700;
  padding: 4px 10px;
  line-height: 1;
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
}

/* Titel & Preis */
.evd-shop-container ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 4px 0 2px;
  line-height: 1.25;
  color: var(--text-weiss);
}
.evd-shop-container ul.products li.product .price {
  font-weight: 700;
  font-size: .95rem;
  color: var(--text-weiss);
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.evd-shop-container ul.products li.product .price ins { text-decoration: none; }
.evd-shop-container ul.products li.product .price del { opacity: .55; }

/* Zusätzliche Info (MwSt./Versand) ausrichten & dezenter */
.evd-shop-container ul.products li.product .wc-gzd-additional-info {
  font-size: .65rem;
  line-height: 1.2;
  margin: 0;
  color: var(--wc-muted);
}
.evd-shop-container ul.products li.product .wc-gzd-additional-info a { color: var(--wc-muted); text-decoration: underline dotted; }
.evd-shop-container ul.products li.product .wc-gzd-additional-info a:hover { color: #fff; }

/* Add-to-Cart Button */
.evd-shop-container ul.products li.product .button {
  margin-top: auto; /* drückt Button nach unten für gleichmäßige Kartenhöhe */
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--fuechse-rot), #b90710);
  box-shadow: 0 4px 16px rgba(0,0,0,0.35);
  transition: background .28s ease, transform .18s ease, box-shadow .28s ease;
}
.evd-shop-container ul.products li.product .button:hover {
  background: linear-gradient(135deg, #d20b17, #9c060e);
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(0,0,0,0.5);
}
.evd-shop-container ul.products li.product .button:active {
  transform: translateY(0);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}

/* Ratings im Grid verkleinern */
.evd-shop-container ul.products li.product .star-rating { transform: scale(.9); transform-origin: left center; }

/* Hover Fokusrahmen barrierearm */
.evd-shop-container ul.products li.product a:focus-visible,
.evd-shop-container ul.products li.product .button:focus-visible {
  outline: 2px solid var(--wc-primary);
  outline-offset: 2px;
}

/* Responsive Tuning */
@media (max-width: 600px) {
  .evd-shop-container ul.products { gap: 20px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  .evd-shop-container ul.products li.product { padding: 14px 14px 16px; }
  .evd-shop-container ul.products li.product .woocommerce-loop-product__title { font-size: .9rem; }
  .evd-shop-container ul.products li.product .price { font-size: .85rem; }
  .evd-shop-container ul.products li.product .button { font-size: .75rem; padding: 0 10px; }
}

/* Fallback für sehr alte WooCommerce CSS Floats – entfernt Side-Margins */
.evd-shop-container ul.products::before,
.evd-shop-container ul.products::after { display: none !important; }

/* === Shop Toolbar mit Suche, Result Count und Sortierung === */
.evd-shop-toolbar {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 20px;
  background: #2a2a2a;
  padding: 16px 20px;
  margin: 0 0 30px;
  border-radius: 8px;
}

/* Shop-Suche (Links) */
.evd-shop-search {
  width: 100%;
  max-width: 350px;
}

.evd-shop-search form.woocommerce-product-search {
  display: flex;
  align-items: stretch;
  gap: 0;
  height: 44px;
}

.evd-shop-search .search-field {
  flex: 1;
  background: #1a1a1a;
  color: var(--text-weiss);
  border: 1px solid #444;
  border-right: 0;
  border-radius: 6px 0 0 6px;
  padding: 10px 16px;
  font-size: 0.9rem;
  font-family: 'Poppins', sans-serif;
  transition: all 0.3s ease;
  height: 44px;
  box-sizing: border-box;
}

.evd-shop-search .search-field:focus {
  outline: none;
  border-color: var(--fuechse-rot);
  background: #222;
}

.evd-shop-search .search-field::placeholder {
  color: #888;
}

/* Such-Button mit eigener Klasse und !important für maximale Kontrolle */
.evd-shop-search-btn,
.evd-shop-search button.evd-shop-search-btn {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--fuechse-rot) !important;
  color: var(--text-weiss) !important;
  border: 1px solid #444 !important;
  border-left: 0 !important;
  border-radius: 0 6px 6px 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  text-decoration: none !important;
  font-family: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-weight: normal !important;
}

.evd-shop-search-btn:hover,
.evd-shop-search button.evd-shop-search-btn:hover {
  background: #d91616 !important;
  transform: none !important;
  box-shadow: none !important;
}

.evd-shop-search-btn:active,
.evd-shop-search button.evd-shop-search-btn:active {
  background: #b81616 !important;
}

.evd-shop-search-btn i {
  margin: 0 !important;
  padding: 0 !important;
}

/* Rechte Seite: Result Count + Ordering */
.evd-shop-toolbar-right {
  display: contents;
}

.evd-shop-toolbar .woocommerce-result-count { 
  font-size: 0.85rem;
  color: #999;
  white-space: nowrap;
  margin: 0;
  padding: 0 10px;
}

/* Sortierung Dropdown */
.evd-shop-toolbar .woocommerce-ordering {
  margin: 0;
}

.evd-shop-toolbar .woocommerce-ordering select.orderby {
  background: #fff;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px 40px 10px 16px;
  font-size: 0.9rem;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  min-width: 220px;
  height: 44px;
}

.evd-shop-toolbar .woocommerce-ordering select.orderby:hover {
  border-color: #bbb;
}

.evd-shop-toolbar .woocommerce-ordering select.orderby:focus {
  outline: none;
  border-color: var(--fuechse-rot);
  box-shadow: 0 0 0 3px rgba(255, 26, 26, 0.1);
}

/* Mobile Responsive */
@media (max-width: 900px) {
  .evd-shop-toolbar {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  
  .evd-shop-search {
    max-width: 100%;
  }
  
  .evd-shop-toolbar-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  
  .evd-shop-toolbar .woocommerce-ordering {
    width: 100%;
  }
  
  .evd-shop-toolbar .woocommerce-ordering select.orderby {
    width: 100%;
    min-width: unset;
  }
  
  .evd-shop-toolbar .woocommerce-result-count {
    text-align: center;
    width: 100%;
    padding: 8px 0;
  }
}

/* Konsistente Bildhöhe / Ratio Container */
.evd-shop-container ul.products li.product a.woocommerce-LoopProduct-link img {
  aspect-ratio: 1/1; /* Quadratisch für Shop-Kacheln */
  object-fit: cover;
  width: 100%;
  height: auto;
  background: #161616;
}

/* Titel Clamping auf 2 Zeilen */
.evd-shop-container ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.55em; /* Platz für zwei Zeilen bei 1.25 line-height */
}

/* Preis-Layout: Variantenbereich sauber umbrechen */
.evd-shop-container ul.products li.product .price {
  column-gap: 4px;
  row-gap: 2px;
}
.evd-shop-container ul.products li.product .price .woocommerce-Price-amount { display: inline-flex; align-items: baseline; }

/* Mikro-Typografie */
.evd-shop-container ul.products li.product .wc-gzd-additional-info { letter-spacing: .3px; }

/* Animation feinjustiert */
.evd-shop-container ul.products li.product { will-change: transform, box-shadow; }

/* Darker focus ring for high contrast mode (prefers-contrast) */
@media (prefers-contrast: more) {
  .evd-shop-container ul.products li.product a:focus-visible,
  .evd-shop-container ul.products li.product .button:focus-visible { outline-color: #fff; }
}

/* ------------------------------------------------------------
   ENHANCED WOO NOTICES (rein optisches Upgrade – kein neues Markup nötig)
   Ziel: Klarere Hierarchie, CI-Farben, bessere Lesbarkeit & Animation
   ------------------------------------------------------------ */
/* Basis-Variablen (nur falls noch nicht vorhanden; überschreibbar in :root) */
:root {
  --wc-notice-radius: 12px;
  --wc-notice-shadow: 0 8px 26px -8px rgba(0,0,0,.55), 0 2px 6px -2px rgba(0,0,0,.5);
  --wc-notice-focus: 0 0 0 3px rgba(255,255,255,.18);
  --wc-notice-success-bg: linear-gradient(135deg, #b90710 0%, #85040b 100%); /* Brand-Rot Verlauf */
  --wc-notice-success-border: #d31822;
  --wc-notice-info-bg: linear-gradient(135deg, var(--sprade-blau, #006caa) 0%, #024562 100%);
  --wc-notice-info-border: #0f9fd4;
  --wc-notice-error-bg: linear-gradient(135deg, #4b0509 0%, #250204 100%);
  --wc-notice-error-border: #b90710;
  --wc-notice-text: #fff;
  --wc-notice-accent-success: #ffdadc;
  --wc-notice-accent-info: #d2f1ff;
  --wc-notice-accent-error: #ffb7bd;
}

/* Reset ältere einfache Hintergrundregel (vorher definiert) – wir setzen jetzt Variante gezielt */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce form .woocommerce-error,
.woocommerce form .woocommerce-message,
.woocommerce form .woocommerce-info {
  background: none;
  border: none;
  color: var(--wc-notice-text);
  padding: 0; /* wir setzen Padding in den Variant-Styles */
}

/* Gemeinsame Grundform */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px 20px 16px 68px; /* Platz für Icon-Kreis links */
  border: 1px solid transparent;
  border-radius: var(--wc-notice-radius);
  line-height: 1.35;
  font-size: .95rem;
  box-shadow: var(--wc-notice-shadow);
  overflow: hidden;
  isolation: isolate; /* für z-index layering */
  animation: evdNoticeIn .5s cubic-bezier(.4,.8,.25,1);
}

@keyframes evdNoticeIn {
  0% { opacity: 0; transform: translateY(-10px) scale(.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Link-/Button-Anpassung innerhalb der Notices */
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-error a {
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-error a.button {
  text-decoration: none;
  border-radius: 8px;
  padding: 10px 16px;
  line-height: 1;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .5px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,.25);
  transition: background .25s ease, transform .2s ease, box-shadow .25s ease;
}
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-info a.button:hover,
.woocommerce .woocommerce-error a.button:hover { background: rgba(255,255,255,.25); transform: translateY(-2px); }
.woocommerce .woocommerce-message a.button:active,
.woocommerce .woocommerce-info a.button:active,
.woocommerce .woocommerce-error a.button:active { transform: translateY(0); }

/* Icon-Kreis (Pseudo) */
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px; height: 40px;
  border-radius: 50%;
  display: block;
  background: rgba(255,255,255,.15);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.25), 0 4px 10px -2px rgba(0,0,0,.4);
  backdrop-filter: blur(6px);
}
/* Symbol im Kreis (zweites Pseudo) */
.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-error::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px; height: 40px;
  display: grid;
  place-items: center;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 60% 60%;
  background: #fff;
  opacity: .9;
}

/* Varianten (Success / Info / Error) */
.woocommerce .woocommerce-message { background: var(--wc-notice-success-bg); border-color: var(--wc-notice-success-border); }
.woocommerce .woocommerce-info { background: var(--wc-notice-info-bg); border-color: var(--wc-notice-info-border); }
.woocommerce .woocommerce-error { background: var(--wc-notice-error-bg); border-color: var(--wc-notice-error-border); }

/* Linkfarben je Variante – hoher Kontrast */
.woocommerce .woocommerce-message a:not(.button) { color: var(--wc-notice-accent-success); }
.woocommerce .woocommerce-info a:not(.button) { color: var(--wc-notice-accent-info); }
.woocommerce .woocommerce-error a:not(.button) { color: var(--wc-notice-accent-error); }
.woocommerce .woocommerce-message a:not(.button):hover { color: #fff; }
.woocommerce .woocommerce-info a:not(.button):hover { color: #fff; }
.woocommerce .woocommerce-error a:not(.button):hover { color: #fff; }

/* Icons via Mask (SVG inline als Data-URI) */
.woocommerce .woocommerce-message::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.woocommerce .woocommerce-info::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8h.01M11 12h1v4h1'/%3E%3C/svg%3E"); }
.woocommerce .woocommerce-error::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E"); }

/* Error Liste: Bullets entfernen, Zeilen zusammenführen */
.woocommerce .woocommerce-error { list-style: none; padding-left: 68px; }
.woocommerce .woocommerce-error li { list-style: none; margin: 4px 0; }

/* Optional vertikale Trenner, wenn Button + Text: nutzt Flex-Gap → kein extra Stil nötig */

/* Fokus-States für Links/Buttons im Notice-Kontext */
.woocommerce .woocommerce-message a:focus-visible,
.woocommerce .woocommerce-info a:focus-visible,
.woocommerce .woocommerce-error a:focus-visible { outline: none; box-shadow: var(--wc-notice-focus); border-radius: 6px; }

/* Kompakter auf sehr kleinen Screens */
@media (max-width: 520px) {
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error { padding: 14px 16px 14px 60px; font-size: .85rem; gap: 10px; }
  .woocommerce .woocommerce-message::before,
  .woocommerce .woocommerce-info::before,
  .woocommerce .woocommerce-error::before,
  .woocommerce .woocommerce-message::after,
  .woocommerce .woocommerce-info::after,
  .woocommerce .woocommerce-error::after { width: 34px; height: 34px; left: 14px; }
}

/* High Contrast Mode Verbesserungen */
@media (prefers-contrast: more) {
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error { box-shadow: 0 0 0 2px rgba(255,255,255,.25); }
}

/* Reduziert Bewegung für Nutzer mit motion preference */
@media (prefers-reduced-motion: reduce) {
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error { animation: none; }
}

/* Stacking / mehrere Meldungen */
.woocommerce-notices-wrapper { display: flex; flex-direction: column; gap: 10px; }

/* Leichte Einblendung, wenn Woo nach AJAX Add-To-Cart injiziert */
.woocommerce-notices-wrapper .woocommerce-message.is-hidden { opacity: 0; transform: translateY(-6px); }
.woocommerce-notices-wrapper .woocommerce-message.is-visible { opacity: 1; transform: translateY(0); transition: opacity .4s ease, transform .4s ease; }

/* ------------------------------------------------------------
   CART (WooCommerce Blocks) – CI MATCH
   Ziel: Dark Surface Cards, Brand-Rot Akzente, konsistente Buttons
   Klassen-Präfix: .wc-block-*
   ------------------------------------------------------------ */
/* Grundlayout Wrapper */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wc-block-components-sidebar-layout { color: var(--text-weiss); }

/* Layout Columns */
.wc-block-cart .wc-block-components-main { background: transparent; padding: 0; }
.wc-block-cart .wc-block-components-sidebar { background: transparent; padding: 0; }

/* Items Table → Card Look */
.wc-block-cart-items { width: 100%; border-collapse: separate; border-spacing: 0 14px; }
.wc-block-cart-items__header { display: none; }
.wc-block-cart-items__row { background: var(--wc-surface); border: 1px solid var(--wc-border); border-radius: 14px; box-shadow: 0 6px 22px -6px rgba(0,0,0,.5); overflow: hidden; transition: box-shadow .25s ease, transform .18s ease; }
.wc-block-cart-items__row:focus-within, .wc-block-cart-items__row:hover { box-shadow: 0 10px 34px -8px rgba(0,0,0,.65), 0 0 0 1px #3d3d3d; transform: translateY(-2px); }
.wc-block-cart-item__image { width: 110px; padding: 14px 0 14px 14px; }
.wc-block-cart-item__image img { border-radius: 10px; background: #161616; padding: 6px; width: 100px; height: 100px; object-fit: cover; }
.wc-block-cart-item__product { padding: 16px 18px 18px 6px; }
.wc-block-cart-item__wrap { display: flex; flex-direction: column; gap: 4px; }
.wc-block-cart-items .wc-block-components-product-name { font-weight: 600; font-size: 1.3rem; line-height: 1.3; color: var(--text-weiss, #fff); text-decoration: none; }
.wc-block-cart-items .wc-block-components-product-name:hover { color: var(--fuechse-rot); }
.wc-block-cart-item__prices .wc-block-components-product-price__value { font-weight: 600; font-size: 1rem; color: var(--text-grau, #ccc); }

/* Quantity + Remove */
.wc-block-cart-item__quantity { margin-top: 10px; display: flex; align-items: center; gap: 14px; }
.wc-block-components-quantity-selector { display: inline-flex; align-items: center; background: #222; border: 1px solid var(--wc-border); border-radius: 10px; overflow: hidden; min-height: 44px; }
.wc-block-components-quantity-selector__input { width: 70px; background: transparent; border: 0; color: #fff; font-weight: 700; text-align: center; font-size: .95rem; outline: none; }
.wc-block-components-quantity-selector__input:focus-visible { outline: 2px solid var(--wc-primary); outline-offset: -2px; }
.wc-block-components-quantity-selector__button { background: transparent; border: 0; color: var(--wc-muted); width: 44px; height: 44px; display: grid; place-items: center; font-size: 1.2rem; cursor: pointer; transition: background .2s ease, color .2s ease; }
.wc-block-components-quantity-selector__button:hover { background: #272727; color: #fff; }
.wc-block-components-quantity-selector__button:active { background: #1f1f1f; }
.wc-block-cart-item__remove-link { background: transparent; border: 1px solid var(--wc-border); color: var(--wc-muted); padding: 8px 14px; border-radius: 10px; font-size: .7rem; letter-spacing: .5px; text-transform: uppercase; font-weight: 600; cursor: pointer; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .15s ease; }
.wc-block-cart-item__remove-link:hover { background: #262626; color: #fff; }
.wc-block-cart-item__remove-link:active { transform: translateY(1px); }
.wc-block-cart-item__remove-link:focus-visible { outline: 2px solid var(--wc-primary); outline-offset: 2px; }

/* Item Total */
.wc-block-cart-item__total { padding: 0 22px 0 0; font-weight: 700; font-size: 1.2rem; color: var(--text-weiss, #fff); white-space: nowrap; vertical-align: middle; }
.wc-block-cart-item__total .wc-block-components-formatted-money-amount { font-weight: 700; font-size: 1.2rem; }

/* Mobile Stack */
@media (max-width: 840px) {
  .wc-block-cart-items__row { display: grid; grid-template-columns: 110px 1fr; align-items: stretch; }
  .wc-block-cart-item__total { grid-column: 2 / 3; padding: 0 0 12px; text-align: right; }
}
@media (max-width: 540px) {
  .wc-block-cart-items { border-spacing: 0 10px; }
  .wc-block-cart-items__row { grid-template-columns: 90px 1fr; }
  .wc-block-cart-item__image { width: 90px; padding-left: 10px; }
  .wc-block-cart-item__image img { width: 80px; height: 80px; }
  .wc-block-cart-items .wc-block-components-product-name { font-size: 1.15rem; }
  .wc-block-cart-item__remove-link { padding: 6px 10px; border-radius: 8px; }
}

/* ------------------------------------------------------------
   CART – Zusätzliche optische Verfeinerungen / Rounded Upgrade
   (separat gehalten, damit leicht rücksetzbar)
   ------------------------------------------------------------ */
/* Card: subtiler Glanz + stärker gerundete Ecken Option */
.wc-block-cart-items__row { position: relative; border-radius: 18px; }
.wc-block-cart-items__row::before { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background:
  linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,0) 55%),
  radial-gradient(circle at 18% 22%, rgba(255,255,255,.06), transparent 65%);
  opacity: .55; transition: opacity .35s ease; mix-blend-mode: overlay; }
.wc-block-cart-items__row:hover::before, .wc-block-cart-items__row:focus-within::before { opacity: .9; }
.wc-block-cart-items__row:hover { border-color: var(--fuechse-grau-hell, #444); }

/* Produktbild: stärkeres Round + dezenter Rand */
.wc-block-cart-item__image img { border-radius: 14px; box-shadow: 0 0 0 1px var(--fuechse-grau-dunkel, #1D1E1C), 0 4px 10px -4px rgba(0,0,0,.7); }

/* Metadaten - minimalistisch, inline */
.wc-block-components-product-metadata {
  margin-top: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.wc-block-cart-items .wc-block-components-product-details {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 16px !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.wc-block-cart-items .wc-block-components-product-metadata,
.wc-block-cart-items .wc-block-components-product-details li {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.wc-block-components-product-details li {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  line-height: 1.4;
  font-size: .95rem;
  border: none !important;
}
.wc-block-components-product-details li::before,
.wc-block-components-product-details li::marker {
  display: none !important;
  content: none !important;
}
.wc-block-components-product-details__name { 
  font-size: .9rem; 
  color: var(--text-grau-hell, #888);
  font-weight: 400;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.wc-block-components-product-details__value { 
  font-weight: 500; 
  font-size: .95rem; 
  color: var(--text-weiss, #fff); 
}

/* Doppelte Attribute entfernt - alle gleich behandeln */

/* Quantity Selector: pilliger + Buttons klar getrennt */
.wc-block-components-quantity-selector { border-radius: 14px; background: linear-gradient(#242424,#1e1e1e); position: relative; }
.wc-block-components-quantity-selector:focus-within { box-shadow: 0 0 0 2px var(--wc-primary); }
.wc-block-components-quantity-selector__button { width: 46px; height: 46px; }
.wc-block-components-quantity-selector__button--minus { border-right: 1px solid #2a2a2a; border-radius: 14px 0 0 14px; }
.wc-block-components-quantity-selector__button--plus { border-left: 1px solid #2a2a2a; border-radius: 0 14px 14px 0; }
.wc-block-components-quantity-selector__button:hover { background: linear-gradient(#2c2c2c,#262626); }
.wc-block-components-quantity-selector__button:active { background: #1b1b1b; }
.wc-block-components-quantity-selector__input { font-size: 1rem; }

/* Remove Link: Ghost → Brand Hover */
.wc-block-cart-item__remove-link { border-radius: 14px; background: linear-gradient(#1e1e1e,#181818); border: 1px solid #2b2b2b; color: #bbb; box-shadow: 0 2px 6px -2px rgba(0,0,0,.6); }
.wc-block-cart-item__remove-link:hover { background: linear-gradient(#272727,#222); color: var(--fuechse-rot); border-color: var(--fuechse-rot); }
.wc-block-cart-item__remove-link:active { transform: translateY(1px); filter: brightness(.95); }

/* Einzelpreis & Gesamtsumme: leichte Hervorhebung */
.wc-block-cart-item__prices .wc-block-components-product-price__value,
.wc-block-cart-item__total .wc-block-components-formatted-money-amount { text-shadow: 0 0 4px rgba(0,0,0,.55); }

/* Motion Preferences respektieren */
@media (prefers-reduced-motion: reduce) {
  .wc-block-cart-items__row { transition: none; }
  .wc-block-cart-items__row::before { transition: none; }
  .wc-block-components-quantity-selector__button { transition: none; }
  .wc-block-cart-item__remove-link { transition: none; }
}

/* ------------------------------------------------------------
   CART – Wrapper Table Rounded Container (CI Radius)
   ------------------------------------------------------------ */
:root {
  --ci-radius-sm: 9px;
  --ci-radius: 14px; /* Primärer CI Radius */
  --ci-radius-lg: 18px; /* Für größere Cards */
  --ci-radius-xl: 22px; /* Für äußere Container */
}

/* Äußerer Tabellen-Container (table selbst) */
.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
  background: linear-gradient(160deg,#191919,#141414 65%);
  border: 1px solid var(--wc-border);
  border-radius: var(--ci-radius-xl);
  padding: 14px 16px 18px; /* Erzeugt inneren Rand um die Cards */
  box-shadow: 0 10px 34px -18px rgba(0,0,0,.85), 0 2px 6px -2px rgba(0,0,0,.7);
}

/* Abstand zwischen Cards leicht erhöhen (vertikal) */
.wc-block-cart-items { border-spacing: 0 18px; }

/* Cards nutzen konsistent großen Radius */
.wc-block-cart-items__row { border-radius: var(--ci-radius-lg); }

/* Produktbild & Badges fein anpassen auf Radius-System */
.wc-block-cart-item__image img { border-radius: var(--ci-radius); }
.wc-block-components-product-details { border-radius: var(--ci-radius-sm); }
.wc-block-cart-item__remove-link { border-radius: var(--ci-radius-lg); }
.wc-block-components-quantity-selector { border-radius: var(--ci-radius-lg); }
.wc-block-components-quantity-selector__button--minus { border-radius: var(--ci-radius-lg) 0 0 var(--ci-radius-lg); }
.wc-block-components-quantity-selector__button--plus { border-radius: 0 var(--ci-radius-lg) var(--ci-radius-lg) 0; }

/* Mobile: Container-Padding reduzieren für Platz */
@media (max-width: 540px) {
  .wc-block-cart-items.wp-block-woocommerce-cart-line-items-block { padding: 10px 10px 14px; border-radius: var(--ci-radius-lg); }
  .wc-block-cart-items { border-spacing: 0 14px; }
}

/* Coupon Accordion */
.wc-block-components-panel { background: var(--wc-surface); border: 1px solid var(--wc-border); border-radius: 12px; box-shadow: 0 4px 16px rgba(0,0,0,0.35); overflow: hidden; }
.wc-block-components-panel__button { padding: 14px 18px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 10px; color: var(--wc-muted); transition: background .25s ease, color .25s ease; }
.wc-block-components-panel__button:hover { background: #242424; color: #fff; }
.wc-block-components-panel[aria-expanded="true"] .wc-block-components-panel__button { background: #272727; color: #fff; }
.wc-block-components-panel__content { padding: 0 18px 18px; }
form.wc-block-components-totals-coupon__form { display: flex; gap: 10px; margin-top: 12px; }
form.wc-block-components-totals-coupon__form input { flex: 1; background: #222; border: 1px solid var(--wc-border); border-radius: 8px; padding: 10px 14px; color: #fff; }
form.wc-block-components-totals-coupon__form input:focus-visible { outline: 2px solid var(--wc-primary); outline-offset: 2px; }
form.wc-block-components-totals-coupon__form button { background: var(--fuechse-rot); border: none; border-radius: 8px; padding: 12px 18px; font-weight: 600; letter-spacing: .5px; color: #fff; cursor: pointer; transition: background .25s ease, transform .15s ease; }
form.wc-block-components-totals-coupon__form button:hover { background: #b90710; }
form.wc-block-components-totals-coupon__form button:active { transform: translateY(1px); }

/* Totals Sidebar */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { background: var(--wc-surface); border: 1px solid var(--wc-border); border-radius: 16px; padding: 24px 24px 30px; box-shadow: 0 8px 28px -6px rgba(0,0,0,.55); top: 40px; display: flex; flex-direction: column; gap: 22px; }
.wc-block-cart__totals-title { margin: 0; font-family: 'Redzone BlackReg', sans-serif; font-size: 1.4rem; color: var(--fuechse-rot); letter-spacing: .5px; }
.wc-block-components-totals-wrapper { margin: 0; padding: 0; }
.wc-block-components-totals-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.05); font-size: .9rem; color: var(--wc-muted); }
.wc-block-components-totals-item:last-child { border-bottom: none; }
.wc-block-components-totals-item__label { font-weight: 600; letter-spacing: .4px; }
.wc-block-components-totals-item__value { font-weight: 700; color: #fff; }
.wc-block-components-totals-footer-item { padding-top: 6px; }
.wc-block-components-totals-footer-item-tax-value { font-size: 1.15rem; font-weight: 700; color: #fff; }
.wc-block-components-totals-footer-item-tax { font-size: .7rem; letter-spacing: .4px; color: var(--wc-muted); margin: 4px 0 0; }

/* Proceed Button */
.wc-block-cart__submit-button.contained { width: 100%; background: linear-gradient(135deg, var(--fuechse-rot), #b90710); border-radius: 14px; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 6px 26px -4px rgba(0,0,0,.6), 0 2px 6px -2px rgba(0,0,0,.5); padding: 18px 26px; font-weight: 700; font-size: 1rem; letter-spacing: .8px; text-transform: uppercase; display: inline-flex; justify-content: center; align-items: center; gap: 6px; transition: background .3s ease, transform .18s ease, box-shadow .3s ease, border-color .25s ease; }
/* Dezente Optimierung Gesamtsummen (tabellarisch beibehalten) */
.wc-block-components-totals-item { font-size: .88rem; }
.wc-block-components-totals-item__label { color: #d5d7d9; font-weight: 600; }
.wc-block-components-totals-item__value { font-variant-numeric: tabular-nums; letter-spacing: .3px; }
/* Letzter Block (Gesamtsumme) prominenter ohne Layout-Bruch */
.wc-block-components-totals-footer-item { padding-top: 10px; border-top: 2px solid rgba(255,255,255,.06); margin-top: 4px; }
.wc-block-components-totals-footer-item-tax-value { font-size: 1.25rem; font-weight: 800; letter-spacing: .4px; }
.wc-block-components-totals-footer-item-tax { font-size: .78rem; text-transform: none; letter-spacing: .3px; opacity: .8; }
.wc-block-components-totals-footer-item-tax strong { color: #fff; font-weight: 600; }
/* Gesamtsumme: Label + Wert vollständig weiß */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax-value { color: #fff !important; }
/* Hover minimaler Effekt nur für Desktop */
@media (hover:hover) { 
  .wc-block-components-totals-item:hover:not(.wc-block-components-totals-footer-item) { color: #fff; }
  .wc-block-components-totals-item:hover:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__label { color: #fff; }
}
/* Mobile Abstände kompakter */
@media (max-width: 600px) { 
  .wc-block-components-totals-item { padding: 8px 0; }
  .wc-block-components-totals-footer-item-tax-value { font-size: 1.15rem; }
}
.wc-block-cart__submit-button.contained:hover { background: linear-gradient(135deg, #d20b17, #9c060e); transform: translateY(-2px); box-shadow: 0 12px 38px -6px rgba(0,0,0,.7); border-color: rgba(255,255,255,0.18); }
.wc-block-cart__submit-button.contained:active { transform: translateY(0); box-shadow: 0 6px 26px -4px rgba(0,0,0,.55); border-color: rgba(255,255,255,0.12); }
.wc-block-cart__submit-button.contained:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Payment Options Slot (Falls Blöcke: Gutscheine, Versand, etc.) */
.wc-block-cart__payment-options { margin-top: 28px; }

/* Empty Cart State */
.wc-block-cart .is-cart-empty,
.wc-block-cart .wp-block-woocommerce-empty-cart-block,
.wp-block-woocommerce-empty-cart-block { 
  background: var(--wc-surface) !important; 
  border: 1px solid var(--wc-border) !important; 
  border-radius: 16px !important; 
  padding: 0 !important; 
  text-align: center !important; 
  box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
  overflow: hidden !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
}

/* Hauptüberschrift mit rotem Hintergrund (ohne Icon) */
.wc-block-cart .wp-block-woocommerce-empty-cart-block > h2.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block > h2.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block > h2.with-empty-cart-icon {
  background: var(--fuechse-rot, #d20b17) !important;
  color: #ffffff !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  padding: 35px 40px !important;
  margin: 0 !important;
  position: relative !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

/* Emoji/Icon ausblenden */
.wc-block-cart .wp-block-woocommerce-empty-cart-block > h2.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.wp-block-woocommerce-empty-cart-block > h2.with-empty-cart-icon::before {
  display: none !important;
}

/* Separator nach der Hauptüberschrift AUSBLENDEN */
.wc-block-cart .wp-block-woocommerce-empty-cart-block > hr,
.wp-block-woocommerce-empty-cart-block > hr.wp-block-separator {
  display: none !important;
}

/* "Neu im Shop" Überschrift AUSBLENDEN */
.wc-block-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title),
.wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.wc-block-cart__empty-cart__title):not(.with-empty-cart-icon) {
  display: none !important;
}

/* Produktblock komplett AUSBLENDEN */
.wc-block-cart .wp-block-woocommerce-empty-cart-block > .wp-block-product-new,
.wp-block-woocommerce-empty-cart-block > .wp-block-product-new,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new {
  display: none !important;
}

/* Produktgrid Anpassungen */
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products,
.wp-block-product-new.has-4-columns .wc-block-grid__products {
  gap: 25px !important;
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  width: 100% !important;
}

/* Aufzählungspunkte komplett entfernen */
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products li,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products li,
.wp-block-product-new.has-4-columns .wc-block-grid__products li {
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products li,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products li,
.wp-block-product-new.has-4-columns .wc-block-grid__products li {
  padding: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
}

.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products li::before,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products li::before,
.wp-block-product-new.has-4-columns .wc-block-grid__products li::before {
  content: none !important;
  display: none !important;
}

.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products li::marker,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products li::marker,
.wp-block-product-new.has-4-columns .wc-block-grid__products li::marker {
  display: none !important;
  content: none !important;
}

/* Produktkarten im leeren Warenkorb - Universelles Styling */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block li.wc-block-grid__product,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
.wp-block-product-new.has-4-columns .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block li.product {
  background: var(--wc-surface) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: 12px !important;
  padding: 16px 16px 18px !important;
  margin: 0 !important;
  transition: border-color .25s ease, transform .18s ease, box-shadow .25s ease !important;
  list-style: none !important;
  list-style-type: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.25) !important;
}

/* Hover-Effekt */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover,
.wp-block-woocommerce-empty-cart-block li.wc-block-grid__product:hover,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover,
.wp-block-product-new.has-4-columns .wc-block-grid__product:hover,
.wp-block-woocommerce-empty-cart-block li.product:hover {
  border-color: var(--wc-primary) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4) !important;
}

/* Produktlink - Flexbox mit Gap */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
.wp-block-woocommerce-empty-cart-block a.woocommerce-LoopProduct-link,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
.wp-block-product-new.has-4-columns .wc-block-grid__product-link,
.wp-block-woocommerce-empty-cart-block li.product > a {
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  height: 100% !important;
}

/* Bilder direkt im Link (wie bei Shop-Produkten) - ALLE Varianten */
.wp-block-woocommerce-empty-cart-block img,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link > img,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
.wp-block-woocommerce-empty-cart-block a.woocommerce-LoopProduct-link > img,
.wc-block-cart .wp-block-woocommerce-empty-cart-block img,
.wp-block-product-new.has-4-columns img {
  border-radius: 10px !important;
  background: #161616 !important;
  padding: 6px !important;
  transition: transform .35s ease !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}

/* Hover auf Bilder */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover img,
.wp-block-woocommerce-empty-cart-block li.product:hover img,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover img,
.wp-block-product-new.has-4-columns .wc-block-grid__product:hover img {
  transform: scale(1.03) !important;
}

/* Produktbild-Container (falls vorhanden) - Reset */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
.wp-block-product-new.has-4-columns .wc-block-grid__product-image {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* Produkttitel - ALLE Varianten */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .woocommerce-loop-product__title,
.wp-block-woocommerce-empty-cart-block h2.woocommerce-loop-product__title,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wp-block-product-new.has-4-columns .wc-block-grid__product-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--text-weiss) !important;
  margin: 4px 0 2px !important;
  padding: 0 !important;
  min-height: auto !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

/* Preise - ALLE Varianten */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .price,
.wp-block-woocommerce-empty-cart-block span.price,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .price,
.wp-block-product-new.has-4-columns .wc-block-grid__product-price,
.wp-block-product-new.has-4-columns .price {
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: var(--text-weiss) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

/* Preis-Elemente: ins (Sale-Preis) und del (durchgestrichen) */
.wp-block-woocommerce-empty-cart-block .price ins,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .price ins,
.wp-block-product-new.has-4-columns .price ins {
  text-decoration: none !important;
}

.wp-block-woocommerce-empty-cart-block .price del,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .price del,
.wp-block-product-new.has-4-columns .price del {
  opacity: .55 !important;
}

/* WC-GZD Info (Steuer, Versand) - ALLE Varianten */
.wp-block-woocommerce-empty-cart-block .wc-gzd-additional-info,
.wp-block-woocommerce-empty-cart-block p.wc-gzd-additional-info,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-gzd-additional-info,
.wp-block-product-new.has-4-columns .wc-gzd-additional-info {
  font-size: .65rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--wc-muted) !important;
  text-align: left !important;
}

.wp-block-woocommerce-empty-cart-block .wc-gzd-additional-info a,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-gzd-additional-info a,
.wp-block-product-new.has-4-columns .wc-gzd-additional-info a {
  color: var(--wc-muted) !important;
  text-decoration: underline dotted !important;
}

.wp-block-woocommerce-empty-cart-block .wc-gzd-additional-info a:hover,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-gzd-additional-info a:hover,
.wp-block-product-new.has-4-columns .wc-gzd-additional-info a:hover {
  color: #fff !important;
}

/* In den Warenkorb Button Container */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wp-block-button,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.wp-block-product-new.has-4-columns .wc-block-grid__product-add-to-cart {
  margin-top: auto !important;
  padding: 0 !important;
}

/* In den Warenkorb Button - ALLE Varianten */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .add_to_cart_button,
.wp-block-woocommerce-empty-cart-block .button,
.wp-block-woocommerce-empty-cart-block a.button,
.wp-block-woocommerce-empty-cart-block .add_to_cart_button,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .button,
.wp-block-product-new.has-4-columns .button,
.wp-block-product-new.has-4-columns .add_to_cart_button {
  width: 100% !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 44px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, var(--fuechse-rot), #b90710) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 20px !important;
  font-size: 0.9rem !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.35) !important;
  transition: background .28s ease, transform .18s ease, box-shadow .28s ease !important;
}

/* Button Hover */
.wp-block-woocommerce-empty-cart-block .button:hover,
.wp-block-woocommerce-empty-cart-block a.button:hover,
.wp-block-woocommerce-empty-cart-block .add_to_cart_button:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .button:hover,
.wp-block-product-new.has-4-columns .button:hover {
  background: linear-gradient(135deg, #d20b17, #9c060e) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,0.5) !important;
}

/* Button Active */
.wp-block-woocommerce-empty-cart-block .button:active,
.wp-block-woocommerce-empty-cart-block .add_to_cart_button:active,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:active,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .button:active,
.wp-block-product-new.has-4-columns .button:active {
  transform: translateY(0) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
}

/* Legacy Support */
.wc-block-cart .is-cart-empty h2, 
.wc-block-cart .is-cart-empty h3 { 
  color: var(--fuechse-rot); 
  margin-top: 0; 
}
.wc-block-cart .is-cart-empty a.wc-block-components-button { 
  margin-top: 14px; 
  background: var(--fuechse-rot); 
  border-radius: 12px; 
  font-weight: 600; 
}
.wc-block-cart .is-cart-empty a.wc-block-components-button:hover { 
  background: #b90710; 
}

/* Responsive Anpassungen */
@media (max-width: 768px) {
  .wc-block-cart .is-cart-empty,
  .wc-block-cart .wp-block-woocommerce-empty-cart-block,
  .wp-block-woocommerce-empty-cart-block {
    max-width: 100% !important;
    border-radius: 0 !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  .wp-block-product-new.has-4-columns .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block > h2.wc-block-cart__empty-cart__title,
  .wp-block-woocommerce-empty-cart-block > h2.with-empty-cart-icon {
    font-size: 1.2rem !important;
    padding: 25px 20px !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title),
  .wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.with-empty-cart-icon) {
    font-size: 1.3rem !important;
    margin-bottom: 25px !important;
    padding: 0 20px !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block > .wp-block-product-new,
  .wp-block-woocommerce-empty-cart-block > .wp-block-product-new {
    padding: 0 20px 30px 20px !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
  .wp-block-product-new.has-4-columns .wc-block-grid__product-title {
    font-size: 0.9rem !important;
    padding: 0 15px !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product > *:not(a),
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__product > *:not(a),
  .wp-block-product-new.has-4-columns .wc-block-grid__product > *:not(a) {
    padding: 0 15px !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
  .wp-block-product-new.has-4-columns .wc-block-grid__product-add-to-cart {
    padding: 12px 15px 15px 15px !important;
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
  .wc-block-cart .is-cart-empty,
  .wc-block-cart .wp-block-woocommerce-empty-cart-block,
  .wp-block-woocommerce-empty-cart-block {
    max-width: 95% !important;
  }
  
  .wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  .wp-block-product-new.has-4-columns .wc-block-grid__products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .wc-block-cart .is-cart-empty,
  .wc-block-cart .wp-block-woocommerce-empty-cart-block,
  .wp-block-woocommerce-empty-cart-block {
    max-width: 90% !important;
  }
}

@media (min-width: 1401px) {
  .wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  .wp-block-product-new.has-4-columns .wc-block-grid__products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Scroll Behavior for many items */
@media (min-width: 1000px) {
  .wc-block-cart .wc-block-components-main { padding-right: 30px; }
  .wc-block-cart .wc-block-components-sidebar { padding-left: 10px; }
}

/* Visual Focus on interactive links inside cart */
.wc-block-cart a:focus-visible, .wc-block-cart button:focus-visible, .wc-block-cart input:focus-visible { outline: 2px solid var(--wc-primary); outline-offset: 2px; }

/* High Contrast Mode Tweaks */
@media (prefers-contrast: more) {
  .wc-block-cart-item__remove-link { border-color: #fff; }
  .wc-block-cart-items__row { border-color: #fff; }
  .wc-block-cart__submit-button.contained { box-shadow: 0 0 0 2px rgba(255,255,255,.3); }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .wc-block-cart-items__row, .wc-block-cart__submit-button.contained { transition: none; }
}

/* ------------------------------------------------------------
   Coupon Panel – Enhanced Visual Design
   ------------------------------------------------------------ */
/* Spezifischer Stil nur für den Gutschein-Akkordeon-Block */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon.wc-block-components-panel {
  position: relative;
  background: linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(4px);
  --evd-coupon-accent: var(--fuechse-rot, #d20b17);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon.wc-block-components-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px; /* Rahmen-Glow */
  border-radius: inherit;
  background: linear-gradient(130deg, rgba(255,255,255,0.15), rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.25));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; /* Safari */
          mask-composite: exclude; /* Andere */
  pointer-events: none;
  opacity: .35;
  transition: opacity .4s ease;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon.wc-block-components-panel:hover::before { opacity: .65; }

/* Linke Akzentleiste entfernt */

/* Button Fläche (bereinigt, ohne Deko-Kreis) */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button {
  position: relative;
  padding: 18px 18px;
  min-height: 56px;
  font-size: .92rem;
  letter-spacing: .35px;
  font-weight: 600;
  line-height: 1.1;
  -webkit-font-smoothing: antialiased;
  color: #eceef0;
}
/* Sicherheit: Entfernt etwaige geerbte ::before Inhalte */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button::before { content: none !important; }

/* Bessere Lesbarkeit im Panel (leicht höherer Kontrast) */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon.wc-block-components-panel { color: #dfe1e3; }

/* Eingabefeld Lesbarkeit & Fokusoptimierung */
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input {
  background: #202224;
  border: 1px solid #3a3d40;
  color: #f5f6f7;
  font-size: .9rem;
  letter-spacing: .3px;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input::placeholder { color: #9aa0a6; opacity: 1; }
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input:focus-visible {
  outline: none;
  border-color: var(--fuechse-rot, #d20b17);
  box-shadow: 0 0 0 3px rgba(210,11,23,0.35), 0 0 0 1px rgba(0,0,0,.6) inset;
}

/* Button im Formular besser lesbar */
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button {
  font-weight: 700;
  letter-spacing: .9px;
  background: linear-gradient(135deg, var(--fuechse-rot,#d20b17), #9c060e);
  border: 1px solid rgba(255,255,255,0.08);
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button:hover {
  background: linear-gradient(135deg, #e30f1c, #82040b);
  border-color: rgba(255,255,255,0.18);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button:active {
  border-color: rgba(255,255,255,0.12);
}

/* Fokusstil Gutschein Button klarer */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:focus-visible {
  outline: 2px solid var(--fuechse-rot,#d20b17);
  outline-offset: 3px;
}

/* Mobile Typografie etwas kompakter */
@media (max-width: 560px) {
  .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button { font-size: .85rem; padding: 16px 16px; }
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input { font-size: .85rem; }
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:hover::before { background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.5), rgba(255,255,255,.08)); }

/* Icon Rotation (Chevron) */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button-icon { 
  transition: transform .5s cubic-bezier(.6,.2,.2,1), opacity .3s ease; 
  transform-origin: center; 
  transform: rotate(-90deg) scale(.9);
  opacity: .8;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon { transform: rotate(0deg) scale(1); opacity: 1; }

/* Aktiv / Expanded State Hintergrundnuance */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel[aria-expanded="true"],
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel:has(.wc-block-components-panel__button[aria-expanded="true"]) {
  background: linear-gradient(150deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  border-color: rgba(255,255,255,0.15);
}

/* Content Ein-/Ausblendung (progressive enhancement mit :has) */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content { 
  max-height: 0; overflow: hidden; opacity: 0; transform: translateY(-4px); 
  transition: max-height .55s cubic-bezier(.6,.2,.2,1), opacity .45s ease, transform .55s cubic-bezier(.6,.2,.2,1);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel:has(.wc-block-components-panel__button[aria-expanded="true"]) .wc-block-components-panel__content { 
  max-height: 400px; opacity: 1; transform: translateY(0); 
}
@supports not(selector(:has(*))) {
  /* Fallback: kein animiertes Schließen, nur Padding wenn offen (Woo fügt Content dynamisch ein) */
  .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content { max-height: none; opacity: 1; transform: none; }
}

/* Formular-Layout im Couponbereich etwas kompakter */
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form { 
  background: #1e1e1e; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input { 
  font-size: .85rem; letter-spacing: .5px; background: #252525; border-color: rgba(255,255,255,0.12);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input:focus-visible { box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button { 
  font-size: .7rem; text-transform: uppercase; letter-spacing: 1px; min-width: 140px; box-shadow: 0 4px 16px -4px rgba(0,0,0,.6);
}

/* Fokusring klarer */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:focus-visible { outline: 2px solid var(--fuechse-rot); outline-offset: 3px; }

/* Mobile Feinschliff */
@media (max-width: 560px) {
  .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button { padding: 16px 16px; min-height: 54px; }
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form { padding: 12px 12px; }
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button { min-width: 120px; }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button-icon,
  .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content { transition: none; }
}

/* ------------------------------------------------------------
   COUPON PANEL – FINAL TUNING (CI Alignment)
   Ziel: bessere Lesbarkeit, korrekte Innenabstände, dunkle Inputs statt weiß,
         konsistent mit restlichem Shop-Dark-Theme.
   ------------------------------------------------------------ */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon.wc-block-components-panel {
  background: #2a2b2e; /* homogener Dark Surface Ton */
  border: 1px solid #3a3c40;
  border-radius: 14px;
  box-shadow: 0 4px 18px -6px rgba(0,0,0,.55);
  color: #eef0f2;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button {
  padding: 15px 26px 15px 20px !important; /* top 15px, left 20px wie gewünscht */
  min-height: 54px;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .4px;
  color: #f2f3f4;
  background: linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  display: flex;
  align-items: center;
  gap: 20px; /* moderater Abstand Icon → Text */
}
/* Feintuning falls mehr Platz gewünscht: Klasse kann später hinzugefügt werden */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button.evd-coupon-text-further { gap: 32px; }
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:hover { color: #fff !important; background: linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)) !important; }
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel[aria-expanded="true"] .wc-block-components-panel__button { background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)); }
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button-icon path,
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button-icon { fill: #d6d8db; stroke: none; opacity: .85; transition: fill .25s ease, opacity .25s ease; }
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:hover .wc-block-components-panel__button-icon { fill: #fff; opacity: 1; }

/* Content Innenabstand angleichen */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content { padding: 0 22px 20px !important; }

/* Formular & Inputs */
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form {
  margin-top: 14px;
  background: #1f2022;
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid #34373b;
  display: flex;
  gap: 12px;
  align-items: stretch;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input {
  background: #242628 !important; /* überschreibt alte weiße Styles */
  border: 1px solid #44484c !important;
  color: #f5f6f7 !important;
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: .3px;
  border-radius: 10px;
  padding: 12px 14px;
  line-height: 1.2;
  box-shadow: none;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input::placeholder { color: #a2a8ad; opacity: 1; }
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input:focus-visible {
  outline: none;
  border-color: var(--fuechse-rot,#d20b17) !important;
  box-shadow: 0 0 0 2px rgba(210,11,23,0.45);
  background: #27292b;
}

/* Coupon Button */
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button {
  min-height: 48px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(135deg, var(--fuechse-rot,#d20b17), #9c060e) !important;
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  font-weight: 700;
  border-radius: 10px;
  cursor: pointer;
  transition: background .28s ease, transform .16s ease, box-shadow .28s ease, border-color .25s ease;
  box-shadow: 0 4px 18px -4px rgba(0,0,0,.55);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button:hover {
  background: linear-gradient(135deg, #e10f1c, #80040a) !important;
  border-color: rgba(255,255,255,0.18);
  transform: translateY(-2px);
  box-shadow: 0 8px 26px -6px rgba(0,0,0,.65);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button:active {
  transform: translateY(0);
  box-shadow: 0 4px 16px -4px rgba(0,0,0,.55);
  border-color: rgba(255,255,255,0.12);
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Responsive Feinschliff */
@media (max-width: 620px) {
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form { flex-wrap: wrap; }
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input { flex: 1 1 100%; }
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button { flex: 0 0 auto; width: 100%; margin-top: 6px; }
}

/* High Contrast Preference */
@media (prefers-contrast: more) {
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form input { border-color: #fff !important; }
  .wp-block-woocommerce-cart-order-summary-coupon-form-block form.wc-block-components-totals-coupon__form button { box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
}

/* ------------------------------------------------------------
   COUPON BUTTON STABILITY FIX
   Verhindert Verschieben des Textes beim Hover (konstante Maße / Typo)
   ------------------------------------------------------------ */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button {
  line-height: 1.1; /* fix Höhe */
  font-weight: 600; /* konsistent */
  letter-spacing: .4px; /* identisch auch auf Hover */
  border: 1px solid transparent; /* verhindert Border-Zittern bei globalen Fokus-Styles */
  box-sizing: border-box;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button .wc-block-components-panel__button-icon {
  flex: 0 0 24px; /* fixe Breite verhindert Gap-Verschiebung */
  width: 24px; height: 24px;
}
/* Hover erhält exakt gleiche metrische Eigenschaften */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:hover {
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: .4px;
  border: 1px solid transparent;
  -webkit-font-smoothing: antialiased;
}

/* FINAL ABSOLUTE OVERRIDES MIT !important (stellt sicher: keinerlei metrische Änderungen) */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button,
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:hover,
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:focus,
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button:active {
  padding: 15px 26px 15px 20px !important; /* exakt gleich in allen Zuständen */
  line-height: 1.1 !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: .4px !important;
  gap: 20px !important;
  border: 1px solid transparent !important;
  box-sizing: border-box !important;
  outline-offset: 2px !important;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button .wc-block-components-panel__button-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  display: inline-block !important;
}
/* Falls ein globaler Stil den Button auf display:block ändert → erzwinge Flex für konstante Gap-Berechnung */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button { display: flex !important; align-items: center !important; }

/* ============================================================
   CHECKOUT (WooCommerce Blocks) – CI MATCH
   Ziel: Konsistentes Dark-Theme, gleiche Typo / Radii / Akzente
   Präfix: .wc-block-checkout / .wp-block-woocommerce-checkout-*
   ============================================================ */
body.woocommerce-checkout .wc-block-checkout { color: var(--text-weiss); }

/* Layout Spalten (ähnlich Cart) */
body.woocommerce-checkout .wc-block-checkout .wc-block-components-main { background: transparent; padding-right: 32px; }
body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar { background: transparent; padding-left: 8px; }
@media (max-width: 1000px) {
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-main { padding-right: 0; }
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar { padding-left: 0; margin-top: 40px; }
}

/* Checkout Steps (Fieldsets) */
.wc-block-checkout fieldset.wc-block-components-checkout-step { border: 0; margin: 0 0 36px; padding: 0; }
.wc-block-components-checkout-step__heading { margin: 0 0 10px; display: flex; align-items: flex-end; gap: 14px; }
.wc-block-components-checkout-step__title { margin: 0; font-family: 'Redzone BlackReg', sans-serif; font-size: 1.65rem; letter-spacing: .5px; color: var(--fuechse-rot); line-height: 1.05; }
.wc-block-components-checkout-step__description { font-size: .8rem; letter-spacing: .4px; color: var(--wc-muted); margin: 0 0 14px; }

/* Step Container Oberfläche */
.wc-block-components-checkout-step__container { background: var(--wc-surface); border: 1px solid var(--wc-border); border-radius: 18px; padding: 24px 24px 30px; box-shadow: 0 8px 30px -8px rgba(0,0,0,.55); position: relative; overflow: hidden; }
.wc-block-components-checkout-step__container::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.08),transparent 60%), linear-gradient(140deg,rgba(255,255,255,.07),rgba(255,255,255,0) 55%); mix-blend-mode:overlay; opacity:.55; }

/* Address Card Wrapper (eingeklappter Zustand) */
.wc-block-components-address-card { background:#1f1f1f; border:1px solid var(--wc-border); border-radius:14px; padding:16px 20px; font-size:.85rem; color:#e3e5e7; display:flex; justify-content:space-between; gap:18px; line-height:1.3; }
.wc-block-components-address-card__edit { cursor:pointer; font-size:.65rem; letter-spacing:.9px; text-transform:uppercase; font-weight:700; color:var(--wc-muted); padding:8px 12px; border:1px solid var(--wc-border); border-radius:10px; transition:color .25s ease, background .25s ease, border-color .25s ease; }
.wc-block-components-address-card__edit:hover { color:#fff; background:#262626; }
.wc-block-components-address-card__edit:focus-visible { outline:2px solid var(--wc-primary); outline-offset:2px; }

/* Formular: Text Inputs & Floating Labels */
.wc-block-components-text-input { position:relative; background:#222; border:1px solid var(--wc-border); border-radius:10px; padding:14px 14px 8px; transition:border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.wc-block-components-text-input + .wc-block-components-text-input { margin-top:18px; }
.wc-block-components-text-input.is-active, .wc-block-components-text-input:focus-within { border-color:var(--fuechse-rot); background:#252525; box-shadow:0 0 0 3px rgba(210,11,23,.15); }
.wc-block-components-text-input input { background:transparent !important; border:0 !important; padding:0; margin:0; width:100%; color:#fff !important; font-size:.92rem; line-height:1.25; font-weight:500; letter-spacing:.3px; box-shadow:none !important; color-scheme:dark; }
.wc-block-components-text-input input::placeholder { color:rgba(255,255,255,.45) !important; opacity:1; }
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input input:-webkit-autofill:hover,
.wc-block-components-text-input input:-webkit-autofill:focus { -webkit-text-fill-color:#fff !important; -webkit-box-shadow:0 0 0 1000px #222 inset !important; transition:background-color 5000s ease-in-out 0s; }
.wc-block-components-text-input input:focus { outline:none; }
.wc-block-components-text-input label { position:absolute; left:14px; top:14px; font-size:.72rem; text-transform:uppercase; letter-spacing:1px; font-weight:700; color:var(--wc-muted); pointer-events:none; transition:color .25s ease; }
.wc-block-components-text-input.is-active label, .wc-block-components-text-input:focus-within label { color:var(--fuechse-rot); }

/* Country Select */
.wc-block-components-country-input .wc-blocks-components-select__container { background:#222; border:1px solid var(--wc-border); border-radius:10px; padding:8px 14px; display:flex; align-items:center; gap:10px; transition:border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within { border-color:var(--fuechse-rot); background:#252525; box-shadow:0 0 0 3px rgba(210,11,23,.15); }
.wc-block-components-country-input select.wc-blocks-components-select__select { background:transparent; border:0; color:#fff !important; font-size:.9rem; line-height:1.3; padding:4px 0; outline:none; width:100%; color-scheme:dark; }
.wc-block-components-country-input select.wc-blocks-components-select__select option { background:#222; color:#fff !important; }
.wc-block-components-country-input .wc-blocks-components-select__label { color:var(--wc-muted) !important; }
.wc-block-components-country-input .wc-blocks-components-select__expand path { fill:#888; transition:fill .25s ease; }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within .wc-blocks-components-select__expand path { fill:var(--fuechse-rot); }

/* Hidden address_2 toggle → stylize reveal link */
.wc-block-components-address-form__address_2-toggle { display:inline-block; margin:6px 0 10px; font-size:.7rem; letter-spacing:.85px; text-transform:uppercase; font-weight:700; cursor:pointer; color:var(--fuechse-rot); background:#1f1f1f; padding:6px 10px 7px; border-radius:8px; border:1px solid var(--wc-border); transition:background .25s ease, color .25s ease, border-color .25s ease; }
.wc-block-components-address-form__address_2-toggle:hover { background:#262626; color:#fff; }
.wc-block-components-address-form__address_2-toggle:focus-visible { outline:2px solid var(--fuechse-rot); outline-offset:2px; }

/* Checkbox (Order Note Toggle / Legal) */
.wc-block-components-checkbox { display:flex; align-items:flex-start; gap:10px; }
.wc-block-components-checkbox__input { width:20px; height:20px; margin:2px 0 0; background:#222; border:1px solid var(--wc-border); border-radius:6px; appearance:none; position:relative; cursor:pointer; transition:background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.wc-block-components-checkbox__input:focus-visible { outline:2px solid var(--fuechse-rot); outline-offset:2px; }
.wc-block-components-checkbox__input:checked { background:var(--fuechse-rot); border-color:var(--fuechse-rot); }
.wc-block-components-checkbox__input:checked + svg { opacity:1; }
.wc-block-components-checkbox__mark { position:absolute; top:0; left:0; width:20px; height:20px; pointer-events:none; opacity:0; transition:opacity .25s ease; }
.wc-gzd-checkboxes { background:var(--wc-surface); border:1px solid var(--wc-border); border-radius:16px; padding:22px 24px; box-shadow:0 6px 24px -6px rgba(0,0,0,.5); margin:28px 0 34px; }
.wc-gzd-checkboxes a { color:var(--fuechse-rot); text-decoration:none; }
.wc-gzd-checkboxes a:hover { text-decoration:underline; }

/* Order Notes Block */
.wc-block-checkout__order-notes { background:var(--wc-surface); border:1px solid var(--wc-border); border-radius:16px; padding:20px 22px; margin:34px 0 32px; }
.wc-block-checkout__add-note { font-size:.8rem; letter-spacing:.45px; }

/* Actions Row (Return + Place Order) – volle Breite */
.wc-block-checkout__actions_row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
  margin-top: 28px;
}
.wc-block-components-checkout-place-order-button.contained {
  width: 100% !important;
  max-width: none !important;
  background: linear-gradient(135deg, var(--fuechse-rot), #b90710);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 18px 28px;
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 800;
  letter-spacing: 1.2px;
  font-size: 1.1rem;
  text-transform: uppercase;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 36px -8px rgba(0,0,0,.65), 0 2px 6px -2px rgba(0,0,0,.5);
  transition: background .3s ease, transform .18s ease, box-shadow .3s ease, border-color .25s ease;
  order: 1;
}
/* Innere Text-DIVs im Jetzt-Kaufen-Button zentrieren */
.wc-block-components-checkout-place-order-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
}
.wc-block-components-checkout-place-order-button.contained:hover {
  background: linear-gradient(135deg, #d20b17, #9c060e);
  transform: translateY(-2px);
  box-shadow: 0 16px 48px -12px rgba(0,0,0,.75);
  border-color: rgba(255,255,255,0.18);
}
.wc-block-components-checkout-place-order-button.contained:active {
  transform: translateY(0);
  box-shadow: 0 8px 30px -8px rgba(0,0,0,.6);
  border-color: rgba(255,255,255,0.12);
}
.wc-block-components-checkout-place-order-button.contained:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.wc-block-components-checkout-return-to-cart-button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: .85rem;
  padding: 16px 50px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  border: 1px solid var(--wc-border);
  background: #1e1e1e;
  border-radius: 14px;
  color: var(--wc-muted);
  text-decoration: none;
  text-align: center;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .15s ease;
  order: 2;
}
/* Pfeil-Icon absolut links, damit Text exakt mittig bleibt */
.wc-block-components-checkout-return-to-cart-button svg {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.wc-block-components-checkout-return-to-cart-button:hover { background: #262626; color: #fff; }
.wc-block-components-checkout-return-to-cart-button:focus-visible { outline: 2px solid var(--fuechse-rot); outline-offset: 2px; }

/* ============================================================
   CHECKOUT ORDER SUMMARY – Redesign
   ============================================================ */

/* Äußerer Container – Redzone als Basis-Font */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 20px;
  padding: 24px 22px 28px;
  box-shadow: 0 10px 40px -10px rgba(0,0,0,.6);
  font-family: 'Redzone BlackReg', sans-serif;
}

/* Titel-Zeile ("Bestellübersicht" + Preis + Chevron) */
.wc-block-components-checkout-order-summary__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  cursor: pointer;
}
.wc-block-components-checkout-order-summary__title-text {
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: 1.3rem;
  letter-spacing: .5px;
  color: var(--fuechse-rot);
  margin: 0;
}
.wc-block-components-checkout-order-summary__title-price {
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: .95rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .3px;
  margin-left: auto;
}
.wc-block-components-checkout-order-summary__title-icon svg path {
  fill: #d0d2d4;
  transition: transform .55s cubic-bezier(.6,.2,.2,1), fill .3s ease;
}
.wc-block-components-checkout-order-summary__title:hover svg path { fill: #fff; }

/* Content-Wrapper – KEIN eigener Container/Border (liegt bereits im äußeren Block) */
.wc-block-components-checkout-order-summary__content {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

/* ======================
   Einzelpositionen
   ====================== */
.wc-block-components-order-summary-item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: start;
  column-gap: 14px;
  row-gap: 0;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.wc-block-components-order-summary-item:last-child { border-bottom: none; }
.wc-block-components-order-summary-item:first-child { padding-top: 4px; }

/* Produktbild */
.wc-block-components-order-summary-item__image {
  position: relative;
  align-self: start;
  width: 56px;
  height: 56px;
}
.wc-block-components-order-summary-item__image img {
  border-radius: 10px;
  background: #1a1a1a;
  padding: 4px;
  width: 56px;
  height: 56px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 4px 12px -4px rgba(0,0,0,.5);
}

/* Mengen-Badge */
.wc-block-components-order-summary-item__quantity {
  position: absolute;
  top: -4px;
  right: -4px;
  left: auto;
  background: var(--fuechse-rot);
  color: #fff;
  border-radius: 50%;
  font-size: .65rem;
  font-weight: 700;
  line-height: 1;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px -2px rgba(0,0,0,.5);
  border: 2px solid var(--wc-surface, #1d1e1c);
}

/* Beschreibungsbereich */
.wc-block-components-order-summary-item__description {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0; /* Verhindert Overflow */
}

/* Produktname (h3) – Redzone-Schrift, aber kompakte Größe */
.wc-block-components-order-summary h3.wc-block-components-product-name,
.wc-block-components-order-summary .wc-block-components-product-name {
  font-family: 'Redzone BlackReg', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .3px;
  line-height: 1.35;
  margin: 0 0 2px;
  padding: 0;
  text-transform: uppercase;
  word-break: break-word;
  overflow-wrap: break-word;
}
.wc-block-components-order-summary h3.wc-block-components-product-name:hover,
.wc-block-components-order-summary .wc-block-components-product-name:hover {
  color: var(--fuechse-rot) !important;
}

/* Einzelpreis (unter dem Produktnamen) */
.wc-block-components-order-summary-item__individual-prices {
  font-size: .8rem;
  letter-spacing: .2px;
  color: var(--text-grau-hell, #999);
  display: inline-flex;
  gap: 4px;
  flex-wrap: wrap;
  margin: 0;
  line-height: 1.3;
}
.wc-block-components-order-summary-item__individual-price {
  font-weight: 500;
}

/* Gesamtpreis pro Zeile (rechte Spalte) */
.wc-block-components-order-summary-item__total-price {
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .3px;
  color: #fff;
  justify-self: end;
  text-align: right;
  align-self: center;
  white-space: nowrap;
}

/* ======================
   Produkt-Metadaten
   ====================== */
.wc-block-components-order-summary .wc-block-components-product-metadata {
  margin-top: 6px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.wc-block-components-order-summary .wc-block-components-product-details,
.wc-block-components-order-summary .wc-block-components-product-details li {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.wc-block-components-order-summary .wc-block-components-product-details {
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 0;
  font-size: .78rem;
  line-height: 1.4;
}
.wc-block-components-order-summary .wc-block-components-product-details li {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  color: var(--text-grau-hell, #999);
}
/* Trenner zwischen Metadaten-Items */
.wc-block-components-order-summary .wc-block-components-product-details li + li::before {
  content: "·";
  color: rgba(255,255,255,.25);
  margin: 0 6px;
  font-weight: 700;
  font-size: .85rem;
}
.wc-block-components-order-summary .wc-block-components-product-details li::marker {
  display: none !important;
  content: none !important;
}
.wc-block-components-order-summary .wc-block-components-product-details__name {
  font-weight: 400;
  color: rgba(255,255,255,.5);
  font-size: .78rem;
}
.wc-block-components-order-summary .wc-block-components-product-details__value {
  font-weight: 500;
  font-size: .78rem;
  color: rgba(255,255,255,.85);
}

/* ======================
   Gutschein-Bereich in Checkout
   ====================== */
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  margin-top: 4px;
}

/* Panel-Container */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon.wc-block-components-panel {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
}

/* Akkordeon-Button "Gutscheine hinzufügen" */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon .wc-block-components-panel__button {
  padding: 12px 14px;
  min-height: auto;
  font-size: .82rem;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  letter-spacing: .3px;
  color: #d0d2d5;
  gap: 8px;
  transition: background .2s ease, color .2s ease;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  background: rgba(255,255,255,.04);
  color: #fff;
}
/* Chevron-Icon */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
  width: 18px;
  height: 18px;
  opacity: .6;
  transition: transform .4s cubic-bezier(.4,.2,.2,1), opacity .3s ease;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon .wc-block-components-panel__button:hover .wc-block-components-panel__button-icon {
  opacity: .9;
}

/* Content-Bereich */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon .wc-block-components-panel__content {
  padding: 0 14px 14px;
}

/* Formular-Layout: Input + Button auf einer Linie */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__form {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Text-Input Wrapper – flach halten, kein column-reverse im Coupon */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input.wc-block-components-text-input {
  flex: 1;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
}

/* Label als Placeholder-Ersatz (Floating Label innerhalb des Inputs) */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input label {
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: .2px !important;
  color: rgba(255,255,255,.35) !important;
  pointer-events: none;
  transition: all .2s ease;
  margin: 0 !important;
  line-height: 1 !important;
}
/* Label nach oben verschieben wenn Input Wert hat oder fokussiert ist */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input.is-active label,
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input input:focus + label,
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input input:not(:placeholder-shown) + label {
  top: 6px !important;
  transform: translateY(0) !important;
  font-size: .6rem !important;
  color: rgba(255,255,255,.5) !important;
}

/* Input Feld */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input input {
  width: 100% !important;
  background: #1e1e1e !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: .82rem !important;
  font-family: 'Poppins', sans-serif !important;
  padding: 10px 12px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input input::placeholder {
  color: transparent; /* Label übernimmt die Funktion */
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input input:focus,
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__input input:focus-visible {
  border-color: var(--fuechse-rot) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(210,11,23,.2) !important;
  transform: none !important;
}

/* Anwenden-Button – gleiche Höhe wie Input */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__button {
  background: var(--fuechse-rot) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0 20px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  min-width: auto !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  color: #fff !important;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap;
  box-shadow: 0 2px 8px -2px rgba(0,0,0,.4);
  flex-shrink: 0;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__button:hover {
  background: #b90710 !important;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__button:active {
  transform: translateY(1px);
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__button[disabled],
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-coupon__button[aria-disabled='true'] {
  opacity: .65;
  cursor: not-allowed;
}

/* ======================
   Totals & Zwischensumme
   ====================== */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-wrapper {
  margin: 6px 0 0;
  padding: 0;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .88rem;
  color: var(--wc-muted);
  letter-spacing: .3px;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item:last-child {
  border-bottom: none;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item__label {
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 700;
  color: #d5d7d9;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item__value {
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

/* Gesamtsumme prominenter */
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item {
  padding-top: 12px;
  margin-top: 8px;
  border-top: 2px solid rgba(255,255,255,.08);
  flex-wrap: wrap;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #fff !important;
  font-family: 'Redzone BlackReg', sans-serif;
  text-transform: uppercase;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item-tax-value {
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .5px;
  color: #fff;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
  width: 100%;
  text-align: center;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item-tax {
  font-family: 'Poppins', sans-serif;
  font-size: .78rem;
  text-transform: none;
  letter-spacing: .3px;
  opacity: .8;
  margin: 6px 0 0;
  color: var(--wc-muted);
  text-align: center;
  width: 100%;
  display: block;
}

/* Gesamtsummen in der Checkout-Sidebar */
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper { margin: 0; padding: 0; }
.wc-block-checkout__sidebar .wc-block-components-totals-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .85rem;
  color: var(--wc-muted);
  letter-spacing: .35px;
}
.wc-block-checkout__sidebar .wc-block-components-totals-item:last-child { border-bottom: none; }
.wc-block-checkout__sidebar .wc-block-components-totals-item__label {
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.wc-block-checkout__sidebar .wc-block-components-totals-item__value {
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item {
  padding-top: 10px;
  margin-top: 6px;
  border-top: 2px solid rgba(255,255,255,.08);
  flex-wrap: wrap;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item-tax-value {
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .5px;
  color: #fff;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
  width: 100%;
  text-align: center;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item-tax {
  font-family: 'Poppins', sans-serif;
  font-size: .78rem;
  text-transform: none;
  letter-spacing: .3px;
  opacity: .8;
  margin: 6px 0 0;
  color: var(--wc-muted);
  text-align: center;
  width: 100%;
  display: block;
}

/* ======================
   Mobile Checkout Order Summary
   ====================== */
@media (max-width: 700px) {
  .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
    padding: 18px 16px 22px;
    border-radius: 16px;
  }
  .wc-block-components-order-summary-item {
    grid-template-columns: 48px 1fr auto;
    column-gap: 10px;
    padding: 12px 0;
  }
  .wc-block-components-order-summary-item__image,
  .wc-block-components-order-summary-item__image img {
    width: 48px;
    height: 48px;
  }
  .wc-block-components-order-summary-item__image img {
    border-radius: 8px;
    padding: 3px;
  }
  .wc-block-components-order-summary-item__quantity {
    width: 18px;
    height: 18px;
    font-size: .6rem;
    top: -3px;
    right: -3px;
  }
  .wc-block-components-order-summary h3.wc-block-components-product-name,
  .wc-block-components-order-summary .wc-block-components-product-name {
    font-size: .82rem !important;
  }
  .wc-block-components-order-summary-item__total-price {
    font-size: .85rem;
  }
  .wc-block-components-order-summary .wc-block-components-product-details {
    font-size: .72rem;
  }
}

/* Fehlermeldungen im Checkout (Payment leer) */
.wc-block-checkout__payment-method .wc-block-checkout__no-payment-methods-notice { background:linear-gradient(135deg,#4b0509,#250204); border:1px solid #b90710; border-radius:14px; padding:16px 18px; font-size:.8rem; letter-spacing:.4px; display:flex; gap:10px; align-items:flex-start; }
.wc-block-checkout__payment-method .wc-block-checkout__no-payment-methods-notice svg path { fill:#fff; }

/* Mobile Optimierungen */
@media (max-width:760px){
  .wc-block-components-checkout-step__container { padding:20px 18px 26px; border-radius:16px; }
  .wc-block-components-checkout-step__title { font-size:1.4rem; }
  .wc-block-components-text-input { padding:12px 12px 6px; }
  .wc-block-components-text-input label { top:10px; }
  .wc-block-components-order-summary-item__image img { width:56px; height:56px; }
}

/* Fokus & Accessibility */
.wc-block-checkout a:focus-visible, .wc-block-checkout button:focus-visible, .wc-block-checkout input:focus-visible, .wc-block-checkout select:focus-visible { outline:2px solid var(--fuechse-rot); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
  .wc-block-components-checkout-place-order-button.contained, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-text-input, .wc-block-components-country-input .wc-blocks-components-select__container { transition:none; }
}

/* High Contrast Mode */
@media (prefers-contrast:more){
  .wc-block-components-text-input { border-color:#fff; }
  .wc-block-components-country-input .wc-blocks-components-select__container { border-color:#fff; }
  .wc-block-components-checkout-place-order-button.contained { box-shadow:0 0 0 2px rgba(255,255,255,.4); }
}

/* Sicherheitsnetz: Entfernt unerwartete Standardrahmen */
.wc-block-components-text-input input, .wc-block-components-country-input select { box-shadow:none !important; }

/* Globales Sicherheitsnetz: Alle Eingabefelder im Block-Checkout auf helle Schrift */
.wc-block-checkout input,
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-checkout__main input,
.wc-block-checkout__main select,
.wc-block-checkout__main textarea,
.wc-block-components-form input,
.wc-block-components-form select,
.wc-block-components-form textarea {
  color: #fff !important;
  color-scheme: dark;
}
.wc-block-checkout input:-webkit-autofill,
.wc-block-checkout__main input:-webkit-autofill,
.wc-block-components-form input:-webkit-autofill {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #222 inset !important;
}

/* ============================================================
   CHECKOUT FORM FIELD TUNING – REFINEMENT (Layout + States)
   ============================================================ */
/* Grid für Adressformular (2 Spalten Desktop) */
.wc-block-components-address-form { display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; }
@media (max-width: 640px){ .wc-block-components-address-form { grid-template-columns:1fr; } }
/* Einzelne Felder Spaltenzuordnung */
.wc-block-components-address-form__country,
.wc-block-components-address-form__address_1,
.wc-block-components-address-form__address_2,
.wc-block-components-address-form__phone { grid-column:1 / -1; }
/* Reduziere internes Margin-System innerhalb Grid */
.wc-block-components-address-form .wc-block-components-text-input { margin:0 !important; }
.wc-block-components-address-form .wc-block-components-text-input + .wc-block-components-text-input { margin-top:0 !important; }
/* Abstand unter Toggle (address_2) */
.wc-block-components-address-form__address_2-toggle { grid-column:1 / -1; margin-top:-4px; margin-bottom:4px; }

/* Required Indicator */
.wc-block-components-text-input input[required] + label::after { content:" *"; color:var(--fuechse-rot); font-weight:800; }

/* Error / Validation States */
.wc-block-components-text-input.is-error,
.wc-block-components-text-input input[aria-invalid="true"]:not([aria-invalid="false"]) { border-color:var(--fuechse-rot) !important; background:#2a1a1c; box-shadow:0 0 0 3px rgba(210,11,23,.25); }
.wc-block-components-text-input.is-error label,
.wc-block-components-text-input input[aria-invalid="true"] + label { color:var(--fuechse-rot) !important; }
.wc-block-components-text-input .wc-block-components-error,
.wc-block-components-text-input .wc-block-components-validation-error { margin:6px 0 0; font-size:.62rem; letter-spacing:.9px; text-transform:uppercase; font-weight:700; color:var(--fuechse-rot); line-height:1.2; }

/* Erfolgszustand (wenn aktiv und gültig) – optional dezente Umrandung */
/* (Optional Success Style reserviert – aktuell leer, daher entfernt um Lint zu erfüllen) */

/* Autofill Fix (Chrome / Edge / Safari) */
.wc-block-components-text-input input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #27292b inset; -webkit-text-fill-color:#fff; transition:background-color 9999s ease-out 0s; }
.wc-block-components-text-input input:-webkit-autofill:focus { -webkit-box-shadow:0 0 0 1000px #2c2d2f inset; }

/* Disabled State */
.wc-block-components-text-input input:disabled { opacity:.55; cursor:not-allowed; }

/* Einheitliche Höhe für Inputs (falls Theme/Stile eingreifen) */
.wc-block-components-text-input input { min-height:20px; }

/* Placeholder-Farbe (nur falls verwendet) */
.wc-block-components-text-input input::placeholder { color:#7d8286; opacity:1; }

/* Vertikaler Rhythmus zu Checkboxgruppen */
.wc-gzd-checkboxes { margin-top:18px; }

/* Kleinere Optimierungen für Enggeräte */
@media (max-width:760px){
  .wc-block-components-address-form { gap:14px 14px; }
  .wc-block-components-text-input { padding:12px 12px 6px; }
  .wc-block-components-text-input label { font-size:.68rem; }
}

/* ------------------------------------------------------------
   CHECKOUT – Gutschein-Panel (ältere Regel, nun durch spezifischere
   .wc-block-components-checkout-order-summary__content Regeln ersetzt)
   ------------------------------------------------------------ */
.wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button::before { content: none !important; }

/* ------------------------------------------------------------
   GZD Checkout – Wrapper-Hintergrund der Bestellübersicht entfernen
   (nur Umschlag-Element, Card-Inhalt bleibt dunkel)
   ------------------------------------------------------------ */
.wc-gzd-checkout .wc-block-components-order-summary,
.wc-gzd-checkout .wc-block-components-order-summary.is-large {
  background: transparent !important;
}

/* High Contrast: Errors deutlicher */
@media (prefers-contrast:more){
  .wc-block-components-text-input.is-error, .wc-block-components-text-input input[aria-invalid="true"]:not([aria-invalid="false"]) { box-shadow:0 0 0 2px #fff, 0 0 0 5px var(--fuechse-rot); }
  .wc-block-components-text-input .wc-block-components-error { text-shadow:0 0 2px #000; }
}

/* Reduced Motion: Entferne animierte Schatten bei Fokus */
@media (prefers-reduced-motion:reduce){ .wc-block-components-text-input { transition:none; } }

/* ============================================================
   CHECKOUT FORM FIELD ALIGNMENT → GLOBAL FORM STYLE (forms.css)
   Vereinheitlicht Woo Blocks Checkout Inputs mit restlichen Site-Formularen
   ============================================================ */
/* Grundstruktur: Label oberhalb darstellen (Markup: input + label → wir kehren per flex um) */
.wc-block-components-text-input { 
  display:flex; 
  flex-direction:column-reverse; 
  gap:8px; 
  background:transparent; 
  border:0; 
  padding:0; 
  box-shadow:none; 
}
/* Entfernt alte Floating-Label-Positionierung */
.wc-block-components-text-input label { 
  position:static !important; 
  left:auto; top:auto; 
  font-family:'Redzone BlackReg',sans-serif; 
  font-size:16px; 
  font-weight:700; 
  text-transform:uppercase; 
  letter-spacing:.8px; 
  margin:0; 
  color:#ffffff !important; 
  line-height:1.15; 
  pointer-events:auto; 
  transition:color .25s ease; 
}
/* Eingabefeld selbst erhält globale Form-Styles */
.wc-block-components-text-input input { 
  padding:15px 18px !important; 
  background:var(--form-field-bg, rgba(255,255,255,0.08)); 
  border:2px solid var(--form-border-color, rgba(255,255,255,0.2)) !important; 
  border-radius:var(--form-border-radius,4px); 
  font-family:'Poppins',sans-serif; 
  font-size:16px; 
  font-weight:500; 
  line-height:1.4; 
  color:var(--form-text-color,var(--text-weiss)); 
  box-shadow:none !important; 
  transition:var(--form-transition, all .3s ease); 
}
.wc-block-components-text-input input:focus { 
  outline:none; 
  border-color:var(--form-border-color-focus,var(--fuechse-rot)) !important; 
  background:var(--form-field-bg-focus, rgba(255,255,255,0.12)); 
  box-shadow:var(--form-focus-shadow, 0 0 0 3px var(--bg-transparent-rot)); 
  transform:translateY(-1px); 
}
/* Placeholder Angleichen */
.wc-block-components-text-input input::placeholder { color:var(--form-placeholder-color, rgba(255,255,255,.6)); opacity:1; }

/* Required Stern analog global */
.wc-block-components-text-input input[required] + label::after { 
  content:" *"; 
  color:#ff4444 !important; 
  font-weight:800; 
  text-shadow:1px 1px 2px rgba(0,0,0,.7); 
}

/* Fehlerzustand vereinheitlicht */
.wc-block-components-text-input.is-error,
.wc-block-components-text-input input[aria-invalid="true"]:not([aria-invalid="false"]) { 
  background:transparent; 
  box-shadow:none; 
}
.wc-block-components-text-input.is-error input,
.wc-block-components-text-input input[aria-invalid="true"]:not([aria-invalid="false"]) { 
  border-color:var(--fuechse-rot) !important; 
  background:rgba(223,9,20,0.05); 
  box-shadow:0 0 0 3px var(--bg-transparent-rot); 
}
.wc-block-components-text-input.is-error label,
.wc-block-components-text-input input[aria-invalid="true"] + label { color:var(--fuechse-rot) !important; }
.wc-block-components-text-input .wc-block-components-error,
.wc-block-components-text-input .wc-block-components-validation-error { 
  font-size:13px; 
  font-weight:500; 
  margin:0; 
  line-height:1.3; 
  letter-spacing:.3px; 
  text-transform:none; 
}

/* Country Select (gleiche Optik wie globales select → hell mit dunklem Text) */
.wc-block-components-country-input .wc-blocks-components-select__container { 
  background:#fff; 
  border:2px solid var(--form-border-color, rgba(255,255,255,0.2)); 
  border-radius:var(--form-border-radius,4px); 
  padding:0; 
  min-height:auto; 
  box-shadow:none; 
  transition:var(--form-transition, all .3s ease); 
}
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within { 
  border-color:var(--form-border-color-focus,var(--fuechse-rot)); 
  background:#fff; 
  box-shadow:var(--form-focus-shadow, 0 0 0 3px var(--bg-transparent-rot)); 
  transform:translateY(-1px); 
}
.wc-block-components-country-input select.wc-blocks-components-select__select { 
  color:var(--fuechse-grau-dunkel) !important; 
  background:transparent !important; 
  border:0 !important; 
  padding:15px 50px 15px 18px; 
  font-family:'Poppins',sans-serif; 
  font-size:16px; 
  font-weight:500; 
  line-height:1.4; 
  height:auto; 
}
.wc-block-components-country-input select.wc-blocks-components-select__select option { color:var(--fuechse-grau-dunkel); background:#fff; }
.wc-block-components-country-input .wc-blocks-components-select__expand path { fill:#333; }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within .wc-blocks-components-select__expand path { fill:var(--fuechse-rot); }

/* Checkbox (Legal) Angleichen – nur leichte Anpassung (lassen dunkle Variante) */
.wc-block-components-checkbox__input { border:2px solid var(--form-border-color, rgba(255,255,255,0.2)); background:var(--form-field-bg, rgba(255,255,255,0.08)); }
.wc-block-components-checkbox__input:checked { background:var(--fuechse-rot); border-color:var(--fuechse-rot); }

/* Grid-Felder Abstände – konsistent zu globaler Row (25px) */
.wc-block-components-address-form { gap:25px 24px; }
@media (max-width:640px){ .wc-block-components-address-form { gap:20px; } }

/* Überschreiben früherer padding/label Zustände vollständig */
.wc-block-components-text-input.is-active, .wc-block-components-text-input:focus-within { border:0; background:transparent; box-shadow:none; }

/* Autofill neu justieren (helle Schrift auf dunklem / hellen Feld) */
.wc-block-components-text-input input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px var(--form-field-bg-focus, rgba(255,255,255,0.12)) inset; -webkit-text-fill-color:var(--text-weiss); }
.wc-block-components-country-input select:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #fff inset; -webkit-text-fill-color:var(--fuechse-grau-dunkel); }

/* High Contrast Tweaks */
@media (prefers-contrast:more){
  .wc-block-components-text-input input { border-color:#fff !important; }
  .wc-block-components-country-input .wc-blocks-components-select__container { border-color:#fff; }
  .wc-block-components-text-input input:focus { box-shadow:0 0 0 3px #fff; }
}

/* Label Position Feintuning (weiter nach unten) */
:root { --checkout-label-shift: 6px; }
.wc-block-components-text-input { gap:6px; }
.wc-block-components-text-input label { position:relative !important; top:var(--checkout-label-shift); }
@media (max-width:640px){ .wc-block-components-text-input label { top:calc(var(--checkout-label-shift) + 2px); } }

/* Reduced Motion Cleanup */
@media (prefers-reduced-motion:reduce){
  .wc-block-components-text-input input, .wc-block-components-country-input .wc-blocks-components-select__container { transition:none; transform:none; }
}

/* ============================================================
   CHECKOUT – DROPDOWN & VALIDATION REFINEMENT
   ============================================================ */
/* Country / Region Select: Arrow & Height Konsistenz */
.wc-block-components-country-input { position:relative; }
.wc-block-components-country-input .wc-blocks-components-select__container { min-height:56px; display:flex; align-items:center; padding:0 0 0 0; }
.wc-block-components-country-input select.wc-blocks-components-select__select { min-height:56px; padding:15px 54px 15px 18px; }
/* Ersetze Standard-SVG-Pfeil durch kompakteren Button-Stil */
.wc-block-components-country-input .wc-blocks-components-select__expand { right:14px; width:22px; height:22px; background:var(--fuechse-grau-dunkel,#1d1d1d); border-radius:4px; padding:2px; box-shadow:0 2px 4px rgba(0,0,0,.4); transition:background .25s ease, transform .25s ease; }
.wc-block-components-country-input .wc-blocks-components-select__expand path { fill:#ffffff; transition:fill .25s ease; }
.wc-block-components-country-input .wc-blocks-components-select__container:hover .wc-blocks-components-select__expand { background:var(--fuechse-rot); }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within .wc-blocks-components-select__expand { background:var(--fuechse-rot); transform:rotate(180deg); }

/* ERROR STATES – auch für Select */
.wc-block-components-country-input select[aria-invalid="true"],
.wc-block-components-country-input .wc-blocks-components-select__container.is-error { border-color:var(--fuechse-rot) !important; box-shadow:0 0 0 3px var(--bg-transparent-rot); }
.wc-block-components-country-input select[aria-invalid="true"] ~ .wc-blocks-components-select__expand { background:var(--fuechse-rot); }

/* Generische Fehlermeldungen unter Inputs / Selects */
.wc-block-components-text-input .wc-block-components-error,
.wc-block-components-text-input .wc-block-components-validation-error,
.wc-block-components-country-input .wc-block-components-error,
.wc-block-components-country-input .wc-block-components-validation-error { 
  margin-top:6px; 
  font-size:13px; 
  font-weight:500; 
  color:var(--fuechse-rot); 
  line-height:1.3; 
  letter-spacing:.3px; 
  background:rgba(223,9,20,0.08); 
  border:1px solid rgba(223,9,20,0.35); 
  padding:6px 10px 7px; 
  border-radius:4px; 
}

/* Visuelle Hervorhebung ungültiger Felder (leichtes Pulsieren) */
@keyframes evdFieldPulse { 0%,100% { box-shadow:0 0 0 3px var(--bg-transparent-rot); } 50% { box-shadow:0 0 0 5px rgba(223,9,20,0.45); } }
.wc-block-components-text-input.is-error input,
.wc-block-components-country-input select[aria-invalid="true"] { animation:evdFieldPulse 1.8s ease-in-out 1; }
@media (prefers-reduced-motion:reduce){ .wc-block-components-text-input.is-error input, .wc-block-components-country-input select[aria-invalid="true"] { animation:none; } }

/* Einheitliche Fehlermeldung bei Return-To-Top (falls global Snippet) */
.wc-block-components-notices .wc-block-components-notice-banner.is-error { border-radius:8px; }

/* ============================================================
   CHECKOUT – LABEL / ERROR FINAL RE-LAYOUT
   Ziel: Label näher am Feld, natürliche Reihenfolge, Fehler darunter.
   ============================================================ */
.wc-block-components-text-input { 
  display:flex; 
  flex-direction:column; /* statt column-reverse */
  gap:2px !important; /* minimaler Abstand Label → Feld */
}
.wc-block-components-text-input label { 
  order:0; 
  top:0 !important; 
  margin:0; 
  line-height:1.15; 
  font-size:15px; 
  position:relative !important; 
}
.wc-block-components-text-input input { order:1; }
.wc-block-components-text-input .wc-block-components-error,
.wc-block-components-text-input .wc-block-components-validation-error { 
  order:2; 
  margin-top:4px !important; 
}
/* Wenn ein Fehler direkt vom Block vor dem Input eingefügt wird, stelle sicher, dass er nicht davor steht */
.wc-block-components-text-input > .wc-block-components-error:first-child,
.wc-block-components-text-input > .wc-block-components-validation-error:first-child { order:2; }

/* Optionale Feinjustierung per Variable */
:root { --checkout-label-font-size:15px; --checkout-label-gap:2px; }
.wc-block-components-text-input label { font-size:var(--checkout-label-font-size); }
.wc-block-components-text-input { gap:var(--checkout-label-gap) !important; }

/* ============================================================
   CHECKOUT – SPACING RHYTHM NORMALIZATION
   Vereinheitlicht vertikale Abstände: Label→Input, Input→Fehler, Feld→nächstes Feld
   ============================================================ */
:root {
  --checkout-field-row-gap: 22px;          /* Abstand zwischen Feldern */
  --checkout-label-input-gap: 6px;         /* Label → Input */
  --checkout-input-error-gap: 6px;         /* Input → Fehlermeldung */
}
/* Grid Row Gap */
.wc-block-components-address-form { row-gap: var(--checkout-field-row-gap) !important; }
/* Label wieder ohne künstliche top-Verschiebung */
.wc-block-components-text-input label { top:0 !important; }
/* Label/Input Abstand */
.wc-block-components-text-input { gap: var(--checkout-label-input-gap) !important; }
/* Fehlerabstand */
.wc-block-components-text-input .wc-block-components-error,
.wc-block-components-text-input .wc-block-components-validation-error { margin-top: var(--checkout-input-error-gap) !important; margin-bottom:0 !important; }
/* Mehr Luft nach Fehler zum nächsten Feld (durch row-gap) – kein zusätzliches margin nötig */
/* Select Container Einbindung in Rhythmus */
.wc-block-components-country-input .wc-blocks-components-select__container { margin:0; }
/* Sicherheitsnetz: entferne evtl. übrig gebliebene Inline-Styles / transforms */
.wc-block-components-text-input input:focus { transform:none !important; }


/* ============================================================
   CHECKOUT – QUICK FIX (Label Abstand & Dropdown Vereinheitlichung)
   ============================================================ */
/* Labels näher an Feld, weniger Luft */
.wc-block-components-text-input { gap:4px; }
.wc-block-components-text-input label { line-height:1.05; font-size:15px; }

/* Fokus: kein vertikales Springen */
.wc-block-components-text-input input:focus { transform:none; }

/* Dropdown jetzt gleiche Dark-Variante wie Inputs */
.wc-block-components-country-input .wc-blocks-components-select__container { 
  background:var(--form-field-bg, rgba(255,255,255,0.08)) !important; 
  border:2px solid var(--form-border-color, rgba(255,255,255,0.2)) !important; 
  border-radius:var(--form-border-radius,4px); 
  padding:0 !important; 
  min-height:unset; 
  height:auto; 
}
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within { 
  border-color:var(--form-border-color-focus,var(--fuechse-rot)) !important; 
  background:var(--form-field-bg-focus, rgba(255,255,255,0.12)) !important; 
  box-shadow:var(--form-focus-shadow,0 0 0 3px var(--bg-transparent-rot)); 
  transform:none; 
}
.wc-block-components-country-input select.wc-blocks-components-select__select { 
  padding:15px 46px 15px 18px !important; 
  color:var(--form-text-color,var(--text-weiss)) !important; 
  font-family:'Poppins',sans-serif; 
  font-size:16px; 
  font-weight:500; 
  line-height:1.4; 
}
.wc-block-components-country-input select.wc-blocks-components-select__select option { background:#1f1f1f; color:#fff; }

/* Pfeil vereinfachen (kein eigener Button-Hintergrund) */
.wc-block-components-country-input .wc-blocks-components-select__expand { 
  background:transparent !important; 
  width:22px; height:22px; right:14px; 
  padding:0; box-shadow:none; 
  transition:transform .35s ease, filter .25s ease; 
}
.wc-block-components-country-input .wc-blocks-components-select__expand path { fill:#bbbbbb; }
.wc-block-components-country-input .wc-blocks-components-select__container:hover .wc-blocks-components-select__expand path { fill:#ffffff; }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within .wc-blocks-components-select__expand path { fill:var(--fuechse-rot); }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within .wc-blocks-components-select__expand { transform:rotate(180deg); }

/* Fehlerzustand für Dropdown in Dark-Variante */
.wc-block-components-country-input select[aria-invalid="true"],
.wc-block-components-country-input .wc-blocks-components-select__container.is-error { 
  background:rgba(223,9,20,0.05) !important; 
  border-color:var(--fuechse-rot) !important; 
  box-shadow:0 0 0 3px var(--bg-transparent-rot); 
}
.wc-block-components-country-input select[aria-invalid="true"] ~ .wc-blocks-components-select__expand path { fill:var(--fuechse-rot); }

/* Mobile kleineres Padding falls nötig */
@media (max-width:640px){
  .wc-block-components-country-input select.wc-blocks-components-select__select { padding:12px 42px 12px 15px !important; }
  .wc-block-components-text-input label { font-size:14px; }
}

/* ============================================================
   CHECKOUT – DROPDOWN BORDER FINAL FIX
   Vereinheitlicht Rahmenstärke (2px) & Fokusstil exakt wie Text-Inputs.
   ============================================================ */
.wc-block-components-country-input .wc-blocks-components-select__container { 
  border-width:2px !important; 
  border-style:solid !important; 
  border-color:var(--form-border-color, rgba(255,255,255,0.2)) !important; 
  background:var(--form-field-bg, rgba(255,255,255,0.08)) !important; 
  transition:var(--form-transition, all .3s ease) !important; 
}
/* Hover dezent nur Border-Farbnuance (kein Springen) */
.wc-block-components-country-input .wc-blocks-components-select__container:hover { 
  border-color:rgba(255,255,255,0.28) !important; 
}
/* Fokus = gleiche Logik wie Input Fokus */
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within { 
  border-color:var(--form-border-color-focus,var(--fuechse-rot)) !important; 
  background:var(--form-field-bg-focus, rgba(255,255,255,0.12)) !important; 
  box-shadow:var(--form-focus-shadow, 0 0 0 3px var(--bg-transparent-rot)) !important; 
}
/* Error überschreibt Fokus falls gleichzeitig */
.wc-block-components-country-input .wc-blocks-components-select__container.is-error,
.wc-block-components-country-input select[aria-invalid="true"] { 
  border-color:var(--fuechse-rot) !important; 
  background:rgba(223,9,20,0.05) !important; 
  box-shadow:0 0 0 3px var(--bg-transparent-rot) !important; 
}
/* High Contrast Mode: Weißer Rahmen + zusätzlicher innerer Rand */
@media (prefers-contrast:more){
  .wc-block-components-country-input .wc-blocks-components-select__container { border-color:#ffffff !important; box-shadow:0 0 0 2px #ffffff55 !important; }
  .wc-block-components-country-input .wc-blocks-components-select__container:focus-within { box-shadow:0 0 0 3px #ffffff, 0 0 0 5px var(--fuechse-rot) !important; }
}

/* ============================================================
   CHECKOUT – COUNTRY SELECT FINAL LAYOUT
   Ziel: Label wie bei anderen Feldern (oben, eigener Abstand), einheitliche Höhe.
   ============================================================ */
.wc-block-components-country-input .wc-blocks-components-select__container { 
  display:flex; 
  flex-direction:column; 
  align-items:flex-start; 
  padding:14px 18px 16px !important; /* ähnlich Input padding */
  gap:6px; 
  min-height:auto !important; 
}
.wc-block-components-country-input .wc-blocks-components-select__label { 
  order:0; 
  font-family:'Redzone BlackReg',sans-serif; 
  font-size:15px; 
  font-weight:700; 
  letter-spacing:.8px; 
  text-transform:uppercase; 
  line-height:1.1; 
  margin:0; 
  position:relative; 
  top:0; 
  color:#ffffff !important; 
}
.wc-block-components-country-input select.wc-blocks-components-select__select { 
  order:1; 
  width:100%; 
  padding:12px 40px 12px 0 !important; /* rechts Platz für Icon */
  margin:0; 
  min-height:48px; 
  background:transparent !important; 
}
/* Pfeil vertikal mittig passend zum neuen Layout */
.wc-block-components-country-input .wc-blocks-components-select__expand { 
  top:50%; 
  transform:translateY(-50%); 
  right:14px; 
}
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within .wc-blocks-components-select__expand { transform:translateY(-50%) rotate(180deg); }

/* Error Padding bleibt stabil (kein Springen) */
.wc-block-components-country-input .wc-blocks-components-select__container.is-error { padding:14px 18px 16px !important; }

/* ============================================================
   COUNTRY SELECT – CLEAN SINGLE BORDER OVERRIDE
   Grund: Viele frühere Regeln erzeugen doppelte/versetzte rote Linien
   (border + zusätzliche box-shadows). Wir neutralisieren alles und
   definieren einen klaren Fokus-/Error-State ohne Doppelkontur.
   ============================================================ */
.wc-block-components-country-input .wc-blocks-components-select__container {
  border:2px solid var(--form-border-color,#444) !important;
  box-shadow:none !important;
  background:var(--form-field-bg,#1f1f1f) !important;
  background-clip:padding-box !important;
  padding:14px 18px 16px !important; /* sicherstellen wie oben */
  border-radius:10px !important;
}
.wc-block-components-country-input .wc-blocks-components-select__container:hover {
  border-color:var(--form-border-hover,#666) !important;
}
/* Fokus ohne Fehler: neutral (kein Rot) */
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within:not(.is-error) {
  border-color:var(--form-border-focus, var(--form-border-hover,#666)) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18) !important;
}
/* Error gleicht Fokus, aber ohne zusätzliche zweite Outline */

/* === "Keine Produkte gefunden" Styling === */
.evd-no-products-found {
  background: var(--wc-surface);
  border: 1px solid var(--wc-border);
  border-radius: 16px;
  padding: 50px 40px;
  margin: 40px auto;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  max-width: 700px;
}

.evd-no-products-title {
  color: var(--fuechse-rot);
  font-family: 'Redzone BlackReg', sans-serif;
  font-size: 1.75rem;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

.evd-no-products-message {
  color: var(--text-grau-hell);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 32px;
}

.evd-no-products-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.evd-no-products-actions .evd-btn {
  padding: 14px 32px;
  font-size: 1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  text-transform: uppercase;
}

.evd-no-products-actions .evd-btn-primary {
  background: var(--bg-transparent-rot);
  color: var(--text-weiss);
  border: 2px solid var(--fuechse-rot);
}

.evd-no-products-actions .evd-btn-primary:hover {
  background: var(--fuechse-rot);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 26, 26, 0.4);
}

.evd-no-products-actions .evd-btn i {
  font-size: 0.9rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .evd-no-products-found {
    padding: 35px 24px;
    margin: 24px auto;
    max-width: 100%;
  }
  
  .evd-no-products-title {
    font-size: 1.4rem;
  }
  
  .evd-no-products-message {
    font-size: 0.95rem;
    margin-bottom: 28px;
  }
  
  .evd-no-products-actions .evd-btn {
    width: 100%;
    justify-content: center;
  }
}

.wc-block-components-country-input .wc-blocks-components-select__container.is-error,
.wc-block-components-country-input select[aria-invalid="true"] {
  border-color:var(--fuechse-rot) !important;
  box-shadow:0 0 0 1px rgba(210,11,23,.35) !important;
}
/* Pfeilfarbe bei Fokus ohne Fehler neutral/weiß statt rot */
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within:not(.is-error) .wc-blocks-components-select__expand path { fill:#ffffff !important; }

/* Frühere stark sichtbare Kombi-Shadows vollständig entfernen */
.wc-block-components-country-input .wc-blocks-components-select__container.is-error,
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within,
.wc-block-components-country-input .wc-blocks-components-select__container:hover {
  background:var(--form-field-bg-focus,#252525) !important;
}
/* Sicherstellen dass das select selbst keine Umrandung liefert */
.wc-block-components-country-input select.wc-blocks-components-select__select { border:0 !important; box-shadow:none !important; }

/* ============================================================
   HARD OVERRIDE (LETZTE STELLE): Kein roter Fokus-Rand beim Klicken,
   nur Error bleibt rot.  Falls Caching -> Hard Reload.
   ============================================================ */
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within:not(.is-error) {
  border-color:var(--form-border-color,#444) !important;
  box-shadow:none !important;
}
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within:not(.is-error) .wc-blocks-components-select__expand { background:var(--fuechse-grau-dunkel,#1d1d1d) !important; }
.wc-block-components-country-input .wc-blocks-components-select__container:focus-within:not(.is-error) .wc-blocks-components-select__expand path { fill:#bbbbbb !important; }

/* ============================================================
   CHECKOUT PAYMENT – KEINE ZAHLUNGSMETHODEN NOTICE
   ============================================================ */
.wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error {
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:linear-gradient(135deg, #2b0f12 0%, #1e1819 90%);
  border:2px solid var(--fuechse-rot);
  border-radius:14px;
  padding:18px 20px 18px 20px;
  font-size:.95rem;
  line-height:1.4;
  font-weight:500;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 20%, rgba(210,11,23,.35), rgba(210,11,23,0) 60%);
  pointer-events:none;
}
.wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error svg {
  flex:0 0 28px;
  width:28px; height:28px;
  fill:var(--fuechse-rot);
  filter:drop-shadow(0 0 4px rgba(210,11,23,.55));
  margin-top:2px;
}
.wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content {
  flex:1;
}
/* Fokus innerhalb der Notice (Links, Buttons) */
.wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error a:focus-visible {
  outline:2px solid #fff;
  outline-offset:3px;
  border-radius:4px;
}
@media (max-width:640px){
  .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error { flex-direction:column; gap:10px; padding:16px 16px 18px; }
  .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error svg { margin-top:0; }
}

  /* ============================================================
     CHECKOUT – Checkbox Label (Add Note / Legal) größer
     ============================================================ */
  .wc-block-components-checkbox__label {
    font-size:1.02rem;
    line-height:1.35;
    font-weight:600;
    letter-spacing:.25px;
  }
  @media (min-width:900px){
    .wc-block-components-checkbox__label { font-size:1.06rem; }
  }

    /* ============================================================
       PAYMENT NOTICE (No methods) – Einfarbig & weiße Schrift
       ============================================================ */
    .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error {
      background:var(--fuechse-rot) !important;
      border:none !important;
      color:#fff !important;
      box-shadow:0 4px 18px -4px rgba(0,0,0,.45);
    }
    .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error:before { display:none !important; }
    .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error svg { fill:#fff !important; filter:none !important; }
    .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content { color:#fff !important; }
    @media (prefers-contrast:more){
      .wc-block-checkout__no-payment-methods-notice.wc-block-components-notice-banner.is-error { outline:2px solid #ffffff; outline-offset:2px; }
    }

/* ========================================
   EVD Product Grid - Responsive Styles
   ======================================== */
   
@media (max-width: 1200px) {
  .woocommerce div.product.evd-product .evd-product-grid {
    gap: 24px;
  }
}

@media (max-width: 900px) {
  .woocommerce div.product.evd-product .evd-product-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  
  .woocommerce div.product.evd-product .evd-product-card {
    padding: 20px;
  }
  
  .woocommerce div.product.evd-product .evd-product-gallery {
    margin-bottom: 0;
  }
}

@media (max-width: 600px) {
  .woocommerce .evd-shop-container,
  .woocommerce-page .evd-shop-container {
    width: 95%;
    padding: 20px 0 40px;
  }
  
  .woocommerce div.product.evd-product .evd-product-card {
    padding: 16px;
    border-radius: 8px;
  }
  
  .woocommerce div.product.evd-product form.cart {
    max-width: 100%;
  }
}


/* ========================================
   ELEMENTOR WooCommerce Products Widget
   – CI-konforme Darstellung wie EVD Shop
   ========================================
   
   HTML-Struktur (Elementor WooCommerce Products Widget):
   .elementor-widget-woocommerce-products.elementor-grid-4
     └─ .elementor-widget-container
         └─ .woocommerce.columns-4
             └─ ul.products.elementor-grid.columns-4
                 └─ li.product
                     ├─ a.woocommerce-LoopProduct-link
                     │   ├─ img
                     │   ├─ h2.woocommerce-loop-product__title
                     │   └─ span.price
                     ├─ p.wc-gzd-additional-info.tax-info
                     ├─ p.wc-gzd-additional-info.shipping-costs-info
                     └─ a.button.add_to_cart_button
   
   Elementor steuert das Grid-Layout über ul.products.elementor-grid.
   Wir überschreiben NUR die visuelle Card-Darstellung.
   ======================================================== */

/* --- Grid-Korrekturen: WooCommerce Float-System deaktivieren --- */
.elementor-widget-woocommerce-products ul.products.elementor-grid {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  gap: 24px !important;
}

/* Float-Artefakte entfernen (WooCommerce legacy) */
.elementor-widget-woocommerce-products ul.products::before,
.elementor-widget-woocommerce-products ul.products::after {
  display: none !important;
}

/* .content ul li Overrides neutralisieren – Produkt-Items sind keine Content-Listen */
.elementor-widget-woocommerce-products ul.products li.product::before {
  content: none !important;
  display: none !important;
}

/* WooCommerce setzt width/margin per inline/Klasse auf li – Override nötig */
.elementor-widget-woocommerce-products ul.products.elementor-grid li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

/* ---- Produktkarte ---- */
.elementor-widget-woocommerce-products ul.products li.product {
  background: var(--wc-surface, #2b2b2b) !important;
  border: 1px solid var(--wc-border, rgba(255, 255, 255, 0.1)) !important;
  border-radius: 12px !important;
  padding: 16px 16px 18px !important;
  position: relative !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  transition: border-color 0.25s ease, transform 0.18s ease, box-shadow 0.25s ease;
  will-change: transform, box-shadow;
  list-style: none !important;
}

.elementor-widget-woocommerce-products ul.products li.product:hover {
  border-color: var(--wc-primary, #DF0914);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

/* ---- Klickbarer Link-Bereich ---- */
.elementor-widget-woocommerce-products ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  flex: 1 1 auto;
}

/* ---- Produktbild ---- */
.elementor-widget-woocommerce-products ul.products li.product a.woocommerce-LoopProduct-link img {
  border-radius: 10px;
  background: #161616;
  padding: 0;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
  transition: transform 0.35s ease;
}

.elementor-widget-woocommerce-products ul.products li.product:hover a.woocommerce-LoopProduct-link img {
  transform: scale(1.03);
}

/* ---- Produkttitel ---- */
.elementor-widget-woocommerce-products ul.products li.product h2.woocommerce-loop-product__title {
  font-family: 'Redzone BlackReg', sans-serif !important;
  color: var(--fuechse-rot, #DF0914) !important;
  font-size: 1.05rem;
  font-weight: 700;
  margin: 4px 0 2px;
  line-height: 1.25;
  padding: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.55em; /* Platz für 2 Zeilen */
}

/* ---- Preis ---- */
.elementor-widget-woocommerce-products ul.products li.product .price {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--fuechse-rot, #DF0914) !important;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: baseline;
}

.elementor-widget-woocommerce-products ul.products li.product .price .woocommerce-Price-amount {
  color: var(--fuechse-rot, #DF0914);
}

.elementor-widget-woocommerce-products ul.products li.product .price ins {
  text-decoration: none;
}

.elementor-widget-woocommerce-products ul.products li.product .price del {
  opacity: 0.55;
}

/* ---- Zusätzliche Info (MwSt. / Versand – Germanized) ---- */
.elementor-widget-woocommerce-products ul.products li.product .wc-gzd-additional-info {
  font-size: 0.7rem;
  line-height: 1.3;
  margin: 0;
  padding: 0;
  color: var(--wc-muted, #888888);
  letter-spacing: 0.3px;
}

.elementor-widget-woocommerce-products ul.products li.product .wc-gzd-additional-info a {
  color: var(--fuechse-rot, #DF0914);
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}

.elementor-widget-woocommerce-products ul.products li.product .wc-gzd-additional-info a:hover {
  color: #fff;
  text-decoration: underline solid;
}

/* ---- Add-to-Cart / Ausführung-wählen Button ---- */
.elementor-widget-woocommerce-products ul.products li.product > a.button,
.elementor-widget-woocommerce-products ul.products li.product > a.added_to_cart {
  margin-top: auto; /* drückt Button ans Kartenende → gleiche Kartenhöhe */
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  line-height: 1;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--fuechse-rot, #DF0914), #b90710);
  color: #fff !important;
  border: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.28s ease, transform 0.18s ease, box-shadow 0.28s ease;
}

.elementor-widget-woocommerce-products ul.products li.product > a.button:hover,
.elementor-widget-woocommerce-products ul.products li.product > a.added_to_cart:hover {
  background: linear-gradient(135deg, #d20b17, #9c060e);
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
  color: #fff !important;
}

.elementor-widget-woocommerce-products ul.products li.product > a.button:active,
.elementor-widget-woocommerce-products ul.products li.product > a.added_to_cart:active {
  transform: translateY(0);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

/* ---- Sale Badge ---- */
.elementor-widget-woocommerce-products ul.products li.product .onsale {
  position: absolute !important;
  top: 24px;
  left: 24px;
  z-index: 3;
  display: inline-block !important;
  background: var(--fuechse-rot, #DF0914) !important;
  color: #fff !important;
  font-family: 'Redzone BlackReg', sans-serif;
  font-weight: 700;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 14px !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.2;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

/* ---- Star-Rating ---- */
.elementor-widget-woocommerce-products ul.products li.product .star-rating {
  transform: scale(0.9);
  transform-origin: left center;
  color: var(--fuechse-rot, #DF0914);
}

/* ---- Fokus-Zugänglichkeit ---- */
.elementor-widget-woocommerce-products ul.products li.product a:focus-visible,
.elementor-widget-woocommerce-products ul.products li.product a.button:focus-visible {
  outline: 2px solid var(--wc-primary, #DF0914);
  outline-offset: 2px;
}

/* ---- Responsive Tuning ---- */
@media (max-width: 767px) {
  .elementor-widget-woocommerce-products ul.products.elementor-grid {
    gap: 16px !important;
  }

  .elementor-widget-woocommerce-products ul.products li.product {
    padding: 12px 12px 14px;
  }

  .elementor-widget-woocommerce-products ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 0.85rem;
    min-height: 2.15em;
  }

  .elementor-widget-woocommerce-products ul.products li.product .price {
    font-size: 0.85rem;
  }

  .elementor-widget-woocommerce-products ul.products li.product > a.button {
    font-size: 0.7rem;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 6px;
  }
}

@media (max-width: 480px) {
  .elementor-widget-woocommerce-products ul.products.elementor-grid {
    gap: 12px !important;
  }

  .elementor-widget-woocommerce-products ul.products li.product {
    padding: 10px 10px 12px;
    border-radius: 8px;
  }

  .elementor-widget-woocommerce-products ul.products li.product .wc-gzd-additional-info {
    font-size: 0.6rem;
  }
}

/* High contrast mode */
@media (prefers-contrast: more) {
  .elementor-widget-woocommerce-products ul.products li.product a:focus-visible,
  .elementor-widget-woocommerce-products ul.products li.product a.button:focus-visible {
    outline-color: #fff;
  }
}


/* ========================================
   ELEMENTOR WooCommerce Product Categories Widget
   – CI-konforme Darstellung wie EVD Shop
   ========================================
   
   HTML-Struktur (Elementor WC Categories Widget):
   .elementor-widget-wc-categories  /  .elementor-widget-woocommerce-product-categories
     └─ .elementor-widget-container
         └─ .woocommerce
             └─ ul.products.elementor-grid.columns-N
                 └─ li.product-category.product
                     └─ a
                         ├─ img
                         └─ h2.woocommerce-loop-category__title
                             └─ mark.count
   ======================================================== */

/* --- Grid-Korrekturen --- */
.elementor-widget-wc-categories ul.products.elementor-grid,
.elementor-widget-woocommerce-product-categories ul.products.elementor-grid {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  gap: 24px !important;
}

.elementor-widget-wc-categories ul.products::before,
.elementor-widget-wc-categories ul.products::after,
.elementor-widget-woocommerce-product-categories ul.products::before,
.elementor-widget-woocommerce-product-categories ul.products::after {
  display: none !important;
}

/* .content ul li Overrides neutralisieren */
.elementor-widget-wc-categories ul.products li.product-category::before,
.elementor-widget-woocommerce-product-categories ul.products li.product-category::before {
  content: none !important;
  display: none !important;
}

/* Float/Width Reset */
.elementor-widget-wc-categories ul.products.elementor-grid li.product-category,
.elementor-widget-woocommerce-product-categories ul.products.elementor-grid li.product-category {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

/* ---- Kategorie-Karte ---- */
.elementor-widget-wc-categories ul.products li.product-category,
.elementor-widget-woocommerce-product-categories ul.products li.product-category {
  background: var(--wc-surface, #2b2b2b) !important;
  border: 1px solid var(--wc-border, rgba(255, 255, 255, 0.1)) !important;
  border-radius: 12px !important;
  padding: 16px 16px 18px !important;
  position: relative !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  transition: border-color 0.25s ease, transform 0.18s ease, box-shadow 0.25s ease;
  will-change: transform, box-shadow;
  list-style: none !important;
}

.elementor-widget-wc-categories ul.products li.product-category:hover,
.elementor-widget-woocommerce-product-categories ul.products li.product-category:hover {
  border-color: var(--wc-primary, #DF0914) !important;
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

/* ---- Link-Bereich ---- */
.elementor-widget-wc-categories ul.products li.product-category > a,
.elementor-widget-woocommerce-product-categories ul.products li.product-category > a {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  flex: 1 1 auto;
}

/* ---- Kategorie-Bild ---- */
.elementor-widget-wc-categories ul.products li.product-category > a img,
.elementor-widget-woocommerce-product-categories ul.products li.product-category > a img {
  border-radius: 10px;
  background: #161616;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
  transition: transform 0.35s ease;
}

.elementor-widget-wc-categories ul.products li.product-category:hover > a img,
.elementor-widget-woocommerce-product-categories ul.products li.product-category:hover > a img {
  transform: scale(1.03);
}

/* ---- Kategorie-Titel ---- */
.elementor-widget-wc-categories ul.products li.product-category h2.woocommerce-loop-category__title,
.elementor-widget-woocommerce-product-categories ul.products li.product-category h2.woocommerce-loop-category__title {
  font-family: 'Redzone BlackReg', sans-serif !important;
  color: var(--fuechse-rot, #DF0914) !important;
  font-size: 1.05rem;
  font-weight: 700;
  margin: 4px 0 0;
  padding: 0 !important;
  line-height: 1.25;
  text-align: left;
}

/* ---- Anzahl-Badge – ausgeblendet per CI-Entscheidung ---- */
.elementor-widget-wc-categories ul.products li.product-category h2.woocommerce-loop-category__title mark.count,
.elementor-widget-woocommerce-product-categories ul.products li.product-category h2.woocommerce-loop-category__title mark.count,
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title mark.count {
  display: none !important;
}

/* ---- Fokus-Zugänglichkeit ---- */
.elementor-widget-wc-categories ul.products li.product-category > a:focus-visible,
.elementor-widget-woocommerce-product-categories ul.products li.product-category > a:focus-visible {
  outline: 2px solid var(--wc-primary, #DF0914);
  outline-offset: 2px;
}

/* ---- Responsive ---- */
@media (max-width: 767px) {
  .elementor-widget-wc-categories ul.products.elementor-grid,
  .elementor-widget-woocommerce-product-categories ul.products.elementor-grid {
    gap: 16px !important;
  }

  .elementor-widget-wc-categories ul.products li.product-category,
  .elementor-widget-woocommerce-product-categories ul.products li.product-category {
    padding: 12px 12px 14px !important;
  }

  .elementor-widget-wc-categories ul.products li.product-category h2.woocommerce-loop-category__title,
  .elementor-widget-woocommerce-product-categories ul.products li.product-category h2.woocommerce-loop-category__title {
    font-size: 0.85rem;
  }
}

@media (max-width: 480px) {
  .elementor-widget-wc-categories ul.products.elementor-grid,
  .elementor-widget-woocommerce-product-categories ul.products.elementor-grid {
    gap: 12px !important;
  }

  .elementor-widget-wc-categories ul.products li.product-category,
  .elementor-widget-woocommerce-product-categories ul.products li.product-category {
    padding: 10px 10px 12px !important;
    border-radius: 8px !important;
  }
}

@media (prefers-contrast: more) {
  .elementor-widget-wc-categories ul.products li.product-category > a:focus-visible,
  .elementor-widget-woocommerce-product-categories ul.products li.product-category > a:focus-visible {
    outline-color: #fff;
  }
}
