/* ========================================
   CSS VARIABLES & BASE STYLES
   ======================================== */
:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important;}
}




:root {
  --ultra-bg: #fff;
  --ultra-text: #111;
  --ultra-muted: #666;
  --ultra-border: #e7e7e7;
  --ultra-accent: #000;
  --ultra-radius-lg: 14px;
  --ultra-radius-md: 10px;
  --ultra-gap: 16px;
  --ultra-font: "Noto Sans", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

html {
  box-sizing: border-box;
  font-family: var(--ultra-font);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  color: var(--ultra-text);
  background: var(--ultra-bg);
  font-family: var(--ultra-font);
}

#ultra-grid-host {
  max-width: 1680px;
  margin: 0 auto;
}

  .ultra-filters {
    padding: 10px 24px;
    max-width: 1680px;
    margin: 0 auto;
    margin-bottom: 0px;
    margin-bottom: 20px;
  }


img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Container */
.container {
  max-width: 1680px;
  margin: 0 auto;
  padding: 20px;
}

/* Screen Reader Text */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Focus Styles */
:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
}

/* ========================================
   HEADER LAYOUT
   ======================================== */

.uh-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
}

.uh-nav {
  margin-left: auto;
}

.uh-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 16px;
}

.uh-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: inherit;
  position: relative;
  width: 40px;
  height: 40px;
  justify-content: center;
}

.uh-badge {
  display: inline-block;
  min-width: 18px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

/* Header Icon Count */
#ultra-header .uh-icon .count {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #8B0000;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  border-radius: 50%;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Wishlist Heart Color */
#ultra-header .uh-icon.uh-wishlist,
#ultra-header .uh-icon.uh-wishlist svg,
#ultra-header .uh-icon.uh-wishlist i {
  color: #8B0000 !important;
  fill: #8B0000 !important;
}

/* Icon Sizes */
.uh-icons .uh-icon.wishlist svg {
  width: 28px;
  height: 28px;
}

.uh-icons .uh-icon.search svg {
  width: 28px;
  height: 28px;
  stroke-width: 2.5;
}

.uh-icons .uh-icon svg {
  min-width: 24px;
  min-height: 24px;
}

.uh-ico-search {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23000" d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79L20 21.5 21.5 20 15.5 14zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
}

.uh-ico-cart {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23000" d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2zM7.16 14l.84-2h8l2.76-7H6.21l-.94-2H1v2h2l3.6 7.59L5.25 16c-.2.45-.25.94-.25 1.41C5 18.3 5.7 19 6.59 19H19v-2H6.42c-.14 0-.25-.11-.25-.25l.99-2.75z"/></svg>');
}

.uh-ico-heart {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23000" d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 6 4 4 6.5 4c1.74 0 3.41.81 4.5 2.09C12.09 4.81 13.76 4 15.5 4 18 4 20 6 20 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>');
}

.uh-ico-user {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23000" d="M12 12c2.7 0 5-2.3 5-5s-2.3-5-5-5-5 2.3-5 5 2.3 5 5 5zm0 2c-3.3 0-10 1.7-10 5v3h20v-3c0-3.3-6.7-5-10-5z"/></svg>');
}

/* ========================================
   BUTTONS - Global System
   ======================================== */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.button {
  --btn-bg: #fff;
  --btn-fg: #111;
  --btn-bd: #dcdcdc;
  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .7rem 1rem;
  min-height: 44px;
  line-height: 1;
  font-weight: 600;
  font-size:1rem;
  background: var(--btn-bg);
  color: var(--btn-fg);
  border: 1px solid var(--btn-bd);
  border-radius: 12px;
  text-decoration: none;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .06s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover,
.button:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}

.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce .button:active,
.button:active {
  transform: translateY(1px);
}

/* Primary Buttons - Add to Cart / Checkout */
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_variable,
.single_add_to_cart_button,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce a.checkout-button,
.woocommerce button[name="update_cart"],
.woocommerce button[name="proceed"],
.woocommerce a.wc-forward.checkout {
  --btn-bg: #111;
  --btn-fg: #fff;
  --btn-bd: #111;
}

.woocommerce a.button.add_to_cart_button:hover,
.woocommerce a.button.product_type_variable:hover,
.single_add_to_cart_button:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.checkout-button:hover,
.woocommerce a.wc-forward.checkout:hover {
  background: #fff;
  color: #111;
  border-color: #111;
}

/* Cart Icon für Desktop */
@media (min-width: 992px) {
  .woocommerce a.button.add_to_cart_button::before,
  .single_add_to_cart_button::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23000" d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2zM7.16 14l.84-2h8l2.76-7H6.21l-.94-2H1v2h2l3.6 7.59L5.25 16c-.2.45-.25.94-.25 1.41C5 18.3 5.7 19 6.59 19H19v-2H6.42c-.14 0-.25-.11-.25-.25l.99-2.75z"/></svg>');
  }
}

/* ========================================
   PRODUCT GRID SYSTEM
   ======================================== */


.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  width: 100%;
  box-sizing: border-box;
}

/* Grid Responsive */
@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 480px) {
  ul.products {
    grid-template-columns: 1fr;
  }
}

/* Reset WooCommerce Float/Clear */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  content: none !important;
  display: none !important;
}





/* ========================================
   PDP STYLES
   ======================================== */

.woocommerce div.product {
    margin-bottom: 0;
    position: relative;
    max-width: 1680px;
    margin: 0 auto;
}




