/** Shopify CDN: Minification failed

Line 712:10 Expected identifier but found whitespace
Line 712:16 Unexpected "!"

**/
/* =============================================
   CUSTOM OVERRIDES
   ============================================= */

/* Schrift: DM Sans Standard (nicht 9pt-Optical-Size) */
html {
  font-optical-sizing: none;
}

body,
button,
input,
select,
textarea {
  font-family: "DM Sans", sans-serif !important;
  font-weight: 500 !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.heading-font {
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600 !important;
}

.thb-product-detail .product-title {
  font-family: "DM Sans", sans-serif !important;
  font-weight: 500 !important;
}

/* Announcement Bar: Farbe erzwingen */
.announcement-bar {
  background: #00493D !important;
  color: #ffffff !important;
}

/* Announcement Bar: Static USP Layout */
.announcement-bar--static {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  width: 100%;
  flex-wrap: nowrap;
  font-size: 14px;
}
.announcement-bar--static .announcement-bar--item {
  display: inline-flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
}
.announcement-bar--static .announcement-bar--item svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-right: 0;
}
/* Kasten (erste path = Rahmen) ausblenden, nur Haken anzeigen */
.announcement-bar--static .announcement-bar--item svg path:first-child {
  display: none;
}
/* Kurztext-Umschaltung: Desktop = lang, Mobile = kurz */
.announcement-bar--text-short {
  display: none;
}
@media only screen and (max-width: 767px) {
  .announcement-bar--inner {
    padding: 0 10px !important;
  }
  /* Mittleren USP ("Versand oder Abholung") auf Mobile ausblenden */
  .announcement-bar--static .announcement-bar--item:nth-child(2) {
    display: none;
  }
  .announcement-bar--static {
    gap: 10px;
    justify-content: center;
    font-size: 14px;
  }
  .announcement-bar--static .announcement-bar--item svg {
    width: 20px;
    height: 20px;
    margin-right: 0;
  }
  /* Auf Mobile Kurztext statt Langtext */
  .announcement-bar--text-full {
    display: none;
  }
  .announcement-bar--text-short {
    display: inline;
  }
}

/* Desktop: Suchleiste horizontal zentriert im Header */
@media only screen and (min-width: 1068px) {
  .header.style5 .header--inner {
    position: relative;
  }
  .header.style5 .thb-secondary-area .searchform {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    z-index: 10;
    /* Etwas schmaler als zuvor (440px), damit die rechte Seite mit Beratung
       und den drei Icons mehr Luft bekommt. */
    width: 380px;
    max-width: calc(100% - 780px);
  }

  /* Header-Icons minimal kleiner (vorher 20px), gleiches Seitenverhältnis. */
  .header.style5 .thb-secondary-area-item svg {
    height: 18px;
    width: auto;
  }

  /* Das Herz ist eine Kontur und wirkt bei gleicher Höhe optisch größer als
     die gefüllten Icons daneben – deshalb etwas kleiner. */
  .header.style5 .thb-secondary-wishlist svg {
    height: 16px;
  }
}

/* Mobile: Such-Icon ausblenden, da Suchleiste immer sichtbar */
@media only screen and (max-width: 1067px) {
  .thb-quick-search--mobile-only {
    display: none !important;
  }
}

/* Mobile: Suchleiste immer ausgeklappt unterhalb der Header-Leiste */
.header-mobile-search {
  grid-column: 1 / -1;
  padding: 0 0 10px;
}
.header-mobile-search .searchform {
  display: block !important;
  width: 100%;
  margin: 0;
}
@media only screen and (min-width: 1068px) {
  .header-mobile-search {
    display: none;
  }
}

