#consent-settings-btn {
    pointer-events: initial!important;
}
#consent-settings-btn:hover {
    background-color: transparent!important;
}

.btn-primary {
	color: #f5f7fa;
	background-color: #000;
	border-color: #ffe500;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}


/* =========================================================
   SatShop - Payment Icons Hotfix (SVG Logos) (netMitte)
   Paste this into: /templates/netMitte/themes/netmitte/custom.css
   ========================================================= */

#footer-payment-icons ul{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}

#footer-payment-icons li{
  display:flex !important;
  margin:0 !important;
  padding:0 !important;
}

#footer-payment-icons .payment-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:4rem !important;
  padding:8px 15px !important;
  border-radius:5px !important;
  border:1px solid #ccc !important;
  background:#fff !important;
}

#footer-payment-icons .payment-badge img{
  display:block !important;
  height:2.2rem !important;
  width:auto !important;
  max-width:6.8rem !important;
  max-height:2.4rem !important;
}

/* per-logo tuning */
#footer-payment-icons img.payment-logo--mastercard{ height:2.35rem !important; max-width:5.6rem !important; }
#footer-payment-icons img.payment-logo--visa      { height:2.15rem !important; max-width:6.4rem !important; }
#footer-payment-icons img.payment-logo--paypal    { height:2.10rem !important; max-width:6.8rem !important; }
#footer-payment-icons img.payment-logo--sofort    { height:2.10rem !important; max-width:6.6rem !important; }
#footer-payment-icons img.payment-logo--applepay  { height:2.20rem !important; max-width:6.2rem !important; }
#footer-payment-icons img.payment-logo--googlepay { height:2.20rem !important; max-width:6.2rem !important; }
#footer-payment-icons img.payment-logo--vorkasse  { height:2.25rem !important; max-width:5.8rem !important; }

@media (max-width: 575px){
  #footer-payment-icons ul{ gap:10px !important; }
  #footer-payment-icons .payment-badge{ height:3.4rem !important; padding:6px 12px !important; }
  #footer-payment-icons .payment-badge img{ height:2.0rem !important; max-width:6.2rem !important; max-height:2.2rem !important; }
}


/* =========================================================
   Google Reviews - USP Trust Bar (netMitte)
   ========================================================= */

.gr-usp-bar {
  background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);
  border-bottom: 2px solid #ffe500;
  padding: 10px 0;
  width: 100%;
  z-index: 100;
}

.gr-usp-bar__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}

.gr-usp-bar__item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.gr-usp-bar__icon {
  display: flex;
  align-items: center;
  opacity: 0.9;
}

.gr-usp-bar__icon svg {
  flex-shrink: 0;
}

.gr-usp-bar__rating {
  font-weight: 700;
  font-size: 15px;
}

.gr-usp-bar__stars {
  color: #ffe500;
  font-size: 14px;
  letter-spacing: 1px;
}

@media (max-width: 767px) {
  .gr-usp-bar__inner {
    gap: 12px 24px;
    padding: 4px 10px;
  }
  .gr-usp-bar__item {
    font-size: 11px;
  }
  .gr-usp-bar__text {
    display: none;
  }
  .gr-usp-bar__item:first-child .gr-usp-bar__text {
    display: inline;
  }
}

@media (max-width: 479px) {
  .gr-usp-bar__inner {
    gap: 8px 16px;
  }
}


/* =========================================================
   Google Reviews - PDP Inline Badge (netMitte)
   ========================================================= */

.gr-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f0f2f5;
  border: 1px solid #e2e5ea;
  border-radius: 20px;
  padding: 5px 14px;
  margin: 8px 0 4px 0;
  text-decoration: none !important;
  transition: all 0.2s ease;
  cursor: pointer;
}

.gr-badge:hover {
  background: #e8eaed;
  border-color: #d0d3d8;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  text-decoration: none !important;
}

.gr-badge__google {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.gr-badge__score {
  font-weight: 700;
  font-size: 14px;
  color: #1a1a2e;
}

.gr-badge__stars {
  color: #ffe500;
  font-size: 13px;
  letter-spacing: 0.5px;
}

.gr-badge__text {
  font-size: 12px;
  color: #6b7280;
  white-space: nowrap;
}


/* =========================================================
   Google Reviews - PDP Reviews Section (netMitte)
   ========================================================= */

.gr-reviews-section {
  background: linear-gradient(180deg, #f8f9fb 0%, #fff 100%);
  padding: 48px 0 56px;
  margin-top: 24px;
  border-top: 1px solid #e5e7eb;
}

.gr-reviews-section__header {
  text-align: center;
  margin-bottom: 36px;
}

.gr-reviews-section__title {
  font-size: 26px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}

.gr-reviews-section__subtitle {
  font-size: 14px;
  color: #9ca3af;
  margin: 0;
  font-weight: 400;
}

.gr-reviews-section__content {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  align-items: start;
}

.gr-reviews-section__summary {
  text-align: center;
  padding: 24px 16px;
}

.gr-reviews-section__score {
  font-size: 64px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
}

.gr-reviews-section__summary .gr-reviews-section__stars {
  color: #ffe500;
  font-size: 24px;
  letter-spacing: 2px;
  display: block;
  margin: 8px 0;
}

.gr-reviews-section__count {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 20px;
}

.gr-reviews-section__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1a73e8;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 8px;
  transition: background 0.2s;
}

.gr-reviews-section__cta:hover {
  background: #e8f0fe;
  text-decoration: none;
  color: #1a73e8;
}

.gr-reviews-section__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.gr-reviews-section__card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  transition: box-shadow 0.2s;
}

.gr-reviews-section__card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

.gr-reviews-section__card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.gr-reviews-section__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

.gr-reviews-section__reviewer {
  font-weight: 600;
  font-size: 14px;
  color: #111827;
}

.gr-reviews-section__date {
  font-size: 12px;
  color: #9ca3af;
}

.gr-reviews-section__card-stars {
  color: #ffe500;
  font-size: 14px;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.gr-reviews-section__card-text {
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 767px) {
  .gr-reviews-section__content {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .gr-reviews-section__score {
    font-size: 48px;
  }
  .gr-reviews-section__title {
    font-size: 22px;
  }
  .gr-reviews-section {
    padding: 32px 0 40px;
  }
}


/* ===== Performance-Fixes (LCP/CLS) - 2026-10-08 - arif-s.de · netMitte =====
   1) Poppins als WOFF2 (~50 KB statt ~150 KB TTF), TTF bleibt Fallback.
      font-display: optional (kein spaeter Schriftwechsel -> kein Layout-Shift auf langsamen Verbindungen).
      Schnitt 500 (Medium) existiert nicht (404) -> nutzt Regular.
   2) flaticon: WOFF2 zuerst + font-display (Preload im Header) -> kein Icon-Layout-Shift.
   3) Startseiten-Hero-Slider (Nivo): hat vor der JS-Initialisierung 0px Hoehe
      -> spaeter Init verschiebt die ganze Seite (CLS). Platz reservieren
      (Slides 800x200 = 4:1) und erstes Slide schon vor der Initialisierung zeigen.
      Bei geaenderten Slider-Bildmassen aspect-ratio anpassen! */
@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: optional;
  src: url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-Regular.woff2") format("woff2"), url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: optional;
  src: url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-Regular.woff2") format("woff2"), url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: optional;
  src: url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-SemiBold.woff2") format("woff2"), url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: optional;
  src: url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-Bold.woff2") format("woff2"), url("/templates/netMitte/themes/netmitte/fonts/poppins/Poppins-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "flaticon"; font-display: swap;
  src: url("/templates/netMitte/themes/netmitte/fonts/flaticon.woff2?v=a1cb76add2a04bec61aef0b8e6f0fefd") format("woff2"), url("/templates/netMitte/themes/netmitte/fonts/flaticon.ttf?v=a1cb76add2a04bec61aef0b8e6f0fefd") format("truetype");
}
body[data-page="18"] .theme-default .nivoSlider {
  aspect-ratio: 4 / 1;
}
/* Slider eigenstaendig (unabhaengig vom spaet geladenen netmitte.css): Container begrenzen, vor Init nur Slide 1 */
.nivoSlider { position: relative; overflow: hidden; }
.nivoSlider > .slide { display: block; }
.nivoSlider:not(.ss-fade) > .slide > img { display: none; }
.nivoSlider:not(.ss-fade) > .slide:first-child > img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/* Sterne (U+2605) gibt es in Poppins nicht -> ohne eigene Schrift probiert der Browser alle
   Poppins-Regeln durch und laedt dabei die alten TTFs nach. Optisch unveraendert (System-Symbolschrift). */
.gr-usp-bar__stars, .gr-badge__stars, .gr-reviews-section__stars, .gr-reviews-section__card-stars {
  font-family: sans-serif; /* = bisheriger Stack "Poppins", sans-serif ohne Poppins */
}
/* Hero-Slider-Engine (ersetzt Nivo, siehe js/custom.js): Ueberblendung per CSS-Transition */
.nivoSlider.ss-fade { background: none; isolation: isolate; }
.nivoSlider.ss-fade > .ss-slide {
  position: absolute; top: 0; left: 0; width: 100%;
  display: block; opacity: 0; visibility: hidden; z-index: 1;
  transition: opacity var(--ss-speed, 500ms) ease, visibility 0s linear var(--ss-speed, 500ms);
}
.nivoSlider.ss-fade > .ss-slide.ss-active {
  position: relative; opacity: 1; visibility: visible; z-index: 2;
  transition: opacity var(--ss-speed, 500ms) ease, visibility 0s;
}
.nivoSlider.ss-fade > .ss-slide > img { position: static; display: block; width: 100%; height: auto; max-width: 100%; }
.nivoSlider.ss-fade > img.ss-slide { display: block; width: 100%; height: auto; }
@media (prefers-reduced-motion: reduce) { .nivoSlider.ss-fade > .ss-slide { transition: none; } }
.nivoSlider.ss-init > .ss-slide { transition: none !important; }
/* Mobil: OPC-Bilder mit w-100 (100% Breite) PLUS seitlichem Inline-Rand (im OPC-Editor gesetzt) ragten 24px ueber den
   Bildschirm -> Seite 399 statt 375px breit, Browser zoomt heraus, fixierter Cookie-Banner springt (CLS).
   Breite = verfuegbarer Platz abzueglich Rand. Nur < 768px; Desktop bleibt unveraendert. */
@media (max-width: 767.98px) {
  #main-wrapper img.w-100[style*="margin-left"],
  #main-wrapper img.w-100[style*="margin-right"] {
    width: -moz-available !important;
    width: -webkit-fill-available !important;
    width: stretch !important;
  }
}
/* ===== Ende Performance-Fixes ===== */


/* ===== Lesbarkeit / Kontrast (2026-10-23) · netMitte =====
   Hintergrund: Im kompilierten netmitte.css wurde die Theme-Farbe #810000 (primary/success/warning/danger)
   nachtraeglich 233x durch das Shop-Gelb #ffe500 ersetzt. Dadurch waren Hinweise, Fehlermeldungen, Lieferstatus,
   Badges, Sterne und alle Link-Hover gelb auf weiss (Kontrast 1,3:1) bzw. weiss auf gelb (1,2:1).
   Prinzip hier: Gelb bleibt als Hintergrund/Akzent, Schrift wird dunkel. Text >= 4,5:1, Symbole >= 3:1.
   ACHTUNG: Ein Neu-Kompilieren des Themes (SCSS -> netmitte.css) wuerde das Gelb komplett entfernen,
   weil die SCSS-Quellen noch #810000 enthalten (sass/_variables.scss Zeile 12-21). */