/* ========================================
   QUICKVIEW BUTTON
   ======================================== */

.ultra-quickview {
  position: absolute;
  left: 50%;
  bottom: 20%;
  transform: translateX(-50%) scale(.96);
  opacity: 0;
  pointer-events: none;
  background: #111;
  color: #fff !important;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 14px;
  transition: opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease;
}

.ultra-card__media:hover .ultra-quickview {
  opacity: 1;
  transform: translateX(-50%) scale(1);
  pointer-events: auto;
}

.ultra-quickview:hover {
  background: #fff;
  color: #111 !important;
  border: 1px solid #ddd;
}

/* ========================================
   PDP GALLERY SYSTEM
   ======================================== */

/* Main Gallery Container */
.woocommerce-product-gallery {
  position: relative;
  display: flex;
  gap: 20px;
  margin-bottom: 2rem;
}

/* Gallery wrapper mit Thumbs links */
.woocommerce-product-gallery__wrapper {
  flex: 1;
  order: 2;
}

/* Main image wrapper für Zoom */
.ultra-zoom-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #f8f9fa;
  aspect-ratio: 1;
  cursor: zoom-in;
}

.ultra-zoom-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: 50% 50%;
  transition: transform .3s ease;
  will-change: transform;
}

.ultra-zoom-wrap.is-zoomed {
  cursor: zoom-out;
}

.ultra-zoom-wrap.is-zoomed img {
  cursor: zoom-out;
}

/* Thumbs Container - Links neben Hauptbild */
.ultra-thumbs {
  order: 1;
  width: 80px;
  max-height: 500px;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 4px;
}

/* Custom Scrollbar für Thumbs */
.ultra-thumbs::-webkit-scrollbar {
  width: 4px;
}

.ultra-thumbs::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 2px;
}

.ultra-thumbs::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}

.ultra-thumbs::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Thumb Buttons */
.ultra-thumb {
  width: 72px;
  height: 72px;
  border: 2px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  transition: all .2s ease;
  flex-shrink: 0;
}

.ultra-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ultra-thumb.is-active {
  border-color: #111;
  box-shadow: 0 3px 12px rgba(0,0,0,.15);
}

.ultra-thumb:hover:not(.is-active) {
  border-color: #999;
  transform: translateY(-1px);
}

/* ========================================
   SWATCHES SYSTEM
   ======================================== */

/* Container */
.ultra-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: .25rem 0 .5rem;
}

.woocommerce div.product form.cart .variations label {
    display:none;
}

/* Swatch Button - Basis Styles */
.ultra-swatch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 44px;
  border: 1px solid #ddd;
  background: #f8f9fa;
  color: #666;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: all .2s ease;
  text-decoration: none;
}

/* Hover States */
.ultra-swatch:hover:not(.is-disabled):not([aria-pressed="true"]) {
  border-color: #999;
  background: #e9ecef;
  color: #333;
  transform: translateY(-1px);
}

/* Active/Selected State - Schwarz mit weißer Schrift */
.ultra-swatch[aria-pressed="true"] {
  border-color: #111;
  background: #111;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

/* Disabled State */
.ultra-swatch.is-disabled {
  opacity: .4;
  pointer-events: none;
}



/* Color Swatches - Runde Farbbuttons */
.ultra-swatch--color-tile {
  min-width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  justify-content: center;
}

.ultra-swatch--color::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: var(--swatch-color, #f0f0f0);
  border-radius: 50%;
}

.ultra-swatch--color[aria-pressed="true"] {
  border-color: #111;
  box-shadow: 0 0 0 3px #111;
  transform: scale(1.1);
}

.ultra-swatch--color:hover:not(.is-disabled):not([aria-pressed="true"]) {
  transform: scale(1.05);
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
}

/* Size Swatches - Text only */
.ultra-swatch--size {
  min-width: 44px;
  padding: 10px 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Variations Form Integration */
.variations_form .variations .swatch,
.variations_form .variations .swatch input[type="radio"] + label,
.variations_form .variations .swatch input[type="checkbox"] + label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 40px;
  margin: 0 .3rem .3rem 0;
  font-size: 14px;
  font-weight: 500;
  color: #111;
  background: #eaeaea;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  cursor: pointer;
  transition: all .2s ease;
}

.variations_form .variations .swatch input[type="radio"],
.variations_form .variations .swatch input[type="checkbox"] {
  display: none;
}

.variations_form .variations .swatch input:checked + label {
  background: #111;
  color: #fff;
  border-color: #111;
}

.variations_form .variations .swatch label:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* Versteckter Select für WooCommerce */
select.ultra-attr-select.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
  white-space: nowrap;
  border: 0;
}

/* ========================================
   SIZE GUIDE BUTTON
   ======================================== */

.ultra-size-guide-btn,
.ultra-sizeguide-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: 1px solid #ddd;
  color: #666;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all .2s ease;
  margin-top: 8px;
}

.ultra-size-guide-btn:hover,
.ultra-sizeguide-btn:hover {
  border-color: #999;
  color: #333;
}

.ultra-size-guide-btn svg {
  width: 14px;
  height: 14px;
}

.ultra-sizeguide-inline {
  display: block;
  width: 100%;
  margin: 3rem 0 3rem !important;
}

/* ========================================
   PRODUCT TABS
   ======================================== */

/* ========================================
   PRODUCT TABS - Fokus-States kontrollieren
   ======================================== */

