/* EROS69 – Produktseite (v3: Stichpunkte, Info-Karten, Zoom/Vollbild): Bilder immer vollstaendig, Abstand Wunschliste, Mengen-Steuerung */
/* Hauptbild und Vorschaubilder: nie zuschneiden, egal welche andere Regel greift */
.n69 .pp-gal .pp-big { position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.n69 .pp-gal .pp-big > img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 5% !important; box-sizing: border-box !important; object-fit: contain !important; object-position: center !important; transition: transform .15s ease-out; } /* transform frei fuer den Zoom (pp-zoom.js) */
.n69 .pp-gal .pp-big .n69-badge { z-index: 1; }
.n69 .pp-gal .pp-thumbs button { position: relative; overflow: hidden; }
.n69 .pp-gal .pp-thumbs img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; padding: 6% !important; box-sizing: border-box !important; object-fit: contain !important; transform: none !important; }

/* Wunschliste: Luft zum Kurztext und zum Kaufen-Bereich */
.n69 .pp-info .wl-f-txt, .n69 .wl-f-txt { margin: 22px 0 18px !important; }

/* Menge: - 1 + (gleich hoch wie «In den Warenkorb») */
.n69 .pp-step { display: inline-flex; align-items: center; flex: none; height: 54px; border: 1px solid #DCD3CF; border-radius: 999px; background: #fff; padding: 0 4px; }
.n69 .pp-step:focus-within { border-color: #141112; }
.n69 .pp-step button { display: grid; place-items: center; width: 42px; padding: 0; border: 0; background: none; color: #141112; cursor: pointer; border-radius: 999px; height: 44px; transition: background .15s; }
.n69 .pp-step button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.n69 .pp-step button:hover:not(:disabled) { background: #F5F3F1; }
.n69 .pp-step button:disabled { color: #C9C1BD; cursor: default; }
.n69 .pp-step input { width: 36px; height: 100%; padding: 0; border: 0; background: none; text-align: center; font: inherit; font-size: 16px; font-weight: 600; color: #141112; -moz-appearance: textfield; appearance: textfield; }
.n69 .pp-step input::-webkit-outer-spin-button, .n69 .pp-step input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.n69 .pp-step input:focus { outline: none; }

/* Einheitlich rund wie Warenkorb und Kasse */
.n69 .pp-buy .pp-add { border-radius: 999px !important; }

/* Modell-Auswahl (Farbe / Grösse / Länge / Inhalt) */
.pp-wahl .pp-lab b { margin-left: .35rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
.pp-farben a { width: 2.6rem; height: 2.6rem; padding: 3px !important; display: inline-flex; align-items: center; justify-content: center; }
.pp-farben a i { display: block; width: 100%; height: 100%; border-radius: inherit; border: 1px solid rgba(0, 0, 0, .15); }
.pp-farben a { position: relative; }
.pp-farben a.off::after { content: ""; position: absolute; left: 50%; top: 5px; bottom: 5px; width: 2px; margin-left: -1px; background: rgba(0,0,0,.55); transform: rotate(45deg); }   /* nicht lieferbar: Strich statt blasser Farbe */
.pp-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ===== v3: Stichpunkte statt Text mit «|» ===== */
.n69 .pp-hl { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; }
.n69 .pp-hl li { position: relative; padding-left: 26px; line-height: 1.45; color: #141112; }
.n69 .pp-hl li::before { content: ""; position: absolute; left: 2px; top: .3em; width: 13px; height: 7px; border-left: 2px solid #1e7e34; border-bottom: 2px solid #1e7e34; transform: rotate(-45deg); }

/* ===== v3: Info-Karten unter dem Kaufknopf (Versand, Diskretion, Zahlung) ===== */
.n69 .pp-cards { display: grid; gap: 8px; margin: 18px 0 0; }
.n69 .pp-card { display: flex; align-items: flex-start; gap: 14px; padding: 13px 16px; border-radius: 10px; background: #F5F3F1; }
.n69 .pp-card svg { flex: none; width: 22px; height: 22px; margin-top: 1px; fill: none; stroke: #141112; stroke-width: 1.6; stroke-linejoin: round; }
.n69 .pp-card b { display: block; font-size: 15px; font-weight: 600; color: #141112; }
.n69 .pp-card span { display: block; margin-top: 2px; font-size: 13px; color: #6b6466; }

/* Wunschliste: jetzt unter dem Kaufbereich, ruhig */
.n69 .pp-wl { margin: 14px 0 0; }
.n69 .pp-wl .wl-f-txt, .n69 .pp-info .pp-wl .wl-f-txt { margin: 0 !important; }

/* Artikel-Nr./EAN: kleine Zeile statt Tabelle */
.n69 .pp-meta { margin: 18px 0 0; font-size: 12px; color: #8a8285; }

/* ===== v3: Zoom (Computer) – vom Kunden gesteuert ===== */
.n69 .pp-big.is-zoomable { cursor: zoom-in; }
.n69 .pp-big.is-zoomable.is-zoom { cursor: zoom-out; }
.n69 .pp-zc { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: flex; gap: 6px; }
.n69 .pp-zc button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #DCD3CF; border-radius: 999px; background: #fff; color: #141112; font-size: 20px; line-height: 1; cursor: pointer; }
.n69 .pp-zc button:hover:not(:disabled) { border-color: #141112; }
.n69 .pp-zc button:disabled { opacity: .35; cursor: default; }
.n69 .pp-zc svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; }

/* ===== v3: Vollbild ===== */
.pp-lb { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: #fff; }
.pp-lb__stage { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 64px 72px 48px; box-sizing: border-box; overflow: hidden; }
.pp-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; user-select: none; transition: transform .2s ease; }
.pp-lb__stage.is-zoom .pp-lb__img { transform: scale(2.5); cursor: zoom-out; }
.pp-lb__x, .pp-lb__nav { position: absolute; z-index: 2; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid #DCD3CF; border-radius: 999px; background: #fff; color: #141112; font-size: 28px; line-height: 1; cursor: pointer; }
.pp-lb__x { top: 14px; right: 14px; }
.pp-lb__nav { top: 50%; transform: translateY(-50%); }
.pp-lb__nav--prev { left: 14px; } .pp-lb__nav--next { right: 14px; }
.pp-lb__n { position: absolute; left: 0; right: 0; bottom: 14px; margin: 0; text-align: center; font-size: 14px; color: #6b6466; }
@media (max-width: 599px) { .pp-lb__stage { padding: 64px 8px 64px; } .pp-lb__nav { top: auto; bottom: 8px; transform: none; } }

/* ===================== v4: moderner wie Mixio – Bilder, Kaufbereich, «Über diesen Artikel» ===================== */
/* Galerie: Hauptbild auf warmer, ruhiger Fläche mit runden Ecken; weisse Produktfotos verschmelzen damit */
.n69 .pp-gal .pp-big { background: #F7F4F2; border-radius: 16px; }
.n69 .pp-gal .pp-big > img { padding: 6% !important; mix-blend-mode: multiply; }
.n69 .pp-gal .pp-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.n69 .pp-gal .pp-thumbs button { width: 72px; height: 72px; padding: 0; border: 2px solid transparent; border-radius: 12px; background: #F7F4F2; cursor: pointer; transition: border-color .15s; }
.n69 .pp-gal .pp-thumbs button:hover { border-color: #DCD3CF; }
.n69 .pp-gal .pp-thumbs button.on { border-color: #141112; }
.n69 .pp-gal .pp-thumbs img { mix-blend-mode: multiply; }
/* Zoom-Knöpfe: eine ruhige Gruppe im Bild, erscheint beim Darüberfahren (bei aktivem Zoom immer) */
.n69 .pp-zc { right: 14px; bottom: 14px; gap: 2px; padding: 4px; border-radius: 999px; background: #fff; box-shadow: 0 2px 10px rgba(20, 17, 18, .12); opacity: 0; transition: opacity .2s; }
.n69 .pp-big:hover .pp-zc, .n69 .pp-big.is-zoom .pp-zc, .n69 .pp-zc:focus-within { opacity: 1; }
.n69 .pp-zc button { width: 34px; height: 34px; border: 0; }
.n69 .pp-zc button:hover:not(:disabled) { background: #F5F3F1; }

/* Kaufbereich: Marke im EROS-Rot, Preis mit Gewicht */
.n69 .pp-info .pp-brand { color: #D90019; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.n69 .pp-info .pp-brand:hover { text-decoration: underline; text-underline-offset: 3px; }
.n69 .pp-info .pp-price b { font-size: 30px; font-weight: 800; letter-spacing: -.01em; }
/* Wunschliste: ruhige Zeile mit Herz statt grossem Knopf (Kaufknopf bleibt der wichtigste) */
.n69 .pp-wl { margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid #ECE6E2; }
.n69 .pp-wl .wl-f-txt { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-weight: 600; color: #141112; }
.n69 .pp-wl .wl-f-txt:hover { text-decoration: underline; text-underline-offset: 3px; }

/* «Über diesen Artikel»: Karte mit aufklappbaren Bereichen */
.n69 .pp-about { margin: 64px 0 0; }
.n69 .pp-about-h { margin: 0 0 20px; text-align: center; font-size: 28px; font-weight: 700; color: #141112; }
.n69 .pp-about-card { padding: 0 24px; border: 1px solid #ECE6E2; border-radius: 16px; background: #fff; }
.n69 .pp-acc { border-bottom: 1px solid #ECE6E2; }
.n69 .pp-acc:last-child { border-bottom: 0; }
.n69 .pp-acc > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; list-style: none; cursor: pointer; font-size: 19px; font-weight: 700; color: #141112; }
.n69 .pp-acc > summary::-webkit-details-marker { display: none; }
.n69 .pp-acc > summary svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .2s; }
.n69 .pp-acc[open] > summary svg { transform: rotate(180deg); }
.n69 .pp-acc-b { padding: 0 0 24px; }
.n69 .pp-acc-grid { display: grid; gap: 28px; }
@media (min-width: 900px) { .n69 .pp-acc-grid { grid-template-columns: 1fr 1.4fr; gap: 56px; } }
.n69 .pp-acc h3 { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: #141112; }
.n69 .pp-acc .pp-feat { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.n69 .pp-acc .pp-feat li { position: relative; padding-left: 26px; line-height: 1.45; }
.n69 .pp-acc .pp-feat li::before { content: ""; position: absolute; left: 2px; top: .3em; width: 13px; height: 7px; border-left: 2px solid #1e7e34; border-bottom: 2px solid #1e7e34; transform: rotate(-45deg); }
.n69 .pp-acc .pp-desc { line-height: 1.65; color: #3a3436; }
.n69 .pp-specs { margin: 0; display: grid; }
@media (min-width: 900px) { .n69 .pp-specs { grid-template-columns: 1fr 1fr; column-gap: 56px; } }
.n69 .pp-specs > div { display: grid; grid-template-columns: minmax(7rem, 40%) 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid #F0EBE8; font-size: 15px; }
.n69 .pp-specs dt { color: #7a7275; }
.n69 .pp-specs dd { margin: 0; color: #141112; font-weight: 500; overflow-wrap: anywhere; }
.n69 .pp-acc-text p { margin: 0 0 8px; line-height: 1.55; color: #3a3436; }
@media (max-width: 599px) { .n69 .pp-about-card { padding: 0 16px; } .n69 .pp-about-h { font-size: 22px; } .n69 .pp-acc > summary { font-size: 17px; } .n69 .pp-info .pp-price b { font-size: 26px; } }

/* ===================== v5: Grössen und Ausführung als runde Knöpfe ===================== */
.n69 .pp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.n69 .pp-sizes label { position: relative; margin: 0; }
.n69 .pp-sizes input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.n69 .pp-sizes label span, .n69 .pp-chips:not(.pp-farben) > a { display: inline-grid; place-items: center; min-width: 54px; height: 44px; padding: 0 16px; box-sizing: border-box;
  border: 1px solid #DCD3CF !important; border-radius: 999px !important; background: #fff !important; color: #141112 !important; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.n69 .pp-sizes label:hover span, .n69 .pp-chips:not(.pp-farben) > a:hover { border-color: #141112 !important; }
.n69 .pp-sizes input:checked + span, .n69 .pp-chips:not(.pp-farben) > a.on { background: #141112 !important; border-color: #141112 !important; color: #fff !important; }
.n69 .pp-sizes input:focus-visible + span { outline: 2px solid #D90019; outline-offset: 2px; }
.n69 .pp-chips:not(.pp-farben) > a.off { color: #9a9295 !important; text-decoration: line-through; }

/* ===================== v6: starkes Signalrot für Kaufsignale (Kaufknopf, Marke) ===================== */
/* #D90019: satt und leuchtend, weiss darauf 5.3:1 (gut lesbar). Nur für Kaufsignale – alles andere bleibt ruhig. */
.n69 .pp-buy .pp-add:not(:disabled) { background: #D90019 !important; border-color: #D90019 !important; color: #fff !important; font-weight: 700 !important; letter-spacing: .01em;
  box-shadow: 0 6px 18px rgba(217, 0, 25, .32); transition: background .15s, box-shadow .15s, transform .15s; }
.n69 .pp-buy .pp-add:not(:disabled):hover { background: #B30014 !important; border-color: #B30014 !important; box-shadow: 0 8px 22px rgba(217, 0, 25, .4); transform: translateY(-1px); }
.n69 .pp-buy .pp-add:not(:disabled):active { transform: translateY(0); box-shadow: 0 3px 10px rgba(217, 0, 25, .3); }
.n69 .pp-info .pp-brand { color: #D90019 !important; text-decoration: none !important; }
.n69 .pp-info .pp-brand:hover { color: #B30014 !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* ===================== v7: Wunschliste als rundes Herz neben dem Kaufknopf ===================== */
/* Zwei Formulare nebeneinander (kein Formular im Formular); Herz unten bündig zur Kaufzeile */
.n69 .pp-kauf { display: flex; align-items: flex-end; gap: 10px; }
.n69 .pp-kauf > .pp-buy { flex: 1; min-width: 0; }
.n69 .pp-kauf > .wl-f { flex: none; margin: 0; }
.n69 .pp-kauf > .wl-f .wl-b { width: 54px; height: 54px; border: 1px solid #DCD3CF; border-radius: 999px; background: #fff; box-shadow: none; color: #141112; transition: border-color .15s, color .15s; }
.n69 .pp-kauf > .wl-f .wl-b svg { width: 22px; height: 22px; }
.n69 .pp-kauf > .wl-f .wl-b:hover { transform: none; border-color: #141112; color: #D90019; }
.n69 .pp-kauf > .wl-f .wl-b.is-on { border-color: #D90019; color: #D90019; }
.n69 .pp-kauf > .wl-f .wl-b.is-on svg { fill: #D90019; animation: pp-herz .35s ease; }
@keyframes pp-herz { 0% { transform: scale(1); } 40% { transform: scale(1.3); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .n69 .pp-kauf > .wl-f .wl-b.is-on svg { animation: none; } }

/* ===================== v12: Kaufanreize – Rabatt-Karte, Ersparnis, Gratisversand, lebendiges «An Lager», «Neu» ===================== */
/* Sale-Preis im Signalrot + Ersparnis als Pille */
.n69 .pp-info .pp-price.is-sale b { color: #D90019; }
.n69 .pp-save { display: inline-block; margin: 6px 0 2px; padding: 4px 11px; border-radius: 999px; background: #FFE8EB; color: #B30014; font-size: 13px; font-weight: 700; }
/* Gratisversand: grün wenn erreicht */
.n69 .pp-frei { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; font-size: 14px; color: #47413F; }
.n69 .pp-frei svg { flex: none; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.n69 .pp-frei.ja { color: #1e7e34; font-weight: 600; }
/* «An Lager»: Punkt pulsiert sanft (lebendig, nicht laut) */
.n69 .pp-stock:not(.aus):not(.wenig) i { animation: pp-puls 2.2s ease-out infinite; }
@keyframes pp-puls { 0% { box-shadow: 0 0 0 0 rgba(30, 126, 52, .45); } 70% { box-shadow: 0 0 0 7px rgba(30, 126, 52, 0); } 100% { box-shadow: 0 0 0 0 rgba(30, 126, 52, 0); } }
/* Rabatt-Karte EROS10: gestrichelter Coupon-Rahmen, Code als roter Knopf zum Kopieren */
.n69 .pp-rabatt { display: flex; align-items: center; gap: 12px; margin: 20px 0 14px; padding: 12px 12px 12px 16px; border: 1.5px dashed #D90019; border-radius: 14px; background: #FFF4F5; }
.n69 .pp-rabatt > svg { flex: none; width: 26px; height: 26px; fill: none; stroke: #D90019; stroke-width: 1.7; stroke-linejoin: round; }
.n69 .pp-rabatt-t b { display: block; font-size: 16px; font-weight: 800; color: #141112; }
.n69 .pp-rabatt-t span { display: block; margin-top: 1px; font-size: 13px; color: #6b6466; }
.n69 .pp-code { flex: none; margin-left: auto; display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 96px; padding: 7px 14px; border: 0; border-radius: 10px; background: #D90019; color: #fff; cursor: pointer; transition: background .15s, transform .15s; }
.n69 .pp-code span { font-size: 15px; font-weight: 800; letter-spacing: .08em; }
.n69 .pp-code small { font-size: 11px; font-weight: 600; opacity: .9; }
.n69 .pp-code:hover { background: #B30014; transform: translateY(-1px); }
.n69 .pp-code.ok { background: #1e7e34; }
.n69 .pp-code:focus-visible { outline: 2px solid #141112; outline-offset: 2px; }
/* Abzeichen «Neu» auf dem Bild */
.n69 .pp-gal .pp-neu { background: #141112; color: #fff; }
@media (prefers-reduced-motion: reduce) { .n69 .pp-stock i { animation: none !important; } .n69 .pp-code:hover { transform: none; } }

/* ===================== v13: «Über diesen Artikel» – weisse Karten auf hellgrauer Fläche ===================== */
.n69 .pp-about-card { padding: 14px; border: 0; border-radius: 20px; background: #F4F1EF; }
.n69 .pp-acc { margin: 0 0 12px; padding: 0 24px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(20, 17, 18, .05); }
.n69 .pp-acc:last-child { margin-bottom: 0; }
.n69 .pp-acc > summary { padding: 20px 0; }
.n69 .pp-acc[open] > summary { padding-bottom: 14px; }
.n69 .pp-acc > summary svg { width: 34px; height: 34px; padding: 7px; box-sizing: border-box; border-radius: 50%; background: #F4F1EF; }
.n69 .pp-specs > div { border-bottom-color: #F1ECE9; }
.n69 .pp-specs > div:last-child { border-bottom: 0; }
@media (min-width: 900px) { .n69 .pp-specs > div:nth-last-child(2):nth-child(odd) { border-bottom: 0; } }
.n69 .pp-acc-text p { padding: 10px 14px; border-radius: 10px; background: #FAF8F6; }
@media (max-width: 599px) { .n69 .pp-about-card { padding: 10px; border-radius: 16px; } .n69 .pp-acc { padding: 0 16px; } }

/* Live-Zusammenfuehrung: laengere Aktionscodes (z. B. HALLOWEEN26) passen auch auf dem Handy */
.n69 .pp-code span { letter-spacing: .03em; white-space: nowrap; }
@media (max-width: 400px) { .n69 .pp-code { min-width: 0; padding: 7px 10px; } .n69 .pp-code span { font-size: 13px; } }

/* ===================== v16: Handy-Galerie wie Galaxus – randlos, wischen, Punkte statt Vorschaubilder ===================== */
/* nur aktiv, wenn pp-zoom.js die Wisch-Galerie gebaut hat (is-swipe) UND das Fenster schmal ist;
   wird das Fenster danach breit gezogen, gilt wieder die normale Galerie (kein riesiges Bild) */
@media (max-width: 599px) {
  .n69 .pp-gal.is-swipe .pp-big { width: 100vw; margin-left: calc(50% - 50vw); border-radius: 0; background: #fff; }
  .n69 .pp-gal.is-swipe .pp-big > img[data-big] { display: none !important; }
  .n69 .pp-gal.is-swipe .pp-thumbs { display: flex !important; flex-wrap: nowrap !important; gap: 8px; margin: 10px 0 0; padding: 2px 2px 4px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .n69 .pp-gal.is-swipe .pp-thumbs::-webkit-scrollbar { display: none; }
  .n69 .pp-gal.is-swipe .pp-thumbs button { flex: 0 0 62px; width: 62px; height: 62px; border: 1px solid #ECE6E2; border-radius: 10px; background: #fff; scroll-snap-align: start; }
  .n69 .pp-gal.is-swipe .pp-thumbs button.on { border: 2px solid #141112; }
  .n69 .pp-gal.is-swipe .pp-thumbs img { mix-blend-mode: normal; padding: 8% !important; }
  .n69 .pp-swipe { position: absolute; inset: 0; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .n69 .pp-swipe::-webkit-scrollbar { display: none; }
  .n69 .pp-swipe > div { flex: 0 0 100%; height: 100%; scroll-snap-align: center; scroll-snap-stop: always; }
  .n69 .pp-swipe img { display: block; width: 100%; height: 100%; padding: 3%; box-sizing: border-box; object-fit: contain; }
  .n69 .pp-gal.is-swipe .pp-big .n69-badge { z-index: 2; pointer-events: none; }
}
@media (min-width: 600px) { .n69 .pp-swipe { display: none !important; } }

/* ===================== v20: wie Mixio – Bilder weiss, Vorschaubilder in einer Reihe, Produktreihen mit Pfeilen ===================== */
/* Galerie (Computer): weisses Hauptbild, Vorschaubilder weiss mit feinem Rand, eine Reihe */
.n69 .pp-gal .pp-big { background: #fff; }
.n69 .pp-gal .pp-thumbs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.n69 .pp-gal .pp-thumbs::-webkit-scrollbar { display: none; }
.n69 .pp-gal .pp-thumbs button { flex: 0 0 72px; background: #fff; border: 1px solid #ECE6E2; border-radius: 10px; }
.n69 .pp-gal .pp-thumbs button:hover { border-color: #B9AFAA; }
.n69 .pp-gal .pp-thumbs button.on { border: 2px solid #141112; }
.n69 .pp-gal .pp-thumbs img { mix-blend-mode: normal; }
/* «Das koennte dir auch gefallen» / «Zuletzt angesehen»: eine Reihe, feine Trennlinien, Pfeile (pp-seen.js) */
.n69 .pp-sec { position: relative; }
.n69 .pp-sec .n69-cgrid { display: grid; grid-auto-flow: column; grid-template-columns: none !important; grid-auto-columns: calc((100% - 4 * 24px) / 4.4); gap: 0 24px !important;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
.n69 .pp-sec .n69-cgrid::-webkit-scrollbar { display: none; }
.n69 .pp-sec .n69-cgrid > * { position: relative; scroll-snap-align: start; min-width: 0; }
.n69 .pp-sec .n69-cgrid > * + *::before { content: ""; position: absolute; left: -12px; top: 0; bottom: 0; width: 1px; background: #EFEAE6; }
.n69 .pp-sec .n69-cgrid .n69-ph { background: #fff; }
.n69 .pp-sec .n69-cgrid .n69-card h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.n69 .pp-pfeil { position: absolute; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #141112;
  box-shadow: 0 2px 12px rgba(20, 17, 18, .16); cursor: pointer; transform: translateY(-50%); transition: box-shadow .15s; }
.n69 .pp-pfeil:hover { box-shadow: 0 4px 16px rgba(20, 17, 18, .24); }
.n69 .pp-pfeil svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.n69 .pp-pfeil--l { left: -14px; } .n69 .pp-pfeil--r { right: -14px; }
.n69 .pp-pfeil[hidden] { display: none; }
@media (max-width: 1000px) {
  .n69 .pp-sec .n69-cgrid { grid-auto-columns: calc((100% - 3 * 16px) / 3.3); gap: 0 16px !important; }
  .n69 .pp-sec .n69-cgrid > * + *::before { left: -8px; }
  .n69 .pp-pfeil--l { left: 4px; } .n69 .pp-pfeil--r { right: 4px; }
}
/* Handy: wischen, ca. 2.3 Karten sichtbar, keine Pfeile */
@media (max-width: 640px) {
  .n69 .pp-sec .n69-cgrid { grid-auto-columns: 42%; gap: 0 12px !important; margin: 0 -16px; padding: 0 16px 6px; scroll-padding: 0 16px; }
  .n69 .pp-sec .n69-cgrid > * + *::before { left: -6px; }
  .n69 .pp-sec .n69-cgrid .n69-card h3 { font-size: 14px; }
  .n69 .pp-pfeil { display: none !important; }
}

/* ===================== v23: «An Lager · Gratisversand» als eine ruhige Zeile (statt zwei verschiedenen) ===================== */
.n69 .pp-stock { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: 14px; }
.n69 .pp-stock .pp-stock-t { color: #3a3436; font-weight: 500; }
.n69 .pp-stock .pp-sep { color: #C9C1BD; }
.n69 .pp-stock .pp-frei, .n69 .pp-stock .pp-frei.ja { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; font-weight: 500; color: #3a3436; }
.n69 .pp-stock .pp-frei svg { width: 18px; height: 18px; fill: none; stroke: #1e7e34; stroke-width: 1.7; stroke-linejoin: round; }
.n69 .pp-stock .pp-frei:not(.ja) svg { stroke: #8A8285; }
/* wenig an Lager: Orange statt Gruen, Punkt ohne Puls */
.n69 .pp-stock.wenig i { background: #EA580C; animation: none; }
.n69 .pp-stock.wenig .pp-stock-t { color: #C2410C; }
