/* =========================================================
   Fesselliebe Branding 1.14.4 – authoritative final storefront fixes
   Loaded at priority 5000, intentionally after Fesselliebe Customizer (1000).
   ========================================================= */

/* ---------------------------------------------------------
   1. Hummingbird light/basic buttons
   Hummingbird login renders "Passwort vergessen?" as .btn.btn-basic.
   Never allow Bootstrap's pale --bs-btn-color on a white/basic button.
   --------------------------------------------------------- */
.btn.btn-basic,
a.btn.btn-basic,
button.btn.btn-basic,
#authentication #login-form .buttons-wrapper .btn-basic,
#authentication .buttons-wrapper--split .btn-basic,
body#authentication a.btn-basic {
  --bs-btn-color: #111111 !important;
  --bs-btn-hover-color: #000000 !important;
  --bs-btn-active-color: #000000 !important;
  --bs-btn-border-color: #b9b9b9 !important;
  --bs-btn-hover-border-color: #ffffff !important;
  --bs-btn-bg: #f4f3ef !important;
  --bs-btn-hover-bg: #ffffff !important;
  --bs-btn-active-bg: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background: #f4f3ef !important;
  border-color: #b9b9b9 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.btn.btn-basic:hover,
.btn.btn-basic:focus,
.btn.btn-basic:focus-visible,
a.btn.btn-basic:hover,
a.btn.btn-basic:focus-visible,
button.btn.btn-basic:hover,
button.btn.btn-basic:focus-visible {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background: #ffffff !important;
  border-color: #ffffff !important;
}

/* Other genuinely light controls: keep dark ink even when the generic .btn
   token is changed by Bootstrap/Hummingbird or the design customizer. */
.btn-light,
.btn-white,
.btn.bg-white,
.btn.bg-light,
.bw-btn--light,
[style*="background: white"].btn,
[style*="background:#fff"].btn,
[style*="background: #fff"].btn {
  --bs-btn-color: #111111 !important;
  --bs-btn-hover-color: #000000 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  text-shadow: none !important;
}

/* ---------------------------------------------------------
   2. Mobile category listing – final contrast/cascade owner
   The geometry was not the remaining defect: Hummingbird listing controls
   and product links were still winning the color cascade on some devices.
   --------------------------------------------------------- */
@media (max-width: 767.98px) {
  body#category #main,
  body#category #js-product-list-header,
  body#category #products,
  body#category #js-product-list,
  body#category #js-product-list-top,
  body#category .bw-listing-tools,
  body#category .products__selection,
  body#category .product-miniature__bottom,
  body#category .product-miniature__infos,
  body#category .product-miniature__actions {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
  }

  /* Toolbar / sort / result count. */
  body#category #js-product-list-top,
  body#category #js-product-list-top .products__selection,
  body#category .bw-listing-tools,
  body#category .bw-listing-tools__bar {
    color: #f4f3ef !important;
    background-color: #121212 !important;
  }
  body#category #js-product-list-top .products__count,
  body#category #js-product-list-top .products__count span,
  body#category .bw-listing-tools__count,
  body#category .bw-listing-tools__count span,
  body#category .products__sort,
  body#category .products__sort-label,
  body#category .products__sort-label span {
    color: #f4f3ef !important;
    -webkit-text-fill-color: #f4f3ef !important;
    opacity: 1 !important;
  }
  body#category .products__sort-dropdown-button,
  body#category .dropdown-toggle.products__sort-dropdown-button,
  body#category .products-sort-order .select-title,
  body#category .bw-listing-tools button,
  body#category .bw-listing-tools .btn {
    color: #f4f3ef !important;
    -webkit-text-fill-color: #f4f3ef !important;
    background: #171717 !important;
    border-color: #747474 !important;
    opacity: 1 !important;
  }
  body#category .products__sort-dropdown-button *,
  body#category .products-sort-order .select-title * {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
  }
  body#category .products__sort-dropdown .dropdown-menu,
  body#category .products-sort-order .dropdown-menu {
    background: #171717 !important;
    border: 1px solid #747474 !important;
  }
  body#category .products__sort-dropdown .dropdown-item,
  body#category .products-sort-order .dropdown-item {
    color: #f4f3ef !important;
    -webkit-text-fill-color: #f4f3ef !important;
    background: transparent !important;
  }
  body#category .products__sort-dropdown .dropdown-item:hover,
  body#category .products__sort-dropdown .dropdown-item:focus,
  body#category .products-sort-order .dropdown-item:hover,
  body#category .products-sort-order .dropdown-item:focus {
    color: #ffffff !important;
    background: #292929 !important;
  }

  /* Product information. The product name itself is an <a> carrying
     .product-miniature__title in Hummingbird, so set it directly. */
  body#category #products .product-miniature__bottom,
  body#category #products .product-miniature__infos {
    color: #f4f3ef !important;
    background: #1d1d1d !important;
  }
  body#category #products a.product-miniature__title,
  body#category #products .product-miniature__title,
  body#category #products .product-miniature__title:link,
  body#category #products .product-miniature__title:visited,
  body#category #products .product-miniature .product-title,
  body#category #products .product-miniature .product-title a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    text-decoration: none !important;
  }
  body#category #products .product-miniature__price,
  body#category #products .product-miniature__prices,
  body#category #products .product-miniature .price,
  body#category #products .product-price-and-shipping {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
  }
  body#category #products .product-miniature__regular-price,
  body#category #products .product-miniature .text-muted,
  body#category #products .product-miniature small,
  body#category #products .product-miniature .comments-note,
  body#category #products .product-miniature .grade-stars + span {
    color: #d2cfc9 !important;
    -webkit-text-fill-color: #d2cfc9 !important;
    opacity: 1 !important;
  }
  body#category #products .product-miniature__details,
  body#category #products a.product-miniature__details {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #a5a5a5 !important;
    background: #1d1d1d !important;
  }
  body#category #products .product-miniature__details:hover,
  body#category #products .product-miniature__details:focus-visible {
    color: #ffffff !important;
    background: #292929 !important;
    border-color: #ffffff !important;
  }

  /* Keep one clean mobile width owner. No viewport translations remain. */
  body#category .bw-category-container,
  body#category .bw-category-container > .row,
  body#category #center-column,
  body#category #main,
  body#category #js-product-list-header,
  body#category #products,
  body#category #js-product-list,
  body#category #products .products {
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   Fesselliebe v2.3.8 — category hero mobile interaction + height
   The decorative overlay must never become an interaction layer.
   Keep it visual-only and clipped by the hero.
   ========================================================= */
.bw-category-hero__overlay {
  pointer-events: none !important;
  user-select: none !important;
  touch-action: none !important;
}

@media (max-width: 767.98px) {
  body#category .bw-category-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: 205px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-bottom: 12px !important;
  }

  body#category .bw-category-hero__media,
  body#category .bw-category-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  body#category .bw-category-hero__media {
    z-index: 0 !important;
  }

  body#category .bw-category-hero__overlay {
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body#category .bw-category-hero__content {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 18px 18px !important;
    align-self: center !important;
    transform: translateY(-6px) !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
  }

  body#category .bw-category-hero h1 {
    margin: 8px 0 8px !important;
    font-size: clamp(2.45rem, 13vw, 4rem) !important;
    line-height: .92 !important;
  }

  body#category .bw-category-hero__description {
    margin-top: 8px !important;
    font-size: .9rem !important;
    line-height: 1.45 !important;
  }

  /* Ensure the next controls/list always establish their own stacking level
     above any browser compositing artefact from the hero. */
  body#category #js-product-list-top,
  body#category .bw-listing-tools,
  body#category #products,
  body#category #js-product-list {
    position: relative !important;
    z-index: 3 !important;
  }
}

/* =========================================================
   Fesselliebe v2.3.9 — centered category product media on wider mobile
   Keep the real image centered inside the white media column on
   phones and small tablets, regardless of intrinsic image sizing.
   ========================================================= */
@media (max-width: 991.98px) {
  body#category #products .product-miniature__top,
  body#category #products .product-miniature .thumbnail-top,
  body#category #products .product-miniature .product-thumbnail,
  body#category #products .product-miniature__image-container,
  body#category #products .product-miniature__image-link,
  body#category #products .product-miniature .product-thumbnail a,
  body#category #products .product-miniature .product-thumbnail picture {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-align: center !important;
    background: #ffffff !important;
  }

  body#category #products .product-miniature__top img,
  body#category #products .product-miniature__image,
  body#category #products .product-miniature .product-thumbnail img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: calc(100% - 16px) !important;
    height: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    max-height: calc(100% - 16px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: auto !important;
    padding: 0 !important;
    float: none !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    translate: none !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    transform-origin: center center !important;
    background: #ffffff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
}


/* =========================================================
   Fesselliebe v2.3.10 — product media fills and centers the full
   white mobile category image column.
   The nested Hummingbird image link/picture must not collapse
   to its intrinsic image width. The actual artwork is enlarged
   slightly to compensate for white margins inside source files.
   ========================================================= */
@media (max-width: 991.98px) {
  body#category #products .product-miniature__top,
  body#category #products .product-miniature .thumbnail-top,
  body#category #products .product-miniature .product-thumbnail,
  body#category #products .product-miniature__image-container {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 188px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  body#category #products a.product-miniature__image-link,
  body#category #products a.product-miniature__image-link.outline,
  body#category #products a.product-miniature__image-link.outline--rounded,
  body#category #products .product-miniature .product-thumbnail > a,
  body#category #products .product-miniature .product-thumbnail picture,
  body#category #products .product-miniature__image-container > picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body#category #products .product-miniature__top img,
  body#category #products img.product-miniature__image,
  body#category #products .product-miniature .product-thumbnail img {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 126% !important;
    height: 126% !important;
    min-width: 126% !important;
    max-width: none !important;
    min-height: 126% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate(-50%, -50%) !important;
    translate: none !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    transform-origin: 50% 50% !important;
    background: #ffffff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
}

/* Slightly more visual weight on wider phones / small tablets. */
@media (min-width: 430px) and (max-width: 991.98px) {
  body#category #products .product-miniature__top img,
  body#category #products img.product-miniature__image,
  body#category #products .product-miniature .product-thumbnail img {
    width: 132% !important;
    height: 132% !important;
    min-width: 132% !important;
    min-height: 132% !important;
  }
}

/* =========================================================
   Fesselliebe v2.3.12 — stable compact header + reliable menu
   The child theme now owns the header structure. No display:contents is used,
   so Hummingbird/ps_mainmenu keep real containing blocks for JS and popovers.
   ========================================================= */

/* ---------------------------------------------------------
   Header shell
   Desktop row 1: logo | contact | search | account/cart
   Desktop row 2: categories across the full viewport width
   --------------------------------------------------------- */