.woocommerce-tabs {
  margin-top: 3rem !important;
  background: #fff !important;
  border: none !important;
}

/* Tab Navigation - Force Override */
.woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: #f8f9fa !important;
  border: none !important;
  border-bottom: 1px solid #e7e7e7 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
}

/* Einzelne Tabs - Alle Borders UND Fokus-States kontrollieren */
.woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  flex-shrink: 0 !important;
  border: none !important;
  background: transparent !important;
  position: relative !important;
}

.woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 16px 24px !important;
  color: #666 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  position: relative !important;
  
  /* Alle Borders und Outlines entfernen */
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

/* FOKUS-STATES - Dezent überschreiben */
.woocommerce-tabs ul.tabs li a:focus,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus,
.woocommerce-tabs ul.tabs li a:focus-visible,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  /* Dezenter Fokus-Indikator statt störender Borders */
  background: rgba(17, 17, 17, 0.05) !important;
}

/* Hover State */
.woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #111 !important;
  background: #fff !important;
  border: none !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Active State */
.woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #111 !important;
  background: #fff !important;
  font-weight: 600 !important;
  border: none !important;
  border-bottom: 2px solid #111 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Active + Fokus Kombination */
.woocommerce-tabs ul.tabs li.active a:focus,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:focus {
  background: #fff !important;
  border-bottom: 2px solid #111 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Pseudo-Elemente komplett entfernen */
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li a::before,
.woocommerce-tabs ul.tabs li a::after {
  display: none !important;
  content: none !important;
}

/* Tab Content */
.woocommerce-tabs .panel {
  padding: 2rem 0 !important;
  background: #fff !important;
  border-top: none !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .woocommerce-tabs {
    margin-top: 2rem !important;
  }
  
  .woocommerce-tabs ul.tabs {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  
  .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none !important;
  }
  
  .woocommerce-tabs ul.tabs li a,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 12px 20px !important;
    font-size: 14px !important;
    min-width: 120px !important;
    text-align: center !important;
  }
  
  .woocommerce-tabs .panel {
    padding: 1.5rem 0 !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-tabs ul.tabs li a,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 10px 16px !important;
    font-size: 13px !important;
    min-width: 100px !important;
  }
}

/* Tab Content */
.woocommerce-tabs .panel {
  padding: 2rem 0;
  background: #fff;
  border-top: none;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .woocommerce-tabs {
    margin-top: 2rem;
  }
  
  .woocommerce-tabs ul.tabs {
    /* Scrollbar auf Mobile verstecken */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  
  .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }
  
  .woocommerce-tabs ul.tabs li a {
    padding: 12px 20px;
    font-size: 14px;
    min-width: 120px;
    text-align: center;
  }
  
  .woocommerce-tabs .panel {
    padding: 1.5rem 0;
  }
}

/* Kleinere Mobile Screens */
@media (max-width: 480px) {
  .woocommerce-tabs ul.tabs li a {
    padding: 10px 16px;
    font-size: 13px;
    min-width: 100px;
  }
}

/* ========================================
   PDP SPECIFIC STYLES
   ======================================== */

.summary.entry-summary {
  position: relative;
}

.woocommerce div.product .product_title {
  font-size: clamp(22px, 4vw, 32px);
  margin-bottom: 8px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #111;
  font-weight: 700;
}

.single-product .cart {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
}

.single-product .cart .quantity input[type="number"] {
  height: 44px;
  border: 1px solid #dcdcdc;
  border-radius: 12px;
  padding: .4rem .6rem;
  width: 72px;
}

/* PDP Warenkorb-Button - IMMER SCHWARZ! */
.single-product .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button,
.single-product .cart .single_add_to_cart_button,
.woocommerce .single-product .single_add_to_cart_button,
.single-product .button.alt {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid #111 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-weight: 600 !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:hover,
.single-product .cart .single_add_to_cart_button:hover,
.woocommerce .single-product .single_add_to_cart_button:hover,
.single-product .button.alt:hover {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
}

.single-product .product_meta {
  margin: 12px 0 0;
  font-size: 12px;
  color: #666;
  border-top: 1px solid #eee;
  padding-top: 10px;
}

/* ========================================
   HERO SECTIONS
   ======================================== */

.ultra-cat-hero {
  position: relative;
  overflow: hidden;
}

.ultra-cat-hero__media {
  position: relative;
  height: 42vw;
  max-height: 520px;
  min-height: 260px;
}

.ultra-cat-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ultra-cat-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.4));
}

.ultra-cat-hero__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 24px 20px 40px;
  color: #fff;
}

.ultra-cat-hero__title {
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.1;
  margin: 0;
}

.ultra-cat-hero__text {
  font-size: clamp(14px, 1.6vw, 18px);
  max-width: 70ch;
}

.ultra-cat-head {
  padding: 24px 0 8px;
}

.ultra-cat-head__title {
  margin: 0 0 6px;
  font-size: clamp(26px, 3vw, 36px);
}

.ultra-cat-banner {
  margin: 28px 0 48px;
}

.ultra-cat-banner__wrap {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
}

.ultra-cat-banner__img {
  width: 100%;
  height: auto;
  display: block;
}

.ultra-cat-banner__text {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.6));
  color: #fff;
  font-size: clamp(28px, 5vw, 56px);
}

.ultra-cat-banner__link {
  display: block;
}

/* ========================================
   BREADCRUMBS
   ======================================== */