/* Mobile: iOS Auto-Zoom beim Fokus des Suchfelds verhindern (font-size >= 16px) */
@media only screen and (max-width: 1067px) {
  .header .searchform .search-field,
  .header-mobile-search .search-field {
    font-size: 16px;
  }

  /* Einheitliches Grid-Layout: geschlossen und offen gleich, damit nichts springt */
  .header-mobile-search .searchform--form {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto;
    align-items: stretch;
    position: relative;
    width: 100%;
  }

  .header-mobile-search .searchform--form .search-field-wrap {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: stretch;
    position: relative;
    flex: 1;
    min-width: 0;
    width: 100%;
    background-color: rgba(var(--color-header-text-rgb, --color-body-rgb), 0.07);
    border-radius: var(--input-border-radius, 6px);
    overflow: hidden;
  }

  .header-mobile-search .searchform--form .search-field-wrap .search-field {
    flex: 1;
    min-width: 0;
    width: auto;
    height: 44px;
    padding-right: 8px;
    border-radius: 0;
    background-color: transparent !important;
    box-shadow: none !important;
    transition:
      height 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      border-radius 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      background-color 0.35s ease,
      box-shadow 0.35s ease,
      border-color 0.35s ease;
  }

  .header-mobile-search .search-field-wrap:focus-within {
    box-shadow: inset 0 0 0 1px var(--color-header-text, --color-body);
  }

  /* Nur Placeholder-Text ausfaden — graue Leiste bleibt voll sichtbar */
  .header-mobile-search .search-field:placeholder-shown {
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 58%, transparent 84%);
    mask-image: linear-gradient(to right, #000 0%, #000 58%, transparent 84%);
  }

  .header-mobile-search .search-field:not(:placeholder-shown) {
    -webkit-mask-image: none;
    mask-image: none;
  }

  .header-mobile-search .search-field:focus {
    background-color: transparent !important;
    box-shadow: none !important;
  }

  body.open-search:not(.open-search--expanded) .header-mobile-search .search-field-wrap {
    background-color: rgba(var(--color-header-text-rgb, --color-body-rgb), 0.07);
  }

  body.open-search:not(.open-search--expanded) .header-mobile-search .search-field-wrap:focus-within {
    box-shadow: inset 0 0 0 1px var(--color-header-text, --color-body);
  }

  .header-mobile-search .searchform--form .search-field-wrap .thb-search-submit {
    position: static !important;
    flex-shrink: 0;
    width: 50px;
    height: 44px;
    background: transparent;
    transition:
      height 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      width 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      opacity 0.25s ease;
  }

  .header-mobile-search .thb-search-back {
    display: inline-flex;
    grid-column: 1;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    width: 0;
    min-width: 0;
    height: 44px;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    color: var(--color-body, #2c2d2e);
    overflow: hidden;
    opacity: 0;
    flex-shrink: 0;
    cursor: pointer;
    pointer-events: none;
    transition:
      width 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      opacity 0.28s ease,
      height 0.42s cubic-bezier(0.32, 0.72, 0, 1);
  }

  .header-mobile-search .thb-search-back svg {
    width: 12px;
    height: auto;
    flex-shrink: 0;
  }

  .header-mobile-search .thb-search-back svg path {
    stroke: var(--color-body, #2c2d2e);
  }
}

/* Mobile: Vollbild-Suche — nahtlose Morph-Animation von Leiste zu Vollbild */
@media only screen and (max-width: 1067px) {
  body.open-search {
    overflow: hidden;
  }

  html:has(body.open-search) {
    overflow: hidden;
  }

  body.open-search .header-mobile-search .searchform {
    touch-action: auto;
  }

  body.open-search .header-mobile-search {
    padding: 0;
  }

  body.open-search .header-mobile-search .searchform {
    position: fixed;
    top: var(--mobile-search-top, var(--announcement-height, 0px));
    left: 0;
    width: 100%;
    height: auto;
    border-radius: 0;
    z-index: 120;
    max-width: none;
    margin: 0;
    overflow: hidden;
    background: var(--color-drawer-bg, #fff);
    transition: none !important;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform {
    top: var(--mobile-search-top, var(--announcement-height, 0px)) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: var(--mobile-search-height, auto) !important;
    /* Die Hoehe kommt aus dem Skript und beschreibt den wirklich sichtbaren
       Bereich. 100dvh ist dafuer unbrauchbar, es liefert je nach Browser mehr
       als das Fenster hoch ist, dann waechst die Suche unten heraus und der
       Knopf Alle Ergebnisse anzeigen wird angeschnitten. Der dvh Wert bleibt
       nur als Rueckfallebene, falls das Skript nicht laeuft. */
    min-height: var(
      --mobile-search-height,
      calc(100dvh - var(--mobile-search-top, var(--announcement-height, 0px)))
    ) !important;
    max-height: var(
      --mobile-search-height,
      calc(100dvh - var(--mobile-search-top, var(--announcement-height, 0px)))
    ) !important;
    border-radius: 0 !important;
    background: var(--color-drawer-bg, #fff);
  }

  body.open-search.open-search--expanded.open-search--keyboard-open .header-mobile-search .searchform {
    min-height: 0 !important;
    max-height: var(--mobile-search-height, none) !important;
  }

  /* Volle weiße Fläche hinter der Suche — kein Durchblitzen der Seite */
  body.open-search.open-search--expanded .header-mobile-search::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 119;
    background: var(--color-drawer-bg, #fff);
    pointer-events: none;
  }

  body.open-search .announcement-bar-section {
    position: relative;
    z-index: 121;
  }

  body.open-search .header-mobile-search .searchform--click-capture {
    display: none;
  }

  body.open-search .header-mobile-search .searchform--form {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--color-drawer-bg, #fff);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form {
    grid-template-rows: auto minmax(0, 1fr);
  }

  /* Zwischen-<form> muss die Höhe durchreichen, sonst kollabiert die
     Ergebnisliste und nur der Footer-Button bleibt sichtbar. */
  body.open-search.open-search--expanded .header-mobile-search .searchform > form {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  body.open-search.open-search--expanded .header-mobile-search .thb-search-back {
    width: 52px;
    opacity: 1;
    height: 52px;
    pointer-events: auto;
    border-bottom: 1px solid var(--color-border, #d6d6d6);
    background: var(--color-drawer-bg, #fff);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .search-field-wrap {
    background-color: var(--color-drawer-bg, #fff);
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid var(--color-border, #d6d6d6);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .search-field-wrap:focus-within {
    box-shadow: none;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .search-field-wrap .search-field {
    height: 52px;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
    background-color: transparent !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .search-field-wrap .thb-search-submit {
    height: 52px;
    border-bottom: none;
    background-color: transparent;
  }

  body.open-search .header-mobile-search .searchform--form .thb-predictive-search {
    grid-column: 1 / -1;
    grid-row: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: none !important;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    max-height: none !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--color-drawer-bg, #fff);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    touch-action: auto;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search scroll-shadow,
  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .side-panel-content--inner {
    touch-action: pan-y;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search[inert] {
    display: none;
  }

  /* Ergebnisliste: scroll-shadow füllt den Platz, inner scrollt absolut darin */
  body.open-search.open-search--expanded .header .searchform--form .thb-predictive-search scroll-shadow,
  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search scroll-shadow {
    display: block !important;
    position: relative !important;
    flex: 1 1 0% !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: var(--color-drawer-bg, #fff);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .side-panel-content--inner {
    position: absolute !important;
    inset: 0;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    padding: 0 16px 12px;
    background: var(--color-drawer-bg, #fff);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .side-panel-content--search-footer {
    flex: 0 0 auto;
    flex-shrink: 0;
    margin-top: 0;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--color-border, #d6d6d6);
    background: var(--color-drawer-bg, #fff);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .side-panel-content--search-footer .search-results-submit,
  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .search-results-submit--mobile {
    display: block;
    width: 100%;
    margin: 0;
    padding: 14px 20px;
    border: none;
    border-radius: 8px;
    background: var(--color-accent, #f0c417);
    color: var(--color-accent-text, #2c2d2e);
    font-size: 0.9375rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .side-panel-content--search-footer .search-results-submit:active {
    transform: scale(0.98);
  }

  /* Button-Text lesbar halten: --color-accent-text ist auf diesem Theme leer,
     sonst faellt die Schrift auf ein dunkles Grau zurueck (dunkel auf dunkel). */
  body.open-search .header-mobile-search .thb-predictive-search .search-results-submit,
  body.open-search .header-mobile-search .thb-predictive-search .search-results-submit span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  /* Preis bleibt immer sichtbar — kein Hover-Austausch mit „In den Warenkorb“ */
  body.open-search .header-mobile-search .thb-predictive-search .product-card-small--add-to-cart-button {
    display: none !important;
  }

  body.open-search .header-mobile-search .thb-predictive-search .product-card-small .price,
  body.open-search .header-mobile-search .thb-predictive-search .product-card-small:hover .price,
  body.open-search .header-mobile-search .thb-predictive-search .product-card-small:active .price {
    transform: none !important;
  }

  body.open-search .header-mobile-search .thb-predictive-search .product-card-small--add-to-cart {
    overflow: visible;
  }

  body.open-search.open-search--expanded .header-mobile-search .searchform--form .thb-predictive-search .side-panel-content--tabs {
    flex-shrink: 0;
  }

  @media (prefers-reduced-motion: reduce) {
    body.open-search .header-mobile-search .searchform,
    body.open-search .header-mobile-search .searchform--form .search-field-wrap .search-field,
    body.open-search .header-mobile-search .searchform--form .thb-search-submit,
    body.open-search .header-mobile-search .thb-search-back,
    body.open-search .header-mobile-search .searchform--form .thb-predictive-search {
      transition: none !important;
    }
  }
}

/* Collection list: Abstand zwischen Bild und Unterschrift reduzieren
   (!important, da list-collections.css nach custom.css im Body geladen wird) */
.collection-card.style1 .collection-card--image {
  margin-bottom: 8px !important;
}

/* Collection list: auf Mobile 3 Spalten (Bilder kleiner) */
@media only screen and (max-width: 767px) {
  .collection-grid__grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px 8px !important;
  }
  .collection-grid__grid .collection-card--link {
    font-size: 0.8125rem;
    line-height: 1.2;
  }
}

/* Collection list: Desktop-Abstände reduzieren, damit alle Kacheln (7) in eine Reihe passen */
@media only screen and (min-width: 768px) {
  .collection-grid__grid {
    gap: 16px !important;
  }
  .collection-grid__grid .collection-card--link {
    font-size: 0.9375rem;
  }
}

/* Logo list ("Unsere Marken & Partner"): auf Mobile 3 Spalten */
@media only screen and (max-width: 767px) {
  .logo-list--inner:not(.swipe-on-mobile) {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Header: "Persönliche Beratung"-Hinweis neben der Suche (nur Desktop) */
.header-beratung {
  display: none;
}
@media only screen and (min-width: 1068px) {
  .header-beratung {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-right: 60px;
    white-space: nowrap;
    line-height: 1;
  }
  .header-beratung:hover {
    opacity: 0.9;
  }
  .header-beratung--img {
    height: 38px;
    width: auto;
    display: block;
    border-radius: 0;
  }
  .header-beratung--text {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .header-beratung--title {
    color: #00493D;
    font-weight: var(--font-body-bold-weight, 700);
    font-size: 15px;
    line-height: 1.1;
  }
  .header-beratung--phone {
    color: var(--color-header-text, #2c2d2e);
    font-weight: var(--font-body-medium-weight, 500);
    font-size: 13px;
    line-height: 1.1;
  }
}
/* Auf etwas schmaleren Desktops Bild ausblenden, Text behalten, damit nichts mit der Suche kollidiert */
@media only screen and (min-width: 1068px) and (max-width: 1320px) {
  .header-beratung--img {
    display: none;
  }
}

/* Produktseite: Titel-Größe (!important, da product.css nach custom.css geladen wird) */
.thb-product-detail .product-title {
  font-size: 24px !important;
  line-height: 1.3 !important;
  margin-bottom: 16px !important;
}

/* Preise kräftiger (Shop-weit) */
.price ins .amount,
.price > .amount {
  font-weight: 700 !important;
}

/* Produktseite: Preis (immer 36px, mit und ohne Rabatt) */
.thb-product-detail .product-price-container .price ins .amount {
  font-size: 36px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

/* Produktseite: Trennlinie unter SKU, Abstand zur Preiszeile */
.thb-product-detail .product-title-container .product-sku {
  margin-top: -4px !important;
  margin-bottom: 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--color-border, #d6d6d6) !important;
}
.thb-product-detail .product-title-container .product-price-container {
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 28px !important;
}
.thb-product-detail .product-title-container:not(:has(.product-sku)) .product-price-container {
  border-top: 1px solid var(--color-border, #d6d6d6) !important;
  margin-top: 16px !important;
}

/* Produktseite: MwSt.-Hinweis näher am Preis */
.thb-product-detail .product-title-container {
  margin-bottom: 6px !important;
}
.thb-product-detail .product-title-container + .product--text.style_body {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* Produktseite: Menge + Warenkorb-Button nebeneinander */
.product-quantity-cart-row {
  display: flex;
  gap: 12px;
  align-items: stretch;
  width: 100%;
}
.product-quantity-cart-row .quantity {
  flex: 0 0 112px;
  margin-bottom: 0;
  height: 50px;
  padding: 0 34px;
}
.product-quantity-cart-row .quantity .qty {
  width: 40px;
}
.product-quantity-cart-row .quantity .qty,
.product-quantity-cart-row .quantity .minus,
.product-quantity-cart-row .quantity .plus {
  height: 50px;
  line-height: 50px;
}
.product-quantity-cart-row .single-add-to-cart-button {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  max-width: none;
  padding-left: 18px;
  padding-right: 18px;
}

/* Sticky Warenkorb-Leiste: Preis links, Button rechts, volle Breite unten */
  display: none !important;
}

.product-add-to-cart-sticky {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 35;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  border-radius: 0 !important;
  border: none;
  border-top: 1px solid var(--color-border, #d6d6d6);
  box-shadow: none;
  transform: translateY(calc(100% + 20px)) !important;
}

.product-add-to-cart-sticky.sticky--visible {
  transform: translateY(0) !important;
}

.product-add-to-cart-sticky--inner {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-right: 0 !important;
  min-height: 0 !important;
  text-align: left;
}

.product-add-to-cart-sticky--row {
  display: flex;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding-right: 0;
}

.product-add-to-cart-sticky--inner:has(.product-add-to-cart-sticky--toggle) .product-add-to-cart-sticky--row {
  padding-right: 0;
}

.product-add-to-cart-sticky--title {
  display: none !important;
}

.product-add-to-cart-sticky--price {
  flex: 0 0 auto;
  flex-shrink: 0;
  align-self: center;
  text-align: left;
}

.product-add-to-cart-sticky--price .price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  margin: 0;
}

.product-add-to-cart-sticky--price .price del {
  font-size: 0.75rem;
  line-height: 1.2;
  color: #888;
}

.product-add-to-cart-sticky--price .price del .amount {
  font-weight: 500 !important;
}

.product-add-to-cart-sticky--price .price ins {
  text-decoration: none;
  /* Auf der Produktseite stehen alter und neuer Preis nebeneinander, dort
     erzeugt margin-left den Abstand. Im Sticky-Balken stehen sie untereinander
     - der Einzug wuerde den reduzierten Preis nach rechts versetzen. */
  margin-left: 0;
}

.product-add-to-cart-sticky--price .price ins .amount {
  font-size: 1.375rem;
  line-height: 1.1;
  font-weight: 700 !important;
  color: #2c2d2e;
}

.product-add-to-cart-sticky--price .price ins .amount.discounted,
.product-add-to-cart-sticky--price .price:has(del) ins .amount {
  color: #e93636;
}

.product-add-to-cart-sticky--row > .single-add-to-cart-button {
  flex: 1 1 auto;
  width: auto;
  max-width: none !important;
  min-width: 0;
  min-height: 50px;
  padding: 0 16px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  display: flex !important;
  align-items: center;
  justify-content: center;
  align-self: stretch;
}

.product-add-to-cart-sticky--row > .single-add-to-cart-button .single-add-to-cart-button--text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.product-add-to-cart-sticky--cart-icon {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.product-add-to-cart-sticky--cart-icon svg {
  width: 18px;
  height: auto;
}

.product-add-to-cart-sticky--row > .single-add-to-cart-button .product-add-to-cart-sticky--cart-icon svg path {
  fill: currentColor !important;
}

.product-add-to-cart-sticky--toggle {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--color-border, #d6d6d6);
  border-radius: 50%;
  background: #fff;
  color: var(--color-body, #2c2d2e);
  flex-shrink: 0;
  cursor: pointer;
}

.product-add-to-cart-sticky--toggle.sticky-open {
  transform: translateY(-50%);
}

.product-add-to-cart-sticky--toggle .plus {
  position: static;
  width: 12px;
  height: 12px;
  display: block;
}

.product-add-to-cart-sticky--toggle.sticky-open .plus {
  transform: rotateX(180deg);
}

.product-add-to-cart-sticky--inner:has(.product-add-to-cart-sticky--toggle) .product-add-to-cart-sticky--row > .single-add-to-cart-button {
  padding-right: 44px;
}

.product-add-to-cart-sticky--content {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border, #d6d6d6);
}

@media only screen and (max-width: 767px) {
  .product-add-to-cart-sticky {
    padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  }

  .product-add-to-cart-sticky--price .price ins .amount {
    font-size: 1.25rem;
  }

  .product-add-to-cart-sticky--row > .single-add-to-cart-button {
    font-size: 0.9375rem;
    min-height: 48px;
  }
}
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"] {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
}
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"]:not(.is-visible) {
  display: none !important;
}
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"] quotify-button {
  display: block !important;
  width: 100% !important;
}
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"] .quotify-request-quote-btn,
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"] button {
  width: 100% !important;
  min-height: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  white-space: nowrap;
  background: var(--color-accent, #00493d) !important;
  color: #fff !important;
}
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"] .quotify-request-quote-btn *,
.product-quantity-cart-row > .shopify-app-block[id*="quotify_button"] button * {
  color: #fff !important;
}

/* Produktseite: Abholhinweis ohne Hintergrund, kleiner Haken */
.pickup-availability-wrapper,
.pickup-availability-wrapper[available] {
  background: none !important;
}
.pickup-availability-information {
  padding: 0 !important;
  min-height: 0 !important;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.pickup-availability-information > svg {
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin-top: 2px !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0;
}
.pickup-availability-information-container {
  flex: 1;
  min-width: 0;
}

/* Warenkorb-Aktionen: Teilen + PDF (Cart-Drawer + Warenkorbseite) */
.cart-actions {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.thb-cart-sidebar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.thb-cart-sidebar .thb-cart-collaterals {
  margin-bottom: 0;
}
.thb-cart-sidebar .cart-actions {
  margin-top: 0;
  width: 100%;
}
.thb-cart-sidebar .cart-actions__btn {
  flex: 1 1 0;
  min-width: 0;
}
.cart-actions__btn {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 18px;
  background: #fff;
  border: 1px solid var(--color-border, #d6d6d6);
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.9375rem;
  font-weight: var(--font-body-medium-weight, 500);
  line-height: 1.2;
  color: var(--color-body, #2c2d2e);
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.cart-actions__btn:hover {
  border-color: #00493D;
  color: #00493D;
}
.cart-actions__share.is-copied,
.cart-actions__share.is-copied:hover {
  animation: cart-share-success 2.5s ease forwards;
  color: #00493D;
}
@keyframes cart-share-success {
  0% {
    background-color: #fff;
    border-color: var(--color-border, #d6d6d6);
  }
  10% {
    background-color: #C0E8E2;
    border-color: #C0E8E2;
  }
  65% {
    background-color: #C0E8E2;
    border-color: #C0E8E2;
  }
  100% {
    background-color: #fff;
    border-color: var(--color-border, #d6d6d6);
  }
}
.cart-actions__btn svg {
  flex-shrink: 0;
}
/* Auf schmalen Screens untereinander (nur Cart-Drawer) */
@media only screen and (max-width: 480px) {
  .side-panel .cart-actions {
    flex-direction: column;
  }
}

/* Produktgalerie: Thumbnails links */
.thb-product-detail .product-gallery-container.thumbnails-left .product-image-container .product-images {
  max-width: 100%;
}

/* Produktgalerie Mobile: zentriert & abgerundet (Fullwidth-Modus korrigieren) */
@media only screen and (max-width: 767px) {
  .thb-product-detail .product-gallery-container,
  .thb-product-detail .product-gallery-container .product-image-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .thb-product-detail .product-images--fullwidth-mobile-true {
    margin-left: 0 !important;
    width: 100% !important;
    border-radius: 0 !important;
  }

  .thb-product-detail .product-image-container .product-images .flickity-viewport,
  .thb-product-detail .product-images--fullwidth-mobile-true .flickity-viewport {
    border-radius: calc(var(--block-border-radius, 16px) / 2) !important;
    overflow: hidden;
  }

  .thb-product-detail .product-single__media-image {
    border-radius: calc(var(--block-border-radius, 16px) / 2);
    overflow: hidden;
  }

  .thb-product-detail .product-gallery-container scroll-shadow {
    display: none !important;
  }

  /* Produktseite Mobile: weniger Abstand Breadcrumb → Bild → Badge */
  .template-product .breadcrumbs-section .breadcrumbs {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .template-product .breadcrumbs-section + .section-spacer .spacer {
    height: 10px !important;
  }

  .template-product .thb-product-detail .product-gallery-container {
    margin-bottom: 12px !important;
  }

  .template-product .product-information--inner > div:first-child {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
}

/* Produkt-Tabs: wie Collection-Switcher auf der Startseite */
.template-product .tabbed-content--scroll {
  margin-bottom: 20px;
}

.template-product .tabbed-content--tabs {
  display: block !important;
  text-align: left;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  min-width: 100%;
}

.template-product .tabbed-content--tabs::-webkit-scrollbar {
  display: none;
}

.template-product .tabbed-content--tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  white-space: nowrap;
  font-size: 0.8125rem !important;
  font-weight: var(--font-body-medium-weight, 500);
  line-height: 1;
  height: 31px;
  min-height: 31px;
  margin: 0 10px 2px 0 !important;
  padding: 5px 15px;
  border: none;
  border-radius: var(--button-border-radius, 6px);
  background: rgba(var(--color-body-rgb), 0.05);
  color: rgba(var(--color-body-rgb), 0.8);
  opacity: 1;
  position: relative;
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}

.template-product .tabbed-content--tabs button:after {
  display: none;
}

.template-product .tabbed-content--tabs button:hover,
.template-product .tabbed-content--tabs button.active {
  color: #fff;
  background: var(--color-accent);
}

.template-product .tabbed-content--tabs button svg {
  display: none;
}

.template-product .tabbed-content--tabs.tabs-center button,
.template-product .tabbed-content--tabs.tabs-right button {
  margin: 0 10px 2px 0 !important;
}

/* Produktseite: Infobereich (Preis, Name etc.) etwas breiter */
@media only screen and (min-width: 1068px) {
  .thb-product-detail .product-grid-container {
    grid-template-columns: minmax(44%, 700px) clamp(380px, 48%, calc(var(--grid-width, 1280px) - 40px - 700px)) !important;
  }
}

/* Produktkarten: mehr Abstand zwischen Titel und Preis */
.product-card .product-card-title {
  margin-bottom: 12px;
}

.product-card .price + .product-card-title {
  margin-top: 12px;
  margin-bottom: 0;
}

/* Warenkorb: Lagerbestand + Rabatt pro Position */
.cart-line-item-meta {
  margin-top: 8px;
}
.cart-line-item-meta .product-inventory-notice {
  font-size: 0.8125rem;
  line-height: 1.3;
  margin-bottom: 0;
  color: var(--color-inventory-instock, #279a4b);
}
.cart-line-item-meta .product-inventory-notice--text {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.cart-line-item-meta .product-inventory-notice--pulse {
  display: inline-flex;
  width: 8px;
  height: 8px;
  margin: 0 10px 0 2px;
  position: relative;
  border-radius: 50%;
  background: var(--color-inventory-instock, #279a4b);
  flex-shrink: 0;
}
.cart-line-item-meta .product-inventory-notice--pulse:after {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: var(--color-inventory-instock, #279a4b);
  animation: inventory-pulse 2s ease-out infinite;
}
.cart-line-item-meta .product-inventory-notice--low {
  color: var(--color-inventory-lowstock, #e97f32);
}
.cart-line-item-meta .product-inventory-notice--low .product-inventory-notice--pulse,
.cart-line-item-meta .product-inventory-notice--low .product-inventory-notice--pulse:after {
  background: var(--color-inventory-lowstock, #e97f32);
}

.cart-line-item-subtotal__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.cart-items tbody tr td.product-subtotal .price ins .amount {
  font-size: 1.375rem;
  font-weight: var(--font-body-medium-weight, 600);
  line-height: 1.2;
}
.cart-items tbody tr td.product-subtotal .price--stacked del .amount {
  font-size: 0.875rem;
  font-weight: 400;
  opacity: 0.65;
}
.cart-items tbody tr td.product-subtotal .price--stacked del,
.cart-items tbody tr td.product-subtotal .price--stacked ins {
  display: block;
}
.cart-items tbody tr td.product-subtotal .price--stacked del + ins {
  margin-left: 0;
  margin-top: 2px;
}
.cart-items tbody tr td.product-subtotal .price--stacked .unit-price {
  margin-left: 0;
  margin-top: 4px;
  text-align: right;
}
.cart-line-item-subtotal__badge {
  height: 24px;
  padding: 6px 10px;
}

@keyframes inventory-pulse {
  0% {
    opacity: 0.5;
    transform: scale(0.5);
  }
  to {
    opacity: 0;
    transform: scale(1);
  }
}

/* Suchergebnisseite: Suchbegriff + X links, Anzahl rechts */
.template-header--search-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}

.template-header--search-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  min-width: 0;
}

.template-header--search-term {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.template-header--search-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-body, #2c2d2e);
  cursor: pointer;
}

.template-header--search-clear svg {
  width: 14px;
  height: 14px;
}

.template-header--search-count {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: rgba(var(--color-body-rgb, 44, 45, 46), 0.55);
}

.template-header--search-count .facets__label {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

.thb-filter-count--search-hidden {
  display: none !important;
}

/* Quotify Sticky-Angebots-Button: kompakt & gerade, oben rechts unter Header + Mobile-Nav */
.quotify-sticky-cart-btn {
  position: fixed !important;
  top: var(
    --quotify-sticky-top,
    calc(var(--announcement-height, 0px) + var(--header-height, 136px) + 40px - 3px)
  ) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  border-radius: 0 0 0 12px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 12px 18px !important;
  z-index: 29 !important;
  background: var(--color-accent, #00493d) !important;
  color: #fff !important;
}
@media only screen and (min-width: 768px) {
  .quotify-sticky-cart-btn {
    top: var(
      --quotify-sticky-top,
      calc(var(--announcement-height, 0px) + var(--header-height, 136px))
    ) !important;
  }
}
.quotify-sticky-cart-btn * {
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  color: #fff !important;
}

/* Hamburger-Menue (oben links): Balken breiter + dicker, weiter auseinander,
   und beim Oeffnen ein sauber mittig zentriertes X.
   Zentrierte Rotation (transform-origin:center) + translateY(=Abstand) laesst
   beide Diagonalen exakt im Box-Zentrum kreuzen. */
.mobile-toggle span {
  width: 24px !important;
  height: 2px !important;
  left: 12px !important;
  transform-origin: center center !important;
}
.mobile-toggle span:nth-child(1) { top: 15px !important; }
.mobile-toggle span:nth-child(2) { top: 23px !important; }
.mobile-toggle span:nth-child(3) { top: 31px !important; }

.js .mobile-toggle-wrapper[open].active .mobile-toggle span:nth-child(1),
.no-js .mobile-toggle-wrapper[open] .mobile-toggle span:nth-child(1) {
  transform: translateY(8px) rotate(45deg) !important;
}
.js .mobile-toggle-wrapper[open].active .mobile-toggle span:nth-child(2),
.no-js .mobile-toggle-wrapper[open] .mobile-toggle span:nth-child(2) {
  opacity: 0 !important;
}
.js .mobile-toggle-wrapper[open].active .mobile-toggle span:nth-child(3),
.no-js .mobile-toggle-wrapper[open] .mobile-toggle span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg) !important;
}

/* Mobile: Hamburger (links) und Warenkorb (rechts) etwas nach innen ruecken,
   damit mehr Abstand zum jeweiligen Bildschirmrand entsteht. Nur Mobile-Header. */
@media only screen and (max-width: 1067px) {
  .mobile-toggle {
    margin-left: -5px !important; /* vorher -15px -> ~10px weiter innen */
  }
  .thb-secondary-area.thb-header-right {
    margin-right: 8px !important;
  }
}

/* Angebotsprodukte (Quotify): In der Sticky-Leiste ersetzt "Angebot anfragen" den
   Warenkorb-Button. Der Preis daneben ist bereits ueber quotify-hide-price-<id>
   ausgeblendet, sodass unten weder Preis noch Kauf-Weg auftauchen. */
.product-add-to-cart-sticky--row > .single-add-to-cart-button[hidden] {
  display: none !important;
}
.product-add-to-cart-sticky--quote {
  white-space: nowrap;
}

/* eTrusted Bewertungs-Widget im Warenkorb, unter der Bezahlen-Spalte */
.cart-trust-widget {
  margin-top: 4px;
  width: 100%;
}
.cart-trust-widget etrusted-widget {
  display: block;
  width: 100%;
}

/* Header faehrt beim Runterscrollen aus dem Bild und beim Hochscrollen zurueck.
   Geschaltet wird die Klasse in header.js, der sticky Teil ist der Section
   Wrapper .header-section, nicht das Header Element darin. */
.header-section {
  transition: transform 0.3s ease;
  will-change: transform;
}
.header-section.header-scrolled-away {
  transform: translateY(-100%);
}
@media (prefers-reduced-motion: reduce) {
  .header-section {
    transition: none;
  }
}

/* Zusaetzliche Hoehenstufe fuer den Slider. Das Theme kennt ab Werk nur
   450, 550, 650 und 750. Michel wollte 500. */
@media only screen and (min-width: 768px) {
  .desktop-height-500 {
    min-height: 500px;
  }
}

/* Slider: Inhalte naeher an die Bildkante. Der Standard des Themes sind 50 px
   rundum, das schiebt Ueberschrift und Text unnoetig weit in die Flaeche. */
@media only screen and (min-width: 768px) {
  .main-slideshow .slideshow__slide-content {
    padding-left: 30px;
  }
}

/* Slider: sekundaerer Button als reiner Text. Kein Rahmen, keine Flaeche,
   Unterstreichung zieht bei Hover von links auf. Werte sind dieselben wie im
   Hauptmenue (.thb-full-menu--link) und in der USP Leiste. */
.slideshow__slide-content .button.link {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  height: auto;
  color: var(--color-text, #f7f7f7);
  position: relative;
  align-self: flex-start;
}
.slideshow__slide-content .button.link:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  will-change: transform;
  transform: scale(0, 1);
  transform-origin: left center;
  background: currentColor;
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.slideshow__slide-content .button.link:hover,
.slideshow__slide-content .button.link:focus-visible {
  background: none;
  color: var(--color-text, #f7f7f7);
}
.slideshow__slide-content .button.link:hover:after,
.slideshow__slide-content .button.link:focus-visible:after {
  transform: scale(1, 1);
}

/* Steuerhinweis im Warenkorb, sitzt ueber der Summen-Box in der rechten Spalte.
   Die Box selbst hat 40px Abstand nach unten, der Hinweis haengt mit 10px direkt
   darueber, damit beide optisch zusammengehoeren. */
.cart-tax-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 10px;
  padding: 12px 16px;
  border-radius: var(--block-border-radius, 16px);
  background: rgba(var(--color-accent-rgb), 0.07);
  color: var(--color-accent);
  font-size: 0.8125rem;
  line-height: 1.4;
}
.cart-tax-note__icon {
  flex: 0 0 auto;
  /* Icon auf die erste Textzeile ausrichten statt auf die Oberkante */
  margin-top: 1px;
}