#header {
  overflow: visible !important;
  background: #09090b !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
}
#header .fl-header-shell,
#header .fl-header-shell__container,
#header .fl-header-shell__row,
#header .ps-mainmenu--desktop,
#header #_desktop_top_menu,
#header #top-menu {
  overflow: visible !important;
}

@media (min-width: 992px) {
  :root { --bw-header-height: 132px; }

  #header .fl-header-shell {
    min-height: 112px !important;
    background: #0b0b0d !important;
    border-bottom: 0 !important;
  }
  #header .fl-header-shell__container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #header .fl-header-shell__row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(148px, 184px) minmax(88px, .7fr) minmax(250px, 370px) max-content;
    grid-template-rows: 62px 50px;
    grid-template-areas:
      "logo contact search actions"
      "nav nav nav nav";
    align-items: center !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: var(--bw-max, 1440px) !important;
    min-height: 112px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
  }

  #header .fl-header-shell__logo {
    grid-area: logo;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 0 18px 0 0 !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  #header .fl-header-shell__logo h1 { margin: 0 !important; line-height: 0 !important; }
  #header .fl-header-shell__logo img,
  #header #_desktop_logo img {
    display: block !important;
    width: auto !important;
    max-width: 158px !important;
    max-height: 39px !important;
    object-fit: contain !important;
  }

  #header .fl-header-shell__contact {
    grid-area: contact;
    width: auto !important;
    min-width: 0 !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  #header .fl-header-shell__contact > * { margin: 0 !important; min-width: 0 !important; }
  #header .fl-header-shell__contact a,
  #header .ps-contactinfo a {
    color: #d6d2cd !important;
    font-size: .72rem !important;
    font-weight: 750 !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  #header .fl-header-shell__row > #_desktop_ps_searchbar,
  #header .fl-header-shell__row > .ps-searchbar,
  #header .fl-header-shell__row > .search-widget {
    grid-area: search;
    width: 100% !important;
    max-width: 370px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    justify-self: stretch !important;
  }
  #header #_desktop_ps_searchbar .ps-searchbar__form,
  #header #_desktop_ps_searchbar form,
  #header .fl-header-shell__row > .search-widget form {
    width: 100% !important;
    margin: 0 !important;
  }
  #header #_desktop_ps_searchbar .ps-searchbar__input,
  #header #_desktop_ps_searchbar input[type="search"],
  #header .fl-header-shell__row > .search-widget input[type="text"] {
    width: 100% !important;
    max-width: none !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    background: #151518 !important;
    color: #fff !important;
    border: 1px solid #49494e !important;
    box-shadow: none !important;
  }

  #header .fl-header-shell__actions {
    grid-area: actions;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    white-space: nowrap !important;
  }
  #header .fl-header-shell__actions > * {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }
  #header .fl-header-shell__actions .header-block__action-btn {
    min-height: 40px !important;
    height: 40px !important;
    padding: 6px 8px !important;
    border: 1px solid transparent !important;
    color: #e6e2de !important;
    font-size: .76rem !important;
  }
  #header .fl-header-shell__actions .header-block__action-btn:hover,
  #header .fl-header-shell__actions .header-block__action-btn:focus-visible {
    background: #17171a !important;
    border-color: #3b3b40 !important;
    color: #fff !important;
  }

  /* Native ps_mainmenu remains a real DOM block; only place it in the second row. */
  #header .fl-header-shell__row > .ps-mainmenu--desktop,
  #header .fl-header-shell__row > #_desktop_top_menu,
  #header .fl-header-shell__row > .menu.js-top-menu {
    grid-area: nav;
    position: relative !important;
    z-index: 1080 !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 max(24px, calc((100vw - var(--bw-max, 1440px)) / 2 + 24px)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: stretch !important;
    background: #111114 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    box-sizing: border-box !important;
  }

  #header .ps-mainmenu__tree,
  #header #top-menu.top-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: clamp(8px, 1.25vw, 26px) !important;
    list-style: none !important;
  }
  #header .ps-mainmenu__tree-item,
  #header .ps-mainmenu__tree-item-wrapper,
  #header #top-menu.top-menu > li {
    position: relative !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  #header .ps-mainmenu__tree-item-wrapper,
  #header #top-menu.top-menu > li {
    display: flex !important;
    align-items: stretch !important;
  }
  #header .ps-mainmenu__tree-link,
  #header #top-menu.top-menu > li > a {
    position: relative !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #eeeae6 !important;
    font-size: clamp(.67rem, .71vw, .77rem) !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }
  #header .ps-mainmenu__tree-link::after,
  #header #top-menu.top-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 0 !important;
    height: 3px !important;
    background: var(--bw-accent, #d00032) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform .18s ease !important;
  }
  #header .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link::after,
  #header .ps-mainmenu__tree-link:hover::after,
  #header .ps-mainmenu__tree-link:focus-visible::after,
  #header #top-menu.top-menu > li.current > a::after,
  #header #top-menu.top-menu > li > a:hover::after,
  #header #top-menu.top-menu > li > a:focus-visible::after {
    transform: scaleX(1) !important;
  }

  /* Menu popovers must be allowed outside the 50px navigation rail. */
  #header .ps-mainmenu--desktop .popover,
  #header .ps-mainmenu--desktop .sub-menu,
  #header .ps-mainmenu--desktop .js-sub-menu,
  #header #_desktop_top_menu .popover,
  #header #_desktop_top_menu .sub-menu,
  #header #_desktop_top_menu .js-sub-menu {
    z-index: 1200 !important;
    overflow: visible !important;
  }
  #header .ps-mainmenu--desktop .js-sub-menu.show,
  #header .ps-mainmenu--desktop .sub-menu.show,
  #header #_desktop_top_menu .js-sub-menu.show,
  #header #_desktop_top_menu .sub-menu.show,
  #header #_desktop_top_menu .collapse.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

@media (min-width: 992px) and (max-width: 1150px) {
  #header .fl-header-shell__row {
    grid-template-columns: minmax(140px, 165px) minmax(220px, 1fr) max-content;
    grid-template-areas:
      "logo search actions"
      "nav nav nav";
    column-gap: 12px !important;
  }
  #header .fl-header-shell__contact { display: none !important; }
  #header .fl-header-shell__logo img,
  #header #_desktop_logo img { max-width: 145px !important; }
  #header .fl-header-shell__actions .header-block__action-btn { padding-inline: 6px !important; }
  #header .ps-mainmenu__tree,
  #header #top-menu.top-menu { gap: 5px !important; }
  #header .ps-mainmenu__tree-link,
  #header #top-menu.top-menu > li > a {
    padding-inline: 5px !important;
    font-size: .64rem !important;
    letter-spacing: .025em !important;
  }
}

/* Tablet keeps the same two-row structure, but allows the category rail to wrap. */
@media (min-width: 768px) and (max-width: 991.98px) {
  :root { --bw-header-height: 178px; }
  #header .fl-header-shell__container { width: 100% !important; max-width: none !important; padding: 0 !important; }
  #header .fl-header-shell__row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 150px minmax(220px, 1fr) max-content;
    grid-template-rows: 62px auto;
    grid-template-areas: "logo search actions" "nav nav nav";
    align-items: center !important;
    column-gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 14px !important;
  }
  #header .fl-header-shell__logo { grid-area: logo; border: 0 !important; padding: 0 !important; margin: 0 !important; }
  #header .fl-header-shell__logo img, #header #_desktop_logo img { max-width: 138px !important; max-height: 38px !important; }
  #header .fl-header-shell__contact { display: none !important; }
  #header .fl-header-shell__actions { grid-area: actions; display: flex !important; align-items: center !important; gap: 0 !important; }
  #header .fl-header-shell__actions .header-block__action-btn { padding-inline: 5px !important; font-size: .7rem !important; }
  #header .fl-header-shell__row > #_desktop_ps_searchbar,
  #header .fl-header-shell__row > .ps-searchbar,
  #header .fl-header-shell__row > .search-widget { grid-area: search; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  #header .fl-header-shell__row > .ps-mainmenu--desktop,
  #header .fl-header-shell__row > #_desktop_top_menu,
  #header .fl-header-shell__row > .menu.js-top-menu {
    grid-area: nav;
    position: relative !important;
    z-index: 1080 !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    min-height: 92px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 12px !important;
    transform: translateX(-50%) !important;
    background: #111114 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    overflow: visible !important;
  }
  #header .ps-mainmenu__tree, #header #top-menu.top-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 0 6px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #header .ps-mainmenu__tree-item, #header .ps-mainmenu__tree-item-wrapper, #header #top-menu.top-menu > li { min-height: 46px !important; height: 46px !important; overflow: visible !important; }
  #header .ps-mainmenu__tree-link, #header #top-menu.top-menu > li > a { min-height: 46px !important; height: 46px !important; padding-inline: 6px !important; font-size: .64rem !important; white-space: nowrap !important; }
}

/* Mobile keeps Hummingbird's native responsive components and portals. */
@media (max-width: 767.98px) {
  #header .fl-header-shell__container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 10px !important;
  }
  #header .fl-header-shell__row {
    display: flex !important;
    min-height: 82px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 !important;
  }
}

/* ---------------------------------------------------------
   Main-menu dropdown / mega-menu contrast
   --------------------------------------------------------- */
#header .ps-mainmenu--desktop .popover,
#header .ps-mainmenu--desktop .sub-menu,
#header .ps-mainmenu--desktop .js-sub-menu,
#header .ps-mainmenu--desktop .dropdown-menu,
#header #_desktop_top_menu .popover,
#header #_desktop_top_menu .sub-menu,
#header #_desktop_top_menu .js-sub-menu,
#header #top-menu .popover,
#header #top-menu .sub-menu,
#header #top-menu .js-sub-menu {
  background: #111114 !important;
  color: #eeeae6 !important;
  border-color: #3a3a40 !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.52) !important;
}
#header .ps-mainmenu--desktop .popover a,
#header .ps-mainmenu--desktop .sub-menu a,
#header .ps-mainmenu--desktop .js-sub-menu a,
#header #_desktop_top_menu .popover a,
#header #_desktop_top_menu .sub-menu a,
#header #_desktop_top_menu .js-sub-menu a,
#header #top-menu .popover a,
#header #top-menu .sub-menu a,
#header #top-menu .js-sub-menu a {
  color: #ddd9d4 !important;
  background: transparent !important;
  -webkit-text-fill-color: #ddd9d4 !important;
  opacity: 1 !important;
}
#header .ps-mainmenu--desktop .popover a:hover,
#header .ps-mainmenu--desktop .sub-menu a:hover,
#header .ps-mainmenu--desktop .js-sub-menu a:hover,
#header #_desktop_top_menu .popover a:hover,
#header #_desktop_top_menu .sub-menu a:hover,
#header #_desktop_top_menu .js-sub-menu a:hover,
#header #top-menu .sub-menu a:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #1e1e22 !important;
}
#header .ps-mainmenu--desktop .category-sub-menu,
#header .ps-mainmenu--desktop ul[data-depth],
#header #_desktop_top_menu .category-sub-menu,
#header #_desktop_top_menu ul[data-depth],
#header #top-menu .category-sub-menu,
#header #top-menu ul[data-depth] {
  color: #ddd9d4 !important;
}