.woocommerce-breadcrumb {
  font-size: .8em !important;
  color: #767676 !important;
  padding-top: 10px !important;
  max-width: 1680px;
  margin: 0 auto !important;
    margin-bottom: 0px;
  margin-bottom: 20px !important;
}

/* ========================================
   WOOCOMMERCE OVERRIDES
   ======================================== */

.woocommerce a {
  color: inherit;
}

.woocommerce-message,
.woocommerce-info {
  border-radius: 10px;
}

/* Hide original thumbnails except first */
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child) {
  display: none !important;
}

.flex-control-thumbs {
  display: none !important;
}

.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
  margin: 0;
}

.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a {
  display: block;
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

.ultra-fade-in {
  animation: fadeIn .3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ultra-loading {
  position: relative;
}

.ultra-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

/* Mobile PDP Layout */
@media (max-width: 768px) {
  /* Global Padding */
  .site,
  .site-main,
  .content-area,
  main {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  /* Gallery Layout ändern für Mobile */
  .woocommerce-product-gallery {
    flex-direction: column;
    gap: 16px;
  }
  
  .woocommerce-product-gallery__wrapper {
    order: 1;
  }
  
  .ultra-thumbs {
    order: 2;
    width: 100%;
    max-height: none;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    padding-right: 0;
    padding-bottom: 4px;
  }
  
  .ultra-thumbs::-webkit-scrollbar {
    height: 4px;
    width: auto;
  }
  
  .ultra-thumb {
    width: 60px;
    height: 60px;
  }

  /* PDP Specific */
  .single-product .product {
    padding: 0 14px;
  }

  .single-product .product .product_title,
  .single-product .product .entry-title {
    font-size: clamp(20px, 5vw, 26px);
    line-height: 1.2;
    margin: 6px 0 8px;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .single-product .woocommerce-product-gallery {
    margin: 10px 0 14px !important;
  }

  .single-product .woocommerce-product-gallery__wrapper img {
    width: 100% !important;
    height: auto !important;
    max-height: 72vh;
    object-fit: contain;
  }

  /* Wishlist Button anpassen */
  .ultra-wishlist-heart {
    width: 36px;
    height: 36px;
  }
  
  .ultra-wishlist-heart svg {
    width: 16px;
    height: 16px;
  }
  
  /* Tabs für Mobile */
  .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .woocommerce-tabs ul.tabs li {
    flex-shrink: 0;
  }
  
  .woocommerce-tabs ul.tabs li a {
    padding: 12px 16px;
    font-size: 14px;
    white-space: nowrap;
  }

  /* Breadcrumbs */
  .woocommerce-breadcrumb {
    font-size: .6em !important;
  }

  /* CTA Button mobile responsive */
  .ultra-card__cta .button {
    min-height: 30px;
    padding: .35rem .6rem;
    font-size: .75rem;
  }
  
  .ultra-card__buy {
    gap: 6px;
  }
  
  .ultra-card__price .price {
    font-size: .9rem;
  }
}

/* Small Mobile */
@media (max-width: 640px) {
  .ultra-cat-hero__media {
    height: 54vw;
    max-height: 420px;
  }
}

@media (max-width: 480px) {
  .ultra-thumb {
    width: 56px;
    height: 56px;
  }
  
  .ultra-swatch {
    min-width: 40px;
    padding: 6px 10px;
    font-size: 13px;
  }
  
  .ultra-size-guide-btn {
    font-size: 11px;
    padding: 5px 8px;
  }

  .single-product .woocommerce-product-gallery__wrapper img {
    max-height: 64vh;
  }

  .single-product form.cart .button {
    width: 100%;
  }
  
  /* Variable Button noch kleiner auf sehr kleinen Screens */
  .woocommerce ul.products li.product .product_type_variable.button {
    width: 32px;
    height: 28px;
  }
  
  .woocommerce ul.products li.product .product_type_variable.button::before {
    width: 14px;
    height: 14px;
  }
}

@media (max-width: 420px) {
  .single-product .woocommerce-product-gallery__wrapper img {
    max-height: 64vh;
  }
}

/* ========================================
   TABS SCROLL FIX - Forcierte Version
   ======================================== */

@media (max-width: 768px) {
  
  /* Tab Container: Scroll erzwingen */
  .woocommerce-tabs ul.tabs {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    
    /* Container Setup */
    width: 100% !important;
    max-width: calc(100vw - 32px) !important; /* Platz für Container-Padding */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    
    /* Flexbox Properties */
    flex-wrap: nowrap !important; /* Kein Umbruch! */
    gap: 0 !important;
    
    /* Styling */
    border-bottom: 1px solid #eee;
    background: #f8f9fa;
    
    /* Scroll Behavior */
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    
    /* Scrollbar verstecken */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }
  
  /* Webkit Scrollbar verstecken */
  .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none !important;
  }
  
  /* Tab Items: Nicht schrumpfen */
  .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important; /* Nicht wachsen, nicht schrumpfen */
    min-width: max-content !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  
  /* Tab Links: Feste Breite */
  .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 12px 20px !important; /* Mehr Padding für bessere Touch-Targets */
    color: #666 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    border-right: 1px solid #eee !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    min-width: max-content !important;
    
    /* Transitions */
    transition: all .2s ease;
    position: relative;
  }
  
  /* Hover States */
  .woocommerce-tabs ul.tabs li a:hover {
    color: #111 !important;
    background: #fff !important;
  }
  
  /* Active State */
  .woocommerce-tabs ul.tabs li.active a {
    color: #111 !important;
    background: #fff !important;
    border-bottom: 2px solid #111 !important;
  }
  
  /* Letzter Tab */
  .woocommerce-tabs ul.tabs li:last-child a {
    border-right: none !important;
  }
  
  /* Container Wrapper */
  .woocommerce-tabs {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin-top: 2rem;
    border-top: 1px solid #eee;
  }
}

/* Alternative: Falls das immer noch nicht funktioniert */
@media (max-width: 768px) {
  
  /* Tab Container mit min-width für Force-Scroll */
  .woocommerce-tabs ul.tabs {
    min-width: 300px !important; /* Erzwingt Overflow wenn Container kleiner ist */
  }
  
  /* Oder: Feste Tab-Breiten */
  .woocommerce-tabs ul.tabs li {
    min-width: 120px !important; /* Mindestbreite pro Tab */
  }
  
  .woocommerce-tabs ul.tabs li a {
    min-width: 120px !important;
    text-align: center !important;
  }
}

/* Debug: Temporäre sichtbare Scrollbar zum Testen */
@media (max-width: 768px) {
  
  .woocommerce-tabs ul.tabs.debug-scroll {
    scrollbar-width: thin !important;
    -ms-overflow-style: scrollbar !important;
  }
  
  .woocommerce-tabs ul.tabs.debug-scroll::-webkit-scrollbar {
    display: block !important;
    height: 8px !important;
  }
  
  .woocommerce-tabs ul.tabs.debug-scroll::-webkit-scrollbar-thumb {
    background: #999 !important;
    border-radius: 4px !important;
  }
}

/* ========================================
   BUTTON ICON CORRECTIONS
   ======================================== */

/* ========================================
   DESKTOP - Variable Product Button mit Icon
   ======================================== */

@media (min-width: 769px) {
  
  /* Variable Product Button - Desktop: Icon + Text */
  .woocommerce ul.products li.product .product_type_variable.button {
    font-size: .0rem !important;
    color: #111 !important;
    background: #f1f1f1;
    border: 1px solid #e5e5e5;
    padding: .7rem 1rem;
    width: auto !important;
    height: auto !important;
    min-height: 32px;
    border-radius: 8px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .3rem !important; /* Abstand zwischen Icon und Text */
    white-space: nowrap;
    line-height: 1;
    flex-shrink: 0;
    font-weight: 600;
  }

  /* Variable Product Icon - Desktop: Anzeigen */
  .woocommerce ul.products li.product .product_type_variable.button::before {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    background: #111 !important;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M7 22a2 2 0 1 1 0-4h10a2 2 0 1 1 0 4H7Zm-1-7v-2h12v2H6ZM4 9V7h16v2H4Zm2-5a2 2 0 1 1 0-4h12a2 2 0 1 1 0 4H6Z"/></svg>') center/contain no-repeat !important;
    flex-shrink: 0 !important;
  }

  /* Variable Product Hover - Desktop */
  .woocommerce ul.products li.product .product_type_variable.button:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
  }

  .woocommerce ul.products li.product .product_type_variable.button:hover::before {
    background: #fff !important;
  }
}

/* ========================================
   MOBILE - Icon Centering Fix
   ======================================== */

@media (max-width: 768px) {
  
  /* Add to Cart Button - Mobile: Korrekte Zentrierung */
  .woocommerce ul.products li.product .add_to_cart_button,
  .woocommerce ul.products li.product .product_type_simple {
    font-size: 0 !important;
    color: transparent !important;
    padding: 0 !important;
    width: 36px !important;
    height: 32px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    min-height: auto !important;
    position: relative !important; /* Für absolute Positionierung des Icons */
  }
  
  /* Add to Cart Icon - Mobile: Zentriert */
  .woocommerce ul.products li.product .add_to_cart_button::before,
  .woocommerce ul.products li.product .product_type_simple::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 16px !important;
    height: 16px !important;
    background: #fff !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23000" d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2zM7.16 14l.84-2h8l2.76-7H6.21l-.94-2H1v2h2l3.6 7.59L5.25 16c-.2.45-.25.94-.25 1.41C5 18.3 5.7 19 6.59 19H19v-2H6.42c-.14 0-.25-.11-.25-.25l.99-2.75z"/></svg>') !important;
  }
  
  /* Variable Product Button - Mobile: Korrekte Zentrierung */
  .woocommerce ul.products li.product .product_type_variable.button {
    font-size: 0.8rem !important;
    color: transparent !important;
    background: #f1f1f1 !important;
    border: 1px solid #e5e5e5 !important;
    padding: 0 !important;
    width: 36px !important;
    height: 32px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    position: relative !important; /* Für absolute Positionierung des Icons */
  }
  
  /* Variable Product Icon - Mobile: Zentriert */
  .woocommerce ul.products li.product .product_type_variable.button::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 16px !important;
    height: 16px !important;
    background: #111 !important;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M7 22a2 2 0 1 1 0-4h10a2 2 0 1 1 0 4H7Zm-1-7v-2h12v2H6ZM4 9V7h16v2H4Zm2-5a2 2 0 1 1 0-4h12a2 2 0 1 1 0 4H6Z"/></svg>') center/contain no-repeat !important;
  }
  
  /* Hover States - Mobile */
  .woocommerce ul.products li.product .add_to_cart_button:hover,
  .woocommerce ul.products li.product .product_type_simple:hover {
    background: #000 !important;
    border-color: #000 !important;
  }
  
  .woocommerce ul.products li.product .product_type_variable.button:hover {
    background: #111 !important;
    border-color: #111 !important;
  }
  
  .woocommerce ul.products li.product .product_type_variable.button:hover::before {
    background: #fff !important;
  }
}

