/* ═══════════════════════════════════════════════════
   STIERS Redesign Juli 2026 („MobilREWORK" aus Figma)
   Alle neuen Styles unter rw-* — bestehende Klassen
   (sx-*, v4-*, conv-*, v7/v8/v9-*) bleiben unberührt,
   damit die Testvarianten /v4…/v9 weiter funktionieren.
   Ausnahme: Menü-Overlay-Overrides (siteweit gewollt).
═══════════════════════════════════════════════════ */

/* WordPress-Block-Spacing neutralisieren: main bekommt sonst 24px
   margin-top (Abstand zum Header-Part) und blockGap schiebt die
   absoluten Hero-Overlays um weitere 24px nach unten. */
main.rw-page { margin-block-start: 0 !important; }
/* Altregel body:not(.home) main{padding-top:72px} (style.css) gilt nicht
   für Redesign-Seiten — deren Heroes liegen hinter dem Header */
body:not(.home) main.rw-page { padding-top: 0; }
.rw-hero > *, .rw-pphero > * { margin-block-start: 0 !important; }

/* Volle Breite auf allen Geräten — das 402px-Artboard ist nur Designbasis */
.site-header.sx-header { max-width: none; }
.sx-desktop-nav { display: none; }

/* ── Menü-Overlay: schwarz, zentrierte Links (Figma 2992:8965) ── */
.stiers-menu-overlay {
    background: #010101;
    justify-content: center;
}
.stiers-menu-close { color: #fff; }
.stiers-menu-nav {
    margin-top: 0;
    flex: 0 0 auto;
    gap: 1.4rem;
}
.stiers-menu-nav a {
    color: #fff !important;
    font-size: 16px;
    letter-spacing: 0.12em;
    min-height: 0;
}
.stiers-menu-nav a:hover { opacity: 0.55; }

/* ── Footer (Figma 2270:10298) ── */
.rw-footer {
    position: relative;
    width: 100%;
    background: #000; color: #fff;
    border-top: 1px solid rgba(255,255,255,0.3);
    padding: 26px 16px 22px;
    box-sizing: border-box;
    font-family: Poppins, -apple-system, system-ui, sans-serif;
}
.rw-footer a { color: inherit; text-decoration: none; }
.rw-footer-logo img { width: 88px; height: auto; display: block; }
.rw-footer-claim {
    font-weight: 400; font-size: 12px; letter-spacing: 0.04em;
    text-transform: uppercase; margin: 12px 0 0;
}
.rw-footer-copy {
    font-weight: 300; font-size: 10.5px;
    color: rgba(255,255,255,0.45); margin: 6px 0 0;
}
.rw-footer-links {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 26px;
}
.rw-footer-links a {
    font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    padding: 6px 0;
}
.rw-footer-links a:hover { color: #fff; }

/* ═══ RW Basis-Utilities ═══ */
.rw-inner { max-width: 430px; margin: 0 auto; padding: 3rem 1.25rem; box-sizing: border-box; }
.rw-center { text-align: center; }
.rw-center-block { display: flex; margin-left: auto; margin-right: auto; }
.rw-eyebrow {
    font-weight: 500; font-size: 14px; line-height: 21px; letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55); margin: 0 0 0.5rem;
}
.rw-hero-top .rw-eyebrow { font-weight: 400; color: #fff; }
.rw-h1 {
    font-weight: 300; font-size: 34px; line-height: 40px; letter-spacing: 0.05em;
    text-transform: uppercase; color: rgba(255,255,255,0.55); margin: 0;
}
/* <span> in H1/H2: kleinere Begleitzeile, semantisch Teil der Überschrift */
.rw-h1 .rw-hspan {
    display: block; font-weight: 400; font-size: 14px; line-height: 21px;
    letter-spacing: 0.10em; color: #fff; margin-bottom: 6px;
}
.rw-h2 .rw-hspan {
    display: block; font-weight: 500; font-size: 14px; line-height: 21px;
    letter-spacing: 0.10em; color: rgba(255,255,255,0.55); margin-bottom: 8px;
}
.rw-h2 {
    font-weight: 400; font-size: 18px; line-height: normal; letter-spacing: 0.06em;
    text-transform: uppercase; color: #fff; margin: 0 0 0.8rem;
}
.rw-stars { color: #be6b52; letter-spacing: 2px; }
.rw-stars--white { color: rgba(255,255,255,0.9); }
.rw-stars-sm { font-size: 11px; letter-spacing: 1px; }
.rw-btn {
    display: flex; align-items: center; justify-content: center;
    padding: 15px 30px; border-radius: 50px;
    background: #fff; color: #010101;
    font-size: 14px; font-weight: 500; line-height: 21px; letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none; border: 1px solid #f2f3f6;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    transition: opacity 0.2s;
}
.rw-btn:hover { opacity: 0.85; }
.rw-btn--ghost { background: transparent; color: #fff; border-color: #f2f3f6; }
/* Tertiary: kein Rahmen, kein Hintergrund (Figma Type=Tertiary/WithArrow) */
.rw-btn--tertiary {
    flex-direction: column; gap: 4px; padding: 5px 30px;
    background: transparent; border: none; box-shadow: none; color: #fff;
}
.rw-btn--tertiary img { width: 30px; height: 30px; }
.rw-checks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.rw-checks li {
    position: relative; padding-left: 16px;
    font-weight: 500; font-size: 10px; line-height: 13px; letter-spacing: 0.02em;
    text-transform: uppercase; color: #fff;
}
.rw-checks li::before { content: "✓"; position: absolute; left: 0; color: #fff; }
.rw-checks--center { align-items: flex-start; width: fit-content; margin: 0.3rem auto 0; }

/* ═══ RW Hero ═══ */
/* Hero wie Figma Landing (402x860): Bild als volle Hintergrundfläche,
   Text oben/unten. height 100svh füllt den Screen; min-height 820px
   entspricht den Figma-Proportionen (kleine Displays scrollen leicht,
   die Flasche bleibt frei). object-position 54% = Flaschen-Mitte. */
.rw-hero {
    position: relative;
    height: 100svh; min-height: 820px;
    background: #010101; overflow: hidden;
}
/* Im Figma ragt das Home-Hero-Bild 32px (=8vw bei 402) über den
   Frame hinaus — ohne diesen Offset rutscht die Flasche zu tief
   und kollidiert mit dem Intimpflegeöl-Label */
.rw-hero-img {
    position: absolute; left: 0; right: 0;
    top: -8vw; height: calc(100% + 8vw);
    width: 100%;
    object-fit: cover; object-position: 50% 42%;
    display: block;
}
.rw-hero-top {
    position: absolute; left: 0; right: 0; top: 109px;
    z-index: 2; padding: 0 1.5rem; box-sizing: border-box;
}
.rw-hero-rating { font-size: 12px; color: #be6b52; margin: 0.9rem 0 0; line-height: 1.6; }
.rw-hero-rating-sub { font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #be6b52; }
/* Unten verankert; padding-bottom hält den CTA über der
   schwebenden Sticky-Leiste (14px Offset + 71px Höhe + Luft) */
.rw-hero-bottom {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 0 1.5rem 100px; box-sizing: border-box; text-align: center;
}
.rw-hero-label { font-weight: 400; font-size: 18px; line-height: 27px; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.55); margin: 0 0 0.35rem; }
.rw-hero-sub { font-weight: 300; font-size: 12px; line-height: 14px; color: rgba(255,255,255,0.55); margin: 0 0 0.5rem; }

/* ═══ RW Trust-Banner (nach Hero) ═══ */
.rw-trustbar { background: linear-gradient(90deg, #191512 0%, #3e372f 100%); }
.rw-trustbar-inner {
    max-width: 430px; margin: 0 auto; padding: 12px 10px;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;
}
.rw-trustbar-item {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    font-weight: 500; font-size: 10px; line-height: 13px; letter-spacing: 0.02em;
    text-transform: uppercase; color: #fff; text-align: center;
}
.rw-trustbar-item img { filter: brightness(0) invert(1); }

/* ═══ RW 2×2 Grid ═══ */
.rw-grid-sec { background: #010101; }
.rw-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 1.8rem; }
.rw-grid-tile { background: #010101; padding: 10px; text-align: center; }
.rw-grid-imgwrap { position: relative; }
.rw-grid-imgwrap img { width: 100%; aspect-ratio: 165/248; object-fit: cover; display: block; }
.rw-grid-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
}
.rw-grid-h {
    font-weight: 400; font-size: 14px; line-height: 21px; letter-spacing: 0.05em;
    text-transform: uppercase; color: #fff; margin: 10px 0 5px;
}
.rw-grid-p { font-weight: 300; font-size: 12px; line-height: 14px; color: rgba(255,255,255,0.55); margin: 0 0 4px; }

/* ═══ RW Produktkarten ═══ */
.rw-products { background: #010101; }
.rw-products .rw-inner { padding-bottom: 0.5rem; }
.rw-pcard { max-width: 402px; margin: 0 auto 2rem; padding: 0 20px; }
.rw-pcard-panel {
    background: rgba(255,255,255,0.10);
    border-radius: 2px;
    padding-bottom: 20px;
}
.rw-pcard-imgwrap { position: relative; display: block; }
.rw-pcard-imgwrap img { width: 100%; aspect-ratio: 362/385; object-fit: cover; display: block; }
.rw-pcard-badge {
    position: absolute; top: 1rem; left: 1rem; z-index: 2;
    background: #E73643; color: #fff;
    font-size: 10px; font-weight: 500; line-height: 13px; letter-spacing: 0.02em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 20px;
}
.rw-pcard-badge--out { background: rgba(255,255,255,0.18); }
.rw-pcard--out .rw-pcard-imgwrap img { opacity: 0.6; }
.rw-pcard-body { padding: 10px 20px 0; }
.rw-pcard-toprow { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.2rem 1rem; }
.rw-pcard-name { font-size: 18px; font-weight: 400; line-height: 27px; letter-spacing: 1.08px; text-transform: uppercase; color: #fff; margin: 0; }
.rw-pcard-ml { font-size: 12px; font-weight: 300; color: rgba(255,255,255,0.55); letter-spacing: 0; margin-left: 0.35rem; text-transform: none; }
.rw-pcard-price { font-size: 18px; font-weight: 400; letter-spacing: 1.08px; color: #fff; margin: 0; }
.rw-pcard-price s { font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.4); margin-left: 0.35rem; }
.rw-pcard-price--out { font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #C50000; }
.rw-pcard-save { width: 100%; text-align: right; font-size: 10.5px; color: #be6b52; margin: 0; }
.rw-pcard-tax { width: 100%; text-align: right; font-weight: 300; font-size: 12px; line-height: 14px; color: rgba(255,255,255,0.55); margin: 0; }
.rw-pcard-claim { font-weight: 400; font-size: 14px; line-height: 21px; letter-spacing: 0.7px; text-transform: uppercase; color: #fff; margin: 10px 0 0; }
.rw-pcard-sep { border: none; border-top: 1px solid rgba(255,255,255,0.55); margin: 10px 0; }
.rw-pcard-desc { font-weight: 300; font-size: 12px; line-height: 14px; color: rgba(255,255,255,0.55); margin: 0 0 10px; }
.rw-pcard-rating { font-weight: 300; font-size: 12px; line-height: 14px; color: rgba(255,255,255,0.55); margin: 10px 0 0; }
.rw-pcard-rating .rw-stars { color: rgba(255,255,255,0.55); }
.rw-pcard-meta { font-weight: 300; font-size: 12px; line-height: 17px; color: rgba(255,255,255,0.55); margin: 0; }
.rw-pcard-notes {
    position: absolute; left: 0; right: 0; bottom: 8px; z-index: 2;
    font-weight: 500; font-size: 10px; line-height: 13px; letter-spacing: 0.04em; text-transform: uppercase;
    color: rgba(255,255,255,0.75); text-align: center; margin: 0; padding: 0 12px;
    text-shadow: 0 1px 6px rgba(0,0,0,0.8);
}
.rw-pcard-buyrow { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 0.6rem; }
.rw-pcard-buyrow .rw-pcard-meta { margin: 0; }
.rw-pcard-buyrow .rw-btn { flex: none; padding: 15px 30px; }

/* ═══ RW Ritual ═══ */
.rw-ritual { background: #010101; }
.rw-steps { display: flex; flex-direction: column; gap: 1.5rem; margin: 1.8rem 0; }
.rw-step { display: flex; gap: 1.1rem; align-items: flex-start; }
.rw-step-num { font-size: 34px; font-weight: 200; color: rgba(255,255,255,0.35); line-height: 1; }
.rw-step-h { font-size: 13px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; margin: 0.2rem 0 0.3rem; }
.rw-step-p { font-weight: 300; font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,0.6); margin: 0; }

/* ═══ RW Kundenstimmen ═══ */
.rw-proof { background: #010101; }
.rw-proof-list { display: flex; flex-direction: column; gap: 0.8rem; }
.rw-proof-card {
    display: flex; gap: 1.1rem; align-items: center;
    background: #111; border: 1px solid rgba(255,255,255,0.07);
    border-radius: 10px; padding: 1rem 1.1rem;
}
.rw-proof-avatar { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; flex: none; }
.rw-proof-quote { font-weight: 300; font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0.3rem 0 0.4rem; }
.rw-proof-name { font-size: 10.5px; color: rgba(255,255,255,0.45); margin: 0; }

/* ═══ RW Risiko / Inhaltsstoffe ═══ */
.rw-risiko { background: #010101; }
.rw-risiko .rw-inner { padding-top: 1.2rem; padding-bottom: 1.2rem; }
.rw-risiko-p { font-weight: 300; font-size: 12.5px; line-height: 1.7; color: rgba(255,255,255,0.6); margin: 0 0 0.2rem; }
.rw-ing-imgwrap { position: relative; margin: 0 -1.25rem; }
.rw-ing-img { width: 100%; height: auto; display: block; }
/* Labels liegen wie im Figma um die Flasche herum auf dem Bild */
.rw-ing-imgwrap .rw-ing-item { position: absolute; max-width: 38%; border-left: none; padding-left: 0; }
.rw-ing-imgwrap .rw-ing-item--1 { left: 3%; top: 38.9%; text-align: left; }
.rw-ing-imgwrap .rw-ing-item--2 { right: 6%; top: 43%; text-align: right; }
.rw-ing-imgwrap .rw-ing-item--3 { left: 5.5%; top: 64.9%; text-align: left; }
.rw-ing-imgwrap .rw-ing-item--4 { right: 5%; top: 69%; text-align: right; }
.rw-ing-imgwrap .rw-ing-name { text-shadow: 0 1px 8px rgba(0,0,0,0.9); }
.rw-ing-imgwrap .rw-ing-role { text-shadow: 0 1px 8px rgba(0,0,0,0.9); color: rgba(255,255,255,0.65); }
.rw-ing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; margin-top: 1.2rem; }
.rw-ing-item { border-left: 2px solid rgba(201,147,58,0.7); padding-left: 0.7rem; }
.rw-ing-name { font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; margin: 0 0 0.15rem; }
.rw-ing-role { font-size: 10.5px; color: rgba(255,255,255,0.5); line-height: 1.45; margin: 0; text-transform: uppercase; letter-spacing: 0.04em; }

/* ═══ RW FAQ ═══ */
.rw-faq { background: #010101; }
.rw-faq-list { margin-top: 1.4rem; }
.rw-faq-item { border-bottom: 1px solid rgba(255,255,255,0.08); }
.rw-faq-q {
    position: relative; cursor: pointer; list-style: none;
    padding: 1.05rem 0 1.05rem 2.4rem;
    font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #fff;
}
.rw-faq-q::-webkit-details-marker { display: none; }
.rw-faq-q::before {
    content: ""; position: absolute; left: 0; top: 50%;
    width: 1.6rem; height: 1px; background: rgba(255,255,255,0.4);
}
.rw-faq-a { font-weight: 300; font-size: 12.5px; line-height: 1.65; color: rgba(255,255,255,0.6); margin: 0; padding: 0 0 1.1rem 2.4rem; }

/* ═══ RW Finaler CTA ═══ */
.rw-final { position: relative; overflow: hidden; background: #010101; }
.rw-final-imgwrap { position: relative; }
.rw-final-imgwrap img { width: 100%; aspect-ratio: 402/492; object-fit: cover; display: block; }
.rw-final-fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(1,1,1,0) 55%, rgba(1,1,1,1) 100%); }
.rw-final-inner { position: relative; z-index: 2; }
.rw-final-sub { font-weight: 300; font-size: 12.5px; line-height: 1.7; color: rgba(255,255,255,0.75); margin: 0.8rem 0 0; }
.rw-final-rating { font-size: 12px; color: #be6b52; line-height: 1.6; margin: 1rem 0 0; }
.rw-final-rating-sub { font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #be6b52; }
.rw-final-badges {
    list-style: none; padding: 0; margin: 1.8rem 0;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.8rem 0.4rem;
    align-items: start;
}
.rw-final-badges li {
    display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
    font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase;
    color: rgba(255,255,255,0.7); line-height: 1.45; text-align: center;
}
.rw-final-badges svg { color: #9a9a9a; }
.rw-badge-500 { color: #9a9a9a; font-size: 16px; font-weight: 600; letter-spacing: 0.02em; line-height: 1; }
.rw-badge-500 small { display: block; font-size: 8px; letter-spacing: 2px; margin-top: 3px; }
.rw-final .rw-btn { margin-bottom: 0.7rem; }

/* ═══ RW Sticky Kaufleiste ═══ */
.rw-sticky {
    position: fixed; left: 0; right: 0; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 90;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    /* Weiß@10% über dunkler Basis: entspricht dem gerenderten Figma-Look
       und bleibt solide, falls backdrop-filter nicht greift */
    background: linear-gradient(rgba(255,255,255,0.10), rgba(255,255,255,0.10)), rgba(24,19,15,0.82);
    -webkit-backdrop-filter: blur(60px); backdrop-filter: blur(60px);
    box-shadow: 0 -2px 10px rgba(0,0,0,0.15);
    border-top: none;
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
    box-sizing: border-box;
}
.rw-sticky { padding: 10px 20px 10px 10px; }
.rw-sticky-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rw-sticky-name { font-weight: 300; font-size: 12px; text-transform: uppercase; color: #fff; display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; white-space: nowrap; }
.rw-sticky-pill {
    background: #b05848; color: #fff; border-radius: 20px;
    font-weight: 300; font-size: 12px; letter-spacing: 0; text-transform: none;
    padding: 2px 4px; white-space: nowrap;
}
.rw-sticky-price { font-size: 14px; font-weight: 300; color: #fff; }
.rw-sticky-price s { font-size: 12px; font-weight: 300; color: #fff; margin-left: 10px; }
.rw-sticky-btn {
    flex: 0 0 auto; background: #fff; color: #010101;
    border: 1px solid #f2f3f6; box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border-radius: 50px; padding: 15px 20px;
    font-size: 14px; font-weight: 500; line-height: 21px; letter-spacing: 0.15em; text-transform: uppercase;
    text-decoration: none;
}

/* ═══ RW Produktseiten ═══ */
.rw-pphero {
    position: relative; min-height: 100svh;
    display: flex; flex-direction: column; justify-content: space-between;
    background: #010101; overflow: hidden;
}
.rw-pphero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rw-pphero-shade {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, rgba(1,1,1,0.6) 0%, rgba(1,1,1,0.1) 35%, rgba(1,1,1,0) 60%, rgba(1,1,1,0.75) 100%);
}
.rw-pphero-top { position: relative; z-index: 2; padding: 109px 1.5rem 0; max-width: 402px; margin: 0 auto; width: 100%; box-sizing: border-box; }
.rw-pphero-bottom { position: relative; z-index: 2; padding: 0 1.5rem 100px; max-width: 402px; margin: 0 auto; width: 100%; box-sizing: border-box; text-align: center; }

.rw-ppcard { background: #010101; }
.rw-ppcard .rw-inner { padding-top: 2.2rem; padding-bottom: 2.2rem; }
.rw-ppcard-buy { display: flex; gap: 0.8rem; align-items: stretch; margin-top: 0.4rem; }
.rw-qty {
    display: flex; align-items: center; gap: 0.15rem; flex: none;
    background: #111; border: 1px solid rgba(255,255,255,0.2); border-radius: 50px;
    padding: 0.2rem 0.4rem;
}
.rw-qty-btn {
    width: 34px; height: 34px; border: none; background: transparent;
    color: #fff; font-size: 17px; cursor: pointer; line-height: 1;
}
.rw-qty-input {
    width: 2rem; text-align: center; border: none; background: transparent;
    color: #fff; font-size: 14px; font-family: inherit;
    -moz-appearance: textfield; appearance: textfield;
}
.rw-qty-input::-webkit-outer-spin-button, .rw-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rw-ppcard-submit { flex: 1; border: none; cursor: pointer; font-family: inherit; }

.rw-ppbenefit, .rw-ppmoment, .rw-ppscent { background: #010101; }
.rw-ppbenefit img, .rw-ppmoment img, .rw-ppscent img { width: 100%; height: auto; display: block; }
.rw-pp-copy { font-weight: 300; font-size: 12.5px; line-height: 1.7; color: rgba(255,255,255,0.65); margin: 0 0 1.1rem; }
.rw-pp-copy--dim { color: rgba(255,255,255,0.4); font-size: 11.5px; }
.rw-ppscent-sub { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #be6b52; margin: -0.3rem 0 0.7rem; }

.rw-pppoints { background: #0d0d0d; border-top: 1px solid rgba(255,255,255,0.05); }
.rw-pppoint { padding: 1.1rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.rw-pppoint:last-child { border-bottom: none; }
.rw-pppoint-h { font-size: 14px; font-weight: 400; letter-spacing: 0.05em; text-transform: uppercase; color: #fff; margin: 0 0 0.35rem; }
.rw-pppoint-p { font-weight: 300; font-size: 12.5px; line-height: 1.65; color: rgba(255,255,255,0.55); margin: 0; }

.rw-ppessences { background: #010101; border-top: 1px solid rgba(255,255,255,0.05); }

.rw-ppusage { background: #010101; }
.rw-ppusage-card { margin-top: 1.4rem; }
.rw-ppusage-card img { width: 100%; height: auto; display: block; margin-bottom: 0.9rem; }
.rw-ppusage-link {
    display: inline-block; margin-top: 0.5rem;
    font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
    color: #be6b52; text-decoration: none;
    border-bottom: 1px solid rgba(201,147,58,0.4); padding-bottom: 2px;
}
.rw-ppusage-link:hover { color: #fff; border-color: rgba(255,255,255,0.5); }

.rw-ppending { background: #0d0d0d; border-top: 1px solid rgba(255,255,255,0.08); }
.rw-ppending .rw-inner { padding-top: 3.5rem; padding-bottom: 3.5rem; }

/* ═══ RW Werte ═══ */
.rw-werte-icons { display: flex; flex-direction: column; gap: 1.6rem; margin-top: 1.8rem; align-items: center; }
.rw-werte-icon img { width: 34px; height: 34px; margin-bottom: 0.5rem; }

/* ═══ RW Wissen ═══ */
.rw-artikel-teaser { padding: 1.3rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.rw-artikel-teaser:last-child { border-bottom: none; }
.rw-artikel-teaser .rw-ppusage-link { margin-top: 0.7rem; }

/* ═══ RW Kontakt ═══ */
.rw-kform { background: #010101; }
.rw-kform-mail { display: flex; align-items: center; gap: 0.5rem; justify-content: flex-end; margin: 0 0 1.1rem; font-size: 12px; }
.rw-kform-mail a { color: rgba(255,255,255,0.65); text-decoration: none; }
.rw-kform-form { display: flex; flex-direction: column; gap: 0.7rem; }
/* Die Beschriftung gehoert optisch zu ihrem Feld, deshalb der negative Abstand
   gegen das gap der Spalte. */
.rw-kform-label {
    margin-bottom: -0.35rem;
    font-size: 12px; font-weight: 300; letter-spacing: 0.03em;
    color: rgba(255,255,255,0.72);
}
.rw-input {
    padding: 0.95rem 1.3rem; border-radius: 28px;
    border: 1px solid rgba(255,255,255,0.14);
    background: #141414; color: #fff;
    font-size: 14px; font-family: inherit;
}
.rw-input::placeholder { color: rgba(255,255,255,0.4); }
.rw-input--area { min-height: 180px; border-radius: 20px; resize: vertical; }
.rw-kform .rw-btn { border: none; cursor: pointer; font-family: inherit; margin-top: 0.4rem; }
.rw-kform-success { text-align: center; color: #be6b52; font-size: 14px; padding: 2rem 0; }
.rw-kform-error { color: #C50000; font-size: 12px; margin: 0; }

/* ═══ RW Leerer Warenkorb ═══ */
.rw-emptycart { max-width: 402px; margin: 0 auto; padding: 4.5rem 0 3rem; }
.rw-emptycart > .rw-h1, .rw-emptycart > .rw-pp-copy { padding: 0 1.25rem; }
.rw-emptycart-carousel {
    display: flex; gap: 0.8rem; margin-top: 1.8rem;
    overflow-x: auto; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; padding: 0 1.25rem 1rem;
    scrollbar-width: none;
}
.rw-emptycart-carousel::-webkit-scrollbar { display: none; }
.rw-emptycart-card {
    position: relative; flex: 0 0 72%; max-width: 260px;
    scroll-snap-align: start;
    background: #101010; border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px; padding: 1rem;
    display: flex; flex-direction: column;
}
.rw-emptycart-card .rw-pcard-badge { position: static; align-self: flex-start; margin-bottom: 0.5rem; }
.rw-emptycart-name { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; margin: 0 0 0.3rem; }
.rw-emptycart-desc { font-weight: 300; font-size: 11px; line-height: 1.5; color: rgba(255,255,255,0.55); margin: 0 0 0.4rem; min-height: 3em; }
.rw-emptycart-price { font-size: 15px; font-weight: 600; color: #fff; margin: 0 0 0.6rem; }
.rw-emptycart-card img { width: 100%; aspect-ratio: 1/1.15; object-fit: cover; border-radius: 6px; margin-bottom: 0.8rem; }
.rw-emptycart-card .rw-btn { margin-top: auto; padding: 0.65rem 1rem; font-size: 11px; }

/* Leerer Warenkorb — Figma 3260:12641, Hauptbereich bis Footer y=887. */
body.woocommerce-cart:has(.rw-emptycart) .rw-cart-close{display:none}
body.woocommerce-cart:has(.rw-emptycart) .rw-cartpage{height:887px;min-height:887px;padding:0;animation:none;overflow:hidden}
body.woocommerce-cart .rw-emptycart{position:relative;width:100%;max-width:402px;height:887px;margin:0;padding:0}
body.woocommerce-cart .rw-emptycart>.rw-h1{position:absolute;top:182px;left:40px;right:40px;width:auto;height:80px;margin:0;padding:0;font-size:34px;font-weight:300;line-height:40px;letter-spacing:.05em}
body.woocommerce-cart .rw-emptycart>.rw-pp-copy{position:absolute;top:271px;left:40px;right:40px;width:auto;height:32px;margin:0;padding:0;font-size:14px;line-height:16px}
/* War overflow:hidden — die dritte Kachel war damit unerreichbar. Jetzt echtes
   horizontales Scrollen mit Einrasten; Scrollbalken bleibt unsichtbar. */
body.woocommerce-cart .rw-emptycart-carousel{position:absolute;top:366px;left:0;width:100%;max-width:402px;height:424px;margin:0;padding:0 20px;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box}
body.woocommerce-cart .rw-emptycart-carousel::-webkit-scrollbar{display:none}
body.woocommerce-cart .rw-emptycart-card{flex:0 0 202px;width:202px;max-width:202px;height:424px;padding:16px 13px;box-sizing:border-box;border:0;border-radius:0;overflow:hidden;scroll-snap-align:start}
/* Der negative Einzug schob die erste Kachel aus dem Scrollbereich heraus. */
body.woocommerce-cart .rw-emptycart-card>img{position:absolute;inset:0;width:202px;height:424px;margin:0;border-radius:0;object-fit:cover;z-index:0}
body.woocommerce-cart .rw-emptycart-card>*:not(img){position:relative;z-index:1}
body.woocommerce-cart .rw-emptycart-name{font-size:14px;line-height:21px}
body.woocommerce-cart .rw-emptycart-desc{font-size:12px;line-height:14px}
body.woocommerce-cart .rw-emptycart-price{font-size:18px;line-height:27px}
body.woocommerce-cart .rw-emptycart-card .rw-btn{position:absolute;left:13px;bottom:19px;width:176px;height:51px;padding:15px 20px;box-sizing:border-box}

/* ═══ RW Checkout-Restyle (klassischer WC-Checkout, kein Flow-Umbau) ═══ */
body.woocommerce-checkout main { max-width: 402px; margin: 0 auto; }
body.woocommerce-checkout .woocommerce { padding: 5rem 1.25rem 3rem; }
body.woocommerce-checkout h1.wp-block-post-title,
body.woocommerce-checkout h3 {
    font-weight: 300; font-size: 22px; letter-spacing: 0.08em;
    text-transform: uppercase; color: #fff;
}
body.woocommerce-checkout .form-row label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-selection {
    background: #141414 !important; color: #fff !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 28px !important; padding: 0.85rem 1.2rem !important;
    font-size: 14px !important; height: auto !important;
}
body.woocommerce-checkout .select2-selection__rendered { color: #fff !important; line-height: 1.4 !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout #payment {
    background: #101010; border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
}
body.woocommerce-checkout #payment .payment_methods li {
    background: #141414; border: 1px solid rgba(255,255,255,0.1);
    border-radius: 28px; margin: 0.5rem 0.8rem; padding: 0.6rem 1rem;
    list-style: none;
}
body.woocommerce-checkout #place_order {
    display: block; width: 100%;
    background: #fff !important; color: #010101 !important;
    border-radius: 50px !important; padding: 1rem !important;
    font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: 0.12em !important; text-transform: uppercase !important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 11px; color: rgba(255,255,255,0.45); }

/* ═══ RW Bestätigung (order-received) ═══ */
body.woocommerce-order-received .woocommerce-order { text-align: center; padding-top: 2rem; }
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-weight: 300; font-size: 24px; letter-spacing: 0.08em;
    text-transform: uppercase; color: #fff;
}
body.woocommerce-order-received .woocommerce-thankyou-order-details {
    list-style: none; padding: 1.2rem; margin: 1.5rem 0;
    background: #101010; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px;
    display: flex; flex-direction: column; gap: 0.6rem;
    font-size: 12px; color: rgba(255,255,255,0.7);
}

/* ═══ RW Kundenkonto ═══ */
body.woocommerce-account main { max-width: 402px; margin: 0 auto; }
body.woocommerce-account .woocommerce { padding: 5rem 1.25rem 3rem; }
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .woocommerce-ResetPassword {
    border: none; padding: 0;
}
body.woocommerce-account .woocommerce-form .form-row .input-text {
    background: #141414; color: #fff;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 28px; padding: 0.85rem 1.2rem;
    font-size: 14px; width: 100%; box-sizing: border-box;
}
body.woocommerce-account .woocommerce-form .form-row label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
body.woocommerce-account .woocommerce-button,
body.woocommerce-account button[name="login"],
body.woocommerce-account button[name="register"] {
    background: #fff; color: #010101;
    border-radius: 50px; padding: 0.95rem 1.8rem; border: none;
    font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
    width: 100%; cursor: pointer;
}
body.woocommerce-account .lost_password a,
body.woocommerce-account .woocommerce-LostPassword a { color: rgba(255,255,255,0.55); font-size: 12px; }

/* ═══ Sticky-Leiste verdeckt sonst die Footer-Links ═══ */
body:has(.rw-sticky) .rw-footer { padding-bottom: calc(22px + 88px); }

/* ═══ Performance: Below-fold-Sektionen erst bei Bedarf rendern ═══ */
.rw-products, .rw-ritual, .rw-proof, .rw-risiko, .rw-faq, .rw-final,
.rw-ppbenefit, .rw-ppmoment, .rw-ppscent, .rw-pppoints, .rw-ppessences, .rw-ppending {
    content-visibility: auto;
    contain-intrinsic-size: auto 700px;
}

/* ═══ Floating Cart: Halb-Pill bündig rechts (Figma 2374:10666).
   top in svh — stabil beim Einklappen der Browserleiste (kein Springen) ═══ */
.stiers-cart {
    position: fixed; right: 0 !important; top: 51.4svh !important;
    width: 58px !important; height: 55px !important;
    border-radius: 50px 0 0 50px !important;
    background: rgba(255,255,255,0.10) !important;
    -webkit-backdrop-filter: blur(50px); backdrop-filter: blur(50px);
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border: none !important;
    display: flex; align-items: center; justify-content: center;
}

/* Body hinter Glas-Elementen immer dunkel (Blur-Untergrund) */
body { background-color: #010101; }

/* ═══ Codex Figma-Fidelity-Pass (MobilREWORK, Juli 2026) ═══
   Geometrie direkt aus den aktuellen Figma-Frames:
   Grid 3034:2581, Ritual 3041:12822, Proof 3041:12824,
   Risiko 3064:14225, FAQ 3064:14373, Final 3064:14287. */

/* Warum STIERS: 402×1020, Karten 171×340, 20px Spaltenabstand */
.rw-grid-sec { height: 1020px; overflow: hidden; }
.rw-grid-sec .rw-inner { padding: 56px 20px 120px; }
.rw-grid-sec .rw-h2 { margin: 0; }
.rw-grid-sec .rw-hspan,
.rw-ritual .rw-hspan,
.rw-proof .rw-hspan,
.rw-risiko .rw-hspan,
.rw-faq .rw-hspan { margin-bottom: 15px; }
/* Zwei gleich breite Spalten statt zweimal 171px: bei 402px ergibt das exakt
   dieselbe Breite, auf schmaleren Geraeten schrumpfen die Kacheln mit, statt
   rechts abgeschnitten zu werden. */
.rw-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px; row-gap: 30px;
    margin-top: 44px;
}
.rw-grid-tile { width: 100%; height: 340px; padding: 0; box-sizing: border-box; }
.rw-grid-imgwrap img { width: 100%; height: 241px; aspect-ratio: auto; object-fit: cover; }
.rw-grid-h { min-height: 42px; margin: 0; padding: 0 10px; box-sizing: border-box; }
.rw-grid-p { margin: 5px 0 0; padding: 0 10px; box-sizing: border-box; }

/* Ritual: 402×513, Textspalte beginnt bei x=129 */
.rw-ritual { height: 513px; overflow: hidden; }
.rw-ritual .rw-inner { padding: 61px 20px 70px; }
.rw-ritual .rw-h2 { margin: 0; }
.rw-steps { gap: 20px; margin: 30px 0 0 34px; }
.rw-step { min-height: 71px; gap: 20px; align-items: flex-start; }
.rw-step > * { transform: translateY(10px); }
.rw-step-num {
    flex: 0 0 55px; width: 55px;
    font-size: 48px; font-weight: 200; line-height: 1;
}
.rw-step-h {
    font-size: 14px; font-weight: 400; line-height: 21px;
    margin: 0 0 2px; letter-spacing: 0.08em;
}
.rw-step-p { font-size: 14px; font-weight: 300; line-height: 16px; margin: 0; }

/* Kundenstimmen: vier 362×140 Karten, 10px Abstand */
.rw-proof { height: 790px; overflow: hidden; }
.rw-proof .rw-inner { padding: 30px 20px 50px; }
/* Die Gesamtnote sass zwischen Ueberschrift und Karten (26px hoch, 15/30 Abstand).
   Ohne sie traegt die Ueberschrift den Abstand, die Sektion wird entsprechend
   flacher — sonst klafft unten Leerraum, weil die Hoehe fix ist. */
.rw-proof .rw-h2 { margin: 0 0 30px; }
.rw-proof-list { gap: 10px; }
.rw-proof-card {
    width: min(362px,100%); height: 140px; box-sizing: border-box;
    gap: 8px; padding: 24px 20px;
    border-radius: 39px;
}
.rw-proof-quote { font-size: 12px; line-height: 14px; margin: 0 0 10px; }
.rw-proof-name { font-size: 12px; line-height: 14px; }

/* Kein Risiko: Bild und Beschriftungen sind ein 402×874 Overlay. */
.rw-risiko { position: relative; height: 874px; overflow: hidden; }
.rw-risiko .rw-inner {
    position: relative; height: 874px; max-width: 402px;
    padding: 36px 20px 0;
}
.rw-risiko .rw-h2,
.rw-risiko .rw-risiko-p,
.rw-risiko .rw-checks { position: relative; z-index: 2; }
.rw-risiko .rw-h2 { margin: 0 0 30px; }
.rw-risiko-p { font-size: 12px; line-height: 14px; margin: 0; }
.rw-ing-imgwrap { position: absolute; inset: 0; z-index: 1; margin: 0; }
.rw-ing-img { width: 100%;max-width: 402px; height: 874px; object-fit: cover; }
.rw-risiko .rw-checks {
    position: absolute; left: 64px; top: 717px;
    width: 250px; margin: 0; gap: 0;
}
.rw-risiko .rw-checks li {
    font-size: 14px; font-weight: 300; line-height: 16px;
    letter-spacing: 0; text-transform: none;
}

/* FAQ: offene Antworten vergrößern die Sektion nur bei Interaktion. */
.rw-faq { height: 501px; overflow: hidden; }
.rw-faq:has(details[open]) { height: auto; overflow: visible; }
.rw-faq .rw-inner { padding: 50px 20px 13px; }
.rw-faq .rw-h2 { margin: 0; }
.rw-faq-list { display: flex; flex-direction: column; gap: 30px; margin-top: 51px; }
.rw-faq-item { border-bottom: 0; }
.rw-faq-q {
    min-height: 21px; padding: 0 0 0 52px;
    font-size: 14px; font-weight: 400; line-height: 21px;
}
.rw-faq-q::before { top: 10px; width: 40px; }
.rw-faq-a { padding: 12px 0 0 52px; }

/* Final: 402×976, Bild ab y=174; Text überlappt das Bild ab y=551. */
.rw-final { height: 976px; }
.rw-final-imgwrap { position: absolute; inset: 0; height: 976px; }
.rw-final-imgwrap img {
    position: absolute; top: 174px; left: 0;
    width: 100%;max-width: 402px; height: 492px; aspect-ratio: auto;
    /* Figma zeigt nicht die Bildmitte, sondern die unteren 78,5 % (imageTransform
       y 21,5 %..100 %) — dort liegen Flasche und beleuchtete Bank. Dazu traegt das
       Bild-Fill dort eine Belichtungskorrektur (filters.exposure 0.34), die hier
       nie nachgezogen wurde: Deshalb wirkte das Foto auf der Seite deutlich
       dunkler als im Entwurf. */
    object-position: center bottom;
    filter: brightness(1.72) saturate(1.05);
}
.rw-final-fade { top: 174px; height: 492px; bottom: auto; }
.rw-final-inner {
    position: absolute; top: 551px; left: 0;
    width: 100%; padding: 0 20px; box-sizing: border-box;
}
/* Ueberschrift und Unterzeile 30px tiefer, damit sie vom nun sichtbaren Foto
   abruecken. Der Abstand ueber den Siegeln gibt dieselben 30px wieder her —
   sonst rutscht der zweite Button aus der 976px hohen Sektion und wird vom
   overflow:hidden abgeschnitten. */
.rw-final-inner .rw-h2 { margin: 30px 0 0; }
.rw-final-sub { font-size: 14px; line-height: 16px; margin: 15px 0 0; }
.rw-final-badges { margin: 34px 0 64px; }
.rw-final-badges li { gap: 3px; }
.rw-final .rw-btn { height: 51px; padding: 0 20px; margin: 0 0 20px; box-sizing: border-box; }

/* ═══ Header: Burger mit geraden Linien, X aus Figma ═══ */
.stiers-hamburger span { border-radius: 0 !important; }

/* ═══ Finaler CTA: voller Abschlussmoment (Figma 3064:14287) ═══ */
.rw-final-inner { padding-top: 0; width: 100%; }

/* Zweizeiliges Rating in der Proof-Sektion */

/* Kleine Displays (iPhone SE & Co.): Sticky-Banner ohne Überlappung */
@media (max-width: 385px) {
    .rw-sticky { gap: 8px; padding-left: 8px; padding-right: 12px; }
    .rw-sticky-btn { padding: 13px 14px; font-size: 12px; letter-spacing: 0.10em; }
    .rw-sticky-pill { font-size: 10.5px; }
    .rw-sticky-name { font-size: 11px; }
}

/* ═══ Codex Warenkorb: exakte Geometrie Figma 2379:8935 ═══ */
body.woocommerce-cart .stiers-cartpage-inner {
    padding: 71px 20px 69px;
}
body.woocommerce-cart .stiers-cart-hd {
    height: 40px; margin: 0 0 27px;
}
body.woocommerce-cart .stiers-cart-title {
    font-size: 34px; font-weight: 300; line-height: 40px;
    letter-spacing: 0.04em;
}
body.woocommerce-cart .stiers-cart-items {
    gap: 15px;
}
body.woocommerce-cart .stiers-cart-item {
    flex: none; width: min(362px,100%); min-height: 0; height: 99px;
    padding: 8px 0 11px; gap: 2px;
}
body.woocommerce-cart .stiers-cart-item-left {
    flex: 0 0 185px; width: 185px; gap: 12px;
}
body.woocommerce-cart .stiers-cart-item-name {
    font-size: 16px; line-height: 20px; letter-spacing: 0;
}
body.woocommerce-cart .stiers-cart-item-qty { flex: 0 0 90px; width: 90px; }
body.woocommerce-cart .stiers-cart-qty-control { width: 90px; height: 40px; padding: 6px 5px; gap: 8px; }
body.woocommerce-cart .stiers-cart-item-price { flex: 0 0 57px; width: 57px; font-weight: 400; }
body.woocommerce-cart .stiers-cart-item-remove { flex: 0 0 24px; width: 24px; }
body.woocommerce-cart .stiers-cart-remove { width: 24px; height: 24px; }

body.woocommerce-cart .stiers-coupon-row {
    grid-template-columns: 125px 210px; gap: 27px;
    width: min(362px,100%); height: 52px; margin: 15px 0;
}
body.woocommerce-cart .stiers-coupon-label {
    font-size: 14px; line-height: 21px; color: rgba(255,255,255,0.55);
}
body.woocommerce-cart .stiers-coupon-input {
    width: 210px; height: 52px; padding: 0 20px;
    font-size: 14px; font-weight: 300; line-height: 16px;
    letter-spacing: 0; text-transform: uppercase;
}
body.woocommerce-cart .stiers-coupon-btn {
    position: absolute !important; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}
body.woocommerce-cart .stiers-free-shipping-bar,
body.woocommerce-cart .stiers-free-shipping-bar--active {
    width: min(362px,100%); height: 39px; margin: 0;
    display: flex; flex-direction: column; justify-content: flex-end; gap: 8px;
    padding: 0; background: transparent; border-radius: 0;
    color: rgba(255,255,255,0.55); text-align: center;
}
body.woocommerce-cart .stiers-free-shipping-bar > span {
    display: block; height: 14px; font-size: 12px; font-weight: 300; line-height: 14px;
    white-space: nowrap; text-align: center;
}
body.woocommerce-cart .stiers-free-shipping-bar > span span {
    display: inline !important;
    font: inherit !important;
}
body.woocommerce-cart .stiers-free-shipping-progress {
    width: min(362px,100%); height: 6px; margin: 0; border-radius: 999px;
    background: rgba(255,255,255,0.18);
}
body.woocommerce-cart .stiers-free-shipping-fill {
    height: 6px; border-radius: 999px; background: #fff;
}
body.woocommerce-cart .stiers-cart-continue {
    margin: 27px auto 53px; font-size: 14px; line-height: 16px;
}

body.woocommerce-cart .stiers-cart-summary-box {
    width: min(362px,100%); min-height: 520px; padding: 24px;
    box-sizing: border-box;
}
body.woocommerce-cart .stiers-cart-summary-heading {
    height: 21px; margin: 0 0 28px; font-size: 14px; line-height: 21px;
}
body.woocommerce-cart .stiers-cart-summary-row {
    min-height: 0; height: 16px; padding: 0; border: 0;
    font-size: 14px; line-height: 16px;
}
body.woocommerce-cart .stiers-cart-summary-row--total {
    height: 27px; margin: 10px 0 0; padding: 0;
    font-size: 14px; line-height: 16px; letter-spacing: 0; text-transform: uppercase;
}
body.woocommerce-cart .stiers-cart-summary-row--total span:last-child {
    font-size: 18px; line-height: 27px; letter-spacing: 0;
}
body.woocommerce-cart .stiers-cart-summary-row--tax {
    height: 14px; margin-top: 10px; padding: 0;
    font-size: 12px; line-height: 14px;
}
/* Der Betrag stand frueher doppelt da (einmal von Germanized) und war deshalb
   ausgeblendet. Seit die Plugin-Zeile entfernt ist, ist er die einzige Angabe. */
body.woocommerce-cart .stiers-cart-summary-row--tax span:last-child { display: inline; }
body.woocommerce-cart .stiers-cart-checkout-btn {
    width: min(314px,100%); height: 48px; margin-top: 28px;
}
body.woocommerce-cart .stiers-cart-ssl {
    height: 16px; margin: 13px 0 0; line-height: 14px;
}
body.woocommerce-cart .stiers-cart-express-label {
    height: 21px; margin: 28px 0;
    font-size: 14px; line-height: 21px; text-transform: none;
}
body.woocommerce-cart .stiers-cart-express {
    width: min(314px,100%); min-height: 48px; margin: 0 0 10px;
}
body.woocommerce-cart .stiers-cart-express > .checkout-button { display: none !important; }
body.woocommerce-cart .stiers-cart-express [id^="ppc-button-"],
body.woocommerce-cart .stiers-cart-express .paypal-buttons {
    width: min(314px,100%) !important; min-height: 48px !important; height: 48px !important;
}
/* Der Wrapper darf NICHT auf 48px festgenagelt werden: Seit Google Pay und
   Apple Pay am 02.08.2026 dazugekommen sind, liegen mehrere Buttons darin.
   Mit fester Hoehe lag Google Pay unsichtbar unter PayPal — gemessen 45px an
   derselben y-Position, im Bild war nur PayPal zu sehen. Nicht verfuegbare
   Wallets setzt das Plugin per Inline-Style auf display:none; sie belegen
   deshalb auch im Raster keinen Platz. */
body.woocommerce-cart .stiers-cart-express .ppc-button-wrapper {
    width: min(314px,100%) !important;
    height: auto !important; min-height: 48px !important;
}
body.woocommerce-cart .stiers-cart-express + .stiers-cart-paypal-preview,
body.woocommerce-cart .stiers-cart-paypal-preview[hidden] { display: none !important; }
body.woocommerce-cart .stiers-cart-paypal-preview,
body.woocommerce-cart .stiers-cart-wallet {
    width: min(314px,100%); height: 48px; margin: 0 0 10px;
}
body.woocommerce-cart .stiers-wallet-logo {
    width: 31px; height: 30px; transform: scale(2); pointer-events: none;
}

@media (max-width: 385px) {
    body.woocommerce-cart .stiers-cartpage-inner { padding-left: 14px; padding-right: 14px; }
    body.woocommerce-cart .stiers-cart-item,
    body.woocommerce-cart .stiers-coupon-row,
    body.woocommerce-cart .stiers-free-shipping-bar,
    body.woocommerce-cart .stiers-free-shipping-progress,
    body.woocommerce-cart .stiers-cart-summary-box { width: 100%; }
    body.woocommerce-cart .stiers-cart-item-left { flex-basis: calc(100% - 171px); width: calc(100% - 171px); }
    body.woocommerce-cart .stiers-cart-item-img,
    body.woocommerce-cart .stiers-cart-item-img a,
    body.woocommerce-cart .stiers-cart-item-img img { width: 65px; height: 65px; }
    body.woocommerce-cart .stiers-coupon-row { grid-template-columns: 115px 1fr; gap: 14px; }
    body.woocommerce-cart .stiers-coupon-input { width: 100%; }
    body.woocommerce-cart .stiers-cart-summary-box { padding-left: 20px; padding-right: 20px; }
    body.woocommerce-cart .stiers-cart-checkout-btn,
    body.woocommerce-cart .stiers-cart-express,
    body.woocommerce-cart .stiers-cart-paypal-preview,
    body.woocommerce-cart .stiers-cart-wallet { width: 100%; }
}

/* ═══ RW Wissen: Text-Overlays auf den Bildern (Figma 3424:4296) ═══ */
.rw-wover { position: relative; background: #010101; }
.rw-wover > img { width: 100%; height: auto; display: block; }
.rw-wov { position: absolute; box-sizing: border-box; z-index: 2; }
.rw-wov .rw-btn { display: inline-flex; }
.rw-wlabel .rw-ing-name,
.rw-wlabel .rw-ing-role { text-shadow: 0 1px 8px rgba(0,0,0,0.9); }
.rw-wlabel .rw-ing-role { color: rgba(255,255,255,0.65); }
.rw-wtext { background: #010101; }
.rw-wtext .rw-inner { padding-top: 1.6rem; padding-bottom: 1.6rem; }

/* ═══ Warenkorb als Slide-in von rechts (wie das Menü), ohne Header ═══ */
@keyframes rw-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.rw-cartpage {
    min-height: 100svh; background: #010101;
    animation: rw-slide-in 0.3s ease;
    padding-top: 0.5rem;
}
.stiers-cart-updated .rw-cartpage { animation: none; }
.rw-cart-close {
    position: absolute; top: 1.2rem; right: 1.5rem; z-index: 50;
    padding: 0.5rem; line-height: 0;
}
body.woocommerce-cart .stiers-cart { display: none; }
body.woocommerce-cart .stiers-cartpage,
body.woocommerce-cart .rw-emptycart { padding-top: 4.5rem; }

/* ═══ Ladezustand beim Bestellabschluss ═══
   WooCommerce legt beim Absenden einen weissen Schleier mit 60 % Deckkraft und
   einem rotierenden Standard-Icon ueber die Seite. Auf einer schwarzen Seite
   sieht das nach Ausfall aus, nicht nach Arbeit. Der Bestellabschluss dauert
   rund sieben Sekunden — die traegt kein stummer Kringel.

   Stattdessen: tiefes Schwarz, die Wortmarke mit wanderndem Kupferlicht, eine
   haarfeine Fortschrittslinie und Klartext, was gerade passiert. Der Text ist
   der eigentliche Hebel gegen die gefuehlte Wartezeit. */
.stiers-loader {
    position: fixed; inset: 0; z-index: 999999;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 26px;
    background: #010101;
    opacity: 0; visibility: hidden;
    transition: opacity .4s ease, visibility 0s linear .4s;
}
.stiers-loader[data-an="1"] {
    opacity: 1; visibility: visible;
    transition: opacity .4s ease, visibility 0s;
}
/* Die Maske schneidet alles auf die Buchstaben der Wortmarke zu — das Licht
   wandert dadurch durch die Schrift und nicht ueber einen Kasten. */
.stiers-loader-mark {
    position: relative; overflow: hidden;
    width: 200px; height: 35px;
    /* Deutlich genug, dass die Wortmarke auch zwischen zwei Lichtdurchgaengen
       ruhig dasteht — bei .18 wirkte sie in der Luecke wie ausgefallen. */
    background: rgba(255,255,255,.34);
    -webkit-mask: url(../img/logo-stiers.svg) center/contain no-repeat;
            mask: url(../img/logo-stiers.svg) center/contain no-repeat;
}
.stiers-loader-mark i {
    position: absolute; top: 0; bottom: 0; left: -55%;
    width: 55%;
    background: linear-gradient(90deg, transparent 0%, #be6b52 45%, #E1C6AB 55%, transparent 100%);
    animation: stiers-sweep 2.4s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes stiers-sweep {
    0%   { left: -55%; }
    100% { left: 100%; }
}
.stiers-loader-bar {
    width: 214px; height: 1px;
    background: rgba(255,255,255,.14);
    overflow: hidden;
}
.stiers-loader-bar i {
    display: block; height: 100%; width: 0;
    background: #be6b52;
    transition: width 1.1s cubic-bezier(.25,.6,.3,1);
}
.stiers-loader-text {
    margin: 0;
    font-family: Poppins, sans-serif;
    font-weight: 300; font-size: 11px; line-height: 1.6;
    letter-spacing: .18em; text-transform: uppercase;
    color: rgba(255,255,255,.55);
    text-align: center;
}
/* Kurze Zwischenschritte (Adresse geaendert, Zahlart gewechselt) blockiert
   WooCommerce weiterhin selbst — nur eben nicht mehr milchig weiss. */
body.woocommerce-checkout .blockUI.blockOverlay,
body.woocommerce-cart .blockUI.blockOverlay {
    background: #010101 !important;
    opacity: .55 !important;
}
body.woocommerce-checkout .blockUI.blockOverlay::before,
body.woocommerce-cart .blockUI.blockOverlay::before {
    background: none;
    border: 1px solid rgba(255,255,255,.18);
    border-top-color: #be6b52;
    border-radius: 50%;
    width: 22px; height: 22px;
    margin: -11px 0 0 -11px;
    animation: stiers-drehen .9s linear infinite;
}
@keyframes stiers-drehen { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .stiers-loader-mark i { animation: none; opacity: .6; left: 22%; }
    .stiers-loader-bar i { transition: none; }
    body.woocommerce-checkout .blockUI.blockOverlay::before,
    body.woocommerce-cart .blockUI.blockOverlay::before { animation-duration: 2.4s; }
}

/* ═══ EU-Widerrufsbutton (/widerruf/) ═══ */
.rw-wruf { max-width: 430px; margin: 0 auto 2rem; padding: 0; }
.rw-wruf-details summary::-webkit-details-marker { display: none; }
.rw-wruf-start {
    display: flex; align-items: center; justify-content: center;
    padding: 15px 30px; border-radius: 50px; cursor: pointer;
    background: #fff; color: #010101; border: 1px solid #f2f3f6;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    font-size: 14px; font-weight: 500; line-height: 21px; letter-spacing: 0.15em;
    text-transform: uppercase; text-align: center; list-style: none;
}
.rw-wruf-form { margin-top: 1rem; }
.rw-wruf-form .rw-btn { border: none; cursor: pointer; font-family: inherit; }
.rw-wruf-note { font-weight: 300; font-size: 12.5px; color: rgba(255,255,255,0.65); margin: 0 0 0.3rem; }
.rw-wruf-ok {
    border: 1px solid #be6b52; border-radius: 10px; padding: 1rem 1.2rem;
    font-size: 13px; line-height: 1.6; color: #fff;
}
/* Sichtbare Beschriftungen: die Felder hatten vorher nur Platzhalter, die beim
   Tippen verschwinden — mit Screenreader oder halb ausgefuelltem Formular war
   dann nicht mehr erkennbar, was wohin gehoert. */
.rw-wruf-label {
    display: block; margin: 0.85rem 0 0.3rem;
    font-size: 12px; font-weight: 300; letter-spacing: 0.03em;
    color: rgba(255,255,255,0.72);
}
.rw-wruf-fehler {
    display: block; margin: 0.35rem 0 0;
    font-size: 12px; line-height: 1.5; color: #ff9b7d;
}
p.rw-wruf-fehler {
    margin: 0 0 0.9rem; padding: 0.7rem 0.9rem;
    border: 1px solid #ff9b7d; border-radius: 10px;
}
.rw-wruf .rw-input[aria-invalid="true"] { border-color: #ff9b7d; }
/* Beleg der Erklaerung: muss ausgedruckt lesbar bleiben, weil er bei
   gescheiterter Mail der dauerhafte Datentraeger ist. */
.rw-wruf-beleg {
    margin: 0.9rem 0 0; padding: 0.9rem 0 0;
    border-top: 1px solid rgba(255,255,255,0.22);
    display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 0.9rem;
    font-size: 12.5px;
}
.rw-wruf-beleg dt { color: rgba(255,255,255,0.62); font-weight: 300; }
.rw-wruf-beleg dd { margin: 0; overflow-wrap: anywhere; }
@media print {
    .rw-wruf-ok { border-color: #000; color: #000; }
    .rw-wruf-beleg dt { color: #333; }
}

/* ═══ X exakt an der Hamburger-Position (41x41-Box bei top 14 / right 10) ═══ */
.stiers-menu-close,
.rw-cart-close {
    position: absolute; top: 14px; right: 10px;
    width: 41px; height: 41px; padding: 0;
    display: flex; align-items: center; justify-content: center;
    line-height: 0; overflow: visible;
}
.stiers-menu-close img,
.rw-cart-close img {
    /* max-width:100% der Theme-Basis würde das 61px-SVG in die
       41px-Box quetschen — Originalgröße erzwingen (X-Glyph 23x19
       wie im Figma Close Icon) */
    flex: none; max-width: none; width: 61px; height: 40px;
}

/* Sticky-Variante "Ausverkauft" (Seife) */
.rw-sticky-out { color: #E73643; font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; }

/* ═══ Codex Warenkorb-Fidelity-Pass (Figma 2379:8935) ═══ */
body.woocommerce-cart .stiers-cartpage-inner {
    max-width: 402px; margin: 0 auto; padding: 20px 20px 60px;
    box-sizing: border-box;
}
body.woocommerce-cart .stiers-cart-hd {
    height: 36px; margin: 0 0 20px; padding: 0;
}
body.woocommerce-cart .stiers-cart-title {
    font-size: 14px; font-weight: 400; line-height: 21px;
    letter-spacing: 0.08em;
}
body.woocommerce-cart .stiers-cart-item {
    min-height: 104px; padding: 12px 0; gap: 8px; box-sizing: border-box;
    border-bottom-color: rgba(255,255,255,0.12);
}
body.woocommerce-cart .stiers-cart-item-left { gap: 12px; min-width: 0; }
body.woocommerce-cart .stiers-cart-item-img,
body.woocommerce-cart .stiers-cart-item-img a,
body.woocommerce-cart .stiers-cart-item-img img {
    width: 80px; height: 80px; border-radius: 0;
}
body.woocommerce-cart .stiers-cart-item-name {
    font-size: 14px; font-weight: 500; line-height: 21px;
    letter-spacing: 0.04em; text-transform: uppercase;
}
body.woocommerce-cart .stiers-cart-item-size {
    font-size: 12px; font-weight: 300; line-height: 14px;
    color: rgba(255,255,255,0.55);
}
body.woocommerce-cart .stiers-cart-item-qty { width: 88px; }
body.woocommerce-cart .stiers-cart-qty-control {
    height: 38px; padding: 4px; gap: 6px; box-sizing: border-box;
    background: #151515; border-radius: 50px;
}
body.woocommerce-cart .stiers-qty-btn { width: 28px; height: 28px; font-size: 14px; }
body.woocommerce-cart .stiers-qty-input { width: 14px; font-size: 14px; }
body.woocommerce-cart .stiers-cart-item-price { width: 56px; font-size: 14px; }
body.woocommerce-cart .stiers-cart-remove { opacity: 0.65; }

body.woocommerce-cart .stiers-coupon-row {
    display: grid; grid-template-columns: 140px 1fr; align-items: center;
    gap: 12px; margin: 28px 0;
}
body.woocommerce-cart .stiers-coupon-label {
    font-size: 12px; font-weight: 400; line-height: 21px;
    letter-spacing: 0.08em; text-transform: uppercase;
    color: rgba(255,255,255,0.55);
}
body.woocommerce-cart .stiers-coupon-field { position: relative; display: block; }
body.woocommerce-cart .stiers-coupon-input {
    height: 51px; padding: 0 48px 0 20px;
    background: #151515; border-radius: 50px;
}
body.woocommerce-cart .stiers-coupon-btn {
    position: absolute; right: 6px; top: 6px;
    width: 39px; height: 39px; border: 0; border-radius: 50%;
    color: #fff; background: rgba(255,255,255,0.08);
    font-size: 18px; letter-spacing: 0;
}
body.woocommerce-cart .stiers-free-shipping-bar { margin: 0 0 26px; }
body.woocommerce-cart .stiers-free-shipping-progress { height: 4px; }
body.woocommerce-cart .stiers-free-shipping-fill { background: #b05848; }
body.woocommerce-cart .stiers-cart-continue {
    width: auto; height: auto; margin: 0 auto 58px;
    background: transparent; color: #fff; border-radius: 0;
    font-size: 12px; line-height: 21px; text-decoration: underline;
    text-underline-offset: 5px;
}
body.woocommerce-cart .stiers-cart-continue:hover { background: transparent; color: rgba(255,255,255,0.75); }

body.woocommerce-cart .stiers-cart-summary-box {
    padding: 29px 24px 24px; gap: 0;
    background: #111; border: 0.5px solid rgba(255,255,255,0.18);
    border-radius: 39px;
}
body.woocommerce-cart .stiers-cart-summary-heading {
    margin: 0 0 22px; text-align: center;
    font-size: 14px; line-height: 21px;
}
body.woocommerce-cart .stiers-cart-summary-rows { border-top: 0; }
body.woocommerce-cart .stiers-cart-summary-row {
    min-height: 42px; padding: 8px 0; box-sizing: border-box;
}
body.woocommerce-cart .stiers-cart-summary-row--total {
    margin-top: 5px; padding-top: 12px;
}
body.woocommerce-cart .stiers-cart-summary-row--tax { min-height: 30px; padding: 0 0 12px; }
body.woocommerce-cart .stiers-cart-checkout-btn { height: 51px; margin-top: 18px; }
body.woocommerce-cart .stiers-cart-ssl {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin: 14px 0 0; color: rgba(255,255,255,0.55);
    font-size: 12px; font-weight: 300; line-height: 14px;
}
body.woocommerce-cart .stiers-cart-express-label {
    margin: 30px 0 18px; text-align: center;
    font-size: 12px; font-weight: 400; line-height: 21px;
    letter-spacing: 0.08em; text-transform: uppercase; color: #fff;
}
body.woocommerce-cart .stiers-cart-express:empty { display: none; }
body.woocommerce-cart .stiers-cart-summary-box [data-funding-source]:not([data-funding-source="paypal"]) { display: none !important; }
body.woocommerce-cart .stiers-cart-paypal-preview,
body.woocommerce-cart .stiers-cart-wallet {
    width: 100%; height: 49px; margin: 0 0 10px; border: 0; border-radius: 50px;
    display: flex; align-items: center; justify-content: center;
    opacity: 1; cursor: default;
}
body.woocommerce-cart .stiers-cart-paypal-preview { background: #ffc439; color: #003087; font-size: 21px; font-style: italic; }
body.woocommerce-cart .stiers-cart-wallet { background: #fff; color: #111; font-size: 18px; }
body.woocommerce-cart .stiers-gpay b { color: #4285f4; font-weight: 600; }
body.woocommerce-cart .stiers-applepay { font-weight: 600; letter-spacing: -0.03em; }

@media (max-width: 385px) {
    body.woocommerce-cart .stiers-cart-item { gap: 5px; }
    body.woocommerce-cart .stiers-cart-item-img,
    body.woocommerce-cart .stiers-cart-item-img a,
    body.woocommerce-cart .stiers-cart-item-img img { width: 65px; height: 65px; }
    body.woocommerce-cart .stiers-cart-item-qty { width: 82px; }
    body.woocommerce-cart .stiers-coupon-row { grid-template-columns: 125px 1fr; gap: 8px; }
}

/* Cart: final Figma geometry (402 px mobile frame, node 2379:8935). */
body.woocommerce-cart .stiers-cartpage-inner {
    padding: 83px 20px 69px;
}
body.woocommerce-cart .stiers-cart-hd {
    height: 40px;
    margin: 0 0 27px;
}
body.woocommerce-cart .stiers-cart-title {
    font-size: 34px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: 0.04em;
}
body.woocommerce-cart .stiers-cart-items { gap: 15px; }
body.woocommerce-cart .stiers-cart-item {
    width: min(362px,100%);
    min-height: 0;
    height: 99px;
    padding: 8px 0 11px;
    gap: 2px;
}
body.woocommerce-cart .stiers-cart-item-left {
    flex: 0 0 185px;
    width: 185px;
}
body.woocommerce-cart .stiers-cart-item-name {
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 0;
}
body.woocommerce-cart .stiers-cart-item-qty,
body.woocommerce-cart .stiers-qty-control {
    width: 90px;
}
body.woocommerce-cart .stiers-qty-control {
    height: 40px;
    padding: 6px 5px;
    gap: 8px;
}
body.woocommerce-cart .stiers-cart-item-price {
    width: 57px;
    font-weight: 400;
}
body.woocommerce-cart .stiers-cart-item-remove {
    width: 24px;
    height: 24px;
}
body.woocommerce-cart .stiers-coupon-row {
    width: min(354px,100%);
    height: 52px;
    grid-template-columns: 125px 202px;
    gap: 27px;
    margin: 15px 0;
}
body.woocommerce-cart .stiers-coupon-label {
    font-size: 14px;
    line-height: 21px;
}
body.woocommerce-cart .stiers-coupon-input {
    width: 202px;
    height: 52px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0;
    text-transform: uppercase;
}
/* Der Button war hier auf 1x1 px geschrumpft und damit nicht mehr antippbar –
   der Gutschein liess sich nur noch mit der Enter-Taste einloesen. Er bleibt
   dezent (Kreis im Feld), muss aber eine Trefferflaeche haben. */
body.woocommerce-cart .stiers-coupon-btn {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    padding: 0;
    clip: auto;
    clip-path: none;
    overflow: visible;
    white-space: nowrap;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
body.woocommerce-cart .stiers-free-shipping-bar {
    width: min(362px,100%);
    height: 39px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    background: transparent;
}
body.woocommerce-cart .stiers-free-shipping-text {
    font-size: 12px;
    line-height: 14px;
}
body.woocommerce-cart .stiers-free-shipping-progress {
    width: min(362px,100%);
    height: 6px;
}
body.woocommerce-cart .stiers-free-shipping-fill { background: #fff; }
body.woocommerce-cart .stiers-cart-continue {
    margin: 31px auto 58px;
    font-size: 14px;
    line-height: 16px;
}
body.woocommerce-cart .stiers-cart-summary-box {
    width: min(362px,100%);
    /* Bewusst nur ein Mindestmass: Die 520px aus Figma passen fuer den einfachen
       Fall. Mit eingeloestem Gutschein kommt eine Zeile dazu, und seit Google
       Pay am 02.08.2026 im Express-Bereich steht, ein zweiter Button — bei
       fester Hoehe hing er unten aus der abgerundeten Box heraus. */
    height: auto;
    min-height: 520px;
    padding: 23px;
    gap: 0;
    box-sizing: border-box;
}
body.woocommerce-cart .stiers-cart-summary-heading {
    height: 21px;
    margin: 0 0 28px;
}
body.woocommerce-cart .stiers-cart-summary-row {
    min-height: 0;
    height: 16px;
    padding: 0;
}
body.woocommerce-cart .stiers-cart-summary-row--total {
    height: 27px;
    margin-top: 10px;
    padding: 0;
}
body.woocommerce-cart .stiers-cart-summary-row--tax {
    min-height: 0;
    height: 14px;
    margin-top: 10px;
    padding: 0;
}
body.woocommerce-cart .stiers-cart-checkout-btn {
    width: min(314px,100%);
    height: 48px;
    margin-top: 28px;
}
body.woocommerce-cart .stiers-cart-ssl {
    height: 16px;
    margin: 13px 0 0;
}
body.woocommerce-cart .stiers-cart-express-label {
    height: 21px;
    margin: 28px 0;
    font-size: 14px;
    line-height: 21px;
    text-transform: none;
}
body.woocommerce-cart .stiers-cart-express {
    width: min(314px,100%);
    min-height: 45px;
    margin-bottom: 10px;
}
body.woocommerce-cart .stiers-cart-express > .checkout-button {
    display: none !important;
}
body.woocommerce-cart .stiers-cart-express .ppc-button-wrapper,
body.woocommerce-cart .stiers-cart-express .ppc-button-container {
    width: min(314px,100%) !important;
    height: 45px !important;
    min-height: 45px !important;
}
body.woocommerce-cart .stiers-cart-express [id^="ppc-button-"],
body.woocommerce-cart .stiers-cart-express iframe {
    height: 45px !important;
    min-height: 45px !important;
}
body.woocommerce-cart .stiers-cart-summary-box #ppc-button-ppcp-gateway,
body.woocommerce-cart .stiers-cart-express [id^="ppc-button-"],
body.woocommerce-cart .stiers-cart-express .ppc-button-wrapper {
    overflow: visible !important;
    border-radius: 0 !important;
    clip-path: none !important;
}
body.woocommerce-cart .stiers-cart-express iframe,
body.woocommerce-cart .stiers-cart-express iframe:focus,
body.woocommerce-cart .stiers-cart-express iframe:focus-visible {
    display: block !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    -webkit-tap-highlight-color: transparent !important;
}
body.woocommerce-cart .stiers-cart-express:has(.ppc-button-wrapper) + .stiers-cart-paypal-preview,
body.woocommerce-cart .stiers-cart-paypal-preview[hidden] {
    display: none !important;
}
body.woocommerce-cart .stiers-cart-paypal-preview,
body.woocommerce-cart .stiers-cart-wallet {
    width: min(314px,100%);
    height: 48px;
    margin: 0 0 10px;
}
body.woocommerce-cart .stiers-cart-wallet img {
    transform: scale(2);
}
body.woocommerce-cart .stiers-cart-wallet:last-child {
    margin-bottom: 0;
}
body.woocommerce-cart .rw-footer {
    min-height: 176px;
}

/* Landingpage: finaler Figma-Abgleich, Home-Frame 3128:16722 (402 px). */
.rw-hero {
    height: 860px;
    min-height: 860px;
}
.rw-hero-img {
    top: -32px;
    height: 874px;
    object-position: 50% 42%;
}
.rw-hero-top { padding: 0 20px; }
.rw-hero-bottom {
    height: 249px;
    padding: 0;
}
.rw-hero-label {
    width: min(364px,100%);
    margin: 0 auto 5px;
}
.rw-hero-sub {
    width: min(322px,100%);
    height: 56px;
    margin: 0 auto;
}
.rw-hero-bottom .rw-btn {
    width: 157px;
    height: 91px;
    margin: 20px auto 0;
    padding: 15px 30px;
    gap: 10px;
    box-sizing: border-box;
}

.rw-trustbar { height: 69px; overflow: hidden; }
.rw-trustbar-inner {
    height: 69px;
    padding: 4px 0;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    box-sizing: border-box;
}
.rw-trustbar-item {
    /* War auf 70px fixiert. "1–3 WERKTAGE" passt darin nicht in eine Zeile und
       rutschte auf eine dritte, die das overflow:hidden der Leiste abschnitt.
       Jetzt nutzt die Kachel ihre Rasterspalte. */
    width: 100%;
    max-width: 96px;
    height: 61px;
    justify-self: center;
    gap: 5px;
}
.rw-trustbar-item img { width: 30px; height: 30px; }

.rw-grid-tile:nth-child(3) .rw-grid-h { padding-left: 28px; padding-right: 28px; }

.rw-products {
    height: 3113px;
    overflow: hidden;
}
.rw-products > .rw-inner {
    height: 63px;
    padding: 0 20px;
}
.rw-products .rw-h2 {
    height: 63px;
    margin: 0;
}
.rw-products .rw-hspan { margin-bottom: 15px; }
.rw-products > .rw-pcard:first-of-type { margin-top: 40px; }
.rw-pcard {
    height: 724.51px;
    margin: 0 auto 20px;
}
.rw-pcard:last-of-type {
    height: 736.51px;
    margin-bottom: 0;
}
.rw-pcard-panel {
    height: 100%;
    padding-bottom: 0;
    box-sizing: border-box;
}
.rw-pcard-imgwrap,
.rw-pcard-imgwrap img { height: 384.51px; }
.rw-pcard-imgwrap img { aspect-ratio: auto; }
.rw-pcard-body {
    position: relative;
    height: 340px;
    padding: 10px 20px 0;
    box-sizing: border-box;
}
.rw-pcard:last-of-type .rw-pcard-body { height: 352px; }
/* Titel nimmt den verbleibenden Platz, der Preis behaelt seine Breite. Vorher
   standen hier zwei feste Spalten (187+125+10=322), die zusammen mit dem
   Aussenabstand auf schmaleren Geraeten ueber den Rand liefen. */
.rw-pcard-toprow {
    display: grid;
    grid-template-columns: minmax(0, 187px) 125px;
    gap: 10px;
    align-items: start;
    height: 55px;
}
.rw-pcard-titleblock { width: 100%; min-width: 0; }
.rw-pcard-name {
    height: 27px;
    line-height: 27px;
    white-space: nowrap;
}
.rw-pcard-ml {
    display: block;
    height: 14px;
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    line-height: 14px;
}
.rw-pcard-priceblock {
    width: 125px;
    text-align: right;
}
.rw-pcard-price {
    height: 27px;
    line-height: 27px;
    white-space: nowrap;
}
.rw-pcard-price s,
.rw-pcard-save { display: none; }
.rw-pcard-tax {
    width: 125px;
    height: 28px;
    font-size: 12px;
    line-height: 14px;
}
.rw-pcard-price--out {
    align-self: start;
    justify-self: end;
    width: 125px;
    height: 27px;
    line-height: 27px;
    text-align: right;
}
.rw-pcard-claim { margin-top: 10px; }
.rw-pcard-buyrow {
    position: absolute;
    left: 20px;
    right: 0;
    bottom: 0;
    width: auto;
    height: 71px;
    margin: 0;
    gap: 0;
    align-items: flex-start;
    justify-content: flex-start;
}
.rw-pcard-buyrow .rw-pcard-meta {
    flex: 0 0 156px;
    width: 156px;
    padding-top: 10px;
    box-sizing: border-box;
}
.rw-pcard-buyrow .rw-btn {
    flex: 0 0 166px;
    width: 166px;
    height: 51px;
    padding: 15px 20px;
    box-sizing: border-box;
}
.rw-pcard--out .rw-pcard-buyrow { bottom: 71px; }
.rw-btn--disabled {
    background: rgba(255,255,255,0.35);
    color: rgba(1,1,1,0.55);
    border-color: transparent;
    cursor: default;
}
.rw-pcard-notify {
    position: absolute;
    left: 20px;
    bottom: 20px;
    width: min(322px,100%);
    height: 51px;
    padding: 15px 20px;
    box-sizing: border-box;
}

.rw-ing-imgwrap .rw-ing-item {
    width: 123px;
    max-width: none;
    text-align: center;
}
.rw-ing-imgwrap .rw-ing-item--1 { left: 3px; top: 340px; }
.rw-ing-imgwrap .rw-ing-item--2 { left: 255px; right: auto; top: 376px; }
.rw-ing-imgwrap .rw-ing-item--3 { left: 22px; top: 567px; }
.rw-ing-imgwrap .rw-ing-item--4 { left: 259px; right: auto; top: 603px; }
.rw-ing-imgwrap .rw-ing-name {
    height: 21px;
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    letter-spacing: 0.05em;
}
.rw-ing-imgwrap .rw-ing-role {
    margin: 0;
    font-size: 10px;
    font-weight: 500;
    line-height: 13px;
    letter-spacing: 0;
}
.rw-risiko .rw-checks {
    left: 84px;
    top: 753px;
    width: 250px;
}

.rw-faq-q { letter-spacing: 0.05em; }

footer.wp-block-group,
main.rw-page + div { margin-block-start: 0 !important; }
body:has(.rw-sticky) .rw-footer { padding-bottom: 0; }
.rw-footer {
    height: 176px;
    min-height: 176px;
    padding: 0 16px;
    box-sizing: border-box;
}
.rw-footer-logo {
    display: block;
    width: 59px;
    height: 10px;
    padding-top: 22px;
}
.rw-footer-logo img { width: 59px; height: auto; }
.rw-footer-claim {
    height: 14px;
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 300;
    line-height: 14px;
    letter-spacing: 0;
}
.rw-footer-copy {
    height: 14px;
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 14px;
}
.rw-footer-links {
    height: 62px;
    margin-top: 10px;
    align-items: flex-start;
}
.rw-footer-links a {
    height: 62px;
    padding: 16px 0 32px;
    box-sizing: border-box;
    font-size: 12px;
    font-weight: 300;
    line-height: 14px;
    letter-spacing: 0;
}

.rw-sticky-btn {
    height: 51px;
    box-sizing: border-box;
}
.stiers-cart { width: 67px !important; }

.rw-final-badges { height: 61px; }
.rw-final-inner > .rw-btn:nth-of-type(1) {
    width: min(334px,100%);
    margin-left: auto;
    margin-right: auto;
}
.rw-final-inner > .rw-btn:nth-of-type(2) {
    width: min(316px,100%);
    margin-left: auto;
    margin-right: auto;
}

/* Online Shop — Figma 3482:14198, exakt 6169 px inkl. Footer. */
.rw-shop-page .rw-shop-hero {height:860px;min-height:860px;overflow:hidden}
.rw-shop-page .rw-shop-hero .sx-bg{height:874px}
.rw-shop-page .rw-products{height:3050px}
.rw-shop-page .rw-products>.rw-inner{display:none}
.rw-shop-page .rw-products>.rw-pcard:first-of-type{margin-top:20px}
.rw-shop-page .rw-proof{height:610px}
.rw-shop-page .rw-proof .rw-inner{height:681px;padding:30px 20px 10px;box-sizing:border-box}
.rw-shop-page .rw-proof-list{margin-top:30px;height:440px;overflow:hidden}
.rw-shop-page .rw-proof-card:nth-child(n+4){display:none}
.rw-shop-page .rw-shop-ending{position:relative;width:100%;height:528px;background:#010101;color:#fff;text-align:center;overflow:hidden}
.rw-shop-ending-inner{position:absolute;top:197px;left:31px;right:31px;width:auto;height:241px;display:flex;flex-direction:column;align-items:center}
.rw-shop-ending-inner>img{width:86px;height:41px;margin:0 0 40px}
.rw-shop-ending-inner h2{height:54px;margin:0 0 40px;font-weight:400;font-size:18px;line-height:27px;letter-spacing:.06em;text-transform:uppercase}
.rw-shop-ending-inner .rw-btn{width:min(340px,100%);height:51px;padding:15px 20px;box-sizing:border-box;background:#fff;color:#010101}

/* Bundle — feste Figma-Sektionen 3440:5413 (Gesamt 4857 px). */
.rw-bundle-page .rw-pphero{height:860px;min-height:860px;overflow:hidden}
.rw-bundle-page .rw-pphero-bg{width:100%;max-width:402px;height:874px;object-fit:cover}
/* Hero-Link wie auf den anderen Produktseiten: Text mit Pfeil darunter,
   mittig. Diese Regel fehlte nur hier, deshalb zog der Link ueber die volle
   Breite. Figma 3440:5413: 221x91 bei x=90. */
.rw-bundle-page .rw-pphero .rw-btn{width:221px;height:91px;margin:20px auto 0;padding:15px 8px;gap:10px;box-sizing:border-box;white-space:nowrap}
.rw-bundle-page .rw-ppcard{height:340px;min-height:340px;overflow:hidden}
.rw-bundle-page .rw-ppbenefit{position:relative;height:874px;overflow:hidden}
.rw-bundle-page .rw-ppbenefit>img{position:absolute;top:60px;left:0;width:100%;max-width:402px;height:618px;object-fit:cover}
.rw-bundle-page .rw-ppbenefit>.rw-inner{position:absolute;inset:0;padding:0}
.rw-bundle-page .rw-ppbenefit .rw-h2{position:absolute;top:77px;left:35px;right:35px;width:auto;margin:0;text-align:center}
.rw-bundle-page .rw-ppbenefit>.rw-inner>.rw-pp-copy{position:absolute;top:151px;left:35px;right:35px;width:auto;margin:0;text-align:center}
.rw-bundle-page .rw-ppbenefit .rw-pppoint{position:absolute;left:20px;right:20px;width:auto;margin:0}
.rw-bundle-page .rw-ppbenefit .rw-pppoint:nth-of-type(1){top:592px;height:68px}
.rw-bundle-page .rw-ppbenefit .rw-pppoint:nth-of-type(2){top:675px;height:54px}
.rw-bundle-page .rw-ppbenefit .rw-pppoint:nth-of-type(3){top:744px;width:184px;height:63px}
.rw-bundle-page .rw-ppmoment{position:relative;height:774px;overflow:hidden}
.rw-bundle-page .rw-ppmoment>img{position:absolute;top:0;left:0;width:100%;max-width:402px;height:564px;object-fit:cover}
.rw-bundle-page .rw-ppmoment>.rw-inner{position:absolute;inset:0;padding:0}
.rw-bundle-page .rw-ppmoment .rw-h2{position:absolute;top:72px;left:26px;right:26px;width:auto;margin:0}
.rw-bundle-page .rw-ppmoment .rw-pp-copy{position:absolute;top:501px;left:20px;right:20px;width:auto;margin:0}
/* box-sizing fehlte als einziger der drei Buttons mit fester Breite: 304px plus
   2x30px Innenabstand ergaben 366px und liefen ueber den rechten Rand. */
.rw-bundle-page .rw-ppmoment .rw-btn{position:absolute;top:614px;left:49px;right:49px;width:auto;height:51px;margin:0;padding:15px 20px;box-sizing:border-box}
.rw-bundle-page .rw-ppusage{position:relative;height:1305px;overflow:hidden}
.rw-bundle-page .rw-ppusage>.rw-inner{position:absolute;inset:0;padding:0}
.rw-bundle-page .rw-ppusage>.rw-inner>.rw-eyebrow{position:absolute;top:89px;left:22px;right:22px;width:auto;margin:0}
.rw-bundle-page .rw-ppusage-card{position:absolute;left:0;width:100%;max-width:402px;margin:0}
.rw-bundle-page .rw-ppusage-card:nth-of-type(1){top:147px;height:583px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(2){top:582px;height:723px}
.rw-bundle-page .rw-ppusage-card img{position:absolute;top:0;margin:0;object-fit:cover}
.rw-bundle-page .rw-ppusage-card:nth-of-type(1) img{left:0;width:min(401px,100%);height:566px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(2) img{left:-6px;width:469px;height:704px}
.rw-bundle-page .rw-ppusage-card .rw-pppoint-h,.rw-bundle-page .rw-ppusage-card .rw-pppoint-p,.rw-bundle-page .rw-ppusage-card .rw-ppusage-link{position:absolute;left:20px;right:20px;width:auto;margin:0;z-index:2}
/* Die beiden Entdecken-Links stehen im Figma eingerueckt bei x=50 und 15px tiefer. */
.rw-bundle-page .rw-ppusage-card .rw-ppusage-link{left:50px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(1) .rw-pppoint-h{top:383px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(1) .rw-pppoint-p{top:414px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(1) .rw-ppusage-link{top:523px;width:190px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(2) .rw-pppoint-h{top:533px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(2) .rw-pppoint-p{top:564px}
.rw-bundle-page .rw-ppusage-card:nth-of-type(2) .rw-ppusage-link{top:659px;width:192px}

/* Werte — Figma 3440:5295: 860 + 782 + 1312 + 924 + Footer. */
.rw-werte-page .rw-pphero{height:860px;min-height:860px;overflow:hidden}
.rw-werte-page .rw-pphero-bg{width:100%;max-width:402px;height:874px;object-fit:cover}
.rw-werte-page .rw-ppbenefit{height:782px;overflow:hidden}
.rw-werte-page .rw-pppoints{height:550px;overflow:hidden}
.rw-werte-page .rw-ppmoment:nth-of-type(4){height:762px;overflow:hidden}
.rw-werte-page .rw-ppmoment:nth-of-type(5){height:923px;overflow:hidden}

/* Rechtseiten — Figma: ein durchgehender 14/22-px-Textblock ab y=150.
   Titel und Text standen absolut positioniert uebereinander (Titel top:100px auf
   40px Hoehe, Inhalt top:126px) und ueberlappten sich um 14px — der Widerrufsblock
   landete dadurch auf dem Seitentitel, und der Titel selbst war beschnitten.
   Dazu kamen feste Seitenhoehen mit overflow:hidden: waechst ein Rechtstext,
   verschwindet er unten. Jetzt normaler Textfluss, die Seite waechst mit. */
.stiers-legal-page main.wp-block-group{position:relative;width:100%;max-width:402px;padding:100px 20px 60px!important;box-sizing:border-box;background:#010101}
/* word-break:break-word kommt aus dem Core-Stylesheet und trennt an jeder
   beliebigen Stelle — "WIDERRUFSBELEHRUNG" brach dadurch als
   "WIDERRUFSBELEHRU / NG" um. hyphens:auto laesst stattdessen nach den deutschen
   Trennregeln trennen (die Seite ist lang="de-DE"). */
.stiers-legal-page main>.wp-block-post-title{width:min(362px,100%);max-width:100%;margin:0 0 26px!important;font-size:34px;font-weight:300;line-height:40px;letter-spacing:.05em;text-transform:uppercase;word-break:normal;overflow-wrap:break-word;hyphens:auto}
/* word-break:break-word stand hier, um lange Rechtsbegriffe und URLs im Rahmen
   zu halten — es trennt aber an jeder beliebigen Stelle, weshalb die Ueberschrift
   als "WIDERRUFSBELEHRU / NG" umbrach. hyphens:auto laesst den Browser nach den
   deutschen Trennregeln trennen (die Seite ist lang="de-DE"), overflow-wrap
   bleibt als Notnagel fuer Zeichenketten ohne Trennstelle. */
.stiers-legal-page main>.wp-block-post-content{width:min(362px,100%);max-width:100%;margin:0!important;padding:0!important;font-size:14px;font-weight:300;line-height:22px;color:#fff;overflow-wrap:anywhere;hyphens:auto}
.stiers-legal-page main>.wp-block-post-content h1,
.stiers-legal-page main>.wp-block-post-content h2{overflow-wrap:normal}
.stiers-legal-page .wp-block-post-content>*{margin-top:0!important;margin-bottom:0!important;font:inherit;line-height:22px;color:inherit}
.stiers-legal-page .wp-block-post-content a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.stiers-legal-page .wp-site-blocks>main+div{margin-block-start:0!important}
.stiers-legal-page .wp-block-template-part>footer{margin-block-start:0!important}
.stiers-legal-page .wp-block-template-part>footer>.rw-footer{margin-block-start:0!important}
.stiers-legal-page main+.wp-block-template-part{height:176px!important;overflow:hidden}
.stiers-legal-page main+.wp-block-template-part>footer{height:176px!important;overflow:visible}
.stiers-legal-page main+.wp-block-template-part .rw-footer{transform:translateY(-24px)}
.stiers-page-datenschutz .wp-block-post-content>*:not(:last-child){margin-bottom:14.29px!important}
.stiers-page-impressum .wp-block-post-content>*:not(:last-child){margin-bottom:25.6px!important}
.stiers-page-agb .wp-block-post-content>*:not(:last-child){margin-bottom:15.5px!important}
.stiers-page-widerruf .wp-block-post-content>*:not(:last-child){margin-bottom:14.65px!important}

/* Checkout — funktionaler 3-Step-Flow nach Figma 3260:12371/12418/12468. */
body.woocommerce-checkout main.stiers-checkout-page{width:100%;max-width:402px;margin:0;padding:0!important;background:#010101;overflow:hidden}
body.woocommerce-checkout main.stiers-checkout-page>.wp-block-post-content,body.woocommerce-checkout main.stiers-checkout-page .woocommerce{width:100%;max-width:402px;margin:0;padding:0!important}
body.woocommerce-checkout:has(.stiers-checkout[data-step="1"]) main.stiers-checkout-page{height:779px}
body.woocommerce-checkout:has(.stiers-checkout[data-step="2"]) main.stiers-checkout-page{height:867px}
body.woocommerce-checkout:has(.stiers-checkout[data-step="3"]) main.stiers-checkout-page{height:991px}
body.woocommerce-checkout .wp-site-blocks>main.stiers-checkout-page+div{margin-block-start:0!important}
.stiers-checkout{position:relative;width:100%;max-width:402px;height:100%;padding:119px 24px 0;box-sizing:border-box;color:#fff}
.stiers-checkout-progress{position:absolute;top:119px;left:24px;display:flex;gap:5px}
.stiers-checkout-progress i{display:block;width:33px;border-top:2px solid rgba(255,255,255,.25)}
.stiers-checkout[data-step="1"] .stiers-checkout-progress i:first-child,.stiers-checkout[data-step="2"] .stiers-checkout-progress i:nth-child(-n+2),.stiers-checkout[data-step="3"] .stiers-checkout-progress i{border-color:#fff}
.stiers-checkout-step{padding-top:17px}.stiers-checkout-step[hidden]{display:none!important}
.stiers-checkout-count{margin:0 0 14px;font-size:14px;font-weight:300;line-height:21px;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.stiers-checkout-step h1{height:40px;margin:0 0 40px;font-size:34px;font-weight:300;line-height:40px;letter-spacing:.05em;text-transform:uppercase}
.stiers-checkout-step--1:has(.stiers-checkout-express .ppcp-button-apm[style*="display: block"])>h1{margin-bottom:24px}
.stiers-checkout-express{width:min(354px,100%);margin:0 0 26px}
.stiers-checkout-express h2{height:auto!important;margin:0 0 12px!important;color:rgba(255,255,255,.72);font-size:12px!important;font-weight:400!important;line-height:18px!important;letter-spacing:.08em!important;text-transform:uppercase}
.stiers-checkout-express-buttons{display:grid;gap:10px;width:100%}
.stiers-checkout-express-buttons>.ppcp-button-apm{width:100%;min-width:0;margin:0!important;border-radius:50px;overflow:hidden}
.stiers-checkout-express-buttons>.ppcp-button-apm[style*="display: none"]{display:none!important}
.stiers-checkout-express:not(:has(.ppcp-button-apm[style*="display: block"])){display:none}
.stiers-checkout-express-divider{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:rgba(255,255,255,.42);font-size:10px;line-height:15px;text-align:center;text-transform:uppercase;white-space:nowrap}
.stiers-checkout-express-divider::before,.stiers-checkout-express-divider::after{content:"";flex:1 1 auto;border-top:1px solid rgba(255,255,255,.15)}
body.woocommerce-checkout:has(.stiers-checkout[data-step="1"] .stiers-checkout-express .ppcp-button-apm[style*="display: block"]) main.stiers-checkout-page{height:980px}
.stiers-checkout #customer_details,.stiers-checkout #customer_details .col-1,.stiers-checkout .woocommerce-billing-fields__field-wrapper{width:min(354px,100%)}
.stiers-checkout #customer_details .col-2,.stiers-checkout .woocommerce-billing-fields>h3{display:none}
.stiers-checkout .woocommerce-billing-fields__field-wrapper{display:flex;flex-wrap:wrap;gap:20px 12px}
.stiers-checkout .form-row{width:min(354px,100%);margin:0!important;padding:0!important}
.stiers-checkout #billing_first_name_field,.stiers-checkout #billing_last_name_field,.stiers-checkout #billing_postcode_field,.stiers-checkout #billing_city_field,.stiers-checkout #billing_country_field,.stiers-checkout #billing_email_field{width:171px}
.stiers-checkout .form-row label{display:block;height:21px;margin:0 0 4px;font-size:14px;line-height:21px;letter-spacing:.05em;color:rgba(255,255,255,.55)}
.stiers-checkout .form-row .input-text,.stiers-checkout .form-row select,.stiers-checkout .select2-container .select2-selection{width:100%;height:52px!important;padding:0 20px!important;border:0!important;border-radius:39px!important;background:#151515!important;color:#fff!important;font:300 14px/52px Poppins,sans-serif!important;box-sizing:border-box}
.stiers-checkout .select2-selection__rendered{line-height:52px!important;padding:0!important;color:#fff!important}
.stiers-checkout-next,#place_order{display:flex!important;align-items:center;justify-content:center;width:min(354px,100%);height:56px!important;margin:40px 0 0!important;padding:0 20px!important;border:0!important;border-radius:50px!important;background:#fff!important;color:#010101!important;font:500 14px/21px Poppins,sans-serif!important;letter-spacing:.15em;text-transform:uppercase;box-sizing:border-box}
.stiers-checkout-step--1 .stiers-checkout-next{margin-top:40px!important}
.stiers-checkout-step--2 h1{margin-bottom:40px}
.stiers-card-placeholder{width:min(354px,100%);height:240px;padding:17px 20px;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:3px;background:#111;font-size:14px;text-transform:uppercase}
.stiers-card-placeholder>label,.stiers-card-placeholder i label{display:block;margin:20px 0 8px;color:rgba(255,255,255,.55);font-weight:300}
.stiers-card-placeholder>div,.stiers-card-placeholder i b{display:flex;align-items:center;height:52px;padding:0 20px;background:#242424;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:rgba(255,255,255,.35);font-weight:300;box-sizing:border-box}
.stiers-card-placeholder p{display:flex;gap:12px;margin:0}.stiers-card-placeholder i{width:151px;font-style:normal}.stiers-card-placeholder i b{font-weight:300}
#stiers-payment-slot{margin-top:30px}#stiers-payment-slot #payment{padding:0!important;border:0!important;background:transparent!important}
#stiers-payment-slot .payment_methods{margin:0!important;padding:0!important;border:0!important;list-style:none}
#stiers-payment-slot .payment_methods li,.stiers-wallet-placeholder{position:relative;width:min(354px,100%);min-height:52px;margin:0 0 16px!important;padding:15px 20px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:39px!important;background:#151515!important;box-sizing:border-box;font-size:14px;font-weight:300}
/* Zahlartenauswahl: seit Kreditkarte dazugekommen ist, stehen hier mehrere
   Eintraege. Der native Radiobutton kam als blauer Systemkreis — hier ein
   eigener, der zum dunklen Design passt. */
#stiers-payment-slot .payment_methods li{display:flex;align-items:center;gap:12px}
#stiers-payment-slot .payment_methods li label{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;color:#fff;font-size:14px;font-weight:300}
#stiers-payment-slot input[type=radio]{appearance:none;-webkit-appearance:none;flex:0 0 18px;width:18px;height:18px;margin:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;cursor:pointer;position:relative}
#stiers-payment-slot input[type=radio]:checked{border-color:#fff}
#stiers-payment-slot input[type=radio]:checked::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
#stiers-payment-slot input[type=radio]:focus-visible{outline:2px solid #b05848;outline-offset:2px}
#stiers-payment-slot .payment_methods li:has(input:checked){border-color:rgba(255,255,255,.45)!important;background:#1b1b1b!important}
#stiers-payment-slot .payment_methods li label img{max-height:20px;width:auto}
#stiers-payment-slot .payment_box{display:none!important}.stiers-wallet-placeholder i{position:absolute;right:20px;top:15px;width:18px;height:18px;border:1px solid rgba(255,255,255,.25);border-radius:50%}
.stiers-checkout-step--2 .stiers-checkout-next{margin-top:28px!important}.stiers-checkout-secure{text-align:center;margin:13px 0 0;font-size:10px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.stiers-checkout-step--3 h1{margin-bottom:40px}.stiers-checkout-step--3 #order_review_heading{display:none}
.stiers-checkout-step--3 .woocommerce-checkout-review-order-table{width:min(354px,100%);margin:0!important;border:0!important;background:transparent!important;color:#fff}
.stiers-checkout-step--3 .woocommerce-checkout-review-order-table th,.stiers-checkout-step--3 .woocommerce-checkout-review-order-table td{padding:10px 0!important;border-color:rgba(255,255,255,.18)!important;background:transparent!important;color:#fff;font-size:14px}
#stiers-place-slot .place-order{padding:0!important;margin:0!important;background:transparent!important}#stiers-place-slot .woocommerce-terms-and-conditions-wrapper{font-size:10px;color:rgba(255,255,255,.5)}
#stiers-place-slot #place_order{margin-top:30px!important}
#order_review>.woocommerce-terms-and-conditions-wrapper{width:min(354px,100%);margin:24px 0 18px;padding:0;color:rgba(255,255,255,.58);font-size:10px;line-height:1.45;box-sizing:border-box}
#order_review>.woocommerce-terms-and-conditions-wrapper p{margin:0}
#order_review>.woocommerce-terms-and-conditions-wrapper .validate-required{margin:0!important}
#order_review>.woocommerce-terms-and-conditions-wrapper label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
#order_review>.woocommerce-terms-and-conditions-wrapper #terms{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#fff}
#order_review>.woocommerce-terms-and-conditions-wrapper a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.stiers-terms-hint{padding:7px 0 0 28px;color:#d9b7a5;font-size:10px;transition:opacity .2s ease}
.stiers-terms-accepted .stiers-terms-hint{opacity:0}
.stiers-checkout:not(.stiers-terms-accepted) #order_review>.ppc-button-wrapper{opacity:.42;pointer-events:none;filter:grayscale(.25)}
#order_review>.ppc-button-wrapper{transition:opacity .2s ease,filter .2s ease}
#place_order.ppcp-hidden{display:none!important}

/* Runtime-Inhalte von WooCommerce/PayPal dürfen die starren Figma-Flächen
   verlängern, damit Bestellbutton und Einwilligung nie unter dem Footer liegen. */
body.woocommerce-checkout:has(.stiers-checkout[data-step="3"]) main.stiers-checkout-page{min-height:1060px}

/* WooCommerce bringt gleich spezifische Feldregeln mit: finaler Checkout-Layer. */
body.woocommerce-checkout main.stiers-checkout-page{position:relative}
body.woocommerce-checkout main.stiers-checkout-page>.wp-block-post-content{position:absolute;inset:0;margin:0!important}
body.woocommerce-checkout main.stiers-checkout-page>.wp-block-post-content>.woocommerce{position:absolute;inset:0;margin:0!important}
body.woocommerce-checkout form.stiers-checkout .woocommerce-billing-fields__field-wrapper{display:flex!important;flex-wrap:wrap!important;gap:20px 12px!important}
body.woocommerce-checkout form.stiers-checkout .woocommerce-billing-fields__field-wrapper>.form-row{float:none!important;clear:none!important;width:min(354px,100%)!important;margin:0!important;padding:0!important}
body.woocommerce-checkout form.stiers-checkout #billing_first_name_field,body.woocommerce-checkout form.stiers-checkout #billing_last_name_field,body.woocommerce-checkout form.stiers-checkout #billing_postcode_field,body.woocommerce-checkout form.stiers-checkout #billing_city_field,body.woocommerce-checkout form.stiers-checkout #billing_country_field,body.woocommerce-checkout form.stiers-checkout #billing_email_field{width:171px!important}
body.woocommerce-checkout form.stiers-checkout #billing_first_name_field{order:1}body.woocommerce-checkout form.stiers-checkout #billing_last_name_field{order:2}body.woocommerce-checkout form.stiers-checkout #billing_address_1_field{order:3}body.woocommerce-checkout form.stiers-checkout #billing_postcode_field{order:4}body.woocommerce-checkout form.stiers-checkout #billing_city_field{order:5}body.woocommerce-checkout form.stiers-checkout #billing_country_field{order:6}body.woocommerce-checkout form.stiers-checkout #billing_email_field{order:7}
body.woocommerce-checkout form.stiers-checkout .form-row input.input-text,body.woocommerce-checkout form.stiers-checkout .form-row select,body.woocommerce-checkout form.stiers-checkout .select2-container .select2-selection{display:block!important;width:100%!important;height:52px!important;min-height:52px!important;padding:0 20px!important;border:0!important;border-radius:39px!important;background:#151515!important;box-sizing:border-box!important;font-size:14px!important;line-height:52px!important}
body.woocommerce-checkout form.stiers-checkout .form-row .select2-container{width:100%!important;max-width:100%!important}

/* Checkout-Vergleich: kleine, fixierte Sandbox-Leiste im freien Kopfbereich.
   Dadurch bleibt die Figma-Geometrie des Warenkorbs unverändert. */
body.woocommerce-cart .stiers-flow-test{position:fixed;z-index:90;top:14px;left:14px;width:184px;margin:0;padding:3px;border:1px solid rgba(255,255,255,.14);border-radius:999px;box-sizing:border-box;background:rgba(8,8,8,.94);box-shadow:0 4px 20px rgba(0,0,0,.32);backdrop-filter:blur(8px)}
body.woocommerce-cart .stiers-flow-test>span,body.woocommerce-cart .stiers-flow-test>small{display:none}
body.woocommerce-cart .stiers-flow-test-options{display:grid;grid-template-columns:1fr 1fr;gap:3px;border-radius:999px}
body.woocommerce-cart .stiers-flow-test-options a{display:flex;align-items:center;justify-content:center;height:30px;border-radius:999px;color:rgba(255,255,255,.6);font-size:10px;text-decoration:none}
body.woocommerce-cart .stiers-flow-test-options a.is-active{background:#fff;color:#010101;font-weight:500}

/* PayPal-Kompaktcheckout: Adresse und Zahlung kommen aus der freigegebenen
   PayPal-Session; sichtbar bleibt nur die rechtlich notwendige Bestätigung. */
body.stiers-compact-checkout main.stiers-checkout-page{min-height:1180px}
.stiers-checkout--compact{padding-top:101px}
.stiers-checkout--compact .stiers-checkout-progress{display:none}
.stiers-checkout--compact .stiers-checkout-step--3{padding-top:17px}
.stiers-checkout--compact .stiers-checkout-step--3 h1{height:auto;margin-bottom:28px;font-size:30px;line-height:36px}
.stiers-compact-details{width:min(354px,100%);margin:0 0 30px;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:16px;box-sizing:border-box;background:#0c0c0c}
.stiers-compact-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.stiers-compact-detail-head h2{height:auto!important;margin:0!important;font-size:14px!important;font-weight:500!important;line-height:21px!important;letter-spacing:.04em!important;text-transform:none!important}
.stiers-compact-edit{padding:0;border:0;background:transparent;color:#fff;font:300 12px/18px Poppins,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.stiers-compact-address{display:flex;flex-direction:column;gap:2px;margin:0;color:rgba(255,255,255,.62);font-size:12px;font-style:normal;font-weight:300;line-height:18px}
.stiers-compact-address strong{color:#fff;font-weight:400}
.stiers-compact-address [data-address="email"]{margin-top:5px}
.stiers-compact-payment{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
.stiers-compact-payment span{color:rgba(255,255,255,.55)}
.stiers-compact-payment strong{font-size:15px;font-weight:500;font-style:italic;color:#fff}
.stiers-compact-address-fields{margin-top:19px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.stiers-compact-address-fields[hidden],#stiers-compact-payment-slot[hidden]{display:none!important}
.stiers-checkout--compact .stiers-compact-address-fields #customer_details,.stiers-checkout--compact .stiers-compact-address-fields #customer_details .col-1,.stiers-checkout--compact .stiers-compact-address-fields .woocommerce-billing-fields__field-wrapper{width:min(314px,100%)}
body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields .woocommerce-billing-fields__field-wrapper>.form-row{width:min(314px,100%)!important}
body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields #billing_first_name_field,body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields #billing_last_name_field,body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields #billing_postcode_field,body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields #billing_city_field,body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields #billing_country_field,body.woocommerce-checkout form.stiers-checkout--compact .stiers-compact-address-fields #billing_email_field{width:151px!important}
.stiers-checkout--compact .woocommerce-checkout-review-order-table{margin-bottom:20px!important}
.stiers-checkout--compact #stiers-place-slot .woocommerce-privacy-policy-text{margin:0 0 16px;color:rgba(255,255,255,.5);font-size:10px;line-height:15px}
.stiers-checkout--compact #stiers-place-slot .woocommerce-privacy-policy-text a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.stiers-checkout--compact #stiers-place-slot .woocommerce-terms-and-conditions-wrapper{width:min(354px,100%);margin:0 0 18px;color:rgba(255,255,255,.62);font-size:10px;line-height:15px}
.stiers-checkout--compact #stiers-place-slot .woocommerce-terms-and-conditions-wrapper .validate-required{margin:0!important}
.stiers-checkout--compact #stiers-place-slot .woocommerce-terms-and-conditions-wrapper label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.stiers-checkout--compact #stiers-place-slot #terms{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#fff}
.stiers-checkout--compact #stiers-place-slot .woocommerce-terms-and-conditions-wrapper a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.stiers-checkout--compact #stiers-place-slot #place_order{margin-top:20px!important}
.stiers-checkout #order_review>.place-order,.stiers-checkout #stiers-place-slot>.place-order~.place-order,.stiers-checkout #stiers-place-slot #place_order~#place_order{display:none!important}
.stiers-checkout--compact #ppcp-cancel{display:block;margin:15px 0 0;text-align:center;color:rgba(255,255,255,.55);font-size:11px}
.stiers-compact-fallback{width:min(354px,100%);margin:105px 24px -85px!important;padding:14px 16px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px!important;background:#151515!important;color:#fff!important;font-size:11px!important;line-height:17px!important;box-sizing:border-box}

@media (max-width:385px){
.stiers-checkout--compact .stiers-compact-details,.stiers-checkout--compact .woocommerce-checkout-review-order-table,.stiers-checkout--compact #stiers-place-slot .woocommerce-terms-and-conditions-wrapper{width:100%}
}

/* Standard-Produktseite Sacköl: Figma 3440:5566. */
main.rw-page > section + section { margin-block-start: 0 !important; }

.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    height: 860px;
    min-height: 860px;
    display: block;
}
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pphero-bg {
    inset: 0 auto auto 0;
    width: 100%;max-width: 402px;
    height: 874px;
    object-fit: cover;
}
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pphero-top {
    position: absolute;
    top: 0;
    left: 0;
    height: 219px;
    padding: 109px 20px 0;
}
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-hspan { margin-bottom: 5px; }
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pphero-bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;max-width: 402px;
    height: 225px;
    padding: 0;
}
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-hero-label {
    width: min(364px,100%);
    margin: 0 auto 5px;
}
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-hero-sub {
    width: min(322px,100%);
    height: 32px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 16px;
}
.rw-pphero:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-btn {
    width: 157px;
    height: 91px;
    margin: 20px auto 0;
    padding: 15px 30px;
    gap: 10px;
    box-sizing: border-box;
}

.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    position: relative;
    height: 340px;
    overflow: hidden;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    position: relative;
    width: 100%;max-width: 402px;
    height: 340px;
    padding: 0;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-toprow {
    position: absolute;
    left: 20px;
    top: 10px;
    right:20px;width:auto;
    height: 55px;
    grid-template-columns: 227px 125px;
    gap: 10px;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-titleblock { width: 227px; }
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-priceblock { width: 125px; }
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-tax {
    margin: 0;
    text-align: right;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-claim,
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-desc,
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-checks,
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-rating,
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-meta,
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-sep {
    position: absolute;
    left: 20px;
    right:20px;width:auto;
    margin: 0;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-claim { top: 75px; height: 21px; }
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-sep { top: 106px; }
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-desc {
    top: 116px;
    height: 28px;
    font-size: 12px;
    line-height: 14px;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-checks {
    top: 154px;
    height: 52px;
    gap: 0;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-rating {
    top: 216px;
    height: 14px;
    line-height: 14px;
}
.rw-ppcard:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-meta {
    top: 279px;
    width: 196px;
    height: 33px;
    font-size: 12px;
    line-height: 19px;
}

/* Ohne Bewertungen faellt die Bewertungszeile (216–230px) weg. Der Liefertext
   rueckt an ihre Stelle, die Karte wird um die 63px flacher — sonst steht
   zwischen Haken und Liefertext ein leerer Block. */
.rw-ppcard--norating:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife),
.rw-ppcard--norating:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    height: 277px;
}
.rw-ppcard--norating:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pcard-meta {
    top: 216px;
}

.rw-ppbenefit:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    position: relative;
    height: 483px;
    overflow: hidden;
}
.rw-ppbenefit:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) > img {
    position: absolute;
    inset: 0;
    width: 100%;max-width: 402px;
    height: 483px;
    object-fit: cover;
}
.rw-ppbenefit:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    position: absolute;
    left: 20px;
    top: 327px;
    right:20px;width:auto;
    height: 106px;
    padding: 0 20px;
    text-align: center;
}
.rw-ppbenefit:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-h2 {
    height: 27px;
    margin: 0 0 15px;
    line-height: 27px;
}
.rw-ppbenefit:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pp-copy {
    height: 64px;
    margin: 0;
    font-size: 14px;
    line-height: 16px;
}

.rw-ppmoment:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    position: relative;
    height: 555px;
    overflow: hidden;
}
.rw-ppmoment:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) > img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;max-width: 402px;
    height: 379px;
    object-fit: cover;
}
.rw-ppmoment:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    position: absolute;
    left: 0;
    top: 322px;
    width: 100%;max-width: 402px;
    height: 233px;
    padding: 0 20px;
}
.rw-ppmoment:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-h2 {
    width: 269px;
    height: 54px;
    margin: 0 auto 15px;
    line-height: 27px;
}
.rw-ppmoment:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pp-copy {
    width: 100%;max-width: 402px;
    height: 48px;
    margin: 0 -20px 15px;
    font-size: 14px;
    line-height: 16px;
}
.rw-ppmoment:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-btn {
    width: 268px;
    height: 51px;
    margin: 0 auto;
    padding: 15px 20px;
    box-sizing: border-box;
}

.rw-ppscent:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    position: relative;
    height: 345px;
    overflow: hidden;
}
.rw-ppscent:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) > img {
    position: absolute;
    left: 0;
    top: 133px;
    width: 100%;max-width: 402px;
    height: 216px;
    object-fit: cover;
}
.rw-ppscent:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    position: absolute;
    left: 0;
    top: 13px;
    width: 100%;max-width: 402px;
    height: 86px;
    padding: 0 20px;
}
.rw-ppscent:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-h2 {
    height: 21px;
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.05em;
}
.rw-ppscent:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-ppscent-sub {
    height: 13px;
    margin: 0 0 15px;
    font-size: 10px;
    line-height: 13px;
    letter-spacing: 0;
    color: #fff;
}
.rw-ppscent:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pp-copy {
    height: 32px;
    margin: 0;
    font-size: 14px;
    line-height: 16px;
}

.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    height: 523px;
    border: 0;
    background: #010101;
    overflow: hidden;
}
.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    height: 523px;
    padding: 52px 0 0;
}
.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pppoint {
    width: 100%;max-width: 402px;
    height: 127px;
    margin: 0 0 20px;
    padding: 7px 20px 0;
    border: 0;
    box-sizing: border-box;
    text-align: center;
}
.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pppoint:last-child { margin-bottom: 0; }
.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pppoint-icon {
    display: block;
    width: 50px;
    height: 50px;
    margin: 0 auto 14px;
}
.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pppoint-h {
    height: 16px;
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0;
    text-transform: none;
}
.rw-pppoints:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pppoint-p {
    height: 28px;
    margin: 0;
    font-size: 12px;
    line-height: 14px;
    text-align: center;
}

.rw-ppessences:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) {
    height: 378px;
    border: 0;
    overflow: hidden;
}
.rw-ppessences:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-inner {
    height: 378px;
    padding: 37px 20px 0;
    text-align: left;
}
.rw-ppessences:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-h2 {
    height: 54px;
    margin: 0 0 15px;
    line-height: 27px;
}
.rw-ppessences:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pp-copy {
    height: 80px;
    margin: 0 0 30px;
    font-size: 14px;
    line-height: 16px;
}
.rw-ppessences:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-pp-copy--dim {
    height: 28px;
    margin: 0 0 30px;
    font-size: 12px;
    line-height: 14px;
    text-align: justify;
}
.rw-ppessences:is(.rw-product-sackoel,.rw-product-bartoel,.rw-product-seife) .rw-btn {
    width: 292px;
    height: 51px;
    margin: 0 auto;
    padding: 15px 20px;
    box-sizing: border-box;
}

.rw-ppending {
    height: 528px;
    border: 0;
    background: #010101;
    overflow: hidden;
}
.rw-ppending .rw-inner {
    height: 528px;
    padding: 151.5px 31px 0;
}
.rw-ppending-logo {
    display: block;
    width: 86px;
    height: 41px;
    margin: 0 auto 40px;
}
.rw-ppending .rw-h2 {
    height: 54px;
    margin: 0 0 40px;
    line-height: 27px;
}
.rw-ppending .rw-btn {
    width: min(340px,100%);
    height: 51px;
    margin: 0 auto;
    padding: 15px 20px;
    box-sizing: border-box;
}

.rw-product-sticky {
    height: 71px;
    padding: 10px 20px 10px 17px;
    /* Mengenwahl links, Preis mittig, Button rechts — der Preis stand hier
       vorher gar nicht, obwohl die Startseiten-Leiste ihn zeigt. */
    gap: 12px;
    justify-content: space-between;
}
.rw-product-sticky .rw-sticky-price {
    flex: 1 1 auto; min-width: 0;
    text-align: center; white-space: nowrap;
}
.rw-product-sticky .rw-qty {
    flex: 0 0 90px;
    width: 90px;
    height: 40px;
    padding: 6px 5px;
    gap: 8px;
    box-sizing: border-box;
}
.rw-product-sticky .rw-qty-btn {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    padding: 0;
}
.rw-product-sticky .rw-qty-input {
    flex: 0 0 8px;
    width: 8px;
    height: 16px;
    padding: 0;
    line-height: 16px;
}
.rw-product-sticky .rw-sticky-btn {
    flex: 0 0 168px;
    width: 168px;
    height: 51px;
    padding: 15px 20px;
    border: 1px solid #f2f3f6;
    font-family: inherit;
}

/* Bartöl-spezifische Abweichungen, Figma 3443:9682. */
.rw-ppcard.rw-product-bartoel .rw-pcard-toprow { top: 20px; }
.rw-ppcard.rw-product-bartoel .rw-pcard-claim { top: 85px; }
.rw-ppcard.rw-product-bartoel .rw-pcard-sep { top: 116px; }
.rw-ppcard.rw-product-bartoel .rw-pcard-desc { top: 126px; }
.rw-ppcard.rw-product-bartoel .rw-checks {
    top: 164px;
    height: 65px;
}
.rw-ppcard.rw-product-bartoel .rw-pcard-rating { top: 239px; }

.rw-ppbenefit.rw-product-bartoel .rw-inner {
    left: 20px;
    top: 277px;
    right:20px;width:auto;
    height: 156px;
    padding: 0;
}
.rw-ppbenefit.rw-product-bartoel > img {
    top: -124px;
    height: 483px;
    object-fit: fill;
}
.rw-ppbenefit.rw-product-bartoel .rw-h2 {
    width: min(362px,100%);
    margin-bottom: 15px;
}
.rw-ppbenefit.rw-product-bartoel .rw-pp-copy {
    width: min(362px,100%);
    height: 80px;
}

.rw-ppmoment.rw-product-bartoel { height: 567px; }
.rw-ppmoment.rw-product-bartoel > img {
    left: -83px;
    top: -4px;
    width: 568px;
    height: 379px;
    object-fit: fill;
}
.rw-ppmoment.rw-product-bartoel .rw-inner {
    left: 33px;
    top: 319px;
    right:33px;width:auto;
    height: 183px;
    padding: 0;
}
.rw-ppmoment.rw-product-bartoel .rw-h2 {
    width: min(335px,100%);
    margin: 0 0 15px;
}
.rw-ppmoment.rw-product-bartoel .rw-pp-copy {
    width: 286px;
    margin: 0 auto 15px;
}
.rw-ppmoment.rw-product-bartoel .rw-btn { width: min(335px,100%); }

.rw-ppscent.rw-product-bartoel > img {
    top: 131px;
    height: 218px;
}
.rw-ppscent.rw-product-bartoel .rw-inner { height: 103px; }
.rw-ppscent.rw-product-bartoel .rw-pp-copy { height: 48px; }
.rw-ppscent.rw-product-bartoel .rw-ppscent-sub { color: #fff; }

.rw-pppoints.rw-product-bartoel { height: 537px; }
.rw-pppoints.rw-product-bartoel .rw-inner { height: 537px; }
.rw-pppoints.rw-product-bartoel .rw-pppoint:last-child { height: 141px; }
.rw-pppoints.rw-product-bartoel .rw-pppoint:last-child .rw-pppoint-p { height: 42px; }
.rw-pppoints.rw-product-bartoel .rw-pppoint:first-child .rw-pppoint-icon {
    padding-left: 7px;
    padding-right: 7px;
    box-sizing: border-box;
}

.rw-ppessences.rw-product-bartoel .rw-pp-copy--dim {
    height: 42px;
    margin-bottom: 30px;
}
.rw-ppessences.rw-product-bartoel .rw-btn { margin-top: 0; }

.rw-product-sticky-bartoel {
    padding-left: 20px;
    padding-right: 20px;
    gap: 12px;
}

/* Seifen-spezifische Abweichungen, Figma 3443:9683. */
.rw-ppcard.rw-product-seife,
.rw-ppcard.rw-product-seife .rw-inner { height: 320px; }
.rw-ppcard.rw-product-seife .rw-pcard-toprow {
    top: 10px;
    grid-template-columns: 220px 132px;
    gap: 10px;
}
.rw-ppcard.rw-product-seife .rw-pcard-titleblock { width: 220px; }
.rw-ppcard.rw-product-seife .rw-pcard-price--out {
    width: 132px;
    height: 27px;
    font-size: 18px;
    font-weight: 400;
    line-height: 27px;
    letter-spacing: 0.06em;
}
.rw-ppcard.rw-product-seife .rw-pcard-claim { top: 61px; }
.rw-ppcard.rw-product-seife .rw-pcard-sep { top: 92px; }
.rw-ppcard.rw-product-seife .rw-pcard-desc { top: 102px; }
.rw-ppcard.rw-product-seife .rw-checks {
    top: 140px;
    height: 26px;
}
.rw-ppcard.rw-product-seife .rw-pcard-rating { top: 176px; }
.rw-ppcard.rw-product-seife .rw-pcard-meta {
    top: 220px;
    width: min(382px,100%);
}
.rw-ppcard.rw-product-seife > .rw-inner > .rw-btn { display: none; }

.rw-ppbenefit.rw-product-seife > img {
    top: -72px;
    height: 505px;
    object-fit: fill;
}
.rw-ppbenefit.rw-product-seife .rw-inner {
    left: 0;
    top: 255px;
    width: 100%;max-width: 402px;
    height: 178px;
    padding: 0 20px;
}
.rw-ppbenefit.rw-product-seife .rw-h2 {
    width: min(362px,100%);
    margin-bottom: 15px;
}
.rw-ppbenefit.rw-product-seife .rw-pp-copy {
    width: min(362px,100%);
    height: 112px;
}

.rw-ppmoment.rw-product-seife { height: 567px; }
.rw-ppmoment.rw-product-seife > img {
    left: 0;
    top: -52px;
    width: 100%;max-width: 402px;
    height: 431px;
    object-fit: fill;
}
.rw-ppmoment.rw-product-seife .rw-inner {
    left: 33px;
    top: 409px;
    right:33px;width:auto;
    height: 117px;
    padding: 0;
}
.rw-ppmoment.rw-product-seife .rw-h2 {
    width: min(335px,100%);
    margin: 0 0 15px;
}
.rw-ppmoment.rw-product-seife .rw-pp-copy {
    width: min(335px,100%);
    margin: 0;
}

.rw-ppscent.rw-product-seife > img {
    top: 131px;
    width: min(401px,100%);
    height: 207px;
}
.rw-ppscent.rw-product-seife .rw-inner { height: 103px; }
.rw-ppscent.rw-product-seife .rw-pp-copy { height: 48px; }
.rw-ppscent.rw-product-seife .rw-ppscent-sub { color: #fff; }

.rw-ppessences.rw-product-seife .rw-pp-copy {
    height: 176px;
    margin-bottom: 30px;
}
.rw-ppessences.rw-product-seife .rw-pp-copy--dim {
    height: 28px;
    margin-bottom: 0;
}
.rw-ppessences.rw-product-seife .rw-btn { display: none; }

.rw-product-sticky-seife {
    padding: 10px 72px;
    justify-content: center;
    gap: 0;
}
.rw-product-sticky-seife .rw-sticky-info { display: none; }
.rw-product-sticky-seife .rw-sticky-btn {
    flex: 0 0 258px;
    width: 258px;
    margin: 0;
}

/* ═══════════════════════════════════════════════════
   main-Ebene nach dem codex-Merge (25.07.2026)
   Nur Regeln, die codex nicht hat — Cart-Styles bewusst
   weggelassen, dort gilt codex' Figma-Fassung.
═══════════════════════════════════════════════════ */
/* Figma dunkelt nur das untere Drittel jeder Kachel ab (Gradient-Handles
   0.66→1.0), die oberen 2/3 bleiben hell. */
.rw-grid-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 66%, rgba(0,0,0,1) 100%);
}
.rw-grid-tile:nth-child(2) .rw-grid-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 85%, rgba(0,0,0,1) 100%);
}

.rw-grid-tile { min-height: 340px; height: auto; }
.rw-grid-kicker {
    font-weight: 500; font-size: 10px; line-height: 13px;
    text-transform: uppercase; color: rgba(255,255,255,0.55);
    margin: 8px 0 2px; padding: 0 10px;
}
.rw-grid-kicker + .rw-grid-h { margin-top: 0; min-height: 0; }

.rw-msgsent { min-height: calc(100svh - 250px); display: flex; align-items: center; background: #010101; }
.rw-msgsent .rw-inner { width: 100%; }
.rw-msgsent-check {
    display: flex; align-items: center; justify-content: center;
    width: 120px; height: 120px; border-radius: 50%;
    background: #2b2b2b; margin: 0 auto 2.2rem;
}
.rw-msgsent .rw-pp-copy { margin: 1.2rem auto 2rem; max-width: 320px; }

.rw-wover--h830, .rw-wover--h863 { overflow: hidden; }
.rw-wover--h830 { aspect-ratio: 402/830; }
.rw-wover--h863 { aspect-ratio: 402/863; }
.rw-wover--h604 { aspect-ratio: 402/604; overflow: hidden; }
.rw-wover--glaube { aspect-ratio: 402/293; overflow: hidden; }
.rw-wover--h830 > img, .rw-wover--h863 > img, .rw-wover--h604 > img,
.rw-wover--glaube > img { position: absolute; top: 0; left: 0; width: 100%; height: auto; }
.rw-wlabel .rw-ing-name { text-transform: uppercase; }

.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Angewandte Gutscheine im Warenkorb (in codex' Fassung nicht enthalten) */
.stiers-cart-summary-row--coupon { color: #b05848; }
.stiers-coupon-remove { color: rgba(255,255,255,0.5); text-decoration: none; margin-left: 6px; font-size: 14px; }

/* PayPal-Button: runde Ecken wie die Wallet-Pills daneben. Die Rundung des
   Buttons selbst kommt über shape=pill aus der SDK (siehe functions.php);
   hier nur der Wrapper, damit nichts eckig durchscheint. */
body.woocommerce-cart .stiers-cart-express #ppc-button-ppcp-gateway,
body.woocommerce-cart .stiers-cart-express [id^="ppc-button-"],
body.woocommerce-cart .stiers-cart-express .ppc-button-wrapper {
    border-radius: 50px !important;
}

/* Die feste Label-Höhe (21px) gilt den einzeiligen Adress-Labels; das
   mehrzeilige AGB-Label lief damit aus seiner Zeile und überlappte den
   Hinweis darunter. */
.stiers-checkout .woocommerce-terms-and-conditions-wrapper label,
.stiers-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
    height: auto !important;
    min-height: 0;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .stiers-terms-hint {
    display: block;
    margin: 10px 0 0;
    padding: 0 0 0 28px;
    line-height: 1.4;
}

/* Die schwebende Kaufleiste (71px + 14px Abstand) lag auf den Footer-Links.
   Die Footer-Höhe ist im Figma fix (176px), deshalb kommt der Freiraum
   unter den Footer statt in ihn hinein. */
body:has(.rw-sticky) footer.wp-block-group {
    margin-bottom: calc(95px + env(safe-area-inset-bottom, 0px));
}

/* --- DHL-Abholstationen im Checkout (Shiptastic) -------------------------
   Der Hinweis kommt vom Plugin als reiner Fließtext und geht im dunklen
   Design unter. Titel gedämpft, Link als sichtbare Aktion. */
.stiers-checkout .pickup_location_notice { margin: 0 0 18px; }
.stiers-checkout .choose-pickup-location p { margin: 0; font-size: 13px; line-height: 1.5; }
.stiers-checkout .pickup-location-notice-title { color: rgba(255,255,255,0.55); }
.stiers-checkout .pickup-location-notice-link {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.6);
    padding-bottom: 1px;
}
.stiers-checkout .pickup-location-remove { color: #b05848; font-size: 12px; }

/* Dialog der Standortsuche: das Plugin liefert ein helles Standardlayout,
   das im dunklen Checkout unlesbar ist. */
body .wc-stc-modal-background { background: rgba(0,0,0,0.8) !important; }
body .wc-stc-modal-content { background: #101010 !important; border-radius: 18px !important; overflow: hidden; }
body .wc-stc-modal-content-inner { background: #101010 !important; color: #fff !important; }
body .wc-stc-modal-content-inner header {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #101010 !important; border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    padding: 16px 20px !important;
}
body .wc-stc-modal-content-inner header h4 {
    margin: 0; color: #fff !important;
    font-weight: 500 !important; font-size: 13px !important; letter-spacing: 0.1em; text-transform: uppercase;
}
body .wc-stc-modal-content-inner .wc-stc-modal-close {
    flex: none; color: rgba(255,255,255,0.6) !important; font-size: 12px !important; text-decoration: none;
}
body .wc-stc-modal-content-inner article { padding: 20px !important; }
body .wc-stc-modal-content-inner label {
    display: block; margin-bottom: 6px;
    font-weight: 500 !important; font-size: 10px !important; letter-spacing: 0.08em; text-transform: uppercase;
    color: rgba(255,255,255,0.7) !important;
}
body .wc-stc-modal-content-inner label .optional { color: rgba(255,255,255,0.4) !important; text-transform: none; letter-spacing: 0; }
body .wc-stc-modal-content-inner .form-row { margin-bottom: 14px; }
body .wc-stc-modal-content-inner input[type="text"],
body .wc-stc-modal-content-inner .select2-selection--single {
    width: 100%; box-sizing: border-box;
    background: #151414 !important; color: #fff !important;
    border: 1px solid rgba(255,255,255,0.14) !important; border-radius: 24px !important;
    height: auto !important; padding: 10px 16px !important;
    font-family: inherit; font-size: 13px !important;
}
body .wc-stc-modal-content-inner .select2-selection__rendered { color: #fff !important; padding: 0 !important; line-height: 1.4 !important; }
body .wc-stc-modal-content-inner .select2-selection__placeholder { color: rgba(255,255,255,0.45) !important; }
body .wc-stc-modal-content-inner .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
body .wc-stc-modal-content-inner .button {
    width: 100%; margin-top: 4px;
    padding: 13px 24px !important; border: none !important; border-radius: 50px !important;
    background: #fff !important; color: #010101 !important;
    font-weight: 500 !important; font-size: 12px !important; letter-spacing: 0.15em; text-transform: uppercase;
}
body .wc-stc-modal-content-inner .pickup-location-search-actions { margin-top: 18px; }
/* "Abholstation auswählen" traegt selbst .button und wird oben schon gefuellt
   gestaltet – hier nur die Ausrichtung. Der Entfernen-Link bleibt eine Kontur. */
body .wc-stc-modal-content-inner .pickup-location-search-actions { padding: 0 !important; }
body .wc-stc-modal-content-inner .pickup-location-search-actions .submit-pickup-location {
    display: block; box-sizing: border-box; width: 100% !important; margin: 0 !important;
    text-align: center; text-decoration: none;
}
body .wc-stc-modal-content-inner .pickup-location-remove {
    display: block; margin-bottom: 10px; text-align: center; text-decoration: none;
    color: #fff !important;
    padding: 13px 24px !important; border: 1px solid rgba(255,255,255,0.3) !important; border-radius: 50px !important;
    font-weight: 500 !important; font-size: 12px !important; letter-spacing: 0.15em; text-transform: uppercase;
}
body .wc-stc-modal-content-inner .pickup-location-remove.hidden { display: none !important; }
body .select2-container--open .select2-dropdown {
    background: #151414 !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.14) !important;
}
body .select2-container--default .select2-results__option--highlighted[aria-selected] { background: #b05848 !important; }

/* ═══ Bewertungen auf den Produktseiten ═══════════════════════════════════
   Ersetzt die frueher fest eingetragene Bewertungszeile. Sichtbar wird der
   Abschnitt immer; die Liste bleibt leer, bis echte Bewertungen freigegeben
   sind. */
.rw-reviews { background: #010101; padding: 40px 0 50px; }
.rw-reviews .rw-inner { padding: 0 20px; }
.rw-reviews .rw-h2 { margin: 0 0 24px; }

.rw-review-list { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rw-review { background: #101010; border-radius: 24px; padding: 20px; }
.rw-review-stars { margin: 0 0 8px; }
.rw-review-stars .rw-stars { color: rgba(255,255,255,0.9); font-size: 15px; letter-spacing: 0.1em; }
.rw-review-text { font-weight: 300; font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0 0 10px; }
.rw-review-meta { font-size: 10.5px; color: rgba(255,255,255,0.45); margin: 0; }
.rw-review-verified {
    display: inline-block; margin-left: 8px; padding: 2px 8px;
    border-radius: 20px; background: rgba(176,88,72,0.18); color: #d08a76;
    font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase;
}
.rw-review-empty { font-weight: 300; font-size: 12.5px; color: rgba(255,255,255,0.55); margin: 0 0 30px; }
/* Blaetterung: drei Spalten, damit der Seitenstand mittig bleibt, auch wenn nur
   eine der beiden Richtungen verfuegbar ist. */
.rw-review-pager {
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px;
    margin: 0 0 30px; font-size: 12.5px; font-weight: 300;
}
.rw-review-pager-link { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.rw-review-pager-link[rel="next"] { text-align: right; }
.rw-review-pager-stand { color: rgba(255,255,255,0.55); text-align: center; }
.rw-review-pager-stand small { display: block; font-size: 11px; }

.rw-review-form { display: flex; flex-direction: column; gap: 12px; }
.rw-review-rating-group { border: 0; margin: 0; padding: 0; }
.rw-review-field { display: flex; flex-direction: column; gap: 6px; margin: 0; flex: 1; }
.rw-review-label {
    display: block; margin: 0; padding: 0;
    font-weight: 500; font-size: 10px; line-height: 13px;
    letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7);
}
/* Sterne rueckwaerts im Markup, damit ~ die jeweils kleineren mitfaerbt. */
.rw-review-rating { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.rw-review-rating input { position: absolute; opacity: 0; width: 0; height: 0; }
.rw-review-rating label { cursor: pointer; font-size: 26px; line-height: 1; color: rgba(255,255,255,0.22); }
.rw-review-rating label:hover,
.rw-review-rating label:hover ~ label,
.rw-review-rating input:checked ~ label { color: #fff; }
.rw-review-rating input:focus-visible + label { outline: 2px solid #b05848; outline-offset: 2px; }

.rw-review-form textarea,
.rw-review-form input[type="text"],
.rw-review-form input[type="email"] {
    width: 100%; box-sizing: border-box;
    background: #151414; color: #fff;
    border: 1px solid rgba(255,255,255,0.14); border-radius: 24px;
    padding: 12px 18px; font-family: inherit; font-size: 13px; font-weight: 300;
}
.rw-review-form textarea { border-radius: 18px; resize: vertical; }
.rw-review-form ::placeholder { color: rgba(255,255,255,0.35); }
.rw-review-row { display: flex; flex-direction: column; gap: 12px; }
.rw-review-form .rw-btn { margin-top: 4px; }
.stiers-cart--hidden { opacity: 0 !important; pointer-events: none !important; }
.rw-review-note {
    margin: 4px 0 0; font-weight: 300; font-size: 10.5px; line-height: 1.5;
    color: rgba(255,255,255,0.4);
}

/* Honeypot im Kontaktformular — fuer Menschen unsichtbar, aber nicht
   display:none, damit Bots das Feld ueberhaupt finden und ausfuellen. */
.rw-kform-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px; overflow: hidden;
}

/* SEPA sitzt im PayPal-Button-Stapel und teilt damit automatisch dessen
   AGB-Sperre (.ppc-button-wrapper weiter oben). Ein eigener Regelsatz ist
   nicht mehr nötig, seit das Theme den Button nicht selbst rendert. */