/* ---------------------------------------------------------
   Category/listing purchase controls
   Quantity (- / value / +) and the cart button remain on ONE row.
   --------------------------------------------------------- */
body#category #products .product-miniature__form,
body#search #products .product-miniature__form,
body#new-products #products .product-miniature__form,
body#prices-drop #products .product-miniature__form,
body#best-sales #products .product-miniature__form {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body#category #products .product-miniature__form > .quantity-button,
body#search #products .product-miniature__form > .quantity-button,
body#new-products #products .product-miniature__form > .quantity-button,
body#prices-drop #products .product-miniature__form > .quantity-button,
body#best-sales #products .product-miniature__form > .quantity-button {
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
}
body#category #products .product-miniature__form .quantity-button__group,
body#search #products .product-miniature__form .quantity-button__group,
body#new-products #products .product-miniature__form .quantity-button__group,
body#prices-drop #products .product-miniature__form .quantity-button__group,
body#best-sales #products .product-miniature__form .quantity-button__group {
  display: grid !important;
  grid-template-columns: 36px 46px 36px !important;
  grid-template-rows: 46px !important;
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}
body#category #products .product-miniature__form .quantity-button__group > button,
body#category #products .product-miniature__form .quantity-button__group > input,
body#search #products .product-miniature__form .quantity-button__group > button,
body#search #products .product-miniature__form .quantity-button__group > input,
body#new-products #products .product-miniature__form .quantity-button__group > button,
body#new-products #products .product-miniature__form .quantity-button__group > input,
body#prices-drop #products .product-miniature__form .quantity-button__group > button,
body#prices-drop #products .product-miniature__form .quantity-button__group > input,
body#best-sales #products .product-miniature__form .quantity-button__group > button,
body#best-sales #products .product-miniature__form .quantity-button__group > input {
  position: static !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  align-self: stretch !important;
}
body#category #products .product-miniature__form .quantity-button__group > input,
body#search #products .product-miniature__form .quantity-button__group > input,
body#new-products #products .product-miniature__form .quantity-button__group > input,
body#prices-drop #products .product-miniature__form .quantity-button__group > input,
body#best-sales #products .product-miniature__form .quantity-button__group > input {
  background: #f7f7f5 !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  text-align: center !important;
  font-weight: 850 !important;
  border-color: #777 !important;
}
body#category #products .product-miniature__form .quantity-button__group > button,
body#search #products .product-miniature__form .quantity-button__group > button,
body#new-products #products .product-miniature__form .quantity-button__group > button,
body#prices-drop #products .product-miniature__form .quantity-button__group > button,
body#best-sales #products .product-miniature__form .quantity-button__group > button {
  background: #1a1a1d !important;
  color: #fff !important;
  border-color: #777 !important;
}
body#category #products .product-miniature__add,
body#search #products .product-miniature__add,
body#new-products #products .product-miniature__add,
body#prices-drop #products .product-miniature__add,
body#best-sales #products .product-miniature__add {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  align-self: stretch !important;
}

@media (max-width: 767.98px) {
  body#category #products .product-miniature__form,
  body#search #products .product-miniature__form,
  body#new-products #products .product-miniature__form,
  body#prices-drop #products .product-miniature__form,
  body#best-sales #products .product-miniature__form {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 6px !important;
  }
  body#category #products .product-miniature__form > .quantity-button,
  body#search #products .product-miniature__form > .quantity-button,
  body#new-products #products .product-miniature__form > .quantity-button,
  body#prices-drop #products .product-miniature__form > .quantity-button,
  body#best-sales #products .product-miniature__form > .quantity-button,
  body#category #products .product-miniature__form .quantity-button__group,
  body#search #products .product-miniature__form .quantity-button__group,
  body#new-products #products .product-miniature__form .quantity-button__group,
  body#prices-drop #products .product-miniature__form .quantity-button__group,
  body#best-sales #products .product-miniature__form .quantity-button__group {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
  body#category #products .product-miniature__form .quantity-button__group,
  body#search #products .product-miniature__form .quantity-button__group,
  body#new-products #products .product-miniature__form .quantity-button__group,
  body#prices-drop #products .product-miniature__form .quantity-button__group,
  body#best-sales #products .product-miniature__form .quantity-button__group {
    grid-template-columns: 32px 40px 32px !important;
  }
}

/* ---------------------------------------------------------
   Product information accordions
   "Artikeldetails", "Technische Daten" and module extra-content stay
   dark with readable copy instead of inheriting Bootstrap white panels.
   --------------------------------------------------------- */
#product .product__accordion {
  --bs-accordion-color: #e9e5e1;
  --bs-accordion-bg: #151518;
  --bs-accordion-border-color: #4a4a50;
  --bs-accordion-btn-color: #f7f5f3;
  --bs-accordion-btn-bg: #111114;
  --bs-accordion-active-color: #ffffff;
  --bs-accordion-active-bg: #19191d;
  --bs-accordion-btn-focus-border-color: var(--bw-accent, #d00032);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(208,0,50,.18);
  background: #151518 !important;
  color: #e9e5e1 !important;
  border: 1px solid #4a4a50 !important;
}
#product .product__accordion .accordion-item,
#product .product__accordion .accordion-header,
#product .product__accordion .accordion-collapse,
#product .product__accordion .accordion-body {
  background: #151518 !important;
  color: #e9e5e1 !important;
  border-color: #4a4a50 !important;
}
#product .product__accordion .accordion-item {
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid #4a4a50 !important;
}
#product .product__accordion .accordion-item:last-child {
  border-bottom: 0 !important;
}
#product .product__accordion .accordion-button,
#product .product__accordion button.accordion-button {
  min-height: 54px !important;
  padding: 15px 18px !important;
  background: #111114 !important;
  color: #f7f5f3 !important;
  -webkit-text-fill-color: #f7f5f3 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 850 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}
#product .product__accordion .accordion-button:not(.collapsed) {
  background: #19191d !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: inset 3px 0 0 var(--bw-accent, #d00032) !important;
}
#product .product__accordion .accordion-button::after {
  filter: brightness(0) invert(1) !important;
  opacity: .9 !important;
}
#product .product__accordion .accordion-body {
  padding: 20px !important;
  line-height: 1.65 !important;
}
#product .product__accordion .accordion-body,
#product .product__accordion .accordion-body p,
#product .product__accordion .accordion-body li,
#product .product__accordion .accordion-body span,
#product .product__accordion .accordion-body strong,
#product .product__accordion .product__description,
#product .product__accordion .product__description p,
#product .product__accordion .js-product-details,
#product .product__accordion .details__list,
#product .product__accordion .details__item,
#product .product__accordion .details__left,
#product .product__accordion .details__right,
#product .product__accordion .product-features,
#product .product__accordion .data-sheet,
#product .product__accordion .product__attachments,
#product .product__accordion dl,
#product .product__accordion dt,
#product .product__accordion dd {
  background-color: transparent !important;
  color: #e1ddd8 !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}
#product .product__accordion .details__title,
#product .product__accordion dt,
#product .product__accordion th,
#product .product__accordion .h5,
#product .product__accordion h3,
#product .product__accordion h4,
#product .product__accordion h5 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#product .product__accordion .table,
#product .product__accordion table {
  --bs-table-bg: transparent !important;
  --bs-table-color: #e1ddd8 !important;
  --bs-table-border-color: #4a4a50 !important;
  background: transparent !important;
  color: #e1ddd8 !important;
}
#product .product__accordion .table > :not(caption) > * > *,
#product .product__accordion table th,
#product .product__accordion table td {
  background: transparent !important;
  color: inherit !important;
  border-color: #4a4a50 !important;
}
#product .product__accordion a:not(.btn) {
  color: #ff5a78 !important;
  -webkit-text-fill-color: #ff5a78 !important;
}
#product .product__accordion a:not(.btn):hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* =========================================================
   Fesselliebe v2.3.13 — full-width desktop navigation + aligned mega menu
   Fixes the remaining offset caused by positioning a 100vw menu inside the
   centered header grid. The header grid itself now spans the viewport and
   submenus are positioned from the complete navigation rail, not from a li.
   ========================================================= */