/* ========================================
   FALLBACK - Text für Variable Products
   ======================================== */

@media (min-width: 769px) {
  /* Falls WooCommerce keinen Text liefert */
  .woocommerce ul.products li.product .product_type_variable.button:not(:has-text)::after {
    content: "Variante wählen";
    font-size: .8rem;
    color: inherit;
    white-space: nowrap;
  }
}

/* Kleinere Screens - Icon Größe anpassen */
@media (max-width: 480px) {
  
  .woocommerce ul.products li.product .product_type_variable.button {
    width: 32px !important;
    height: 28px !important;
  }
  
  .woocommerce ul.products li.product .product_type_variable.button::before,
  .woocommerce ul.products li.product .add_to_cart_button::before {
    width: 14px !important;
    height: 14px !important;
  }
  
  .woocommerce ul.products li.product .add_to_cart_button {
    width: 32px !important;
    height: 28px !important;
  }
}

/* ========================================
   BUTTON HOVER TEXT COLOR FIX
   ======================================== */

/* Desktop - Add to Cart Button Hover Fix */
@media (min-width: 769px) {
  
  /* Add to Cart Button Hover - Text schwarz auf weißem Hintergrund */
  .woocommerce ul.products li.product .add_to_cart_button:hover {
    background: #fff !important;
    color: #111 !important;
    border-color: #111 !important;
  }
  
  /* Variable Product Button Hover - Text weiß auf schwarzem Hintergrund */
  .woocommerce ul.products li.product .product_type_variable.button:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
  }
  
  .woocommerce ul.products li.product .product_type_variable.button:hover::before {
    background: #fff !important;
  }
}