/* 1) Link-Hover/-Fokus: Schrift behaelt ihre Farbe, Gelb nur als Unterstreichung */
a:not(.btn):hover, a:not(.btn):focus-visible,
#footer a:not(.btn):hover, #footer #footer-boxes a:hover,
.slick-slide a:hover, .slick-slide a:focus,
.btn-link:hover, .btn-link:focus {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #ffe500;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
/* Hauptmenue/Header: schwarz ohne Unterstreichung (der gelbe Balken unter dem Menuepunkt bleibt der Hover-Effekt) */
header a:not(.dropdown-item):not(.btn):hover,
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus,
.btn-icon-primary:hover, .form-icon-trigger-label:hover,
.consent-modal-close:hover, .consent-modal-close:focus, a.give-consent-preview:focus-visible {
  color: #000;
  text-decoration: none;
}
/* Seitenzahlen: gelber Hintergrund mit schwarzer Zahl statt gelber Zahl */
a.page-link:hover, a.page-link:focus { background-color: #ffe500; border-color: #ffe500; color: #000; text-decoration: none; }
/* Wunschzettel-/Vergleichs-Kreise und Slider-Pfeile: schwarz auf Gelb */
a.badge-circle:hover, a.badge-circle:focus, .badge-circle:hover, .badge-circle:focus,
.badge-circle-1.on-list, .badge-check .badge-circle,
.slick-arrow:hover, .modal-header .close:hover, .modal-header .close:focus,
#image_wrapper.fullscreen .product-detail-image-topbar #image_fullscreen_close:hover { color: #000; text-decoration: none; }
/* Schlagwortwolke */
.jqcloud-word a:hover { color: #000 !important; }
.jqcloud-word.w5 { color: #6b5400; }

/* 2) Systemmeldungen (Hintergruende bleiben hell, Schrift dunkel und bedeutungstragend) */
.alert-success { color: #1a6b2e; }   /* 6,5:1 auf #f6fff6 */
.alert-danger  { color: #8b0000; }   /* 6,7:1 auf #e8ccd2 */
.alert-warning { color: #6b5400; }   /* 6,5:1 auf #f9f2dc */
.alert-success .alert-link, .alert-danger .alert-link, .alert-warning .alert-link { color: #000; text-decoration: underline; }

/* 3) Formularpruefung */
.form-error-msg, .invalid-feedback,
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label,
.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { color: #b30000; }
.form-warning-msg { color: #6b5400; }
.form-success-msg, .valid-feedback,
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label,
.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { color: #1d7a35; }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: #b30000; }
/* Fokussiertes Eingabefeld: gelber Schein + dunkler Rahmen (gelber Rahmen allein war unsichtbar) */
.form-control:focus, .custom-select:focus { border-color: #000; box-shadow: 0 0 0 0.2rem rgba(255, 229, 0, 0.55); }

/* 4) Lieferstatus: Ampel wiederherstellen (NOVA: status-2 = lieferbar, status-1 = Zulauf/knapp, status-0 = nicht lieferbar) */
.delivery-status .status-2, .signal_image .status-2 { color: #1d7a35; }
.delivery-status .status-1, .signal_image .status-1 { color: #7a6000; }
.delivery-status .status-0, .signal_image .status-0 { color: #b30000; }
/* Text-Hilfsklassen (Theme setzt sie mit !important auf Gelb) */
.text-primary, .c-primary, .text-warning, .c-warning { color: #6b5400 !important; }
.text-success, .c-success { color: #1d7a35 !important; }
.text-danger,  .c-danger  { color: #b30000 !important; }
#image_wrapper .variation-image-preview .variation-image-preview-title .variation-image-preview-title-value { color: #6b5400; }

/* 5) Gelb als Hintergrund behalten, Schrift/Symbole schwarz (16,5:1 statt 1,2:1) */
.ribbon-7,
.badge-primary, .badge-success, .badge-warning, .badge-danger,
.btn-success, .btn-warning, .btn-danger,
.btn-success:hover, .btn-warning:hover, .btn-danger:hover,
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle,
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle,
.btn-outline-success:hover, .btn-outline-warning:hover, .btn-outline-danger:hover,
.btn-icon-primary:not(:disabled):not(.disabled):active, .btn-icon-secondary:not(:disabled):not(.disabled):active,
.list-group-item.active, .nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #000; }
.badge-outline-primary, .badge-outline-warning { color: #6b5400; }
.badge-outline-success { color: #1d7a35; }
.badge-outline-danger { color: #b30000; }
/* Rahmen-Button: beim Hover gelb mit schwarzer Schrift (vorher rot-rosa Rest #ff6868) */
.btn-outline-primary:hover { background-color: #ffe500; border-color: #ffe500; color: #000; }
/* Haupt-Button bei Tastaturfokus: schwarz bleibt schwarz (vorher dunkelroter Rest) */
.btn-primary:focus, .btn-primary.focus { background-color: #000; border-color: #000; box-shadow: 0 0 0 0.2rem rgba(255, 229, 0, 0.6); }
/* Angehakte Checkboxen/Radios: schwarzer Haken bzw. Punkt auf Gelb */
.custom-control-input:checked ~ .custom-control-label::before { border-color: #000; }
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23000' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); }
.custom-radio .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23000'/%3e%3c/svg%3e"); }
/* Haken in Checkout-Schritten, Pflichtfeld-Sternchen, Konfigurator, Login-Box */
.checkout-steps .step-check, .required-star, .cfg-group-check, .cfg-group-missing, .cfg-group-optional, .box_login .register .fa { color: #6b5400; }

/* 6) Google-Bewertungen (Snippets laden eigene Styles NACH custom.css -> "body"-Praefix fuer Vorrang) */
body .gr-badge__stars, body .gr-reviews-section__stars, body .gr-reviews-section__card-stars { color: #a67c00; }   /* Sterne: 3,4-3,8:1 */
body .gr-reviews-section__subtitle, body .gr-reviews-section__date, body .gr-reviews-section__google-link { color: #6b7280; }  /* 4,8:1 */
body .gr-badge__text { color: #4b5563; }   /* 6,6:1 auf #f0f2f5 */
/* 7) Artikelbeschreibungen aus der Wawi (alte eBay-Vorlage "Eselt"/#template-7 in 54 Artikeln): nur Darstellung
   im Shop, die Wawi-Daten bleiben unveraendert. Beige Blocktitel auf gelbem Rand und ocker H2 werden dunkel. */
.aside-block__title { color: #000 !important; }
[style*="192,145,0"], [style*="192, 145, 0"] { color: #6b5400 !important; }
/* 8) Nachtraege aus der Nachmessung */
/* Obere schwarze Leiste (Reparaturen/Service/...): Hover bleibt gelb, das ist auf Schwarz gut lesbar (16:1) */
#header-top-bar a:hover, #header-top-bar a:not(.dropdown-item):not(.btn):hover { color: #ffe500; text-decoration: none; }
/* Grosse Google-Sterne: das Snippet setzt sie ueber ".gr-reviews-section__summary ..." erneut auf Gelb */
body .gr-reviews-section__summary .gr-reviews-section__stars { color: #a67c00; }
/* Google-Button "Alle Bewertungen": Hover-Blau etwas dunkler (3,9:1 -> 7:1) */
body .gr-reviews-section__cta:hover { color: #174ea6; }
/* ===== Ende Lesbarkeit ===== */

/* ===== Menue (2026-10-27) · netMitte =====
   Mega-Menue: Unterkategorien wurden mit "..." abgeschnitten ("Fahrzeuge & Zub...", "Haushaltskleinge...").
   Ursache: Spalten (col-lg-2, 165 px) mit 32 px Innenabstand je Seite -> nur 101 px fuer den Text, und
   NOVA setzt die Namen in .text-truncate (nowrap + ellipsis). Hier: umbrechen statt abschneiden, mit
   Silbentrennung fuer lange Woerter, und Innenabstand der Spalten auf 20 px. */
header .navbar-nav .dropdown-menu .text-truncate {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: break-word;
  hyphens: auto;
}
@media (min-width: 992px) {
  header .navbar-nav .dropdown-menu .nav-item-lg-m[class*="col-lg-2"] {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
/* Kopfbereich weich ein-/ausklappen (Klassen setzt SatShop/layout/header_menu_single_row.tpl).
   overflow:hidden nur waehrend der Animation (ss-anim), sonst wuerden Konto-/Warenkorb-Dropdowns und
   die Suchvorschlaege abgeschnitten. max-height wird per Inline-Style aus scrollHeight gesetzt. */
@media (min-width: 992px) {
  .hide-navbar.ss-anim, #header-top-bar.ss-anim {
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.22s ease, padding-top 0.28s ease, padding-bottom 0.28s ease;
  }
  .hide-navbar.ss-collapsed, #header-top-bar.ss-collapsed {
    max-height: 0 !important;
    opacity: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* ===== Ende Menue ===== */


/* ===== Zustand-Badges (2026-10-27) · netMitte =====
   Quelle: Wawi-Funktionsattribut "Zustand" -> snippets/condition_badge.tpl (Farbklasse je Wert).
   Artikelseite: .condition-badge | Kacheln/Listen/Slider: .productbox-condition (unten links im Bild). */
.condition-badge, .productbox-condition {
  display: inline-block;
  font-weight: 600;
  font-size: 0.8125rem;
  line-height: 1.4;
  padding: 0.2em 0.75em;
  border-radius: 999px;
  background: #f0f0f2;
  color: #2a2a2a;
  white-space: nowrap;
  vertical-align: middle;
}
.cond-brandneu.condition-badge, .cond-brandneu.productbox-condition {
  background: #ffe500;
  color: #000;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.cond-neu.condition-badge, .cond-neu.productbox-condition { background: #ffe500; color: #000; font-weight: 700; }
.cond-sehrgut.condition-badge, .cond-sehrgut.productbox-condition { background: #e3f3e7; color: #1d7a35; }
.cond-gut.condition-badge, .cond-gut.productbox-condition, .cond-sonst.condition-badge, .cond-sonst.productbox-condition { background: #f0f0f2; color: #2a2a2a; }
.cond-akzeptabel.condition-badge, .cond-akzeptabel.productbox-condition { background: #fff3cd; color: #6b5400; }
.cond-defekt.condition-badge, .cond-defekt.productbox-condition { background: #fde3e3; color: #b30000; }
/* Artikelseite: Brandneu deutlich groesser */
.product-condition .condition-badge.cond-brandneu { font-size: 1rem; padding: 0.3em 1em; box-shadow: 0 1px 0 rgba(0,0,0,0.08); }
/* Kacheln, Listen, Slider: im Bild unten links, ueber dem Bild, nicht klickbar (Klick geht ans Bild) */
.productbox-image .productbox-condition, .item-slider .productbox-condition {
  position: absolute;
  left: 0.5rem;
  bottom: 0.5rem;
  z-index: 2;
  font-size: 0.75rem;
  padding: 0.2em 0.7em;
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  pointer-events: none;
  max-width: calc(100% - 1rem);
  overflow: hidden;
  text-overflow: ellipsis;
}
.productbox-image .productbox-condition.cond-gut, .productbox-image .productbox-condition.cond-sonst,
.item-slider .productbox-condition.cond-gut, .item-slider .productbox-condition.cond-sonst { background: #fff; border: 1px solid #e0e0e0; }
/* ===== Ende Zustand-Badges ===== */

/* ===== ss2026 - Design 2026-10 nach Entwurf (Dev-Shop) · netMitte =====
   Entwurf: netMitte, Oktober 2026 (Startseite, Kategorie, Detail).
   Prinzip: Schwarz rahmt (Leisten oben/unten), Gelb nur als Kaufsignal (Brandneu-Badge, Hero, Ankauf, Primaer-Buttons).
   Templates: snippets/ss_home.tpl, ss_card.tpl, ss_pd_sections.tpl, ss_pd_related.tpl, productlist/item_box.tpl,
   productlist/header.tpl, productdetails/details.tpl + tabs.tpl, layout/footer.tpl, header_top_bar.tpl, header_nav_search.tpl. */
:root { --ss-gelb:#ffe500; --ss-schwarz:#111111; --ss-tinte:#1d1d1b; --ss-grau:#5c5c58; --ss-linie:#e6e6e2; --ss-sand:#f6f5f0; --ss-gruen:#1d7a35; --ss-gruen-bg:#e3f3e7; --ss-rot:#b30000; }

/* --- Breite: ein Raster fuer Kopf, Inhalt, Fuss (1240 px Inhalt) --- */
@media (min-width: 992px) {
  .container, .container-fluid-xl { max-width: 1272px; padding-left: 16px; padding-right: 16px; }
}
.ss-wrap { max-width: 1272px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.ss-band { width: 100%; }

/* --- Kopf: Top-Bar --- */
#header-top-bar { background: var(--ss-schwarz); color: #d7d7d2; font-size: 12.5px; }
#header-top-bar > div { flex-direction: row !important; justify-content: space-between; align-items: center; }
#header-top-bar .nav-link, #header-top-bar a { color: #d7d7d2; padding-top: 7px; padding-bottom: 7px; }
#header-top-bar, #header-top-bar .nav-item, #header-top-bar .nav-link, #header-top-bar a { font-weight: 400 !important; color: #d7d7d2 !important; font-size: 12.5px; }
#header-top-bar a:hover { color: var(--ss-gelb) !important; }
#header-top-bar .topbar-main .nav-item + .nav-item { margin-left: 4px; }
#header-top-bar #header-top-bar__usps { display: none !important; }
.ss-topbar-contact { display: flex; align-items: center; gap: 0; color: #d7d7d2; margin: 0; }
.ss-topbar-contact .nav-item { padding: 7px 0; }
.ss-topbar-contact .nav-item + .nav-item::before { content: "·"; margin: 0 8px; color: #8a8a84; }
.ss-topbar-contact a { padding: 0 !important; display: inline; }

/* --- Kopf: Logo, Suche, Icons --- */
#jtl-nav-wrapper { background: #fff; }
#jtl-nav-wrapper .nav-logo-wrapper #shop-logo, #jtl-nav-wrapper #logo img { height: 72px; max-height: none; width: auto; } /* Logo groesser (27.10.), SVG */
#search .input-group { border: 2px solid var(--ss-schwarz); border-radius: 6px; overflow: hidden; flex-wrap: nowrap; background: #fff; }
#search .input-group .form-control { border: 0 !important; box-shadow: none !important; padding: 10px 14px; height: auto; font-size: 15px; background: #fff; }
#search .input-group-append { margin: 0; }
#search .ss-search-btn { background: var(--ss-schwarz) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; padding: 0 18px; font-weight: 600; font-size: 15px; height: 100%; display: inline-flex; align-items: center; gap: 6px; }
#search .ss-search-btn .flaticon { display: none; }
#search .ss-search-btn:hover { background: #2a2a28 !important; }
#search .form-icon .form-clear { right: 96px; }
@media (min-width: 992px) { .main-search-wrapper { max-width: 640px; } }
.nav-icons .navbar-tool-text, .nav-icons .cart-label { font-size: 13.5px; font-weight: 600; color: var(--ss-tinte); line-height: 1.2; }
.nav-icons .navbar-tool-text small, .nav-icons .cart-label small { display: block; font-size: 12px; font-weight: 400; color: var(--ss-grau); }

/* --- Kopf: Kategorie-Menue --- */
#jtl-nav-wrapper .menu-center-center, #jtl-nav-wrapper .menu-multiple-rows-scroll { border-top: 1px solid var(--ss-linie); border-bottom: 1px solid var(--ss-linie); }
@media (min-width: 992px) {
  #mainNavigation .navbar-nav > .nav-item > .nav-link { font-size: 15px; font-weight: 500; color: var(--ss-tinte); padding-top: 12px; padding-bottom: 12px; position: relative; }
  #mainNavigation .navbar-nav > .nav-item > .nav-link::before { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: 0; height: 4px; background: var(--ss-gelb); transform: scaleX(0); transition: transform .15s; }
  #mainNavigation .navbar-nav > .nav-item > .nav-link:hover::before, #mainNavigation .navbar-nav > .nav-item.active > .nav-link::before, #mainNavigation .navbar-nav > .nav-item.show > .nav-link::before { transform: scaleX(1); }
  #mainNavigation .navbar-nav > .nav-item > .nav-link.dropdown-toggle::after { display: none !important; }
}
.ss-nav-extra .nav-link { white-space: nowrap; }

/* --- Kopf: Vertrauensleiste (Google-Bewertungen) --- */
#google-reviews-usp-bar.gr-usp-bar { background: var(--ss-schwarz); border-bottom: 3px solid var(--ss-gelb); padding: 9px 0; }
#google-reviews-usp-bar .gr-usp-bar__inner { gap: 10px 28px; max-width: 1272px; }
#google-reviews-usp-bar .gr-usp-bar__item { font-size: 13px; color: #f2f2ee; }
#google-reviews-usp-bar .gr-usp-bar__rating { font-size: 13.5px; }
#google-reviews-usp-bar .gr-usp-bar__stars { color: var(--ss-gelb); }
@media (min-width: 992px) and (max-width: 1199.98px) { #google-reviews-usp-bar .ss-usp-extra { display: none !important; } }

/* --- Buttons und Abschnittskoepfe (eigene Klassen, kollidieren nicht mit NOVA .btn) --- */
.ss-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 600; font-size: 15px; line-height: 1.3; border-radius: 6px; padding: 12px 20px; border: 2px solid var(--ss-schwarz); background: var(--ss-schwarz); color: #fff !important; text-decoration: none !important; transition: transform .15s; cursor: pointer; }
.ss-btn:hover { transform: translateY(-1px); color: #fff; }
.ss-btn.ss-ghost { background: transparent; color: var(--ss-schwarz) !important; }
.ss-btn.ss-gelb { background: var(--ss-gelb); color: var(--ss-schwarz) !important; border-color: var(--ss-gelb); }
.ss-btn.ss-block { width: 100%; }
.ss-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ss-more { font-weight: 600; border-bottom: 2px solid var(--ss-gelb); padding-bottom: 2px; white-space: nowrap; color: var(--ss-tinte) !important; text-decoration: none !important; }
.ss-more:hover { border-bottom-color: var(--ss-schwarz); }
.ss-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.ss-sec-head h2 { font-size: 26px; font-weight: 700; margin: 0; color: var(--ss-tinte); line-height: 1.15; }
.ss-sec-head p { margin: 4px 0 0; color: var(--ss-grau); }

/* --- Zustand-Badges in Karten und Hero --- */
.ss-card-img .productbox-condition { position: absolute; left: 10px; bottom: 10px; z-index: 2; box-shadow: 0 1px 3px rgba(0,0,0,.18); font-size: 12px; }
.ss-card-img .productbox-condition.cond-gut, .ss-card-img .productbox-condition.cond-sonst { background: #fff; border: 1px solid #e0e0e0; }

/* --- Produktkarte (Kategorie, Suche, Startseite, Empfehlungen) --- */
.ss-card { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--ss-linie); border-radius: 12px; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.ss-card:hover { box-shadow: 0 12px 28px rgba(0,0,0,.10); transform: translateY(-2px); }
.ss-card-img { position: relative; aspect-ratio: 1 / 1; background: #fafaf8; padding: 14px; }
.ss-card-imglink { display: block; width: 100%; height: 100%; }
.ss-card-img picture { display: block; width: 100%; height: 100%; }
.ss-card-img img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: contain; }
.ss-card-wish { position: absolute; right: 10px; top: 10px; z-index: 3; }
.ss-card-wish .product-actions { display: flex; gap: 6px; margin: 0; }
.ss-card-wish .compare, .ss-card-wish .comparelist { display: none !important; }
.ss-card-wish .wishlist { width: 32px; height: 32px; border-radius: 50% !important; background: #fff !important; border: 1px solid var(--ss-linie) !important; color: var(--ss-grau) !important; display: grid !important; place-items: center; padding: 0 !important; font-size: 14px; box-shadow: none !important; }
.ss-card-wish .wishlist.on-list, .ss-card-wish .wishlist:hover { color: var(--ss-tinte) !important; border-color: var(--ss-schwarz) !important; }
.ss-card-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ss-card-title { font-size: 13.5px; font-weight: 500; line-height: 1.35; color: var(--ss-tinte) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.ss-card-title:hover { text-decoration: underline !important; text-decoration-color: var(--ss-gelb) !important; }
.ss-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 4px; margin-top: auto; }
.ss-card-price { flex: 0 1 auto; min-width: 0; }
.ss-card-cta { flex: none; }
.ss-card-price .price_wrapper { margin: 0; }
.ss-card-price .price { font-weight: 800; font-size: 17px; color: var(--ss-tinte); font-variant-numeric: tabular-nums; margin: 0; }
.ss-card-price .price .footnote-reference { font-weight: 400; color: var(--ss-grau); font-size: 13px; }
.ss-card-price .price-note { font-size: 11.5px; color: var(--ss-grau); margin: 2px 0 0; }
.ss-card-price .price_label { font-size: 12px; color: var(--ss-grau); font-weight: 400; }
.ss-card-cta { font-size: 12.5px; font-weight: 600; border-bottom: 2px solid var(--ss-gelb); color: var(--ss-tinte) !important; text-decoration: none !important; white-space: nowrap; margin-bottom: 3px; }
.ss-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

/* --- Startseite --- */
.ss-home { color: var(--ss-tinte); }
.ss-home h1, .ss-home h2, .ss-home h3 { color: var(--ss-tinte); line-height: 1.15; text-wrap: balance; }
.ss-sec { padding-top: 44px; padding-bottom: 44px; }
.ss-sec-tight { padding-top: 0; }
.ss-hero { background: var(--ss-gelb); }
.ss-hero-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: center; padding-top: 48px; padding-bottom: 48px; }
.ss-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--ss-schwarz); color: var(--ss-gelb); padding: 5px 10px; border-radius: 4px; }
.ss-hero h1 { font-size: clamp(30px, 4.2vw, 50px); font-weight: 800; margin: 18px 0 14px; letter-spacing: -.01em; color: var(--ss-schwarz); }
.ss-lead { font-size: 17px; max-width: 36em; margin: 0 0 22px; color: #2b2600; }
.ss-promo { margin-top: 22px; display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.55); border: 1px dashed rgba(0,0,0,.35); border-radius: 8px; padding: 8px 12px; font-size: 13.5px; color: var(--ss-tinte); }
.ss-promo-ic { flex: none; }
.ss-feature { position: relative; display: block; background: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 20px 50px rgba(0,0,0,.18); color: var(--ss-tinte) !important; text-decoration: none !important; max-width: 460px; justify-self: end; width: 100%; }
.ss-feature .condition-badge { position: absolute; left: 28px; top: 28px; z-index: 2; font-size: 13px; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.ss-feature-img { aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; background: #fafaf8; display: grid; place-items: center; }
.ss-feature-img picture, .ss-feature-img img { width: 100% !important; height: 100% !important; object-fit: contain; display: block; }
.ss-feature-name { display: block; font-size: 16px; font-weight: 700; margin: 14px 0 6px; line-height: 1.3; }
.ss-feature-price { display: block; font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ss-feature-price small { font-size: 13px; font-weight: 400; color: var(--ss-grau); }
.ss-feature-meta { display: block; color: var(--ss-grau); font-size: 13px; margin-top: 4px; }
.ss-feature .ss-btn { margin-top: 14px; }
.ss-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.ss-tile { border: 1px solid var(--ss-linie); border-radius: 12px; padding: 12px; text-align: center; color: var(--ss-tinte) !important; text-decoration: none !important; transition: box-shadow .15s, border-color .15s; background: #fff; }
.ss-tile:hover { box-shadow: 0 10px 24px rgba(0,0,0,.08); border-color: #cfcfc9; }
.ss-tile-img { aspect-ratio: 4 / 3; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: var(--ss-sand); }
.ss-tile-img img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.ss-tile-icon { font-size: 30px; color: #000; }
.ss-tile-name { display: block; margin-top: 10px; font-weight: 600; font-size: 14px; }
.ss-tile.ss-tile-all { display: grid; place-items: center; background: var(--ss-schwarz); color: #fff !important; border-color: var(--ss-schwarz); font-weight: 600; }
.ss-tile.ss-tile-all em { display: block; font-style: normal; color: var(--ss-gelb); font-size: 28px; line-height: 1; margin-bottom: 6px; }
.ss-legend { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 18px; color: var(--ss-grau); font-size: 13px; }
.ss-legend .condition-badge { font-size: 12px; }
.ss-ankauf { background: var(--ss-schwarz); color: #fff; }
.ss-ankauf-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: center; padding-top: 46px; padding-bottom: 46px; }
.ss-ankauf h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; color: #fff !important; margin: 0 0 12px; }
.ss-ankauf h2 em { font-style: normal; color: var(--ss-gelb); }
.ss-ankauf p { color: #d7d7d2; font-size: 16px; max-width: 34em; margin: 0; }
.ss-kontakt { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; font-size: 14px; align-items: center; }
.ss-code { color: #fff !important; background: #1d1d1b; border: 1px solid #2c2c2a; padding: 6px 10px; border-radius: 6px; text-decoration: none !important; }
.ss-code:hover { border-color: var(--ss-gelb); }
.ss-steps { display: grid; gap: 12px; }
.ss-step { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; background: #1d1d1b; border: 1px solid #2c2c2a; border-radius: 10px; padding: 14px; }
.ss-step b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ss-gelb); color: #000; font-size: 18px; }
.ss-step strong { display: block; font-size: 15px; color: #fff; }
.ss-step span { color: #bdbdb6; font-size: 13.5px; }
a.ss-step { color: #fff !important; text-decoration: none !important; transition: border-color .15s, background .15s; }
a.ss-step:hover, a.ss-step:focus-visible { border-color: var(--ss-gelb); background: #262624; }
.ss-ankauf + #footer.ss-footer { border-top: 1px solid #2c2c2a; }
.ss-ankauf-small .ss-ankauf-grid { grid-template-columns: 1fr auto; padding-top: 30px; padding-bottom: 30px; }
.ss-ankauf-small h2 { font-size: clamp(22px, 2.6vw, 30px); }
.ss-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ss-svc { border: 1px solid var(--ss-linie); border-radius: 12px; padding: 22px; display: grid; gap: 8px; align-content: start; }
.ss-svc .ss-ic { width: 40px; height: 40px; border-radius: 10px; background: var(--ss-gelb); color: #000; display: grid; place-items: center; font-weight: 800; font-size: 18px; }
.ss-svc h3 { font-size: 17px; margin: 0; }
.ss-svc p { margin: 0; color: var(--ss-grau); font-size: 14px; }
.ss-svc .ss-more { justify-self: start; font-size: 14px; }
.ss-trust { background: var(--ss-sand); }
.ss-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; padding-top: 34px; padding-bottom: 34px; }
.ss-rating { display: flex; align-items: center; gap: 18px; }
.ss-rating .ss-big { font-size: 54px; font-weight: 800; line-height: 1; }
.ss-rating .ss-stars { color: #f4b400; font-size: 22px; letter-spacing: 2px; }
.ss-rating p { margin: 4px 0 6px; color: var(--ss-grau); font-size: 14px; }
.ss-platforms { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; justify-content: flex-end; }
.ss-platforms img { height: 28px; width: auto; }
.ss-platforms span { color: var(--ss-grau); font-size: 13.5px; }
.ss-vouchers { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.ss-voucher { border: 2px dashed #cfcfc9; border-radius: 10px; padding: 14px; text-align: center; background: #fff; color: var(--ss-tinte) !important; text-decoration: none !important; }
.ss-voucher:hover { border-color: var(--ss-schwarz); }
.ss-v-eur { display: block; font-size: 22px; font-weight: 800; }
.ss-v-txt { font-size: 12.5px; color: var(--ss-grau); }
.ss-seo { border-top: 1px solid var(--ss-linie); }
.ss-seo h2 { font-size: 22px; margin: 0 0 12px; }
.ss-seo p { max-width: 70em; color: #3a3a37; }
/* alte Startseiten-Elemente im Dev ausblenden, falls OPC/Boxen doch rendern */
body.is-nova .product-slider-wrapper.product-slider-Bestseller { display: none; }

/* --- Fusszeile --- */
#footer.ss-footer { background: var(--ss-schwarz); color: #cfcfc9; font-size: 13.5px; margin-top: 0; padding: 0; border: 0; }
.ss-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding-top: 40px; padding-bottom: 40px; }
.ss-footer a, .ss-footer .nav-link { color: #cfcfc9 !important; text-decoration: none; }
.ss-footer a:hover, .ss-footer .nav-link:hover { color: var(--ss-gelb) !important; }
.ss-footer-h, .ss-footer .productlist-filter-headline { color: #fff !important; margin: 0 0 10px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border: 0; padding: 0; }
.ss-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.ss-footer, .ss-footer li { line-height: 1.55; }
.ss-footer li, .ss-footer .box .nav-item { margin: 0 !important; }
.ss-footer .box .nav-link { padding: 0 !important; }
.ss-footer .box { margin: 0; padding: 0; background: transparent; }
.ss-footer .box .nav-link { padding: 0; font-size: 13.5px; }
.ss-footer .box .nav { gap: 7px; }
.ss-footer .box-normal-hr { display: none; }
.ss-footer .box-normal-link { color: #fff !important; }
.ss-footer-withdrawal { margin-top: 16px; }
.ss-footer-withdrawal .mt-3 { margin-top: 0 !important; }
.ss-footer-withdrawal .withdrawal-link { display: inline-block; width: auto; background: transparent !important; border: 1.5px solid var(--ss-gelb) !important; color: var(--ss-gelb) !important; font-weight: 600; font-size: 13.5px; padding: 7px 14px; border-radius: 6px; }
.ss-footer-withdrawal .withdrawal-link:hover { background: var(--ss-gelb) !important; color: #000 !important; }
.ss-pay-logos { display: flex !important; flex-wrap: wrap; gap: 6px !important; margin-top: 14px !important; }
.ss-pay-logos li { background: #fff; border-radius: 4px; padding: 3px 6px; display: grid; place-items: center; height: 28px; }
.ss-pay-logos img { height: 18px; width: auto; max-width: 56px; }
.ss-copy { border-top: 1px solid #2c2c2a; }
.ss-copy-row { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; font-size: 12.5px; color: #9a9a94; }
.ss-copy-row a { color: #cfcfc9 !important; text-decoration: underline; }
.ss-copy-right { display: inline-flex; gap: 12px; align-items: center; flex-wrap: wrap; }
#footer-payment-icons { display: none; }

/* --- Kategorieseite --- */
.breadcrumb-container { font-size: 13px; }
.breadcrumb-container .breadcrumb { background: transparent; padding: 14px 0; margin: 0; }
.breadcrumb-container .breadcrumb-item, .breadcrumb-container .breadcrumb-item a { color: var(--ss-grau); }
.breadcrumb-container .breadcrumb-item a:hover { color: var(--ss-tinte); }
.breadcrumb-container .breadcrumb-item.active, .breadcrumb-container .breadcrumb-item.last { color: var(--ss-tinte); font-weight: 600; }
.breadcrumb-container .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #9a9a94; }
#result-wrapper > .title { margin: 0; }
.ss-cat-head { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; padding: 4px 0 18px; }
.ss-cat-head h1 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; margin: 0; color: var(--ss-tinte); line-height: 1.15; }
.ss-cat-intro { margin: 8px 0 0; color: var(--ss-grau); max-width: 46em; font-size: 15px; }
.ss-cat-intro p:last-child { margin-bottom: 0; }
.ss-cat-count { color: var(--ss-grau); font-size: 14px; white-space: nowrap; }
.productlist-page-nav-header-m { border-top: 1px solid var(--ss-linie); border-bottom: 1px solid var(--ss-linie); padding: 10px 0; margin: 0 0 26px; align-items: center; }
.productlist-page-nav .displayoptions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.productlist-page-nav .displayoptions .btn, .productlist-page-nav .displayoptions .btn-outline-secondary, #improve_search .btn { border: 1.5px solid var(--ss-linie) !important; border-radius: 999px !important; padding: 6px 14px !important; font-size: 13px !important; font-weight: 500; background: #fff !important; color: var(--ss-tinte) !important; box-shadow: none !important; }
.productlist-page-nav .displayoptions .btn.active, .productlist-page-nav .displayoptions .btn:hover { background: var(--ss-schwarz) !important; color: #fff !important; border-color: var(--ss-schwarz) !important; }
.productlist-page-nav .displayoptions .btn-group { margin: 0 !important; }
.productlist-page-nav-bottom { display: none; }
.pagination { gap: 6px; }
.pagination .page-item .page-link { min-width: 38px; height: 38px; display: grid; place-items: center; border: 1.5px solid var(--ss-linie) !important; border-radius: 8px !important; font-weight: 600; font-size: 14px; color: var(--ss-tinte) !important; background: #fff; padding: 0 8px; margin: 0; }
.pagination .page-item.active .page-link { background: var(--ss-gelb) !important; border-color: var(--ss-gelb) !important; color: #000 !important; }
#product-list.layout-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0 0 10px; }
#product-list.layout-gallery > .product-wrapper { width: auto; max-width: none; flex: none; padding: 0; margin: 0; }
#product-list.layout-gallery > .product-wrapper::before, #product-list.layout-gallery > .product-wrapper::after { display: none; }
.productlist-page-nav-footer, #result-wrapper .productlist-page-nav:last-child { margin-top: 18px; }

/* --- Detailseite --- */
.product-detail { margin-top: 6px; }
.product-detail .product-gallery { position: relative; }
.product-detail #gallery .square-image, .product-detail #gallery .slick-slide .square-image { background: #fafaf8; border-radius: 14px; }
.product-detail #gallery .square-image img { padding: 20px; }
.product-detail #gallery_preview .square-image { border: 2px solid var(--ss-linie); border-radius: 8px; background: #fafaf8; overflow: hidden; }
.product-detail #gallery_preview .slick-current .square-image, .product-detail #gallery_preview .square-image.slick-current { border-color: var(--ss-schwarz); }
.product-detail .product-gallery .product-actions .compare { display: none !important; }
.product-detail .product-gallery .product-actions .wishlist { width: 38px; height: 38px; border-radius: 50% !important; background: #fff !important; border: 1px solid var(--ss-linie) !important; color: var(--ss-grau) !important; }
.ss-gallery-badge { position: absolute; top: 18px; left: 34px; z-index: 5; pointer-events: none; }
.ss-gallery-badge .condition-badge { font-size: 13px; padding: .35em 1em; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.product-detail .product-info-inner { display: flex; flex-direction: column; gap: 12px; }
.product-detail #google-reviews-badge { align-self: flex-start; margin: 0 !important; }
.product-detail .product-headline { margin: 0; }
.product-detail .product-title { font-size: clamp(20px, 2.4vw, 28px) !important; font-weight: 700 !important; color: var(--ss-tinte) !important; line-height: 1.2; margin: 0 !important; }
.product-detail .info-essential { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font-size: 13px; color: var(--ss-grau); margin: 0; }
.product-detail .info-essential li { margin: 0; }
.product-detail .info-essential strong { font-weight: 500; color: var(--ss-grau); }
.product-detail .info-essential .product-condition strong { display: none; }
.product-detail .info-essential a { color: var(--ss-tinte); text-decoration: underline; text-decoration-color: var(--ss-gelb); }
.product-detail .product-offer { border: 1px solid var(--ss-linie); border-radius: 14px; padding: 18px; display: grid; gap: 14px; margin: 0; }
.product-detail .product-offer > .row { margin: 0; row-gap: 10px; }
.product-detail .product-offer > .row > .col, .product-detail .product-offer > .row > [class*="col-"] { padding: 0; }
.product-detail .price_wrapper .price.h1 { font-size: 32px !important; font-weight: 800; color: var(--ss-tinte); line-height: 1; margin: 0 0 6px; font-variant-numeric: tabular-nums; }
.product-detail .price_wrapper .price-note, .product-detail .vat_info { font-size: 12.5px; color: var(--ss-grau); }
.product-detail .stock-information { border: 0; padding: 0; margin: 0; font-size: 14px; }
.product-detail .stock-information .question-on-item { display: none; }
.product-detail .stock-information .delivery-status, .product-detail .stock-information .status { font-weight: 600; }
.product-detail #add-to-cart .btn-primary, .product-detail button[name="inWarenkorb"].btn-primary, .product-detail .basket-form-inline .btn-primary { background: var(--ss-gelb) !important; border-color: var(--ss-gelb) !important; color: #000 !important; font-size: 16px; font-weight: 700; padding: 12px 20px; border-radius: 6px; }
.product-detail #add-to-cart .btn-primary:hover, .product-detail button[name="inWarenkorb"].btn-primary:hover { filter: brightness(.95); }
.product-detail #add-to-cart .form-control, .product-detail #add-to-cart .quantity { border-color: var(--ss-linie); }
.ss-trustrow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; font-size: 12.5px; color: #2a2a2a; margin: 0; }
.ss-trustrow span { background: var(--ss-sand); border-radius: 8px; padding: 8px 10px; text-align: center; display: flex; align-items: center; justify-content: center; gap: 6px; }
.ss-trustrow svg { flex: none; }
.ss-help { display: flex; gap: 8px 16px; flex-wrap: wrap; font-size: 13.5px; }
.ss-help-link { font-weight: 600; border: 0; border-bottom: 2px solid var(--ss-gelb); background: transparent; padding: 0 0 1px; color: var(--ss-tinte) !important; text-decoration: none !important; cursor: pointer; font-size: 13.5px; line-height: 1.4; }
.ss-help-link:hover { border-bottom-color: var(--ss-schwarz); }
.product-detail .ss-cond-box { border: 1px solid var(--ss-linie); border-radius: 12px; padding: 14px 16px; font-size: 13.5px; display: grid; gap: 6px; margin: 0; }
.product-detail .ss-cond-box b { font-size: 14px; }
.ss-pd-sections-wrap { margin-top: 26px; }
.ss-pd-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 10px 0 34px; border-top: 1px solid var(--ss-linie); }
.ss-pd-sections > div:only-child { grid-column: 1 / -1; }
.ss-pd-sections h2 { font-size: 20px; font-weight: 700; margin: 28px 0 12px; color: var(--ss-tinte); }
.ss-pd-sections .product-attributes table { width: 100%; border: 0 !important; font-size: 14px; margin: 0; }
.ss-pd-sections .product-attributes tr { background: transparent !important; }
.ss-pd-sections .product-attributes td { padding: 9px 0 !important; border: 0 !important; border-bottom: 1px solid var(--ss-linie) !important; vertical-align: top; background: transparent !important; }
.ss-pd-sections .product-attributes td:first-child { color: var(--ss-grau); font-weight: 500 !important; width: 42%; font-size: 14px !important; }
.ss-specs-raw { font-size: 14px; line-height: 2; color: var(--ss-tinte); }
.ss-specs-raw strong { color: var(--ss-grau); font-weight: 500; }
.ss-specs-raw p:empty { display: none; }
.ss-specs-raw > p:first-child > br:first-child { display: none; }
.ss-pd-desc .desc, .ss-pd-desc .ss-shortdesc { color: #3a3a37; font-size: 15px; max-width: 62em; }
.ss-pd-desc .ss-shortdesc { margin-bottom: 12px; }
.ss-grades { display: grid; gap: 8px; font-size: 13.5px; }
.ss-grades > div { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; }
.ss-grades .condition-badge { justify-self: start; }
.ss-pd-reco { padding-top: 10px; padding-bottom: 30px; }
.ss-pd-related { margin: 10px 0 34px; }
.ss-pd-related .ss-sec-head h2 { font-size: 24px; }
#product-tabs .nav-link { color: var(--ss-tinte); font-weight: 600; }
#product-tabs .nav-link.active { border-bottom-color: var(--ss-gelb); }

/* --- Nachbesserung nach Sichtpruefung (27.10.) --- */
/* Suche: SatShop setzt den Button absolut links (Lupe im Feld) -> wieder rechts als "Suchen"-Button */
#search .input-group-append { position: static !important; order: 2; left: auto !important; right: auto !important; height: auto; }
#search .input-group .twitter-typeahead { flex: 1 1 auto; min-width: 0; }
#search .input-group .form-control { padding-left: 14px !important; }
/* Vertrauensleiste: Linkfarbe aus dem Lesbarkeits-Block (Header-Links schwarz) hier hell */
#google-reviews-usp-bar a, #google-reviews-usp-bar .gr-usp-bar__text { color: #f2f2ee !important; }
#google-reviews-usp-bar a:hover .gr-usp-bar__text { color: var(--ss-gelb) !important; }
/* Startseite: kein Abstand zwischen Kopf und Hero */
#content-wrapper:has(.ss-home) { padding-top: 0 !important; margin-top: 0 !important; }
#content-wrapper:has(.ss-home) > .breadcrumb-container { display: none; }
/* Menue linksbuendig wie im Entwurf */
@media (min-width: 992px) { #mainNavigation .navbar-nav { justify-content: flex-start !important; } }
.ss-footer .box .nav-item { margin: 0; }
.ss-footer .box .nav-link { line-height: 1.5; }
/* Kaufkasten: feste Abstaende statt Raster (unsichtbare NOVA-Elemente erzeugten Luecken) */
.product-detail .product-offer { display: block; }
.product-detail #add-to-cart { margin-top: 14px; }
.product-detail .product-offer .ss-trustrow { margin-top: 14px; }
.product-detail .product-offer .ss-help { margin-top: 12px; }
.product-detail #add-to-cart .basket-form-inline { display: flex; flex-wrap: nowrap; gap: 10px; margin: 0; }
.product-detail #add-to-cart .basket-form-inline > .col { padding: 0; margin: 0; }
.product-detail #add-to-cart .basket-form-inline > .col:first-child { flex: 0 0 150px; max-width: 150px; }
.product-detail #add-to-cart .basket-form-inline > .col:last-child { flex: 1 1 auto; max-width: none; }
.product-detail #add-to-cart .btn-primary { width: 100%; height: 100%; min-height: 48px; }
/* 29.10.: Mengenfeld bleibt einzeilig, auch bei Artikeln mit Einheit ("Stk"). Vorher rutschten Einheit und "+" in eine
   zweite Zeile (NOVA setzt flex-wrap: wrap). Einheit jetzt klein und grau im Feld vor dem "+". */
.product-detail #add-to-cart .form-counter { flex-wrap: nowrap; }
.product-detail #add-to-cart .form-counter .input-group-prepend,
.product-detail #add-to-cart .form-counter .input-group-append { flex: none; align-items: center; }
.product-detail #add-to-cart .form-counter .btn { width: 38px; padding-left: 0; padding-right: 0; }
.product-detail #add-to-cart .form-counter .quantity { flex: 1 1 auto; width: 1%; min-width: 0; padding-left: 2px; padding-right: 2px; text-align: center; }
.product-detail #add-to-cart .form-counter .unit { flex: none; width: auto; min-width: 0; height: auto; padding: 0 4px 0 0 !important; border: 0 !important; background: transparent !important; font-size: 12.5px; color: var(--ss-grau); }
/* Galerie: Hauptbild auf Sand, Vorschaubilder senkrecht links (Desktop); NOVA-Umschaltung bleibt */
.product-detail #gallery { background: #fafaf8; border-radius: 14px; overflow: hidden; }
.product-detail #gallery .square-image .inner { background: transparent; }
@media (min-width: 992px) {
  #image_wrapper:not(.fullscreen) .gallery-with-action-main { display: grid !important; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; margin: 0; align-items: start; }
  #image_wrapper:not(.fullscreen) .gallery-with-action-main > .col { padding: 0; max-width: none; width: auto; flex: none; }
  #image_wrapper:not(.fullscreen) .gallery-with-action-main > .product-detail-image-topbar { display: none; }
  #image_wrapper:not(.fullscreen) .gallery-with-action-main > .col:not(.product-detail-image-topbar):not(.product-detail-image-preview-bar) { grid-column: 2; grid-row: 1; }
  #image_wrapper:not(.fullscreen) .product-detail-image-preview-bar { grid-column: 1; grid-row: 1; align-self: stretch !important; height: 0; min-height: 100%; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
  #image_wrapper:not(.fullscreen) #gallery_preview_wrapper { padding: 0; margin: 0; }
  #image_wrapper:not(.fullscreen) #gallery_preview { display: flex !important; flex-direction: column; gap: 10px; margin: 0 !important; }
  #image_wrapper:not(.fullscreen) #gallery_preview .slick-list { overflow: visible !important; height: auto !important; padding: 0 !important; }
  #image_wrapper:not(.fullscreen) #gallery_preview .slick-track { transform: none !important; width: auto !important; display: flex !important; flex-direction: column; gap: 10px; left: 0 !important; }
  #image_wrapper:not(.fullscreen) #gallery_preview .slick-slide, #image_wrapper:not(.fullscreen) #gallery_preview > .square-image { width: 80px !important; margin: 0 !important; float: none; }
  #image_wrapper:not(.fullscreen) #gallery_preview .slick-arrow { display: none !important; }
  .ss-gallery-badge { left: 124px; }
}
/* Handy: Warenkorb-Button mit Text, lange Zustaende in Karten kuerzen */
.ss-card-img .productbox-condition { max-width: calc(100% - 20px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 575.98px) {
  .product-detail #add-to-cart .btn-basket-check > span { display: inline !important; }
  .product-detail #add-to-cart .basket-form-inline > .col:first-child { flex: 0 0 128px; max-width: 128px; }
  .product-detail #add-to-cart .btn-primary { font-size: 15px; padding: 10px 12px; }
}
/* Menue bei mittlerer Breite enger, damit alle Punkte inkl. "Neu eingetroffen"/"Ankauf" in eine Zeile passen */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #mainNavigation .navbar-nav > .nav-item > .nav-link { font-size: 14px; padding-left: .55rem; padding-right: .55rem; }
  #mainNavigation .navbar-nav > .nav-item > .nav-link::before { left: .55rem; right: .55rem; }
}
/* --- Mega-Menue (ss2026, 27.10.): volle Kopfbreite, kein Querscrollbalken, nur eine Unterstreichung --- */
@media (min-width: 992px) {
  /* Bezugsrahmen fuer das Aufklappmenue = Kopf (sticky) statt schmaler Navigationsleiste */
  #jtl-nav-wrapper .menu-multiple-rows-scroll > .navbar, #jtl-nav-wrapper .menu-center-center > .navbar { position: static; }
  #mainNavigation .navbar-nav > .dropdown-full > .dropdown-menu { left: 0 !important; right: 0 !important; top: auto !important; width: auto; margin: 0; border: 0; border-top: 1px solid var(--ss-linie); border-radius: 0; box-shadow: 0 18px 40px rgba(0,0,0,.14); overflow-x: hidden !important; overflow-y: auto; max-height: calc(100vh - 210px); padding: 0; background: #fff; }
  #mainNavigation .navbar-nav > .dropdown-full > .dropdown-menu > .dropdown-body { padding: 26px 0 30px; }
  #mainNavigation .dropdown-full > .dropdown-menu .subcategory-wrapper { max-width: 1272px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
  #mainNavigation .dropdown-full > .dropdown-menu .subcategory-wrapper > .row { margin-left: 0 !important; margin-right: 0 !important; row-gap: 22px; }
  #mainNavigation .dropdown-full .subcategory-wrapper > .row > .nav-item-lg-m { padding-left: 0 !important; padding-right: 24px !important; margin-bottom: 0 !important; }
  #mainNavigation .dropdown-full .submenu-headline { font-size: 15px; font-weight: 700; color: var(--ss-tinte) !important; border-bottom: 1px solid var(--ss-linie); padding-bottom: 8px; margin-bottom: 10px; text-decoration: none !important; }
  #mainNavigation .dropdown-full .submenu-headline:hover { border-bottom-color: var(--ss-gelb); }
  #mainNavigation .dropdown-full .categories-recursive-dropdown .nav-link { font-size: 14.5px; color: #3a3a37 !important; padding: 3px 0 !important; line-height: 1.5; text-decoration: none !important; }
  #mainNavigation .dropdown-full .categories-recursive-dropdown .nav-link:hover span { color: #000; text-decoration: underline; text-decoration-color: var(--ss-gelb); text-decoration-thickness: 2px; text-underline-offset: 3px; }
  /* gelbe Unterstreichung nur an der gerade gezeigten Kategorie (aktive Kategorie tritt zurueck, solange eine andere ueberfahren wird) */
  /* Menues ohne dritte Ebene (z. B. "Sammeln & Seltenes"): kompakte Linkliste statt leerer Spaltenueberschriften */
  #mainNavigation .dropdown-full .subcategory-wrapper > .row:not(:has(> .nav-item-lg-m.dropdown:not(.d-lg-none))) { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px 32px; }
  #mainNavigation .dropdown-full .subcategory-wrapper > .row:not(:has(> .nav-item-lg-m.dropdown:not(.d-lg-none))) > .nav-item-lg-m { width: auto; max-width: none; flex: none; padding: 0 !important; }
  #mainNavigation .dropdown-full .subcategory-wrapper > .row:not(:has(> .nav-item-lg-m.dropdown:not(.d-lg-none))) .submenu-headline { font-size: 15px; font-weight: 600; border-bottom: 1px solid var(--ss-linie); padding: 10px 0; margin: 0; }
  /* Endkategorien in gemischten Menues: ohne Trennlinie, damit keine leere Spalte entsteht */
  #mainNavigation .dropdown-full .subcategory-wrapper > .row:has(> .nav-item-lg-m.dropdown:not(.d-lg-none)) > .nav-item-lg-m:not(.dropdown):not(.d-lg-none) .submenu-headline { border-bottom-color: transparent; }
  /* "… anzeigen" (NOVA nur mobil) auch am Desktop als Abschlusslink */
  #mainNavigation .dropdown-full .subcategory-wrapper > .row > .nav-item-lg-m.d-lg-none { display: block !important; order: 99; flex: 0 0 100%; max-width: 100%; grid-column: 1 / -1; padding: 0 !important; margin-top: 14px !important; }
  #mainNavigation .dropdown-full .subcategory-wrapper > .row > .nav-item-lg-m.d-lg-none a { display: inline-block !important; }
  #mainNavigation .dropdown-full .subcategory-wrapper > .row > .nav-item-lg-m.d-lg-none .nav-mobile-heading { font-size: 14.5px; font-weight: 600; color: var(--ss-tinte); border-bottom: 2px solid var(--ss-gelb); padding-bottom: 2px; }
  #mainNavigation .dropdown-full .subcategory-wrapper > .row > .nav-item-lg-m.d-lg-none .nav-mobile-heading::after { content: " \2192"; }
  #mainNavigation .navbar-nav:hover > .nav-item.active:not(:hover):not(.show) > .nav-link::before,
  #mainNavigation .navbar-nav:has(> .nav-item.show) > .nav-item.active:not(.show) > .nav-link::before { transform: scaleX(0); }
}
/* --- Responsiv --- */
@media (max-width: 1100px) {
  .ss-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ss-grid, #product-list.layout-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ss-vouchers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ss-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 991.98px) {
  .ss-pd-sections { grid-template-columns: 1fr; gap: 0; }
  .ss-gallery-badge { left: 26px; top: 14px; }
}
@media (max-width: 767.98px) {
  .ss-hero-grid, .ss-ankauf-grid, .ss-trust-grid, .ss-cat-head, .ss-ankauf-small .ss-ankauf-grid { grid-template-columns: 1fr; }
  .ss-hero-grid { gap: 24px; padding-top: 80px; padding-bottom: 80px; }
  .ss-feature { justify-self: stretch; max-width: none; }
  .ss-platforms { justify-content: flex-start; }
  .ss-three { grid-template-columns: 1fr; }
  .ss-grid, #product-list.layout-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ss-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ss-sec { padding-top: 32px; padding-bottom: 32px; }
  .ss-sec-tight { padding-top: 0; }
  .ss-trustrow { grid-template-columns: 1fr; }
  .ss-copy-row { flex-direction: column; }
  .ss-cat-count { white-space: normal; }
  .ss-rating .ss-big { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) { .ss-btn, .ss-card, .ss-tile { transition: none; } .ss-card:hover { transform: none; } }

/* --- Handy (ss2026, 27.10. "Mobile muss 100 % sein"): Abgleich mit dem Entwurf bei 390 px --- */
.ss-home { font-size: 15px; line-height: 1.55; }
.ss-svc h3, .ss-seo h2, .ss-pd-sections h2 { font-weight: 700; }
/* Unterkategorien als Chips (Kategorieseite) */
.ss-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.ss-chip { display: inline-block; border: 1.5px solid var(--ss-linie); border-radius: 999px; padding: 6px 14px; font-size: 13.5px; font-weight: 500; color: var(--ss-tinte) !important; text-decoration: none !important; background: #fff; white-space: nowrap; }
.ss-chip:hover { border-color: var(--ss-schwarz); }
/* Technische Daten als Tabelle */
.ss-specs { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; }
.ss-specs th, .ss-specs td { padding: 9px 0; border-bottom: 1px solid var(--ss-linie); vertical-align: top; text-align: left; }
.ss-specs th { color: var(--ss-grau); font-weight: 500; width: 42%; padding-right: 12px; }
.ss-specs + .product-attributes { margin-top: 0; }
/* Beschreibung aus der Wawi: linksbuendig, einheitliche Schriftgroesse (Inhalt bleibt unveraendert) */
.ss-pd-desc .desc, .ss-pd-desc .desc p, .ss-pd-desc .desc div { text-align: left !important; }
.ss-pd-desc .desc span[style*="font-size"] { font-size: inherit !important; }
.ss-pd-desc .desc { font-size: 15px; line-height: 1.55; }
/* Kopf: wischbare Kategoriezeile (nur Handy/Tablet) */
.ss-mnav { background: #fff; border-top: 1px solid var(--ss-linie); border-bottom: 1px solid var(--ss-linie); position: relative; }
.ss-mnav-row { display: flex; gap: 28px; overflow-x: auto; overflow-y: hidden; padding: 12px 16px; white-space: nowrap; font-size: 15px; font-weight: 500; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ss-mnav-row::-webkit-scrollbar { display: none; }
.ss-mnav-row a { position: relative; flex: none; color: var(--ss-tinte) !important; text-decoration: none !important; padding-bottom: 4px; }
.ss-mnav-row a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 4px; background: var(--ss-gelb); }
.ss-cart-n { font-weight: 600; }
@media (min-width: 992px) { .ss-cart-n { display: none; } }
@media (max-width: 991.98px) {
  /* Kopf wie Entwurf: Kontaktleiste, Logo, Suche, beschriftete Symbole, Kategorienzeile; nicht klebend (zu hoch) */
  #jtl-nav-wrapper { position: relative !important; top: auto !important; box-shadow: none !important; }
  #header-top-bar { display: block !important; }
  #header-top-bar > div { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 7px 16px !important; max-width: none; }
  #header-top-bar .topbar-main { display: flex; flex-wrap: wrap; gap: 0 18px; margin: 0; padding: 0; }
  #header-top-bar .topbar-main.ss-topbar-contact { gap: 0; }
  #header-top-bar .ss-topbar-contact .nav-item + .nav-item::before { margin: 0 5px; color: #8a8a84 !important; }
  #header-top-bar .topbar-main .nav-item { margin: 0 !important; padding: 0; }
  #header-top-bar .topbar-main:not(.ss-topbar-contact) .nav-item::before, #header-top-bar .topbar-main .nav-item::after { display: none !important; }
  #header-top-bar .topbar-main .nav-link { padding: 0 !important; line-height: 1.55; }
  #header-top-bar .ss-topbar-contact .nav-item { padding: 0; line-height: 1.55; }
  #jtl-nav-wrapper .hide-navbar { display: block !important; padding-left: 16px; padding-right: 16px; max-height: none !important; opacity: 1 !important; }
  #jtl-nav-wrapper .hide-navbar > .navbar { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 14px 0; margin: 0; min-height: 0; height: auto; }
  #jtl-nav-wrapper .hide-navbar > .navbar > div { padding: 0 !important; margin: 0 !important; max-width: none !important; width: auto !important; flex: none !important; }
  #jtl-nav-wrapper #cms-header, .search-form-wrapper-fixed, .fixed-search { display: none !important; }
  #jtl-nav-wrapper .toggler-logo-wrapper { display: flex !important; justify-content: flex-start; align-items: center; margin: 0; }
  /* 28.10.: Burger-Menue links neben dem Logo (oeffnet das NOVA-Seitenmenue mit allen Kategorien) */
  #jtl-nav-wrapper #burger-menu { display: flex !important; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; margin: 0 8px 0 -9px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--ss-tinte); }
  #jtl-nav-wrapper #burger-menu:focus-visible { outline: 2px solid var(--ss-tinte); outline-offset: 0; }
  #jtl-nav-wrapper #logo { margin: 0; padding: 0; }
  #jtl-nav-wrapper #logo .navbar-brand { padding: 0; margin: 0; }
  #jtl-nav-wrapper #shop-logo { height: 60px !important; width: auto !important; max-height: none !important; max-width: none; }
  #jtl-nav-wrapper .main-search-wrapper, #jtl-nav-wrapper #search { display: block !important; max-width: none !important; }
  #jtl-nav-wrapper #search { margin: 0 !important; }
  #jtl-nav-wrapper #search .search-wrapper { width: 100%; }
  #jtl-nav-wrapper .nav-icons-wrapper { display: block !important; }
  /* 28.10.: Symbole kompakt mit Kurzbeschriftung. Merkzettel, Konto und Warenkorb oeffnen direkt die Seite (kein Dropdown) */
  #shop-nav { display: flex !important; flex-wrap: nowrap; align-items: flex-end; gap: 18px; margin: 0; padding: 0; }
  #shop-nav > .nav-item { margin: 0 !important; position: static; }
  #shop-nav > .nav-item > .nav-link { display: flex !important; flex-direction: column; align-items: center; gap: 4px; padding: 0 !important; margin: 0 !important; color: var(--ss-tinte) !important; text-decoration: none !important; }
  #shop-nav > .nav-item > .nav-link::after { display: none !important; }
  #shop-nav .navbar-tool { display: flex !important; flex-direction: column; align-items: center; gap: 4px; margin: 0 !important; padding: 0 !important; }
  #shop-nav .navbar-tool-text, #shop-nav .cart-label { display: none !important; }
  #shop-nav .navbar-tool-icon-box, #shop-nav .navbar-tool-icon-box-cart { display: block !important; position: relative; width: auto !important; height: 24px !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; line-height: 24px; }
  #shop-nav .navbar-tool-icon, #shop-nav-wish .flaticon-heart { position: relative; display: block; font-size: 22px !important; line-height: 24px !important; color: var(--ss-tinte) !important; }
  #shop-nav .navbar-tool-icon::before, #shop-nav-wish .flaticon-heart::before { margin: 0 !important; }
  #shop-nav .ss-ico-l { display: block; font-size: 11.5px; font-weight: 600; line-height: 1.2; color: var(--ss-tinte); white-space: nowrap; }
  #shop-nav .navbar-tool-label-cart, #shop-nav-wish .fa-sup { position: absolute !important; top: -5px !important; right: -10px !important; left: auto !important; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--ss-gelb) !important; color: #000 !important; font-family: inherit; font-size: 10.5px !important; font-weight: 700; line-height: 17px !important; text-align: center; }
  #shop-nav .dropdown-menu { left: 16px !important; right: 16px !important; width: auto; min-width: 0; transform: none !important; top: auto !important; margin-top: 8px; }
  /* NOVA-Kategorieleiste: am Handy ohne eigene Hoehe, enthaelt aber das Burger-Seitenmenue (#mainNavigation, position fixed) */
  #jtl-nav-wrapper .menu-center-center.menu-multiple-rows-scroll { display: block !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; overflow: visible !important; }
  #jtl-nav-wrapper .menu-center-center.menu-multiple-rows-scroll > .navbar { height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
  /* Seitenmenue: etwas breiter, Zusatzlinks unter den Kategorien, WhatsApp-Knopf der Seite solange ausblenden */
  #mainNavigation { width: 100% !important; max-width: min(86vw, 360px) !important; }
  /* Unterebenen: Pfeil rechts in derselben Zeile statt darunter (NOVA setzt d-block auf den Link) */
  #mainNavigation a.categories-recursive-link.dropdown-toggle { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; }
  #mainNavigation a.categories-recursive-link.dropdown-toggle > span { min-width: 0; }
  #mainNavigation a.categories-recursive-link.dropdown-toggle::after { flex: none; margin-left: auto; }
  #mainNavigation .ss-oc-contact { display: flex; gap: 10px; margin-top: 8px; padding: 20px 16px 28px; border-top: 1px solid var(--ss-linie); }
  #mainNavigation .ss-oc-contact .ss-btn { flex: 1 1 0; justify-content: center; padding-left: 10px; padding-right: 10px; }
  body:has(#mainNavigation.show) .wa-float, body:has(#mainNavigation.collapsing) .wa-float { display: none !important; }
  /* 28.10.: Vertrauensleiste einzeilig. Tablet: Google-Bewertung und versandkostenfrei, Handy nur die Google-Bewertung */
  #google-reviews-usp-bar.gr-usp-bar { padding: 8px 0; border-bottom-width: 2px; }
  #google-reviews-usp-bar .gr-usp-bar__inner { flex-wrap: nowrap !important; gap: 28px !important; padding: 0 16px !important; }
  #google-reviews-usp-bar .gr-usp-bar__item { font-size: 13px !important; white-space: nowrap; }
  #google-reviews-usp-bar .gr-usp-bar__text { display: inline !important; }
  #google-reviews-usp-bar .gr-usp-bar__item:not(:first-child):not(.ss-usp-extra) { display: none !important; }
}
@media (min-width: 992px) { #shop-nav .ss-ico-l { display: none; } }
/* Detailseite: Brotkrumen wie Entwurf (ohne "Zurueck zur Liste" und ohne Artikelnamen am Ende) */
body:has(#product-offer) .breadcrumb-container .breadcrumb .breadcrumb-backtolist,
body:has(#product-offer) .breadcrumb-container .breadcrumb .breadcrumb-item.last { display: none !important; }
.product-detail .info-essential .condition-badge { font-size: 12px; padding: .3em .8em; }
/* Kaufbereich: Abstaende wie im Entwurf (NOVA-Raender erzeugten grosse Luecken) */
.product-detail .product-info-inner { gap: 10px; }
.product-detail .info-essential { margin: 0 !important; }
.product-detail .product-offer { margin: 6px 0 14px !important; }
.product-detail .product-offer > .row { margin: 0 !important; }
.product-detail .product-offer .price_wrapper { margin: 0 !important; }
.product-detail .product-offer .stock-information { margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; }
.product-detail .product-offer hr { display: none; }
/* Vorschaubilder: kein NOVA-Gelbrahmen am Slide, nicht links angeschnitten */
.product-detail #gallery_preview .slick-slide { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
.product-detail #gallery_preview .slick-list { margin: 0 !important; }
@media (max-width: 991.98px) {
  /* Galerie: Vorschaubilder als Reihe ueber dem Hauptbild wie im Entwurf, keine Punkte, enge Abstaende */
  .product-detail #image_wrapper:not(.fullscreen) { margin-bottom: 16px !important; }
  .product-detail #image_wrapper:not(.fullscreen) .gallery-with-action-main { display: flex; flex-direction: column; }
  .product-detail #image_wrapper:not(.fullscreen) .product-detail-image-topbar { display: none; }
  .product-detail #image_wrapper:not(.fullscreen) .product-detail-image-preview-bar { order: -1; height: auto; margin-bottom: 12px; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview_wrapper { display: block !important; padding: 0; margin: 0; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview { display: flex !important; flex-wrap: nowrap; gap: 10px; overflow-x: auto; margin: 0 !important; scrollbar-width: none; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .slick-list { overflow: visible !important; height: auto !important; padding: 0 !important; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .slick-track { transform: none !important; width: auto !important; display: flex !important; gap: 10px; left: 0 !important; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .slick-slide, .product-detail #image_wrapper:not(.fullscreen) #gallery_preview > .square-image { width: 64px !important; flex: none; margin: 0 !important; float: none; display: block !important; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .slick-arrow { display: none !important; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .square-image { cursor: pointer; }
  .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .ss-thumb-on .square-image, .product-detail #image_wrapper:not(.fullscreen) #gallery_preview .square-image.ss-thumb-on { border-color: var(--ss-schwarz); }
  .product-detail #image_wrapper:not(.fullscreen) #gallery { margin-bottom: 0 !important; }
  .product-detail #image_wrapper:not(.fullscreen):has(#gallery_preview_wrapper) #gallery .slick-dots { display: none !important; }
  .product-gallery:has(#gallery_preview_wrapper) .ss-gallery-badge { top: 90px; }
  .product-detail { margin-top: 0; }
  .product-detail #add-to-cart .btn-primary { white-space: nowrap; min-height: 54px; }
  .product-detail #add-to-cart .btn-basket-check .fa-shopping-cart { display: none; }
  .product-detail #add-to-cart .form-counter { height: 100%; }
}
@media (max-width: 767.98px) {
  /* 28.10.: Handy-Kopf kompakt: Zeile 1 Burger, Logo, Symbole; Zeile 2 Suche */
  #jtl-nav-wrapper .hide-navbar > .navbar { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 12px; padding: 10px 0 12px; }
  #jtl-nav-wrapper .hide-navbar > .navbar > .nav-logo-wrapper { grid-row: 1; grid-column: 1; min-width: 0; }
  #jtl-nav-wrapper .hide-navbar > .navbar > .nav-icons-wrapper { grid-row: 1; grid-column: 2; }
  #jtl-nav-wrapper .main-search-wrapper { grid-row: 2; grid-column: 1 / -1; }
  #jtl-nav-wrapper #shop-logo { height: 42px !important; }
  #shop-nav { gap: 13px; }
  #shop-nav .ss-ico-l { font-size: 10.5px; }
  /* Kopfzeile: Seitenlinks stehen jetzt im Burger-Menue, oben bleibt nur die Kontaktzeile */
  #header-top-bar .topbar-main:not(.ss-topbar-contact) { display: none !important; }
  #google-reviews-usp-bar .ss-usp-extra { display: none !important; }
  /* Brotkrumen voll ausschreiben wie im Entwurf (NOVA zeigt am Handy nur "zurueck") */
  .breadcrumb-container .breadcrumb .breadcrumb-item { display: flex !important; }
  .breadcrumb-container .breadcrumb .breadcrumb-item.breadcrumb-arrow { display: none !important; }
  .breadcrumb-container .breadcrumb { padding: 8px 0 6px; row-gap: 2px; }
  .breadcrumb-container .breadcrumb-wrapper { margin-bottom: 10px; }
  .breadcrumb-container .breadcrumb a { text-decoration: none !important; }
  .ss-cat-head { gap: 14px; }
  .productlist-page-nav-header-m .productlist-item-info { display: none !important; }
  /* 28.10.: Fusszeile kompakt: Spalten aufklappbar, "Vertrag widerrufen" und Zahlungslogos immer sichtbar */
  .ss-footer-grid { display: flex; flex-direction: column; gap: 0; padding-top: 6px; padding-bottom: 24px; }
  .ss-footer-kontakt { display: contents; }
  .ss-footer-zahlung { order: 9; padding-top: 20px; }
  .ss-footer-withdrawal { order: 10; margin-top: 14px; }
  .ss-footer .productlist-filter-headline, .ss-footer .ss-f-head, .ss-footer-zahlung .ss-footer-h, .ss-footer .ss-pay-text { display: none !important; }
  .ss-footer .box-normal-link { display: flex !important; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 15px 0; margin: 0; border-bottom: 1px solid #2c2c2a; color: #fff !important; font-size: 13.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; }
  .ss-footer .box-normal-link::after { content: "" !important; flex: none; width: 14px; height: 14px; margin: 0 2px 0 0 !important; border: 0 !important; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transform: none; transition: transform .2s; }
  .ss-footer .box-normal-link[aria-expanded="true"]::after { transform: rotate(180deg); }
  .ss-footer .collapse > ul, .ss-footer .collapse .nav { padding: 12px 0 16px; gap: 12px; }
  .ss-footer .collapse.show, .ss-footer .collapsing { border-bottom: 1px solid #2c2c2a; }
  .ss-footer .ss-pay-logos { margin-top: 0 !important; }
  .ss-copy-row { flex-direction: row; }
  .ss-subcats { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 16px 2px; scrollbar-width: none; }
  .ss-subcats::-webkit-scrollbar { display: none; }
}

/* --- Ankauf-Seite /Ankauf + Formular (ss2026, 27.10., Plugin arifs_ankauf) --- */
.ss-ankauf-btns { margin-top: 16px; }
.ss-btn.ss-ghost-hell { background: transparent; color: #fff !important; border-color: #fff; }
.ss-eyebrow.ss-eyebrow-gelb { background: var(--ss-gelb); color: #000; }
.ss-ak-hero h1 { font-size: clamp(30px, 4vw, 46px); font-weight: 800; color: #fff !important; margin: 16px 0 14px; line-height: 1.12; letter-spacing: -.01em; }
.ss-ak-hero h1 em { display: block; font-style: normal; color: var(--ss-gelb); }
.ss-ak-usps { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.ss-ak-usps li { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 14.5px; font-weight: 500; }
.ss-ak-usps li::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--ss-gelb) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5 10 16.5 18 8' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.ss-ak-page > .ss-ak-hero, .ss-ak-page > .ss-ak-main { padding-top: 0; padding-bottom: 0; }
.ss-ak-page > .ss-ak-faq { padding-top: 44px; padding-bottom: 52px; }
.ss-ak-jump { margin-top: 24px; }
#formular { scroll-margin-top: 0; } /* 28.10.: Handy ohne klebenden Kopf; genaue Position per Skript in ss_ankauf_page.tpl */
@media (min-width: 992px) { #formular { scroll-margin-top: 114px; } }
.ss-ak-main { background: var(--ss-sand); }
.ss-ak-main-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; padding-top: 40px; padding-bottom: 48px; }
.ss-ak-main .ss-af { box-shadow: 0 14px 40px rgba(0,0,0,.08); border: 1px solid var(--ss-linie); }
.ss-ak-side { display: grid; gap: 16px; }
.ss-ak-card { background: #fff; border: 1px solid var(--ss-linie); border-radius: 14px; padding: 20px; }
.ss-ak-card h2 { font-size: 17px; font-weight: 700; margin: 0 0 12px; color: var(--ss-tinte); }
.ss-ak-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; }
.ss-ak-list li { display: flex; gap: 10px; align-items: center; }
.ss-ak-list li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--ss-gelb); box-shadow: 0 0 0 3px #fff6a8; }
.ss-ak-small { margin: 12px 0 0; font-size: 13px; color: var(--ss-grau); }
.ss-ak-contact { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; font-size: 14px; color: var(--ss-grau); }
.ss-ak-contact a { color: var(--ss-tinte) !important; font-weight: 600; text-decoration: none; }
.ss-ak-contact a:hover { text-decoration: underline; text-decoration-color: var(--ss-gelb); }
.ss-ak-trust .ss-ak-stars { color: #f4b400; font-size: 20px; letter-spacing: 2px; }
.ss-ak-trust p { margin: 4px 0 0; font-size: 14.5px; }
.ss-ak-faqlist { max-width: 860px; border-top: 1px solid var(--ss-linie); }
.ss-ak-faqlist details { border-bottom: 1px solid var(--ss-linie); }
.ss-ak-faqlist summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-size: 16px; font-weight: 600; color: var(--ss-tinte); }
.ss-ak-faqlist summary::-webkit-details-marker { display: none; }
.ss-ak-faqlist summary::after { content: "+"; flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--ss-linie); display: grid; place-items: center; font-size: 18px; font-weight: 500; line-height: 1; }
.ss-ak-faqlist details[open] summary::after { content: "\2212"; background: var(--ss-gelb); border-color: var(--ss-gelb); }
.ss-ak-faqlist details p { margin: 0 0 16px; color: #3a3a37; font-size: 15px; max-width: 70ch; }
.ss-ak-faqlist details p a { color: var(--ss-tinte); text-decoration: underline; }
.ss-ak-off h2 { font-size: 20px; font-weight: 800; margin: 0 0 8px; }
.ss-ak-off p { color: var(--ss-grau) !important; margin: 0 0 16px !important; }
@media (max-width: 991.98px) {
  .ss-ak-main-grid { grid-template-columns: 1fr; gap: 20px; padding-top: 24px; padding-bottom: 32px; }
}
@media (max-width: 575.98px) {
  .ss-ak-main-grid { padding-top: 16px; }
  .ss-ak-usps { flex-direction: column; gap: 10px; }
}
.ss-af { background: #fff; color: var(--ss-tinte); border-radius: 16px; padding: 26px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.ss-af-head h3 { font-size: 22px; font-weight: 800; margin: 0 0 4px; color: var(--ss-tinte); }
.ss-af .ss-af-head p { margin: 0 0 6px; color: var(--ss-grau); font-size: 14px; }
.ss-af-sec { border: 0; border-top: 1px solid var(--ss-linie); margin: 18px 0 0; padding: 18px 0 0; min-width: 0; }
.ss-af-sec legend { border: 0 !important; display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; color: var(--ss-tinte); margin: 0 0 12px; padding: 0; width: auto; float: left; }
.ss-af-sec legend + * { clear: left; }
.ss-af-n { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ss-gelb); color: #000; font-size: 13px; font-weight: 800; }
.ss-af-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.ss-af-f { margin: 0 0 12px; min-width: 0; }
.ss-af-f > label, .ss-af-l { display: block; font-size: 13px; font-weight: 600; color: var(--ss-tinte); margin: 0 0 5px; }
.ss-af i { font-style: normal; color: var(--ss-rot); }
.ss-af input[type="text"], .ss-af input[type="email"], .ss-af input[type="tel"], .ss-af select, .ss-af textarea {
  display: block; width: 100%; border: 1.5px solid #d6d6d0; border-radius: 8px; padding: 11px 12px; font: inherit; font-size: 15px; color: var(--ss-tinte); background: #fff; line-height: 1.35; transition: border-color .15s, box-shadow .15s; }
.ss-af select { appearance: none; -webkit-appearance: none; padding-right: 36px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; }
.ss-af textarea { resize: vertical; min-height: 96px; }
.ss-af input::placeholder, .ss-af textarea::placeholder { color: #9a9a94; }
.ss-af input:focus, .ss-af select:focus, .ss-af textarea:focus { outline: 0; border-color: var(--ss-schwarz); box-shadow: 0 0 0 3px rgba(255,229,0,.55); }
.ss-af-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ss-af-chip { position: relative; margin: 0; cursor: pointer; }
.ss-af-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ss-af-chip span { display: inline-block; border: 1.5px solid #d6d6d0; border-radius: 999px; padding: 8px 14px; font-size: 14px; font-weight: 500; background: #fff; transition: background .15s, border-color .15s; }
.ss-af-chip:hover span { border-color: var(--ss-schwarz); }
.ss-af-chip input:checked + span { background: var(--ss-schwarz); border-color: var(--ss-schwarz); color: #fff; }
.ss-af-chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(255,229,0,.7); }
.ss-af-drop { position: relative; }
.ss-af-file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.ss-af-dropbox { display: grid; justify-items: center; gap: 4px; text-align: center; border: 2px dashed #cfcfc9; border-radius: 12px; padding: 22px 16px; background: #fafaf8; color: var(--ss-tinte); margin: 0; cursor: pointer; transition: border-color .15s, background .15s; }
.ss-af-dropbox svg { color: var(--ss-schwarz); }
.ss-af-dropbox strong { font-size: 15px; }
.ss-af-dropbox span { font-size: 12.5px; color: var(--ss-grau); }
.ss-af-drop:hover .ss-af-dropbox, .ss-af-drop.is-over .ss-af-dropbox { border-color: var(--ss-schwarz); background: #fffbd6; }
.ss-af-file:focus-visible + .ss-af-dropbox { box-shadow: 0 0 0 3px rgba(255,229,0,.7); }
.ss-af-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.ss-af-list:empty { display: none; }
.ss-af-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) 34px; gap: 12px; align-items: center; border: 1px solid var(--ss-linie); border-radius: 10px; padding: 8px; background: #fff; }
.ss-af-thumb { width: 52px; height: 52px; border-radius: 8px; overflow: hidden; background: var(--ss-sand); display: grid; place-items: center; color: var(--ss-grau); }
.ss-af-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ss-af-thumb-video { background: var(--ss-schwarz); color: var(--ss-gelb); }
.ss-af-body { display: grid; gap: 3px; min-width: 0; }
.ss-af-name { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-af-meta { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--ss-grau); }
.ss-af-track { height: 5px; border-radius: 99px; background: #ecece7; overflow: hidden; }
.ss-af-bar { display: block; height: 100%; width: 0; background: var(--ss-gelb); transition: width .2s; }
.ss-af-item[data-state="fertig"] .ss-af-bar { background: var(--ss-gruen); }
.ss-af-item[data-state="fertig"] .ss-af-status { color: var(--ss-gruen); font-weight: 600; }
.ss-af-item[data-state="fehler"] { border-color: #f3b4b4; background: #fff7f7; }
.ss-af-item[data-state="fehler"] .ss-af-status { color: var(--ss-rot); font-weight: 600; white-space: normal; text-align: right; }
.ss-af-item[data-state="fehler"] .ss-af-track { display: none; }
.ss-af-rm { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ss-linie); background: #fff; color: var(--ss-grau); display: grid; place-items: center; cursor: pointer; padding: 0; }
.ss-af-rm:hover { color: var(--ss-rot); border-color: var(--ss-rot); }
.ss-af .ss-af-hint { margin: 10px 0 0; font-size: 12.5px; color: var(--ss-grau); }
.ss-af-hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ss-af-check { display: grid !important; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: 13px !important; font-weight: 400 !important; color: #3a3a37 !important; line-height: 1.5; margin: 18px 0 0 !important; cursor: pointer; }
.ss-af-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--ss-schwarz); }
.ss-af-check a { color: var(--ss-tinte) !important; text-decoration: underline; }
.ss-af-f.is-invalid input, .ss-af-f.is-invalid select, .ss-af-f.is-invalid textarea, .ss-af-f.is-invalid .ss-af-chip span { border-color: var(--ss-rot); }
.ss-af-err { display: block; color: var(--ss-rot); font-size: 12.5px; font-weight: 500; margin-top: 5px; }
.ss-af-msg { margin: 14px 0 0; padding: 11px 14px; border-radius: 8px; font-size: 14px; }
.ss-af-msg-error { background: #fde3e3; color: #8a0000; }
.ss-af-msg-info { background: #fffbd6; color: #4a4200; }
.ss-af-reload { border: 0; background: transparent; text-decoration: underline; font-weight: 600; color: inherit; padding: 0; cursor: pointer; }
.ss-af-submit { width: 100%; margin-top: 16px; min-height: 54px; font-size: 16px; font-weight: 700; }
.ss-af-submit:disabled { opacity: .75; cursor: progress; transform: none; }
.ss-af .ss-af-foot { margin: 10px 0 0; font-size: 12px; color: var(--ss-grau); text-align: center; }
.ss-af-done { text-align: center; padding: 30px 10px; outline: 0; }
.ss-af-ok { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--ss-gelb); color: #000; margin-bottom: 14px; }
.ss-af-done h3 { font-size: 22px; font-weight: 800; margin: 0 0 8px; color: var(--ss-tinte); }
.ss-af-done p { color: #3a3a37 !important; font-size: 15px !important; margin: 0 auto 18px !important; max-width: 30em; }
.ss-af-done strong { font-size: 17px; letter-spacing: .02em; white-space: nowrap; }
.ss-af .ss-af-noscript { margin-top: 12px; color: var(--ss-rot); font-size: 14px; }
@media (max-width: 575.98px) {
  .ss-af { padding: 20px 16px; border-radius: 14px; margin: 0 -4px; }
  .ss-af-row { grid-template-columns: 1fr; }
  .ss-af input[type="text"], .ss-af input[type="email"], .ss-af input[type="tel"], .ss-af select, .ss-af textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .ss-af-bar, .ss-af input, .ss-af select, .ss-af textarea, .ss-af-chip span { transition: none; } }

/* --- Infoseiten Versand und Zahlung, OPC-Textseiten (27.10.) · netMitte --- */
.ss-info { max-width: 860px; color: var(--ss-tinte); font-size: 15px; line-height: 1.6; }
.ss-info .ss-info-lead { font-size: 17px; margin: 0 0 22px; }
.ss-info h2 { font-size: 20px; font-weight: 700; margin: 30px 0 12px; color: var(--ss-tinte); }
.ss-info ul { padding-left: 20px; margin: 0 0 16px; }
.ss-info li { margin: 0 0 5px; }
.ss-info a, .link-content a, .opc-Text a { color: var(--ss-tinte); text-decoration: underline; text-decoration-color: var(--ss-gelb); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ss-info-table { width: 100%; border-collapse: collapse; margin: 0 0 14px; font-size: 15px; }
.ss-info-table th, .ss-info-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--ss-linie); vertical-align: top; }
.ss-info-table tbody th { width: 34%; color: var(--ss-grau); font-weight: 500; }
.ss-info-prices { max-width: 460px; }
.ss-info-prices thead th { background: var(--ss-sand); font-weight: 700; }
.ss-info-prices td:last-child { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.ss-info-prices thead th:last-child { text-align: right; }
.ss-info .ss-info-note { font-size: 13px; color: var(--ss-grau); margin: 0 0 16px; }
.ss-info-logos { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px !important; }
.ss-info-logos li { border: 1px solid var(--ss-linie); border-radius: 4px; padding: 3px 6px; display: grid; place-items: center; height: 26px; margin: 0; background: #fff; }
.ss-info .ss-info-logos img { height: 15px; width: auto; max-width: 46px; border-radius: 0; }
.ss-ext-links { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
/* Eigene Inhaltsseiten (Seitentyp 31: Ueber uns, Service, Reparaturen …): OPC-Inhalte im Seitenraster, lesbare Breite */
body[data-page="31"] #content > .opc-Divider,
body[data-page="31"] #content > div[class=""],
body[data-page="31"] #content > div:not([class]) { max-width: 1272px; margin: 0 auto 18px !important; padding: 0 16px; }
body[data-page="31"] #content > div[class=""] > *, body[data-page="31"] #content > div:not([class]) > * { max-width: 860px; }
body[data-page="31"] #content > div[class=""]:first-of-type, body[data-page="31"] #content > div:not([class]):first-of-type { margin-top: 8px !important; }
body[data-page="31"] #content h2, body[data-page="5"] #content h2 { font-size: 20px; font-weight: 700; color: var(--ss-tinte); margin: 26px 0 10px; }
body[data-page="31"] #content h3 { font-size: 17px; font-weight: 700; color: var(--ss-tinte); margin: 22px 0 8px; }
body[data-page="31"] #content p, body[data-page="5"] #content .custom_content p { font-size: 15px; line-height: 1.6; color: var(--ss-tinte); }
body[data-page="31"] #content a:not(.btn):not(.ss-btn), body[data-page="5"] #content p a { color: var(--ss-tinte); text-decoration: underline; text-decoration-color: var(--ss-gelb); text-decoration-thickness: 2px; text-underline-offset: 3px; }
body[data-page="31"] #content > div[class=""] img, body[data-page="31"] #content > div:not([class]) img { max-width: 100%; height: auto; border-radius: 10px; }
.index-heading-wrapper h1 { font-size: clamp(26px, 3.4vw, 36px); font-weight: 800; color: var(--ss-tinte); }
/* ===== Ende ss2026 ===== */
@media (min-width: 768px) { .ss-footer .ss-f-toggle { display: none !important; } }
@media (max-width: 359.98px) { #shop-nav .ss-ico-l { display: none; } #jtl-nav-wrapper #shop-logo { height: 38px !important; } }

/* --- Service-Seite: Ankauf gebrauchter Technik als erster Service-Punkt (28.10., snippets/ss_service_ankauf.tpl) --- */
body[data-page="31"] #content > .ss-svc-ak { max-width: 1272px; margin: 8px auto 30px; padding: 0 16px; }
.ss-svc-ak > * { max-width: 860px; }
body[data-page="31"] #content .ss-svc-ak h2 { margin-top: 18px; }
.ss-svc-steps { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body[data-page="31"] #content .ss-svc-steps a { display: flex; gap: 12px; align-items: flex-start; height: 100%; padding: 14px; background: var(--ss-sand); border: 1px solid var(--ss-linie); border-radius: 10px; color: var(--ss-tinte) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
body[data-page="31"] #content .ss-svc-steps a:hover, body[data-page="31"] #content .ss-svc-steps a:focus-visible { border-color: var(--ss-tinte); box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.ss-svc-steps b { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ss-gelb); color: #000; font-size: 15px; font-weight: 800; }
.ss-svc-steps span { font-size: 13.5px; line-height: 1.45; color: var(--ss-grau); }
.ss-svc-steps strong { display: block; margin: 1px 0 3px; font-size: 15px; color: var(--ss-tinte); }
.ss-svc-ak .ss-btns { margin-top: 18px; }
@media (max-width: 767.98px) {
  .ss-svc-steps { grid-template-columns: 1fr; }
  .ss-svc-ak .ss-btns .ss-btn { flex: 1 1 100%; justify-content: center; }
}

/* --- Endlos-Scrollen in Artikellisten (28.10., productlist/footer.tpl + js/ss_endless.js) --- */
.ss-endless-on .ss-pnav-foot { display: none; }
/* Seitenzahlen oben sind beim Endlos-Scrollen ueberfluessig (bleiben im HTML) */
.ss-endless-on .ss-cat-page,
.ss-endless-on .productlist-page-nav-header-m .productlist-item-info,
.ss-endless-on .productlist-page-nav-header-m .productlist-pagination { display: none !important; }
.ss-endless { display: grid; justify-items: center; gap: 12px; margin: 28px 0 40px; text-align: center; }
.ss-endless[hidden], .ss-endless-btn[hidden] { display: none !important; }
.ss-endless-info { margin: 0; font-size: 14px; color: var(--ss-grau); }
.ss-endless-bar { width: min(260px, 70%); height: 4px; border-radius: 2px; background: var(--ss-linie); overflow: hidden; }
.ss-endless-bar i { display: block; width: 0; height: 100%; background: var(--ss-gelb); transition: width .3s; }
.ss-endless-load { display: none; gap: 7px; height: 20px; align-items: center; }
.ss-endless.is-loading .ss-endless-load { display: flex; }
.ss-endless-load span { width: 8px; height: 8px; border-radius: 50%; background: var(--ss-tinte); animation: ssEndlessDot 1s infinite ease-in-out; }
.ss-endless-load span:nth-child(2) { animation-delay: .15s; }
.ss-endless-load span:nth-child(3) { animation-delay: .3s; }
@keyframes ssEndlessDot { 0%, 80%, 100% { opacity: .2; transform: scale(.75); } 40% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ss-endless-load span { animation: none; opacity: .6; } }

/* --- Plugin netMitte Suche: Hinweis auf der Ergebnisseite bei korrigierter Schreibweise (29.10.) --- */
.nm-suche-korrektur { margin: 8px 0 0; padding: 10px 14px; background: #fff8c7; border: 1px solid #f1e48a; border-radius: 8px; font-size: 14.5px; }

/* --- Filterleiste (29.10., snippets/nm_filterleiste.tpl + js/nm_filter.js), Autor netMitte ---
   Zustand als Schnellwahl, mitlaufende Leiste mit Aufklappfeldern (Desktop) bzw. Filter/Sortieren (Handy),
   aktive Filter als Chips, Filterfenster von unten. Ersetzt die NOVA-Leiste in Artikellisten. */
.nm-such-kopf .nm-such-label { margin: 0 0 2px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ss-grau); }
.nm-fl-lbl { font-size: 13px; font-weight: 700; color: var(--ss-tinte); white-space: nowrap; }
.nm-fl-zst { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.nm-fl-zst-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nm-fl-chip { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px; border: 1.5px solid var(--ss-linie); border-radius: 999px; background: #fff; color: var(--ss-tinte) !important; font-size: 14px; font-weight: 500; text-decoration: none !important; white-space: nowrap; transition: border-color .15s, background-color .15s; }
@media (hover: hover) { .nm-fl-chip:hover { border-color: var(--ss-tinte); } }
.nm-fl-chip.is-on { background: var(--ss-schwarz); border-color: var(--ss-schwarz); color: #fff !important; }
.nm-fl-n { font-size: 12px; font-weight: 600; color: var(--ss-grau); font-variant-numeric: tabular-nums; }
.nm-fl-chip.is-on .nm-fl-n { color: rgba(255,255,255,.72); }
.nm-fl-punkt { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #bdbdb8; }
.nm-z-brandneu { background: #ffe500; box-shadow: inset 0 0 0 2px #111; }
.nm-z-neu { background: #ffe500; box-shadow: inset 0 0 0 1px rgba(0,0,0,.28); }
.nm-z-sehrgut { background: #1d7a35; }
.nm-z-gut { background: #6aa84f; }
.nm-z-gebraucht { background: #8a8a85; }
.nm-z-akzeptabel { background: #d9a400; }
.nm-z-defekt { background: #b30000; }
.nm-z-sonstige { background: #bdbdb8; }
.nm-fl-chip.is-on .nm-z-brandneu { box-shadow: inset 0 0 0 2px #fff; }

.nm-fl-leiste { position: sticky; top: var(--nm-fl-top, 0px); z-index: 1010; display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 10px 0; background: #fff; border-top: 1px solid var(--ss-linie); border-bottom: 1px solid var(--ss-linie); }
/* mitlaufend: weisser Grund und Linie ueber die ganze Breite (Schatten statt Breite, erzeugt keinen Querscroll) */
.nm-fl-leiste.ist-fest { border-top-color: transparent; border-bottom-color: transparent; box-shadow: 0 0 0 100vmax #fff, 0 1px 0 100vmax var(--ss-linie); clip-path: inset(0 -100vmax -1px); }
.nm-fl-handy { display: none; }
.nm-fl-facetten { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 auto; min-width: 0; }
.nm-fl-dd { position: relative; }
.nm-fl-pill { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 1.5px solid var(--ss-linie); border-radius: 999px; background: #fff; color: var(--ss-tinte) !important; font: inherit; font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none !important; white-space: nowrap; cursor: pointer; transition: border-color .15s, background-color .15s; }
@media (hover: hover) { .nm-fl-pill:hover { border-color: var(--ss-tinte); } }
.nm-fl-dd.is-offen > .nm-fl-pill { border-color: var(--ss-tinte); }
.nm-fl-pill:focus-visible, .nm-fl-chip:focus-visible, .nm-fl-mbtn:focus-visible { outline: 2px solid var(--ss-tinte); outline-offset: 2px; }
.nm-fl-pill.is-on { background: var(--ss-schwarz); border-color: var(--ss-schwarz); color: #fff !important; }
.nm-fl-pill.is-on .nm-fl-n { color: rgba(255,255,255,.72); }
.nm-fl-pill-t { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.nm-fl-wert { font-weight: 500; }
.nm-fl-pfeil { flex: none; transition: transform .15s; }
.nm-fl-dd.is-offen .nm-fl-pfeil { transform: rotate(180deg); }
.nm-fl-zahl { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--ss-gelb); color: #000; font-size: 12px; font-weight: 800; line-height: 1; }
.nm-fl-sortdd { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.nm-fl-sortdd .nm-fl-lbl { font-weight: 500; color: var(--ss-grau); }

.nm-fl-pop { position: absolute; top: calc(100% + 8px); left: 0; z-index: 5; width: 310px; max-width: calc(100vw - 32px); padding: 8px; background: #fff; border: 1px solid var(--ss-linie); border-radius: 12px; box-shadow: 0 18px 44px rgba(0,0,0,.16); }
.nm-fl-pop.nach-links, .nm-fl-pop-r { left: auto; right: 0; }
.nm-fl-pop[hidden] { display: none; }
.nm-fl-pop .nm-fl-liste { max-height: 340px; overflow-y: auto; overscroll-behavior: contain; }
.nm-fl-such { display: block; width: 100%; height: 40px; margin: 0 0 6px; padding: 0 12px; border: 1.5px solid var(--ss-linie); border-radius: 8px; background: #fff; font-size: 15px; color: var(--ss-tinte); }
.nm-fl-such:focus { outline: none; border-color: var(--ss-tinte); }
.nm-fl-opt { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 10px; border-radius: 8px; color: var(--ss-tinte) !important; font-size: 14.5px; line-height: 1.25; text-decoration: none !important; }
@media (hover: hover) { .nm-fl-opt:hover { background: var(--ss-sand); } }
.nm-fl-opt:focus-visible { background: var(--ss-sand); outline: none; }
.nm-fl-opt[hidden] { display: none; }
.nm-fl-opt.is-on { font-weight: 700; }
.nm-fl-box { flex: none; display: grid; place-items: center; width: 18px; height: 18px; border: 1.5px solid #9a9a95; border-radius: 4px; background: #fff; }
.nm-fl-box.is-rund { border-radius: 50%; }
.nm-fl-opt.is-on .nm-fl-box { background: var(--ss-schwarz); border-color: var(--ss-schwarz); }
.nm-fl-opt.is-on .nm-fl-box::after { content: ''; width: 10px; height: 6px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg); }
.nm-fl-opt.is-on .nm-fl-box.is-rund::after { width: 8px; height: 8px; border: 0; border-radius: 50%; background: #fff; transform: none; }
.nm-fl-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.nm-fl-opt .nm-fl-n { flex: none; font-size: 12.5px; }
.nm-fl-leer { margin: 8px 10px; font-size: 13.5px; color: var(--ss-grau); }
.nm-fl-leer[hidden] { display: none; }

.nm-fl-preis { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: end; margin: 6px 0 0; padding: 10px 10px 4px; border-top: 1px solid var(--ss-linie); }
.nm-fl-preis label { position: relative; display: grid; gap: 3px; margin: 0; }
.nm-fl-preis label span { font-size: 12px; font-weight: 600; color: var(--ss-grau); }
.nm-fl-preis input { width: 100%; height: 40px; padding: 0 24px 0 10px; border: 1.5px solid var(--ss-linie); border-radius: 8px; background: #fff; font-size: 15px; color: var(--ss-tinte); -moz-appearance: textfield; appearance: textfield; }
.nm-fl-preis input::-webkit-outer-spin-button, .nm-fl-preis input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.nm-fl-preis input:focus { outline: none; border-color: var(--ss-tinte); }
.nm-fl-preis i { position: absolute; right: 10px; bottom: 10px; font-style: normal; font-size: 13px; color: var(--ss-grau); pointer-events: none; }
.nm-fl-preis-ok { height: 40px; padding: 0 14px; border: 0; border-radius: 8px; background: var(--ss-schwarz); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }

.nm-fl-aktiv { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 18px; }
.nm-fl-achip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px 0 12px; border: 1px solid var(--ss-linie); border-radius: 999px; background: var(--ss-sand); color: var(--ss-tinte) !important; font-size: 13.5px; font-weight: 600; white-space: nowrap; text-decoration: none !important; transition: border-color .15s, opacity .15s; }
@media (hover: hover) { .nm-fl-achip:hover { border-color: var(--ss-tinte); } }
.nm-fl-achip.is-weg { opacity: .4; }
.nm-fl-achip-g { font-weight: 500; color: var(--ss-grau); }
.nm-fl-reset { margin-left: 4px; font-size: 13.5px; font-weight: 600; color: var(--ss-tinte) !important; white-space: nowrap; text-decoration: underline !important; text-underline-offset: 3px; }

/* Laden: Fortschrittsstrich unter der Leiste, Liste blasser */
.nm-fl-laden { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; display: none; }
.nm-fl-laden::after { content: ''; position: absolute; top: 0; bottom: 0; left: -30%; width: 30%; background: var(--ss-tinte); animation: nmFlLaden 1s infinite ease-in-out; }
.nm-fl-laedt .nm-fl-laden { display: block; }
.nm-fl-laedt #product-list, .nm-fl-laedt .ss-endless { opacity: .45; pointer-events: none; transition: opacity .2s .08s; }
@keyframes nmFlLaden { from { left: -30%; } to { left: 100%; } }

/* Handy: Knoepfe Filter/Sortieren und Fenster von unten */
.nm-fl-mbtn { flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 12px; border: 1.5px solid var(--ss-tinte); border-radius: 10px; background: #fff; color: var(--ss-tinte); font: inherit; font-size: 15px; font-weight: 700; }
.nm-fl-mbtn svg { flex: none; }
.nm-fl-mbtn-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nm-fl-sheet { position: fixed; inset: 0; z-index: 1060; }
.nm-fl-sheet[hidden] { display: none; }
.nm-fl-sheet-bg { position: absolute; inset: 0; background: rgba(17,17,17,.45); opacity: 0; transition: opacity .25s; }
.nm-fl-sheet-in { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; max-height: 92vh; max-height: 92dvh; background: #fff; border-radius: 16px 16px 0 0; transform: translateY(100%); transition: transform .26s cubic-bezier(.2,.8,.2,1); }
.nm-fl-sheet:not(.is-klein) .nm-fl-sheet-in { height: 92vh; height: 92dvh; }
.nm-fl-sheet.is-offen .nm-fl-sheet-bg { opacity: 1; }
.nm-fl-sheet.is-offen .nm-fl-sheet-in { transform: none; }
.nm-fl-sheet.ohne-anim .nm-fl-sheet-bg, .nm-fl-sheet.ohne-anim .nm-fl-sheet-in { transition: none; }
.nm-fl-sheet-kopf { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px 10px; border-bottom: 1px solid var(--ss-linie); }
.nm-fl-sheet-kopf h2 { margin: 0; font-size: 19px; font-weight: 800; color: var(--ss-tinte); }
.nm-fl-x { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--ss-sand); color: var(--ss-tinte); }
.nm-fl-sheet-body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 4px 16px 16px; }
.nm-fl-sheet .nm-fl-aktiv.is-sheet { margin: 12px 0 4px; }
.nm-fl-sec { border-bottom: 1px solid var(--ss-linie); }
.nm-fl-sec > summary { display: flex; align-items: center; gap: 10px; padding: 15px 0; font-size: 16px; font-weight: 700; color: var(--ss-tinte); list-style: none; cursor: pointer; }
.nm-fl-sec > summary::-webkit-details-marker { display: none; }
.nm-fl-sec > summary::after { content: ''; flex: none; margin-left: auto; width: 9px; height: 9px; border: solid var(--ss-tinte); border-width: 0 2px 2px 0; transform: translateY(-3px) rotate(45deg); transition: transform .15s; }
.nm-fl-sec[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.nm-fl-sec-wert { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; font-weight: 500; color: var(--ss-grau); }
.nm-fl-sec .nm-fl-liste { padding: 0 0 10px; }
.nm-fl-sec .nm-fl-opt { min-height: 46px; padding: 10px 4px; font-size: 15px; }
.nm-fl-sec .nm-fl-preis { padding: 12px 0 14px; }
.nm-fl-sec .nm-fl-such { margin-bottom: 8px; }
.nm-fl-liste.ist-kurz > .nm-fl-opt:nth-child(n+7):not(.is-on) { display: none; }
.nm-fl-mehr { display: block; margin: -4px 0 12px; padding: 6px 4px; border: 0; background: none; font: inherit; font-size: 14.5px; font-weight: 700; color: var(--ss-tinte); text-decoration: underline; text-underline-offset: 3px; }
.nm-fl-sheet.is-klein .nm-fl-sheet-body { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
.nm-fl-sheet.is-klein .nm-fl-opt { min-height: 48px; font-size: 15.5px; }
.nm-fl-sheet-fuss { display: flex; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ss-linie); background: #fff; }
.nm-fl-sheet-reset { flex: none; padding: 0 4px; font-weight: 600; color: var(--ss-tinte) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.nm-fl-zeigen { flex: 1 1 auto; height: 50px; border: 0; border-radius: 10px; background: var(--ss-gelb); color: #000; font-size: 16px; font-weight: 800; transition: opacity .15s; }
.nm-fl-laedt .nm-fl-zeigen { opacity: .55; }
html.nm-fl-sperre, html.nm-fl-sperre body { overflow: hidden !important; }
@media (prefers-reduced-motion: reduce) {
  .nm-fl-sheet-in, .nm-fl-sheet-bg, .nm-fl-pfeil { transition: none; }
  .nm-fl-laden::after { animation-duration: 2.5s; }
}
@media (max-width: 991.98px) {
  .nm-fl-handy { display: flex; gap: 8px; width: 100%; }
  .nm-fl-facetten, .nm-fl-sortdd { display: none !important; }
  .nm-fl-leiste { margin-bottom: 12px; padding: 8px 0; border-top: 0; }
  .nm-fl-zst, .nm-fl-aktiv:not(.is-sheet) { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
  .nm-fl-zst::-webkit-scrollbar, .nm-fl-aktiv::-webkit-scrollbar { display: none; }
  .nm-fl-zst { margin-bottom: 10px; }
  .nm-fl-zst .nm-fl-lbl { display: none; }
  .nm-fl-zst-chips { flex-wrap: nowrap; }
  .nm-fl-aktiv:not(.is-sheet) { margin-top: 0; margin-bottom: 14px; }
}