@media (min-width: 992px) {
  /* Top/header row: true viewport width. Content remains padded, not boxed. */
  #header .fl-header-shell,
  #header .fl-header-shell__container,
  #header .fl-header-shell__row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #header .fl-header-shell__container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #header .fl-header-shell__row {
    grid-template-columns: minmax(150px, 180px) minmax(70px, max-content) minmax(280px, 1fr) max-content !important;
    grid-template-rows: 62px 50px !important;
    grid-template-areas:
      "logo contact search actions"
      "nav nav nav nav" !important;
    column-gap: clamp(12px, 1.8vw, 30px) !important;
    padding: 0 clamp(18px, 2.8vw, 44px) !important;
  }

  /* Search may use all free space in the utility row. */
  #header .fl-header-shell__row > #_desktop_ps_searchbar,
  #header .fl-header-shell__row > .ps-searchbar,
  #header .fl-header-shell__row > .search-widget,
  #header .fl-header-shell__row > .js-search-widget {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  /* Navigation is already in a full-width grid row. Do not shift it with 100vw. */
  #header .fl-header-shell__row > .ps-mainmenu--desktop,
  #header .fl-header-shell__row > #_desktop_top_menu,
  #header .fl-header-shell__row > .menu.js-top-menu {
    grid-area: nav !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: calc(100% + (2 * clamp(18px, 2.8vw, 44px))) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    margin-left: calc(-1 * clamp(18px, 2.8vw, 44px)) !important;
    margin-right: calc(-1 * clamp(18px, 2.8vw, 44px)) !important;
    padding: 0 clamp(18px, 2.8vw, 44px) !important;
    transform: none !important;
    box-sizing: border-box !important;
    background: #111114 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    overflow: visible !important;
  }

  /* Distribute all main categories neatly over the entire rail. */
  #header .ps-mainmenu__tree,
  #header #top-menu.top-menu[data-depth="0"],
  #header #top-menu.top-menu:not([data-depth]) {
    position: static !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: clamp(6px, 1vw, 18px) !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* The top-level li must NOT be the containing block for the mega menu. */
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item,
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper,
  #header #top-menu.top-menu[data-depth="0"] > li,
  #header #top-menu.top-menu:not([data-depth]) > li {
    position: static !important;
  }

  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item,
  #header #top-menu.top-menu[data-depth="0"] > li,
  #header #top-menu.top-menu:not([data-depth]) > li {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #header .ps-mainmenu__tree-link,
  #header #top-menu.top-menu[data-depth="0"] > li > a,
  #header #top-menu.top-menu:not([data-depth]) > li > a {
    padding-left: clamp(4px, .55vw, 10px) !important;
    padding-right: clamp(4px, .55vw, 10px) !important;
    white-space: nowrap !important;
  }

  /* First dropdown level: always aligned to the WHOLE navigation row. */
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .js-sub-menu,
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .sub-menu,
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper > .js-sub-menu,
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper > .sub-menu,
  #header #top-menu.top-menu[data-depth="0"] > li > .js-sub-menu,
  #header #top-menu.top-menu[data-depth="0"] > li > .sub-menu,
  #header #top-menu.top-menu:not([data-depth]) > li > .js-sub-menu,
  #header #top-menu.top-menu:not([data-depth]) > li > .sub-menu {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(20px, 2vw, 30px) clamp(24px, 3vw, 48px) !important;
    transform: none !important;
    background: #111114 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: 0 22px 50px rgba(0,0,0,.48) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    max-height: min(68vh, 620px) !important;
    z-index: 1300 !important;
  }

  /* Clean mega-menu columns instead of the offset/narrow column seen before. */
  #header #top-menu.top-menu[data-depth="0"] > li > .sub-menu > ul.top-menu[data-depth="1"],
  #header #top-menu.top-menu[data-depth="0"] > li > .js-sub-menu > ul.top-menu[data-depth="1"],
  #header #top-menu.top-menu:not([data-depth]) > li > .sub-menu > ul.top-menu[data-depth="1"],
  #header #top-menu.top-menu:not([data-depth]) > li > .js-sub-menu > ul.top-menu[data-depth="1"],
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .sub-menu > ul,
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .js-sub-menu > ul {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px 34px !important;
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: start !important;
  }

  #header #top-menu .sub-menu ul[data-depth="1"] > li,
  #header .ps-mainmenu__tree .sub-menu > ul > li,
  #header .ps-mainmenu__tree .js-sub-menu > ul > li {
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header #top-menu .sub-menu ul[data-depth="1"] > li > a,
  #header .ps-mainmenu__tree .sub-menu > ul > li > a,
  #header .ps-mainmenu__tree .js-sub-menu > ul > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 0 9px !important;
    color: #fff !important;
    font-size: .9rem !important;
    font-weight: 850 !important;
    letter-spacing: .015em !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }

  #header #top-menu .sub-menu ul[data-depth="2"],
  #header .ps-mainmenu__tree .sub-menu ul[data-depth="2"],
  #header .ps-mainmenu__tree .js-sub-menu ul[data-depth="2"] {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }

  #header #top-menu .sub-menu ul[data-depth="2"] a,
  #header .ps-mainmenu__tree .sub-menu ul[data-depth="2"] a,
  #header .ps-mainmenu__tree .js-sub-menu ul[data-depth="2"] a {
    display: block !important;
    min-height: 0 !important;
    padding: 5px 0 !important;
    color: #c9c5c1 !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    white-space: normal !important;
    border: 0 !important;
  }

  #header #top-menu .sub-menu ul[data-depth="2"] a:hover,
  #header .ps-mainmenu__tree .sub-menu ul[data-depth="2"] a:hover,
  #header .ps-mainmenu__tree .js-sub-menu ul[data-depth="2"] a:hover {
    color: #fff !important;
    background: transparent !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #header .fl-header-shell__row {
    grid-template-columns: minmax(138px, 160px) minmax(240px, 1fr) max-content !important;
    grid-template-areas:
      "logo search actions"
      "nav nav nav" !important;
    column-gap: 12px !important;
  }
  #header .fl-header-shell__contact { display: none !important; }
  #header .ps-mainmenu__tree-link,
  #header #top-menu.top-menu[data-depth="0"] > li > a,
  #header #top-menu.top-menu:not([data-depth]) > li > a {
    font-size: .64rem !important;
    letter-spacing: .02em !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
  #header #top-menu.top-menu[data-depth="0"] > li > .sub-menu > ul.top-menu[data-depth="1"],
  #header #top-menu.top-menu[data-depth="0"] > li > .js-sub-menu > ul.top-menu[data-depth="1"],
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .sub-menu > ul,
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > .js-sub-menu > ul {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* =========================================================
   Fesselliebe Branding 1.14.11 — full-width category intro
   The category title/description use all available hero width. Long rich-text
   descriptions are compact by default and can be expanded on demand.
   ========================================================= */
body#category .bw-category-hero__content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: clamp(24px, 3.2vw, 46px) clamp(20px, 3.6vw, 52px) !important;
}

body#category .bw-category-hero h1 {
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 12px !important;
  font-size: clamp(2.8rem, 5.3vw, 6.2rem) !important;
  line-height: .93 !important;
  text-wrap: balance;
}

body#category .bw-category-hero__description {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: rgba(247,245,243,.88) !important;
  font-size: clamp(.94rem, 1.05vw, 1.04rem) !important;
  line-height: 1.55 !important;
}

body#category .bw-category-hero__description > :first-child {
  margin-top: 0 !important;
}
body#category .bw-category-hero__description > :last-child {
  margin-bottom: 0 !important;
}

html.bw-js body#category .bw-category-hero__description.bw-category-description--collapsible.is-collapsed {
  max-height: 4.8em !important;
  overflow: hidden !important;
}
html.bw-js body#category .bw-category-hero__description.bw-category-description--collapsible.is-expanded {
  max-height: none !important;
  overflow: visible !important;
}

body#category .bw-category-description__toggle {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0 !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 7px !important;
  background: rgba(9,9,11,.58) !important;
  color: #fff !important;
  font: inherit;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
body#category .bw-category-description__toggle::after {
  content: '▾';
  display: inline-block;
  font-size: .9em;
  transform-origin: center;
  transition: transform .18s ease;
}
body#category .bw-category-description__toggle[aria-expanded='true']::after {
  transform: rotate(180deg);
}
body#category .bw-category-description__toggle:hover,
body#category .bw-category-description__toggle:focus-visible {
  border-color: var(--bw-accent, #D00032) !important;
  background: rgba(208,0,50,.14) !important;
  outline: none !important;
}
body#category .bw-category-description__toggle[hidden] {
  display: none !important;
}

/* A full-width copy block needs a stronger overlay when a category cover is
   present; otherwise the right side could become too bright for readable text. */
body#category .bw-category-hero__overlay {
  background: linear-gradient(90deg, rgba(8,8,8,.94) 0%, rgba(8,8,8,.82) 58%, rgba(8,8,8,.68) 100%) !important;
}

@media (max-width: 767.98px) {
  body#category .bw-category-hero__content {
    padding: 18px 18px 20px !important;
    transform: none !important;
  }
  body#category .bw-category-hero h1 {
    margin: 7px 0 9px !important;
    font-size: clamp(2.2rem, 11.5vw, 3.65rem) !important;
    line-height: .95 !important;
  }
  body#category .bw-category-hero__description {
    font-size: .9rem !important;
    line-height: 1.48 !important;
  }
  html.bw-js body#category .bw-category-hero__description.bw-category-description--collapsible.is-collapsed {
    max-height: 5.95em !important;
  }
  body#category .bw-category-description__toggle {
    margin-top: 10px !important;
    padding: 7px 10px !important;
    font-size: .82rem !important;
  }
}


/* =========================================================
   Fesselliebe Branding 1.14.12 — compact Amazon-style mobile listing,
   reliable filter stacking, dark mobile navigation and miniature cleanup.
   ========================================================= */

/* Facet/filter area must always paint above the product grid while open. */
body#category .bw-listing-tools,
body#search .bw-listing-tools,
body#new-products .bw-listing-tools,
body#prices-drop .bw-listing-tools,
body#best-sales .bw-listing-tools {
  position: relative !important;
  z-index: 80 !important;
  overflow: visible !important;
}
body#category .bw-inline-filters,
body#search .bw-inline-filters,
body#new-products .bw-inline-filters,
body#prices-drop .bw-inline-filters,
body#best-sales .bw-inline-filters {
  position: relative !important;
  z-index: 90 !important;
  overflow: visible !important;
  background: #111114 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.38) !important;
}
body#category .bw-inline-filters__inner,
body#category .bw-inline-filters__content,
body#category #search_filters,
body#search .bw-inline-filters__inner,
body#search .bw-inline-filters__content,
body#search #search_filters {
  position: relative !important;
  z-index: 91 !important;
  overflow: visible !important;
}
body#category #js-product-list,
body#category #products .products,
body#search #js-product-list,
body#search #products .products {
  position: relative !important;
  z-index: 1 !important;
}
body#category #search_filters select,
body#search #search_filters select,
body#category #search_filters .form-select,
body#search #search_filters .form-select {
  position: relative !important;
  z-index: 95 !important;
  background-color: #151518 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: #666 !important;
}

/* Mobile main menu/offcanvas: force a dark readable panel rather than white-on-white. */
@media (max-width: 991.98px) {
  #header #_mobile_top_menu,
  #header #mobile_top_menu_wrapper,
  #header .ps-mainmenu--mobile,
  #header .ps-mainmenu--mobile .offcanvas,
  #header .ps-mainmenu--mobile .offcanvas-body,
  #header .ps-mainmenu--mobile .offcanvas-header,
  #header .js-mobile-menu,
  #header .mobile-menu,
  #header .menu-offcanvas,
  #header [class*="mainmenu"][class*="offcanvas"],
  #header .offcanvas:has(#top-menu),
  #header .offcanvas-body:has(#top-menu) {
    background: #0d0d10 !important;
    color: #f7f5f3 !important;
    -webkit-text-fill-color: #f7f5f3 !important;
  }
  #header #_mobile_top_menu a,
  #header #mobile_top_menu_wrapper a,
  #header .ps-mainmenu--mobile a,
  #header .offcanvas:has(#top-menu) a,
  #header .offcanvas-body:has(#top-menu) a,
  #header #top-menu[data-depth="0"] a {
    color: #f7f5f3 !important;
    -webkit-text-fill-color: #f7f5f3 !important;
    opacity: 1 !important;
  }
  #header .ps-mainmenu--mobile .btn-close,
  #header .offcanvas:has(#top-menu) .btn-close {
    filter: invert(1) grayscale(1) brightness(2) !important;
    opacity: .95 !important;
  }
  #header .ps-mainmenu--mobile li,
  #header .offcanvas:has(#top-menu) li {
    border-color: rgba(255,255,255,.12) !important;
  }
  #header .ps-mainmenu--mobile a:hover,
  #header .ps-mainmenu--mobile a:focus-visible,
  #header .offcanvas:has(#top-menu) a:hover,
  #header .offcanvas:has(#top-menu) a:focus-visible {
    color: #fff !important;
    background: rgba(208,0,50,.12) !important;
  }
}