/* Global Button Hover Fix - Überschreibt das Problem aus der main.css */
.woocommerce ul.products li.product .button:hover {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

/* Spezifische Hover States für verschiedene Button-Typen */
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .product_type_simple:hover {
  background: #fff !important;
  color: #111 !important;
  border-color: #111 !important;
}

.woocommerce ul.products li.product .product_type_variable.button:hover {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

/* Mobile - Buttons haben keine sichtbaren Texte, aber Sicherheit */
@media (max-width: 768px) {
  
  .woocommerce ul.products li.product .add_to_cart_button:hover,
  .woocommerce ul.products li.product .product_type_simple:hover {
    background: #000 !important;
    color: transparent !important; /* Text bleibt unsichtbar */
  }
  
  .woocommerce ul.products li.product .product_type_variable.button:hover {
    background: #111 !important;
    color: transparent !important; /* Text bleibt unsichtbar */
  }
}

.woocommerce div.product form.cart .button {
  vertical-align: middle;
  float: left;
  font-size: 1rem;
}

.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
    float: right;
    margin-left: 4px;
    width: 40%;
    height: auto;
    box-shadow: none;
}

.woocommerce ul.products li.product .button {
  display: inline-block;
  margin-top: 1em;
  font-size: 0;
}

/* Einheitlicher Button-Style für Warenkorb-Seite */
.woocommerce-cart .actions .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .actions button {
  background: #111 !important;   /* deine Primärfarbe */
  color: #fff !important;
  border: none !important;
  padding: 0.75em 1.5em !important;
  font-weight: 600 !important;
  text-transform: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .2s ease;
  display: inline-block;
}

.woocommerce-cart .actions .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .actions button:hover {
  background: #333 !important;
  color: #fff !important;
}

/* Optional: Deaktivierte Buttons etwas heller, aber lesbar */
.woocommerce-cart .actions .button:disabled,
.woocommerce-cart .actions button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* ========================================
   GALLERY
   ======================================== */


/* Enhanced Gallery Styles - Non-intrusive Swipe */
.ultra-enhanced-gallery {
	position: relative;
}

.ultra-gallery-main {
	position: relative;
}

/* Swipe Overlay - unsichtbar über WooCommerce Gallery */
.ultra-swipe-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	overflow: hidden;
	pointer-events: all; /* Immer aktiv für Swipe */
	background: transparent;
}

.ultra-swipe-track {
	display: flex;
	height: 100%;
	transition: transform 0.3s ease;
}

.ultra-swipe-slide {
	min-width: 100%;
	height: 100%;
}

/* Navigation */
.ultra-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.9);
	border: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 5;
	transition: all 0.2s;
	color: #333;
	opacity: 0;
}

.ultra-gallery-main:hover .ultra-gallery-nav {
	opacity: 1;
}