/* Miniature metadata shared by listing cards and product-page recommendations. */
.bw-mini-meta {
  display: grid;
  gap: 4px;
  margin-top: 7px;
  color: #cfcac5;
  font-size: .76rem;
  line-height: 1.35;
}
.bw-mini-tax { color: #cfcac5; }
.bw-delivery-line {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #f2efeb;
  font-weight: 700;
}
.bw-delivery-line::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #73c781;
  box-shadow: 0 0 0 2px rgba(115,199,129,.15);
}
.bw-previous-price-label {
  margin-right: 5px;
  color: #aaa59f;
  font-size: .72rem;
  font-weight: 650;
}
.product-miniature__discount-price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 3px 5px !important;
}

/* Quantity selection is deliberately removed from every miniature. */
.product-miniature .quantity-button,
.product-miniature .js-quantity-button {
  display: none !important;
}
.product-miniature__form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
.product-miniature__add,
.product-miniature__details {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  border-radius: 7px !important;
  font-size: .8rem !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
  line-height: 1.15 !important;
}
.product-miniature__add {
  background: var(--bw-accent, #d00032) !important;
  border-color: var(--bw-accent, #d00032) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.product-miniature__add:hover,
.product-miniature__add:focus-visible {
  background: #e00038 !important;
  border-color: #e00038 !important;
}

/* Amazon-like mobile search/category result: image left, content right. */
@media (max-width: 767.98px) {
  body#category #products .products,
  body#search #products .products,
  body#new-products #products .products,
  body#prices-drop #products .products,
  body#best-sales #products .products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body#category #products .product-miniature,
  body#search #products .product-miniature,
  body#new-products #products .product-miniature,
  body#prices-drop #products .product-miniature,
  body#best-sales #products .product-miniature {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  body#category #products .product-miniature__inner,
  body#search #products .product-miniature__inner,
  body#new-products #products .product-miniature__inner,
  body#prices-drop #products .product-miniature__inner,
  body#best-sales #products .product-miniature__inner {
    display: grid !important;
    grid-template-columns: minmax(132px, 42%) minmax(0, 58%) !important;
    grid-template-rows: auto !important;
    min-height: 236px !important;
    background: #151518 !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    transform: none !important;
    box-shadow: none !important;
  }
  body#category #products .product-miniature__top,
  body#search #products .product-miniature__top,
  body#new-products #products .product-miniature__top,
  body#prices-drop #products .product-miniature__top,
  body#best-sales #products .product-miniature__top {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: relative !important;
    min-height: 236px !important;
    height: 100% !important;
    background: #fff !important;
    border-right: 1px solid rgba(255,255,255,.13) !important;
    overflow: hidden !important;
  }
  body#category #products .product-miniature__bottom,
  body#search #products .product-miniature__bottom,
  body#new-products #products .product-miniature__bottom,
  body#prices-drop #products .product-miniature__bottom,
  body#best-sales #products .product-miniature__bottom {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: 14px 13px !important;
    background: #151518 !important;
  }
  body#category #products .product-miniature__infos,
  body#search #products .product-miniature__infos,
  body#new-products #products .product-miniature__infos,
  body#prices-drop #products .product-miniature__infos,
  body#best-sales #products .product-miniature__infos {
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  body#category #products .product-miniature__title,
  body#search #products .product-miniature__title,
  body#new-products #products .product-miniature__title,
  body#prices-drop #products .product-miniature__title,
  body#best-sales #products .product-miniature__title {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    margin: 0 0 7px !important;
    color: #fff !important;
    font-size: .98rem !important;
    font-weight: 760 !important;
    line-height: 1.27 !important;
    text-transform: none !important;
  }
  body#category #products .product-miniature__prices,
  body#search #products .product-miniature__prices,
  body#new-products #products .product-miniature__prices,
  body#prices-drop #products .product-miniature__prices,
  body#best-sales #products .product-miniature__prices {
    margin-top: 5px !important;
  }
  body#category #products .product-miniature__price,
  body#search #products .product-miniature__price,
  body#new-products #products .product-miniature__price,
  body#prices-drop #products .product-miniature__price,
  body#best-sales #products .product-miniature__price {
    color: #fff !important;
    font-size: 1.45rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }
  body#category #products .product-miniature__discount-price,
  body#search #products .product-miniature__discount-price,
  body#new-products #products .product-miniature__discount-price,
  body#prices-drop #products .product-miniature__discount-price,
  body#best-sales #products .product-miniature__discount-price {
    margin-top: 5px !important;
    font-size: .7rem !important;
  }
  body#category #products .bw-mini-meta,
  body#search #products .bw-mini-meta,
  body#new-products #products .bw-mini-meta,
  body#prices-drop #products .bw-mini-meta,
  body#best-sales #products .bw-mini-meta {
    margin-top: 8px !important;
    font-size: .72rem !important;
  }
  body#category #products .product-miniature__actions,
  body#search #products .product-miniature__actions,
  body#new-products #products .product-miniature__actions,
  body#prices-drop #products .product-miniature__actions,
  body#best-sales #products .product-miniature__actions {
    margin-top: auto !important;
    padding-top: 10px !important;
    border-top: 0 !important;
    background: transparent !important;
  }
  body#category #products .product-miniature__add,
  body#search #products .product-miniature__add,
  body#new-products #products .product-miniature__add,
  body#prices-drop #products .product-miniature__add,
  body#best-sales #products .product-miniature__add,
  body#category #products .product-miniature__details,
  body#search #products .product-miniature__details,
  body#new-products #products .product-miniature__details,
  body#prices-drop #products .product-miniature__details,
  body#best-sales #products .product-miniature__details {
    min-height: 42px !important;
    padding: 9px 8px !important;
    font-size: .72rem !important;
  }
  body#category #products .product-miniature__top img,
  body#search #products .product-miniature__top img,
  body#new-products #products .product-miniature__top img,
  body#prices-drop #products .product-miniature__top img,
  body#best-sales #products .product-miniature__top img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
}

/* Related/recommended products in the product footer: compact, aligned cards. */
#product .product-miniature__inner,
#product .product-miniature .thumbnail-container {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: 9px !important;
}
#product .product-miniature__bottom {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 14px !important;
}
#product .product-miniature__infos { padding: 0 !important; }
#product .product-miniature__title {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  min-height: 2.7em !important;
  font-size: .92rem !important;
  line-height: 1.35 !important;
}
#product .product-miniature__actions {
  margin-top: auto !important;
  padding-top: 12px !important;
}
#product .product-miniature__add,
#product .product-miniature__details {
  min-height: 44px !important;
  padding: 9px 10px !important;
}

/* Product page and cart crossed-out price wording. */
#product .product__regular-price::before,
#product .regular-price::before,
.cart-container .product-line__item-regular-price::before {
  content: "unser vorheriger Preis: ";
  color: #aaa59f;
  font-size: .78em;
  font-weight: 650;
  text-decoration: none;
}

/* =========================================================
   Fesselliebe Branding 1.14.13 – unified standard-module miniatures
   Standard homepage modules (Neue Artikel, Highlights, Sonderangebote,
   Bestseller etc.) now use the same product-card system as listings.
   ========================================================= */

/* Product module grids on the homepage share one consistent geometry. */
body#index .products:has(.product-miniature),
body#index .featured-products .products,
body#index .new-products .products,
body#index .special-products .products,
body#index .best-sellers .products,
body#index .product-accessories .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}
body#index .products:has(.product-miniature) > *,
body#index .featured-products .products > *,
body#index .new-products .products > *,
body#index .special-products .products > *,
body#index .best-sellers .products > *,
body#index .product-accessories .products > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

/* Every standard-module miniature gets the same dark Fesselliebe card. */
body#index .product-miniature {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
}
body#index .product-miniature__inner,
body#index .product-miniature .thumbnail-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #151518 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Clean, equal-height product studio. */
body#index .product-miniature__top,
body#index .product-miniature .thumbnail-top,
body#index .product-miniature .product-thumbnail,
body#index .product-miniature .product-thumbnail > a,
body#index .product-miniature .product-thumbnail picture {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body#index .product-miniature__top img,
body#index .product-miniature__image,
body#index .product-miniature .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 12px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body#index .product-miniature__top > .highlighted-informations,
body#index .product-miniature__top > .product-miniature__quickview,
body#index .product-miniature__top > .product-miniature__quick-view,
body#index .product-miniature__top > .quick-view,
body#index .product-miniature__top [class*="quick-view"],
body#index .product-miniature__top [class*="quickview"] {
  display: none !important;
}

/* Information area is aligned across all standard modules. */
body#index .product-miniature__bottom,
body#index .product-miniature .product-description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 14px !important;
  gap: 8px !important;
  color: #f7f5f3 !important;
  background: #151518 !important;
}
body#index .product-miniature__infos {
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body#index a.product-miniature__title,
body#index .product-miniature__title,
body#index .product-miniature .product-title a {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  min-height: 2.7em !important;
  margin: 0 0 5px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: .94rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  text-transform: none !important;
  opacity: 1 !important;
}
body#index .product-miniature__prices {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px 7px !important;
  margin: 2px 0 0 !important;
}
body#index .product-miniature__price,
body#index .product-miniature .price,
body#index .product-miniature .product-price-and-shipping {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 1.12rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}
body#index .product-miniature__discount-price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 3px 5px !important;
  margin-top: 3px !important;
  color: #bdb8b2 !important;
  font-size: .72rem !important;
}
body#index .product-miniature__regular-price,
body#index .product-miniature .regular-price {
  color: #bdb8b2 !important;
  -webkit-text-fill-color: #bdb8b2 !important;
  opacity: 1 !important;
}
body#index .bw-previous-price-label {
  color: #bdb8b2 !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
}
body#index .bw-mini-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-height: 2.2em !important;
  margin-top: 5px !important;
  color: #d7d3ce !important;
  font-size: .72rem !important;
  line-height: 1.35 !important;
}
body#index .bw-mini-tax,
body#index .bw-mini-meta * {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}

/* Same action area everywhere; no miniature quantity selector. */
body#index .product-miniature .quantity-button,
body#index .product-miniature .js-quantity-button {
  display: none !important;
}
body#index .product-miniature__actions {
  margin-top: auto !important;
  padding-top: 11px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  background: transparent !important;
}
body#index .product-miniature__form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
body#index .product-miniature__add,
body#index .product-miniature__details {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  border-radius: 7px !important;
  font-size: .76rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
}
body#index .product-miniature__add {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--bw-accent, #d00032) !important;
  border-color: var(--bw-accent, #d00032) !important;
}
body#index .product-miniature__details {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #151518 !important;
  border: 1px solid var(--bw-accent, #d00032) !important;
}
body#index .product-miniature__details:hover,
body#index .product-miniature__details:focus-visible {
  color: #fff !important;
  background: #252529 !important;
  border-color: #fff !important;
}

/* Flags stay compact and readable. */
body#index .product-miniature .product-flags {
  position: absolute !important;
  inset: 8px auto auto 8px !important;
  z-index: 3 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body#index .product-miniature .product-flag {
  position: static !important;
  margin: 0 !important;
  padding: 4px 7px !important;
  border-radius: 4px !important;
  font-size: .68rem !important;
  line-height: 1 !important;
}

/* Standard-module headings and footer links align with the card grid. */
body#index .products-section-title,
body#index .featured-products > h2,
body#index .new-products > h2 {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(1.4rem, 2.3vw, 2rem) !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}
body#index .featured-products,
body#index .new-products,
body#index .product-accessories {
  margin-block: clamp(28px, 4vw, 54px) !important;
}
body#index .all-product-link,
body#index .featured-products .all-product-link,
body#index .new-products .all-product-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin-top: 18px !important;
  padding: 8px 14px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
  border: 1px solid #777 !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  font-weight: 750 !important;
}
body#index .all-product-link:hover,
body#index .all-product-link:focus-visible {
  border-color: var(--bw-accent, #d00032) !important;
  background: #202024 !important;
}

@media (max-width: 1199.98px) {
  body#index .products:has(.product-miniature),
body#index .featured-products .products,
body#index .new-products .products,
body#index .special-products .products,
body#index .best-sellers .products,
body#index .product-accessories .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  body#index .products:has(.product-miniature),
body#index .featured-products .products,
body#index .new-products .products,
body#index .special-products .products,
body#index .best-sellers .products,
body#index .product-accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

/* On phones, standard homepage modules use the same compact horizontal card
   principle as category/search listings instead of tiny two-column cards. */
@media (max-width: 767.98px) {
  body#index .products:has(.product-miniature),
body#index .featured-products .products,
body#index .new-products .products,
body#index .special-products .products,
body#index .best-sellers .products,
body#index .product-accessories .products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  body#index .product-miniature__inner,
  body#index .product-miniature .thumbnail-container {
    display: grid !important;
    grid-template-columns: minmax(132px, 42%) minmax(0, 58%) !important;
    grid-template-rows: auto !important;
    min-height: 220px !important;
    border-radius: 10px !important;
  }
  body#index .product-miniature__top,
  body#index .product-miniature .thumbnail-top,
  body#index .product-miniature .product-thumbnail,
  body#index .product-miniature .product-thumbnail > a,
  body#index .product-miniature .product-thumbnail picture {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 220px !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    border-right: 1px solid rgba(255,255,255,.13) !important;
  }
  body#index .product-miniature__top img,
  body#index .product-miniature__image,
  body#index .product-miniature .product-thumbnail img {
    padding: 8px !important;
  }
  body#index .product-miniature__bottom,
  body#index .product-miniature .product-description {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: 13px 12px !important;
  }
  body#index a.product-miniature__title,
  body#index .product-miniature__title,
  body#index .product-miniature .product-title a {
    -webkit-line-clamp: 3 !important;
    min-height: 0 !important;
    font-size: .96rem !important;
  }
  body#index .product-miniature__price,
  body#index .product-miniature .price,
  body#index .product-miniature .product-price-and-shipping {
    font-size: 1.28rem !important;
  }
  body#index .product-miniature__actions {
    padding-top: 9px !important;
  }
  body#index .product-miniature__add,
  body#index .product-miniature__details {
    min-height: 42px !important;
    padding: 8px !important;
    font-size: .7rem !important;
  }
}

@media (max-width: 374.98px) {
  body#index .product-miniature__inner,
  body#index .product-miniature .thumbnail-container {
    grid-template-columns: 126px minmax(0, 1fr) !important;
  }
}

/* ======================================================================
   Fesselliebe v1.14.14 – consistent NEW / discount product flags
   ====================================================================== */
.product-miniature .product-flags .product-flag,
.product-miniature .product-flag {
  opacity: 1 !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  box-shadow: none;
}

/* Discount / sale: unmistakable Fesselliebe red. */
.product-miniature .product-flags .product-flag.discount,
.product-miniature .product-flags .product-flag.discount-percentage,
.product-miniature .product-flags .product-flag.on-sale,
.product-miniature .product-flags .product-flag.bw-flag-discount,
.product-miniature .product-flags .discount.product-flag,
.product-miniature .product-flags .discount-percentage.product-flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 25px !important;
  padding: 5px 8px !important;
  border: 1px solid var(--bw-accent, #D00032) !important;
  border-radius: 4px !important;
  background: var(--bw-accent, #D00032) !important;
  background-color: var(--bw-accent, #D00032) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
}

/* New: dark badge with red keyline – visible without looking like Bootstrap blue. */
.product-miniature .product-flags .product-flag.new,
.product-miniature .product-flags .product-flag.bw-flag-new,
.product-miniature .product-flags .new.product-flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 25px !important;
  padding: 5px 8px !important;
  border: 1px solid var(--bw-accent, #D00032) !important;
  border-radius: 4px !important;
  background: #111114 !important;
  background-color: #111114 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: inset 3px 0 0 var(--bw-accent, #D00032) !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
}

/* Keep both badges legible over white product images. */
.product-miniature .product-flags {
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.24));
}

/* =========================================================
   Fesselliebe Branding 1.14.15
   - robust dark mobile menu even when ps_mainmenu is portaled outside #header
   - configurable typography variables from module Back Office
   - unified product-page footer/recommendation miniatures
   ========================================================= */

/* ---------------------------------------------------------
   Mobile menu: Hummingbird moves #_mobile_top_menu through a JS portal.
   Therefore the active surface may no longer be a child of #header.
   Keep every actual menu surface dark and readable regardless of portal.
   --------------------------------------------------------- */