.ultra-gallery-nav:hover {
	background: rgba(255, 255, 255, 1);
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.ultra-gallery-nav--prev {
	left: 15px;
}

.ultra-gallery-nav--next {
	right: 15px;
}

/* Counter */
.ultra-gallery-counter {
	position: absolute;
	top: 15px;
	left: 15px;
	background: rgba(0, 0, 0, 0.7);
	color: white;
	padding: 5px 10px;
	border-radius: 15px;
	font-size: 12px;
	z-index: 5;
	opacity: 0;
	transition: opacity 0.2s;
}

.ultra-gallery-main:hover .ultra-gallery-counter {
	opacity: 1;
}

/* Custom Thumbnails - zusätzlich zu WooCommerce */
.ultra-thumbs {
	display: flex !important;
	gap: 8px;
	margin-top: 15px;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	padding: 5px 0;
	scrollbar-width: thin;
	border-top: 1px solid #eee;
	padding-top: 15px;
	white-space: nowrap;
	flex-wrap: nowrap !important;
	width: auto; /* Nicht 100% damit es das Hauptbild nicht überlagert */
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.ultra-thumbs::-webkit-scrollbar {
	height: 6px;
}

.ultra-thumbs::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

.ultra-thumbs::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 3px;
}

.ultra-thumbs::-webkit-scrollbar-thumb:hover {
	background: #a1a1a1;
}

.ultra-thumb {
	flex-shrink: 0 !important;
	border: 2px solid transparent;
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	transition: all 0.2s;
	background: none;
	padding: 0;
	opacity: 0.7;
	min-width: 80px; /* Verhindert Zusammenquetschen */
}

.ultra-thumb img {
	display: block;
	width: 80px !important;
	height: 80px !important;
	object-fit: cover;
}

.ultra-thumb:hover,
.ultra-thumb.is-active {
	border-color: #333;
	opacity: 1;
	transform: scale(1.02);
}

/* WooCommerce Thumbnails verstecken, da wir eigene haben */
.woocommerce-product-gallery ol.flex-control-thumbs {
	display: none !important;
}

/* Mobile Swipe Hint */
.ultra-swipe-hint {
	text-align: center;
	margin-top: 10px;
	color: #666;
	font-size: 12px;
	opacity: 0.7;
}

/* Mobile Responsive */
@media (max-width: 768px) {
	.ultra-gallery-nav {
		display: none;
	}
	
	.ultra-gallery-counter {
		opacity: 1 !important;
		top: 10px;
		left: 10px;
	}
	
	.ultra-swipe-overlay {
		pointer-events: all !important;
		background: transparent;
		z-index: 1; /* Niedriger auf Mobile damit WC Gallery funktioniert */
	}
	
	.ultra-thumb img {
		width: 70px !important;
		height: 70px !important;
	}
	
	.ultra-thumb {
		min-width: 70px !important;
	}
	
	.ultra-thumbs {
		padding-right: 20px; /* Extra Platz am Ende */
		max-width: 80vw; /* Mobile: Begrenzung damit es nicht aus Container bricht */
		width: 100%; /* Mobile: Volle verfügbare Breite nutzen */
	}
	
	.ultra-swipe-hint {
		display: block;
	}
	
	/* Wishlist Button auf Mobile anpassen */
	.ultra-product-wishlist {
		top: 10px;
		right: 10px;
	}
}

@media (min-width: 769px) {
	.ultra-swipe-hint {
		display: none;
	}
	
	/* Desktop: Swipe aktivieren aber niedriger z-index für WC Funktionen */
	.ultra-swipe-overlay {
		pointer-events: none !important; /* Desktop: Overlay deaktiviert damit WC Gallery sichtbar */
		z-index: 1;
	}
	
	/* Desktop: Thumbnails mit Maus-Drag-Scroll - BEGRENZTE BREITE */
	.ultra-thumbs {
		cursor: grab;
		max-width: 600px; /* Desktop: Begrenzte Breite damit Hauptbild sichtbar bleibt */
		width: auto; /* Nicht 100% damit es das Hauptbild nicht überlagert */
	}
	
	.ultra-thumbs:active,
	.ultra-thumbs.dragging {
		cursor: grabbing;
	}
}

/* Wishlist Button angepasst - rechts oben */
.ultra-product-wishlist {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 6;
}

/* ========================================
   MOBILE FIXES FÜR PRODUKTDETAILSEITE
   Spezifisch für Printful-Integration mit Swiper-Grid System
   ======================================== */

/* 1. GLOBAL OVERFLOW PREVENTION */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. PRODUKTDETAILSEITE CONTAINER FIXES */
@media (max-width: 768px) {
  
  /* Main Product Container */
  .woocommerce div.product {
    max-width: 100vw !important;
    padding: 0 clamp(8px, 2vw, 16px) !important;
    overflow-x: hidden !important;
    margin: 0 auto !important;
  }
  
  /* Summary/Content Bereich */
  .summary.entry-summary {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    padding: 0 !important;
  }
  
  /* Produkttitel */
  .product_title.entry-title {
    font-size: clamp(18px, 4vw, 24px) !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* 3. GALLERY SYSTEM FIXES */
@media (max-width: 768px) {
  
  /* Enhanced Gallery Container */
  .woocommerce-product-gallery.ultra-enhanced-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  
  /* Gallery Main Container */
  .ultra-gallery-main {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
  }
  
  /* Gallery Wrapper */
  .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  
  /* Gallery Images */
  .ultra-zoom-wrap,
  .ultra-zoom-wrap img,
  .woocommerce-product-gallery__wrapper img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
  
  /* Thumbnails Container */
  .ultra-thumbs {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    padding: 8px 0 !important;
    margin: 8px 0 !important;
  }
  
  .ultra-thumb {
    flex-shrink: 0 !important;
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
  }
}

/* 4. SLIDER SECTIONS FIXES - Das ist der kritische Teil! */
@media (max-width: 768px) {
  
  /* Section Container */
  .ultra-product-section {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    margin: 20px 0 !important;
    padding: 20px 0 !important;
  }
  
  /* Container Inner */
  .ultra-product-section .container {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    padding: 0 16px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  
  /* Swiper Container - Zu Grid konvertiert */
  .ultra-product-slider.swiper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Swiper Wrapper - Als Grid */
  .ultra-product-slider .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Swiper Slides - Als Grid Items */
  .ultra-product-slider .swiper-slide {
    width: auto !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Cards in Slides */
  .ultra-product-slider .swiper-slide .ultra-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 6px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Ab dem 5. Slide verstecken (wie im Original CSS) */
  .ultra-product-slider .swiper-slide:nth-child(n+5) {
    display: none !important;
  }
}

/* 5. RECENT PRODUCTS SECTION FIXES */
@media (max-width: 768px) {
  
  .ultra-recent {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    padding: 0 16px !important;
    margin: 20px 0 !important;
    box-sizing: border-box !important;
  }
  
  .ultra-recent .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .ultra-recent ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }
  
  .ultra-recent .ultra-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 6px !important;
    box-sizing: border-box !important;
  }
}

/* 6. VARIATIONS FORM FIXES */
@media (max-width: 768px) {
  
  .variations_form.cart {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* Swatches Container */
  .ultra-swatches {
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  
  .ultra-swatch {
    flex-shrink: 0 !important;
    min-width: 40px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
  }
  
  /* Cart Form */
  .woocommerce-variation-add-to-cart {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  
  .single_add_to_cart_button {
    flex: 1 !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* 7. TABS FIXES */
@media (max-width: 768px) {
  
  .woocommerce-tabs {
    width: 100% !important;
    max-width: 100vw !important;
    margin: 20px 0 !important;
    overflow: hidden !important;
  }
  
  .woocommerce-tabs ul.tabs {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    display: flex !important;
    flex-wrap: nowrap !important;
  }
  
  .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  
  .woocommerce-tabs ul.tabs li a {
    white-space: nowrap !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
  }
}

/* 8. GLOBALE CARD FIXES - Für alle Cards (nicht nur Slider) */
@media (max-width: 768px) {
  
  /* ALLE Cards - Globale Höhen-Fixes */
  .product-card,
  .ultra-card,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 280px !important;
  }
  
  /* Card Media bleibt oben */
  .ultra-card__media {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }
  
  .ultra-card__img {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .ultra-card__img img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
  }
  
  /* Card Body nimmt restlichen Platz */
  .ultra-card__body {
    padding: 6px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
  }
  
  /* Titel oben im Body */
  .ultra-card__title {
    font-size: 0.85rem !important;
    line-height: 1.2 !important;
    margin: 4px 0 6px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    flex-shrink: 0 !important;
  }
  
  /* Mini Description (falls vorhanden) */
  .ultra-card__mini {
    font-size: 0.75rem !important;
    margin: 0 0 6px !important;
    flex-shrink: 0 !important;
  }
  
  /* Buy Section unten fixiert */
  .ultra-card__buy {
    gap: 6px !important;
    margin-top: auto !important;
    padding-top: 8px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  
  .ultra-card__price {
    flex: 1 !important;
  }
  
  .ultra-card__cta {
    flex-shrink: 0 !important;
  }
  
  .ultra-card__cta .button {
    padding: 0.3rem 0.5rem !important;
    font-size: 0.7rem !important;
    min-height: 28px !important;
    white-space: nowrap !important;
  }
}

/* 9. GRID CONTAINER FIXES - Für alle Grid-Layouts */
@media (max-width: 768px) {
  
  /* Standard Product Grids */
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
  }
  
  /* Grid Items strecken sich */
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
  }

/* 9. SEHR KLEINE MOBILE SCREENS */
@media (max-width: 480px) {
  
  .woocommerce div.product {
    padding: 0 8px !important;
  }
  
  .ultra-product-section .container {
    padding: 0 8px !important;
  }
  
  /* Grid zu Einzelspalte auf sehr kleinen Screens */
  .ultra-product-slider .swiper-wrapper,
  .ultra-recent ul.products {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  
  .ultra-card__cta .button {
    padding: 0.25rem 0.4rem !important;
    font-size: 0.65rem !important;
    min-height: 26px !important;
  }
  
  .ultra-card__mini {
    display: none !important;
  }
}

/* 10. EMERGENCY OVERFLOW FIXES */
@media (max-width: 768px) {
  
  /* Alle Container auf Viewport begrenzen */
  * {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  
  /* Spezifische Overflow-Verhinderer */
  img, video, iframe, embed, object {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Flexbox und Grid Sicherheit */
  .swiper-wrapper,
  .ultra-swipe-track,
  .woocommerce ul.products,
  .products {
    min-width: 0 !important;
  }
  
  /* Text-Wrapping erzwingen */
  h1, h2, h3, h4, h5, h6,
  p, span, div, a,
  .ultra-card__title,
  .product_title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
  }
  
  /* Price Wrapping */
  .price,
  .woocommerce-Price-amount {
    word-break: break-word !important;
    white-space: normal !important;
  }
}

/* 11. DEBUG HELPER - Aktivieren zum Testen */
/* 
.debug-mobile * {
  outline: 1px solid red !important;
  outline-offset: -1px !important;
}

.debug-mobile .ultra-product-section {
  background: rgba(255, 0, 0, 0.1) !important;
}

.debug-mobile .swiper-wrapper {
  background: rgba(0, 255, 0, 0.1) !important;
}

.debug-mobile .swiper-slide {
  background: rgba(0, 0, 255, 0.1) !important;
}
*/