@media (max-width: 991.98px) {
  html body #_mobile_top_menu,
  html body #mobile_top_menu_wrapper,
  html body .ps-mainmenu--mobile,
  html body .bw-mobile-menu-surface,
  html body .bw-mobile-menu-surface__part,
  html body .offcanvas:has(#top-menu),
  html body .offcanvas:has(.top-menu),
  html body .modal:has(#top-menu),
  html body .modal:has(.top-menu) {
    --bs-offcanvas-bg: #0d0d10 !important;
    --bs-offcanvas-color: #f7f5f3 !important;
    --bs-modal-bg: #0d0d10 !important;
    color: #f7f5f3 !important;
    -webkit-text-fill-color: #f7f5f3 !important;
    background: #0d0d10 !important;
    background-color: #0d0d10 !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  html body #_mobile_top_menu #top-menu,
  html body #mobile_top_menu_wrapper #top-menu,
  html body .bw-mobile-menu-surface #top-menu,
  html body .bw-mobile-menu-surface .top-menu,
  html body .bw-mobile-menu-surface .js-sub-menu,
  html body .bw-mobile-menu-surface .sub-menu,
  html body .offcanvas:has(#top-menu) #top-menu,
  html body .offcanvas:has(.top-menu) .top-menu {
    background: #0d0d10 !important;
    background-color: #0d0d10 !important;
    color: #f7f5f3 !important;
    -webkit-text-fill-color: #f7f5f3 !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  html body #_mobile_top_menu a,
  html body #mobile_top_menu_wrapper a,
  html body .bw-mobile-menu-surface a,
  html body .offcanvas:has(#top-menu) a,
  html body .offcanvas:has(.top-menu) a,
  html body .modal:has(#top-menu) a,
  html body .modal:has(.top-menu) a {
    color: #f7f5f3 !important;
    -webkit-text-fill-color: #f7f5f3 !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  html body #_mobile_top_menu .top-menu[data-depth="0"] > li > a,
  html body #mobile_top_menu_wrapper .top-menu[data-depth="0"] > li > a,
  html body .bw-mobile-menu-surface .top-menu[data-depth="0"] > li > a,
  html body .bw-mobile-menu-surface #top-menu[data-depth="0"] > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 12px 22px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #0d0d10 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    font-size: var(--bw-font-menu-mobile, 18px) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .025em !important;
  }

  html body .bw-mobile-menu-surface .top-menu[data-depth="1"],
  html body .bw-mobile-menu-surface .top-menu[data-depth="2"],
  html body #_mobile_top_menu .top-menu[data-depth="1"],
  html body #mobile_top_menu_wrapper .top-menu[data-depth="1"] {
    background: #151518 !important;
  }

  html body .bw-mobile-menu-surface .top-menu[data-depth="1"] a,
  html body .bw-mobile-menu-surface .top-menu[data-depth="2"] a,
  html body #_mobile_top_menu .top-menu[data-depth="1"] a,
  html body #mobile_top_menu_wrapper .top-menu[data-depth="1"] a {
    padding: 11px 28px !important;
    color: #e7e3df !important;
    -webkit-text-fill-color: #e7e3df !important;
    background: #151518 !important;
    font-size: var(--bw-font-menu-mobile, 18px) !important;
    font-weight: 650 !important;
  }

  html body .bw-mobile-menu-surface a:hover,
  html body .bw-mobile-menu-surface a:focus-visible,
  html body #_mobile_top_menu a:hover,
  html body #mobile_top_menu_wrapper a:hover {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: rgba(208,0,50,.16) !important;
  }

  html body .bw-mobile-menu-surface .btn-close,
  html body .offcanvas:has(#top-menu) .btn-close,
  html body .modal:has(#top-menu) .btn-close,
  html body #mobile_top_menu_wrapper .btn-close {
    --bs-btn-close-color: #ffffff !important;
    opacity: 1 !important;
    filter: invert(1) grayscale(1) brightness(2) !important;
  }

  html body .bw-mobile-menu-surface .material-icons,
  html body #_mobile_top_menu .material-icons,
  html body #mobile_top_menu_wrapper .material-icons {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
}

/* ---------------------------------------------------------
   Typography control. Values are emitted by boswearbranding.php and can be
   changed in the module configuration without editing the theme/CSS.
   --------------------------------------------------------- */
body {
  font-size: var(--bw-font-body, 16px) !important;
}
.bw-utility,
.bw-utility__inner,
.bw-utility__right {
  font-size: var(--bw-font-utility, 12px) !important;
}
#header .header-top__left,
#header .header-top__right,
#header .fl-header-shell__contact,
#header .fl-header-shell__actions,
#header .header-block:not(.material-icons),
#header .header-block__action-btn:not(.material-icons) {
  font-size: var(--bw-font-header, 14px) !important;
}
@media (min-width: 992px) {
  #header .ps-mainmenu__tree > .ps-mainmenu__tree-item > a,
  #header #top-menu.top-menu[data-depth="0"] > li > a,
  #header .menu.js-top-menu > ul > li > a {
    font-size: var(--bw-font-menu-desktop, 14px) !important;
  }
}
h1,
.h1,
.page-header h1,
body#category .bw-category-hero h1,
.product__name {
  font-size: var(--bw-font-h1, 48px) !important;
}
h2,
.h2,
.products-section-title,
.product-accessories h2,
.featured-products h2,
.new-products h2 {
  font-size: var(--bw-font-h2, 32px) !important;
}
h3,
.h3,
.card-title,
.block-title,
.product-accessories h3 {
  font-size: var(--bw-font-h3, 24px) !important;
}
body#category .bw-category-hero__description,
body#category .bw-category-hero__description p,
body#category .bw-category-description__toggle {
  font-size: var(--bw-font-category-desc, 16px) !important;
}
.product-miniature__title,
a.product-miniature__title,
.product-miniature .product-title,
.product-miniature .product-title a {
  font-size: var(--bw-font-product-title, 16px) !important;
}
.product-miniature__price,
.product-miniature .price,
.product-miniature .product-price-and-shipping,
.product-miniature__prices .price {
  font-size: var(--bw-font-product-price, 22px) !important;
}
.product-miniature .bw-mini-meta,
.product-miniature .bw-mini-tax,
.product-miniature .bw-delivery-line,
.product-miniature small,
.product-miniature .small,
.product-miniature__discount-price,
.product-miniature__regular-price,
.product-miniature .regular-price,
.product-miniature .text-muted {
  font-size: var(--bw-font-product-meta, 13px) !important;
}
.btn:not(.material-icons),
button:not(.material-icons),
.product-miniature__add,
.product-miniature__details,
.bw-category-description__toggle,
.all-product-link {
  font-size: var(--bw-font-button, 14px) !important;
}
#search_filters,
#search_filters a,
#search_filters label,
#search_filters select,
.bw-inline-filters,
.products__selection,
.products__sort,
.products-sort-order,
.products-sort-order .dropdown-item,
.bw-listing-tools {
  font-size: var(--bw-font-filter, 14px) !important;
}
input:not([type="range"]),
select,
textarea,
.form-control,
.form-select,
.form-label,
.form-check-label {
  font-size: var(--bw-font-form, 16px) !important;
}
#footer,
#footer a,
#footer p,
#footer li,
.footer-container,
.footer-container a {
  font-size: var(--bw-font-footer, 14px) !important;
}

/* Keep oversized heading settings usable on narrow screens. */
@media (max-width: 767.98px) {
  h1,
  .h1,
  .page-header h1,
  body#category .bw-category-hero h1,
  .product__name {
    font-size: min(var(--bw-font-h1, 48px), 11vw) !important;
  }
  h2,
  .h2,
  .products-section-title,
  .product-accessories h2,
  .featured-products h2,
  .new-products h2 {
    font-size: min(var(--bw-font-h2, 32px), 8vw) !important;
  }
}

/* ---------------------------------------------------------
   Product page footer/recommendations: use the same visual language as the
   category/search cards and avoid narrow two-column mobile cards.
   --------------------------------------------------------- */
body#product .product-accessories .products,
body#product .crossselling-products .products,
body#product .cross-selling .products,
body#product .featured-products .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}
body#product .product-accessories .products > *,
body#product .crossselling-products .products > *,
body#product .cross-selling .products > *,
body#product .featured-products .products > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}
body#product .product-accessories .product-miniature,
body#product .crossselling-products .product-miniature,
body#product .cross-selling .product-miniature,
body#product .featured-products .product-miniature {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
}
body#product .product-accessories .product-miniature__inner,
body#product .product-accessories .product-miniature .thumbnail-container,
body#product .crossselling-products .product-miniature__inner,
body#product .crossselling-products .product-miniature .thumbnail-container,
body#product .cross-selling .product-miniature__inner,
body#product .cross-selling .product-miniature .thumbnail-container,
body#product .featured-products .product-miniature__inner,
body#product .featured-products .product-miniature .thumbnail-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #151518 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
body#product .product-accessories .product-miniature__top,
body#product .crossselling-products .product-miniature__top,
body#product .cross-selling .product-miniature__top,
body#product .featured-products .product-miniature__top,
body#product .product-accessories .product-thumbnail,
body#product .crossselling-products .product-thumbnail,
body#product .cross-selling .product-thumbnail,
body#product .featured-products .product-thumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 0 !important;
}
body#product .product-accessories .product-miniature__top img,
body#product .crossselling-products .product-miniature__top img,
body#product .cross-selling .product-miniature__top img,
body#product .featured-products .product-miniature__top img,
body#product .product-accessories .product-thumbnail img,
body#product .crossselling-products .product-thumbnail img,
body#product .cross-selling .product-thumbnail img,
body#product .featured-products .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 10px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}
body#product .product-accessories .product-miniature__bottom,
body#product .crossselling-products .product-miniature__bottom,
body#product .cross-selling .product-miniature__bottom,
body#product .featured-products .product-miniature__bottom,
body#product .product-accessories .product-description,
body#product .crossselling-products .product-description,
body#product .cross-selling .product-description,
body#product .featured-products .product-description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 14px !important;
  gap: 8px !important;
  color: #f7f5f3 !important;
  background: #151518 !important;
}
body#product .product-accessories .product-miniature__title,
body#product .crossselling-products .product-miniature__title,
body#product .cross-selling .product-miniature__title,
body#product .featured-products .product-miniature__title {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  min-height: 2.6em !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  line-height: 1.3 !important;
}
body#product .product-accessories .bw-mini-meta,
body#product .crossselling-products .bw-mini-meta,
body#product .cross-selling .bw-mini-meta,
body#product .featured-products .bw-mini-meta {
  margin-top: 6px !important;
  gap: 3px !important;
  min-width: 0 !important;
  line-height: 1.35 !important;
}
body#product .product-accessories .bw-delivery-line,
body#product .crossselling-products .bw-delivery-line,
body#product .cross-selling .bw-delivery-line,
body#product .featured-products .bw-delivery-line {
  display: flex !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
body#product .product-accessories .product-miniature__actions,
body#product .crossselling-products .product-miniature__actions,
body#product .cross-selling .product-miniature__actions,
body#product .featured-products .product-miniature__actions {
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

@media (max-width: 1199.98px) {
  body#product .product-accessories .products,
  body#product .crossselling-products .products,
  body#product .cross-selling .products,
  body#product .featured-products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 991.98px) {
  body#product .product-accessories .products,
  body#product .crossselling-products .products,
  body#product .cross-selling .products,
  body#product .featured-products .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 767.98px) {
  body#product .product-accessories,
  body#product .crossselling-products,
  body#product .cross-selling,
  body#product .featured-products {
    padding-inline: 16px !important;
  }
  body#product .product-accessories .products,
  body#product .crossselling-products .products,
  body#product .cross-selling .products,
  body#product .featured-products .products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  body#product .product-accessories .product-miniature__inner,
  body#product .product-accessories .product-miniature .thumbnail-container,
  body#product .crossselling-products .product-miniature__inner,
  body#product .crossselling-products .product-miniature .thumbnail-container,
  body#product .cross-selling .product-miniature__inner,
  body#product .cross-selling .product-miniature .thumbnail-container,
  body#product .featured-products .product-miniature__inner,
  body#product .featured-products .product-miniature .thumbnail-container {
    display: grid !important;
    grid-template-columns: minmax(130px, 40%) minmax(0, 60%) !important;
    grid-template-rows: auto !important;
    min-height: 230px !important;
    border-radius: 10px !important;
  }
  body#product .product-accessories .product-miniature__top,
  body#product .crossselling-products .product-miniature__top,
  body#product .cross-selling .product-miniature__top,
  body#product .featured-products .product-miniature__top,
  body#product .product-accessories .product-thumbnail,
  body#product .crossselling-products .product-thumbnail,
  body#product .cross-selling .product-thumbnail,
  body#product .featured-products .product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 230px !important;
    aspect-ratio: auto !important;
    border-right: 1px solid rgba(255,255,255,.14) !important;
  }
  body#product .product-accessories .product-miniature__bottom,
  body#product .crossselling-products .product-miniature__bottom,
  body#product .cross-selling .product-miniature__bottom,
  body#product .featured-products .product-miniature__bottom,
  body#product .product-accessories .product-description,
  body#product .crossselling-products .product-description,
  body#product .cross-selling .product-description,
  body#product .featured-products .product-description {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: 13px 12px !important;
    gap: 6px !important;
  }
  body#product .product-accessories .product-miniature__title,
  body#product .crossselling-products .product-miniature__title,
  body#product .cross-selling .product-miniature__title,
  body#product .featured-products .product-miniature__title {
    -webkit-line-clamp: 3 !important;
    min-height: 0 !important;
  }
  body#product .product-accessories .product-miniature__actions,
  body#product .crossselling-products .product-miniature__actions,
  body#product .cross-selling .product-miniature__actions,
  body#product .featured-products .product-miniature__actions {
    margin-top: auto !important;
    padding-top: 8px !important;
  }
  body#product .product-accessories .product-miniature__add,
  body#product .product-accessories .product-miniature__details,
  body#product .crossselling-products .product-miniature__add,
  body#product .crossselling-products .product-miniature__details,
  body#product .cross-selling .product-miniature__add,
  body#product .cross-selling .product-miniature__details,
  body#product .featured-products .product-miniature__add,
  body#product .featured-products .product-miniature__details {
    min-height: 42px !important;
    padding: 8px 9px !important;
  }
}

@media (max-width: 374.98px) {
  body#product .product-accessories .product-miniature__inner,
  body#product .product-accessories .product-miniature .thumbnail-container,
  body#product .crossselling-products .product-miniature__inner,
  body#product .crossselling-products .product-miniature .thumbnail-container,
  body#product .cross-selling .product-miniature__inner,
  body#product .cross-selling .product-miniature .thumbnail-container,
  body#product .featured-products .product-miniature__inner,
  body#product .featured-products .product-miniature .thumbnail-container {
    grid-template-columns: 124px minmax(0, 1fr) !important;
  }
}

/* ======================================================================
   Fesselliebe v1.14.16 – definitive mobile miniature media containment
   Prevents inherited Hummingbird/older Fesselliebe image transforms from
   making the actual <img> taller than its card/image column.
   ====================================================================== */
@media (max-width: 767.98px) {
  /* Every horizontal mobile product card must be its own clipping context. */
  body#category #products .product-miniature__inner,
  body#category #products .product-miniature .thumbnail-container,
  body#search #products .product-miniature__inner,
  body#search #products .product-miniature .thumbnail-container,
  body#new-products #products .product-miniature__inner,
  body#new-products #products .product-miniature .thumbnail-container,
  body#prices-drop #products .product-miniature__inner,
  body#prices-drop #products .product-miniature .thumbnail-container,
  body#best-sales #products .product-miniature__inner,
  body#best-sales #products .product-miniature .thumbnail-container,
  body#index .product-miniature__inner,
  body#index .product-miniature .thumbnail-container,
  body#product .product-accessories .product-miniature__inner,
  body#product .product-accessories .product-miniature .thumbnail-container,
  body#product .crossselling-products .product-miniature__inner,
  body#product .crossselling-products .product-miniature .thumbnail-container,
  body#product .cross-selling .product-miniature__inner,
  body#product .cross-selling .product-miniature .thumbnail-container,
  body#product .featured-products .product-miniature__inner,
  body#product .featured-products .product-miniature .thumbnail-container {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  /* The left media column owns the whole available height, but clips all media. */
  body#category #products .product-miniature__top,
  body#category #products .product-miniature .thumbnail-top,
  body#category #products .product-miniature .product-thumbnail,
  body#category #products .product-miniature__image-container,
  body#search #products .product-miniature__top,
  body#search #products .product-miniature .thumbnail-top,
  body#search #products .product-miniature .product-thumbnail,
  body#search #products .product-miniature__image-container,
  body#new-products #products .product-miniature__top,
  body#new-products #products .product-miniature .thumbnail-top,
  body#new-products #products .product-miniature .product-thumbnail,
  body#new-products #products .product-miniature__image-container,
  body#prices-drop #products .product-miniature__top,
  body#prices-drop #products .product-miniature .thumbnail-top,
  body#prices-drop #products .product-miniature .product-thumbnail,
  body#prices-drop #products .product-miniature__image-container,
  body#best-sales #products .product-miniature__top,
  body#best-sales #products .product-miniature .thumbnail-top,
  body#best-sales #products .product-miniature .product-thumbnail,
  body#best-sales #products .product-miniature__image-container,
  body#index .product-miniature__top,
  body#index .product-miniature .thumbnail-top,
  body#index .product-miniature .product-thumbnail,
  body#index .product-miniature__image-container,
  body#product .product-accessories .product-miniature__top,
  body#product .product-accessories .product-miniature .thumbnail-top,
  body#product .product-accessories .product-miniature .product-thumbnail,
  body#product .crossselling-products .product-miniature__top,
  body#product .crossselling-products .product-miniature .thumbnail-top,
  body#product .crossselling-products .product-miniature .product-thumbnail,
  body#product .cross-selling .product-miniature__top,
  body#product .cross-selling .product-miniature .thumbnail-top,
  body#product .cross-selling .product-miniature .product-thumbnail,
  body#product .featured-products .product-miniature__top,
  body#product .featured-products .product-miniature .thumbnail-top,
  body#product .featured-products .product-miniature .product-thumbnail {
    position: relative !important;
    align-self: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 220px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    transform: none !important;
    translate: none !important;
  }

  /* Nested links/pictures may carry intrinsic dimensions in Hummingbird.
     Make them fill the clipping media column instead. */
  body#category #products .product-miniature__top > a,
  body#category #products .product-miniature__top picture,
  body#category #products .product-miniature .product-thumbnail > a,
  body#category #products .product-miniature .product-thumbnail picture,
  body#category #products .product-miniature__image-link,
  body#category #products .product-miniature__image-container > a,
  body#category #products .product-miniature__image-container > picture,
  body#search #products .product-miniature__top > a,
  body#search #products .product-miniature__top picture,
  body#search #products .product-miniature .product-thumbnail > a,
  body#search #products .product-miniature .product-thumbnail picture,
  body#new-products #products .product-miniature__top > a,
  body#new-products #products .product-miniature__top picture,
  body#new-products #products .product-miniature .product-thumbnail > a,
  body#new-products #products .product-miniature .product-thumbnail picture,
  body#prices-drop #products .product-miniature__top > a,
  body#prices-drop #products .product-miniature__top picture,
  body#prices-drop #products .product-miniature .product-thumbnail > a,
  body#prices-drop #products .product-miniature .product-thumbnail picture,
  body#best-sales #products .product-miniature__top > a,
  body#best-sales #products .product-miniature__top picture,
  body#best-sales #products .product-miniature .product-thumbnail > a,
  body#best-sales #products .product-miniature .product-thumbnail picture,
  body#index .product-miniature__top > a,
  body#index .product-miniature__top picture,
  body#index .product-miniature .product-thumbnail > a,
  body#index .product-miniature .product-thumbnail picture,
  body#product .product-accessories .product-miniature__top > a,
  body#product .product-accessories .product-miniature__top picture,
  body#product .product-accessories .product-miniature .product-thumbnail > a,
  body#product .product-accessories .product-miniature .product-thumbnail picture,
  body#product .crossselling-products .product-miniature__top > a,
  body#product .crossselling-products .product-miniature__top picture,
  body#product .crossselling-products .product-miniature .product-thumbnail > a,
  body#product .crossselling-products .product-miniature .product-thumbnail picture,
  body#product .cross-selling .product-miniature__top > a,
  body#product .cross-selling .product-miniature__top picture,
  body#product .cross-selling .product-miniature .product-thumbnail > a,
  body#product .cross-selling .product-miniature .product-thumbnail picture,
  body#product .featured-products .product-miniature__top > a,
  body#product .featured-products .product-miniature__top picture,
  body#product .featured-products .product-miniature .product-thumbnail > a,
  body#product .featured-products .product-miniature .product-thumbnail picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    transform: none !important;
    translate: none !important;
    border-radius: 0 !important;
  }

  /* Critical fix: the image itself always stays inside the media column.
     Remove old 126/132% scaling, intrinsic portrait heights and transforms. */
  body#category #products .product-miniature__top img,
  body#category #products img.product-miniature__image,
  body#category #products .product-miniature .product-thumbnail img,
  body#search #products .product-miniature__top img,
  body#search #products img.product-miniature__image,
  body#search #products .product-miniature .product-thumbnail img,
  body#new-products #products .product-miniature__top img,
  body#new-products #products img.product-miniature__image,
  body#new-products #products .product-miniature .product-thumbnail img,
  body#prices-drop #products .product-miniature__top img,
  body#prices-drop #products img.product-miniature__image,
  body#prices-drop #products .product-miniature .product-thumbnail img,
  body#best-sales #products .product-miniature__top img,
  body#best-sales #products img.product-miniature__image,
  body#best-sales #products .product-miniature .product-thumbnail img,
  body#index .product-miniature__top img,
  body#index img.product-miniature__image,
  body#index .product-miniature .product-thumbnail img,
  body#product .product-accessories .product-miniature__top img,
  body#product .product-accessories img.product-miniature__image,
  body#product .product-accessories .product-miniature .product-thumbnail img,
  body#product .crossselling-products .product-miniature__top img,
  body#product .crossselling-products img.product-miniature__image,
  body#product .crossselling-products .product-miniature .product-thumbnail img,
  body#product .cross-selling .product-miniature__top img,
  body#product .cross-selling img.product-miniature__image,
  body#product .cross-selling .product-miniature .product-thumbnail img,
  body#product .featured-products .product-miniature__top img,
  body#product .featured-products img.product-miniature__image,
  body#product .featured-products .product-miniature .product-thumbnail img {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 8px !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* Very narrow phones: keep enough image width without making the artwork
   dominate the text/CTA column. */
@media (max-width: 374.98px) {
  body#category #products .product-miniature__top,
  body#search #products .product-miniature__top,
  body#new-products #products .product-miniature__top,
  body#prices-drop #products .product-miniature__top,
  body#best-sales #products .product-miniature__top,
  body#index .product-miniature__top,
  body#product .product-accessories .product-miniature__top,
  body#product .crossselling-products .product-miniature__top,
  body#product .cross-selling .product-miniature__top,
  body#product .featured-products .product-miniature__top {
    min-height: 205px !important;
  }
}

/* =========================================================
   Fesselliebe 2.3.20 – reliable add-to-cart compatibility
   Keep Hummingbird's native miniature quantity DOM for JS, but visually
   suppress it as requested. Provide clear loading/success/error feedback.
   ========================================================= */
.product-miniature .bw-miniature-quantity-native,
.product-miniature .quantity-button.bw-miniature-quantity-native {
  display: none !important;
}
[data-button-action="add-to-cart"].bw-cart-loading {
  position: relative !important;
  cursor: wait !important;
  opacity: .78 !important;
  pointer-events: none !important;
}
[data-button-action="add-to-cart"].bw-cart-loading::after {
  content: "";
  width: 15px;
  height: 15px;
  margin-left: 9px;
  display: inline-block;
  vertical-align: -2px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: bw-cart-spin .65s linear infinite;
}
@keyframes bw-cart-spin { to { transform: rotate(360deg); } }
.bw-cart-notice {
  position: fixed;
  z-index: 2147483000;
  top: calc(var(--bw-header-height, 80px) + 12px);
  right: 14px;
  max-width: min(360px, calc(100vw - 28px));
  padding: 12px 15px;
  border: 1px solid rgba(255,255,255,.18);
  border-left: 4px solid var(--bw-accent, #d00032);
  border-radius: 8px;
  background: #151518;
  color: #fff;
  font: 750 .86rem/1.35 var(--bw-ui, Arial, sans-serif);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.bw-cart-notice.is-visible { opacity: 1; transform: translateY(0); }
.bw-cart-notice.is-success { border-left-color: #73c781; }
.bw-cart-notice.is-error { border-left-color: #ff315f; }



/* v1.14.19 — VAT / shipping-cost note + stuck loader guard */
.bw-mini-tax .bw-shipping-cost-link,
#product .product__tax-label .bw-shipping-cost-link,
#product .tax-shipping-delivery-label .bw-shipping-cost-link {
  color: inherit !important;
  text-decoration: underline !important;
  text-decoration-color: var(--bw-accent, #d00032) !important;
  text-underline-offset: 2px;
  font-weight: 700;
}
.bw-mini-tax .bw-shipping-cost-link:hover,
#product .product__tax-label .bw-shipping-cost-link:hover,
#product .tax-shipping-delivery-label .bw-shipping-cost-link:hover {
  color: #fff !important;
}

/* ps_facetedsearch may leave this translucent layer behind after navigation.
   Filtering remains functional without the visual blocker. */
#products .faceted-overlay,
.faceted-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
