/*
 * RH Pricing - gescoptes Stylesheet.
 *
 * QUELLE: portiert aus der framework-unabhaengigen Vorlage "preise-static.html"
 * (Redesign aus Claude Design, siehe HANDOFF-preise.md). Style-System: CLAUDE.md.
 *
 * ANPASSUNGEN beim Port (bewusst, damit es sauber ins Salient-Child passt):
 *  - Design-Tokens liegen auf ".rh-page" statt ":root" -> Salient bleibt unberuehrt.
 *  - JEDER Selektor ist unter ".rh-page" gescopt (kein globales CSS-Leck).
 *  - Globale Resets der Vorlage entschaerft: "*" -> ".rh-page *", der
 *    "html,body{margin:0}"-Reset entfaellt (liefert das Theme).
 *  - Marken-Fonts als @import (statt <link> im <head>).
 *  - Ergaenzt: gruener Fokus-Ring (--ring), den CLAUDE.md verbindlich fordert,
 *    der im Static-File aber fehlte.
 *
 * Mobile-First-tauglich; Breakpoints am Dateiende (max-width, wie in der Vorlage).
 */

/* Marken-Fonts: werden vom Template per <link> im <head> geladen (wp_enqueue_style),
   bewusst NICHT per @import hier -> robust gegen CSS-Combine/Minify-Plugins, die
   ein @import als erste Regel (und den direkt folgenden .rh-page{--tokens}-Block)
   zerschiessen koennen. */

/* ============================================================
   Design Tokens (auf .rh-page gescopt, nicht :root)
   ============================================================ */
.rh-page{
  /* Brand */
  --rh-green-deep:#173528; --rh-green-deep-700:#1F4A37; --rh-green-deep-900:#0E2419;
  --rh-green:#A3F698; --rh-green-300:#C6F9BF; --rh-green-100:#E9FCE5; --rh-green-600:#7CE775;
  --rh-purple:#0C0533;
  /* Neutrals */
  --rh-white:#FFFFFF; --rh-paper:#F5F6F4; --rh-line:#E2E5E0; --rh-line-dark:#2B4A3B;
  --rh-grey-500:#8B8E99; --rh-grey-400:#B4B7BD;
  /* Semantic */
  /* --muted: dunkler als das Roh-Token --rh-grey-500 (#8B8E99), das als
     Fliesstext WCAG AA verfehlt (~3,3:1). #5F6470 erreicht ~6:1 auf Weiss
     und ~5,6:1 auf --rh-paper. --rh-grey-500 nur noch fuer dekorative Mikro-Labels. */
  --ink:var(--rh-purple); --body:#34303F; --muted:#5F6470;
  --on-dark:#FFFFFF; --on-dark-muted:#B7CABF; --rh-error:#B3261E;
  /* Type */
  --font-display:'Clash Display','General Sans',system-ui,sans-serif;
  --font-sans:'General Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  /* Radius & shadow */
  --r-md:18px; --r-lg:28px; --r-xl:40px; --r-pill:999px;
  --shadow-sm:0 1px 2px rgba(12,5,51,.06),0 1px 1px rgba(12,5,51,.04);
  --shadow-md:0 8px 24px rgba(12,5,51,.08);
  --shadow-glow:0 12px 40px rgba(163,246,152,.35);
  --ring:0 0 0 3px rgba(163,246,152,.55); /* gruener Fokus-Ring (CLAUDE.md) */

  font-family:var(--font-sans);color:var(--ink);background:var(--rh-white);
  /* Full-Bleed: aus Salients zentriertem Content-Container ausbrechen -> echte volle Breite,
     unabhaengig vom genauen Theme-Markup. body.rh-fullwidth (per Template gesetzt) unterbindet
     den dadurch moeglichen horizontalen Scroll. */
  width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  /* clip (nicht hidden!): klippt den 100vw-Fallback-Ueberlauf, macht .rh-page aber
     NICHT zum Scroll-Container. Mit hidden wuerde overflow-y zu auto und die
     Sticky-Summary (position:sticky) klebte an .rh-page statt am Viewport -> kaputt. */
  overflow-x:clip;-webkit-font-smoothing:antialiased;
}

/* Restlichen horizontalen Scroll durch den Full-Bleed unterbinden (nur auf RH-Seiten). */
body.rh-fullwidth{overflow-x:clip;}

/* ============================================================
   Base (gescopt)
   ============================================================ */
.rh-page, .rh-page *{box-sizing:border-box;}
.rh-page ::selection{background:var(--rh-green);color:var(--rh-green-deep);}
.rh-page img{max-width:100%;display:block;}
.rh-page a{color:inherit;}

/* Layout */
.rh-page .rh-section{padding:96px 32px;}
.rh-page .rh-section--hero{padding:104px 32px 92px;background:radial-gradient(125% 120% at 72% 100%,#235540 0%,#173528 52%,#0E2419 100%);color:var(--on-dark);}
.rh-page .rh-section--cta{padding:96px 32px;background:radial-gradient(125% 130% at 50% 0%,#235540 0%,#173528 55%,#0E2419 100%);color:var(--on-dark);}
.rh-page .rh-section--muted{background:var(--rh-paper);}
.rh-page .rh-container{max-width:1160px;margin:0 auto;}
.rh-page .rh-narrow{max-width:760px;margin:0 auto;}
.rh-page .rh-center{text-align:center;}
/* Nur fuer Screenreader sichtbar (visuell versteckte Section-Ueberschriften). */
.rh-page .rh-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Type */
.rh-page .rh-eyebrow{font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.rh-page .rh-eyebrow--green{color:var(--rh-green);}
.rh-page .rh-h1{font-family:var(--font-display);font-weight:700;font-size:68px;line-height:1.02;letter-spacing:-.02em;margin:22px 0 0;}
.rh-page .rh-h2{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0;}
.rh-page .rh-h3{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;}
.rh-page .rh-lead{font-family:var(--font-sans);font-size:20px;line-height:1.55;margin:24px auto 0;max-width:640px;}
.rh-page .rh-body{font-family:var(--font-sans);font-size:17px;line-height:1.55;color:var(--muted);margin:0;}
.rh-page .rh-mark{background:var(--rh-green);color:var(--rh-green-deep);padding:.02em .16em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.rh-page .rh-section--hero .rh-lead,.rh-page .rh-section--cta .rh-lead{color:var(--on-dark-muted);}

/* Buttons */
.rh-page .rh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-mono);font-weight:600;font-size:15px;letter-spacing:.02em;text-decoration:none;border:1.5px solid transparent;border-radius:var(--r-pill);padding:16px 26px;cursor:pointer;transition:background .18s ease,transform .12s ease;}
.rh-page .rh-btn:active{transform:scale(.97);}
.rh-page .rh-btn--primary{background:var(--rh-green);color:var(--rh-green-deep);}
.rh-page .rh-btn--primary:hover{background:var(--rh-green-600);}
.rh-page .rh-btn--ghost{background:transparent;color:var(--rh-green);border-color:var(--rh-green);}
.rh-page .rh-btn--ghost:hover{background:rgba(163,246,152,.12);}
.rh-page .rh-btn--block{width:100%;}

/* Fokus (a11y): gruener Marken-Ring statt UA-Default (oft blau). */
.rh-page a:focus-visible{outline:none;box-shadow:var(--ring);border-radius:4px;}
.rh-page .rh-btn:focus-visible,
.rh-page .rh-toggle__btn:focus-visible,
.rh-page .rh-stepper__btn:focus-visible{outline:none;box-shadow:var(--ring);}
.rh-page .rh-feature:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--rh-green-600);}
.rh-page .rh-showall:focus-visible,
.rh-page .rh-range:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px;}

/* Chips & pills */
.rh-page .rh-chips{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:center;}
.rh-page .rh-chip{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--on-dark-muted);border:1px solid var(--rh-line-dark);border-radius:var(--r-pill);padding:9px 16px;}
.rh-page .rh-toollist{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px;}
.rh-page .rh-tool{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--ink);background:var(--rh-white);border:1px solid var(--rh-line);border-radius:var(--r-pill);padding:12px 22px;}

/* Billing toggle */
.rh-page .rh-billing{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px;}
.rh-page .rh-toggle{display:inline-flex;align-items:center;background:#0E2419;border:1px solid var(--rh-line-dark);border-radius:var(--r-pill);padding:5px;}
.rh-page .rh-toggle__btn{border:none;cursor:pointer;border-radius:var(--r-pill);padding:12px 24px;font-family:var(--font-mono);font-weight:600;font-size:14px;letter-spacing:.02em;background:transparent;color:var(--on-dark-muted);transition:background .15s ease,color .15s ease;}
.rh-page .rh-toggle__btn.is-active{background:var(--rh-green);color:var(--rh-green-deep);}
.rh-page .rh-billing__note{font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.08em;color:var(--rh-green-deep);}

/* Steps */
.rh-page .rh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left;margin-top:56px;}
.rh-page .rh-step__head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.rh-page .rh-step__num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--rh-green);color:var(--rh-green-deep);font-family:var(--font-display);font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;}
.rh-page .rh-step__line{flex:1;height:1px;background:var(--rh-line);}

/* Configurator */
.rh-page .rh-cfg__grid{display:grid;grid-template-columns:1fr 372px;gap:32px;align-items:start;margin-top:48px;}
.rh-page .rh-basis{background:var(--rh-green);border-radius:var(--r-xl);padding:40px;}
.rh-page .rh-basis__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;}
.rh-page .rh-basis__name{font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.02em;color:var(--rh-green-deep);margin:6px 0 0;}
.rh-page .rh-basis__price{font-family:var(--font-display);font-weight:700;font-size:40px;letter-spacing:-.02em;color:var(--rh-green-deep);}
.rh-page .rh-basis__per{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--rh-green-deep);opacity:.75;}
.rh-page .rh-basis__rule{height:1px;background:rgba(23,53,40,.18);margin:28px 0;}
.rh-page .rh-basis__lead{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--rh-green-deep);margin:0 0 18px;}
.rh-page .rh-checklist{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px;}
.rh-page .rh-checklist--gap{margin-top:13px;}
.rh-page .rh-check{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-sans);font-size:15px;color:var(--rh-green-deep);}
.rh-page .rh-check__dot{flex:none;width:20px;height:20px;border-radius:50%;background:var(--rh-green-deep);color:var(--rh-green);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-top:1px;}
.rh-page .rh-showall{margin-top:22px;background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--rh-green-deep);text-decoration:underline;text-underline-offset:3px;}
.rh-page .rh-addon__title{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;}
.rh-page .rh-grouphead{display:flex;align-items:center;gap:16px;margin:34px 0 16px;}
.rh-page .rh-grouphead__label{font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.rh-page .rh-grouphead__line{flex:1;height:1px;background:var(--rh-line);}
.rh-page .rh-features{display:flex;flex-direction:column;gap:12px;}
.rh-page .rh-feature{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--r-md);cursor:pointer;background:var(--rh-white);border:1.5px solid var(--rh-line);transition:background .15s ease,border-color .15s ease;text-align:left;width:100%;font:inherit;}
.rh-page .rh-feature.is-selected{background:var(--rh-green-100);border-color:var(--rh-green-600);}
.rh-page .rh-feature__box{flex:none;width:24px;height:24px;border-radius:50%;margin-top:1px;display:flex;align-items:center;justify-content:center;background:transparent;border:2px solid var(--rh-grey-400);color:var(--rh-green);font-size:12px;font-weight:700;transition:background .15s,border-color .15s;}
.rh-page .rh-feature.is-selected .rh-feature__box{background:var(--rh-green-deep);border-color:var(--rh-green-deep);}
.rh-page .rh-feature__box svg{opacity:0;}
.rh-page .rh-feature.is-selected .rh-feature__box svg{opacity:1;}
.rh-page .rh-feature__main{flex:1;min-width:0;}
.rh-page .rh-feature__top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.rh-page .rh-feature__name{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:17px;color:var(--ink);}
.rh-page .rh-feature__price{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;}
.rh-page .rh-feature__desc{font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--muted);margin:5px 0 0;}
.rh-page .rh-tag{font-family:var(--font-mono);font-weight:600;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--rh-green);color:var(--rh-green-deep);border-radius:var(--r-pill);padding:3px 8px;}

/* Summary */
.rh-page .rh-summary{position:sticky;top:24px;}
.rh-page .rh-summary__card{background:var(--rh-white);border:1px solid var(--rh-line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:30px;}
.rh-page .rh-summary__title{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.01em;color:var(--ink);margin:0;}
.rh-page .rh-summary__count{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--muted);margin:4px 0 18px;}
.rh-page .rh-summary__lines{display:flex;flex-direction:column;gap:11px;}
.rh-page .rh-summary__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.rh-page .rh-summary__row span:first-child{font-family:var(--font-sans);font-size:15px;color:var(--body);}
.rh-page .rh-summary__row span:last-child{font-family:var(--font-mono);font-size:14px;color:var(--body);white-space:nowrap;}
.rh-page .rh-summary__row--base span{color:var(--ink) !important;}
.rh-page .rh-summary__rule{height:1px;background:var(--rh-line);margin:20px 0;}
.rh-page .rh-summary__total{display:flex;justify-content:space-between;align-items:flex-end;}
.rh-page .rh-summary__total>span{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--ink);}
.rh-page .rh-summary__big{font-family:var(--font-display);font-weight:700;font-size:38px;letter-spacing:-.02em;color:var(--ink);}
.rh-page .rh-summary__per{font-family:var(--font-mono);font-weight:600;font-size:13px;color:var(--muted);}
.rh-page .rh-summary__yearly{margin-top:14px;background:var(--rh-green-100);border-radius:14px;padding:12px 14px;font-family:var(--font-sans);font-size:13px;line-height:1.5;color:var(--rh-green-deep);}
.rh-page .rh-summary__cta{margin-top:20px;}
.rh-page .rh-summary__reassure{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;color:var(--muted);text-align:center;margin:14px 0 0;}
.rh-page .rh-tip{margin-top:16px;background:var(--rh-green-deep);border-radius:var(--r-md);padding:18px 20px;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--on-dark);}
.rh-page .rh-tip a{color:var(--rh-green);text-underline-offset:2px;}

/* Premium */
.rh-page .rh-premium{position:relative;background:var(--rh-green-deep);border-radius:var(--r-xl);padding:56px;box-shadow:var(--shadow-glow);}
.rh-page .rh-premium__badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--rh-green);color:var(--rh-green-deep);border-radius:var(--r-pill);padding:8px 18px;}
.rh-page .rh-premium__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.rh-page .rh-premium__name{font-family:var(--font-display);font-weight:700;font-size:36px;letter-spacing:-.02em;color:var(--on-dark);margin:12px 0 0;}
.rh-page .rh-premium__price{font-family:var(--font-display);font-weight:700;font-size:54px;letter-spacing:-.02em;color:var(--rh-green);}
.rh-page .rh-premium__per{font-family:var(--font-mono);font-weight:600;font-size:15px;color:var(--on-dark-muted);}
.rh-page .rh-premium__desc{font-family:var(--font-sans);font-size:17px;line-height:1.55;color:var(--on-dark-muted);margin:20px 0 0;max-width:420px;}
.rh-page .rh-premium__desc strong{color:var(--on-dark);}
.rh-page .rh-premium__save{display:inline-flex;align-items:center;gap:8px;margin-top:20px;background:rgba(163,246,152,.12);border:1px solid var(--rh-line-dark);border-radius:var(--r-pill);padding:10px 16px;}
.rh-page .rh-premium__save b{font-family:var(--font-mono);font-weight:600;font-size:13px;color:var(--rh-green);}
.rh-page .rh-premium__save span{font-family:var(--font-sans);font-size:13px;color:var(--on-dark-muted);}
.rh-page .rh-premium__checks{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
.rh-page .rh-pcheck{display:flex;align-items:flex-start;gap:11px;font-family:var(--font-sans);font-size:16px;line-height:1.4;color:var(--on-dark);}
.rh-page .rh-pcheck__dot{flex:none;width:22px;height:22px;border-radius:50%;background:var(--rh-green);color:var(--rh-green-deep);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}

/* Calculator */
.rh-page .rh-calc{background:var(--rh-white);border:1px solid var(--rh-line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:40px;max-width:860px;margin:0 auto;}
.rh-page .rh-calc__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;}
.rh-page .rh-calc__head>span:first-child{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--ink);}
.rh-page .rh-calc__rev{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--ink);}
.rh-page .rh-range{width:100%;margin:18px 0 8px;height:6px;cursor:pointer;accent-color:var(--rh-green-600);}
.rh-page .rh-calc__minmax{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.rh-page .rh-calc__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;}
.rh-page .rh-calc__card{border:1px solid var(--rh-line);border-radius:var(--r-md);padding:24px;}
.rh-page .rh-calc__card--rh{border:2px solid var(--rh-green-600);background:var(--rh-green-100);}
.rh-page .rh-calc__label{font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.rh-page .rh-calc__card--rh .rh-calc__label{color:var(--rh-green-deep);}
.rh-page .rh-calc__num{font-family:var(--font-display);font-weight:700;font-size:40px;letter-spacing:-.02em;color:var(--ink);}
.rh-page .rh-calc__card--rh .rh-calc__num{color:var(--rh-green-deep);}
.rh-page .rh-calc__per{font-family:var(--font-mono);font-size:13px;color:var(--muted);}
.rh-page .rh-calc__note{font-family:var(--font-sans);font-size:14px;color:var(--muted);margin:8px 0 0;}
.rh-page .rh-calc__card--rh .rh-calc__note{color:var(--rh-green-deep);opacity:.85;}
.rh-page .rh-calc__savings{margin-top:24px;background:var(--rh-green-deep);border-radius:var(--r-md);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.rh-page .rh-calc__savings span{font-family:var(--font-sans);font-weight:600;font-size:17px;color:var(--on-dark);}
.rh-page .rh-calc__savings b{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.02em;color:var(--rh-green);}
/* Ersparnis-Betrag zweizeilig: grosser Monatswert + kleinerer Jahreswert darunter.
   Hoehere Spezifitaet fuer die Jahres-Zeile, sonst schlaegt ".rh-calc__savings span" (17px) durch. */
.rh-page .rh-calc__savings-val{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
.rh-page .rh-calc__savings .rh-calc__savings-year{font-size:14px;font-weight:600;color:var(--rh-green-300);letter-spacing:0;}
.rh-page .rh-calc__disclaimer{font-family:var(--font-sans);font-size:13px;color:var(--muted);margin:16px 0 0;text-align:center;}
/* Provisions-Karte (Modell anderer Anbieter): leicht abgesetzt vom weissen RH-Kontext,
   damit der Vergleich "die anderen" vs. gruene RH-Karte ohne Lesen erkennbar ist. */
.rh-page .rh-calc__card--other{background:var(--rh-paper);}
.rh-page .rh-calc__card--other .rh-calc__note b{color:var(--ink);font-weight:700;}
/* Stepper (+/-): Provisionssatz in 0,5-Punkt-Schritten einstellen. Grosse weiche Pill,
   Mono-Wert, gruener Hover/Focus - konsistent zum Billing-Toggle. */
.rh-page .rh-stepper{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:var(--rh-white);border:1px solid var(--rh-line);border-radius:var(--r-pill);padding:5px;}
.rh-page .rh-stepper__btn{flex:none;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--rh-line);background:var(--rh-white);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease;}
.rh-page .rh-stepper__btn:hover{background:var(--rh-green-100);border-color:var(--rh-green-600);}
.rh-page .rh-stepper__btn:active{transform:scale(.94);}
.rh-page .rh-stepper__btn:disabled{opacity:.38;cursor:not-allowed;}
.rh-page .rh-stepper__btn:disabled:hover{background:var(--rh-white);border-color:var(--rh-line);}
.rh-page .rh-stepper__val{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--ink);min-width:52px;text-align:center;}

/* Trust */
.rh-page .rh-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.rh-page .rh-trust__card{background:var(--rh-white);border:1px solid var(--rh-line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:32px;}
.rh-page .rh-tick{width:48px;height:48px;border-radius:50%;background:var(--rh-green);color:var(--rh-green-deep);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin-bottom:20px;}
.rh-page .rh-promise{background:var(--rh-green-100);border-radius:var(--r-md);padding:24px 28px;margin:28px auto 0;max-width:860px;text-align:center;font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--rh-green-deep);}
.rh-page .rh-imprint{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--on-dark-muted);margin:42px 0 0;}

/* ============================================================
   Dezente Bewegung (Scroll-Reveal + Hover-Lift)
   On-Brand laut CLAUDE.md S11: zurueckhaltend, ease, kein Bounce/Parallax.
   Der versteckte Startzustand greift NUR, wenn JS aktiv ist (.rh-anim am <main>)
   UND keine reduzierte Bewegung gewuenscht ist -> ohne JS bzw. bei "reduce" ist
   sofort alles sichtbar (kein FOUC, voll zugaenglich).
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  .rh-pricing.rh-anim .rh-reveal{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .6s ease, transform .6s ease;
    transition-delay:calc(var(--i, 0) * 70ms);
  }
  .rh-pricing.rh-anim .rh-reveal.is-visible{opacity:1;transform:none;}
}

/* Hover-Lift (dezent) fuer abhebbare Flaechen. */
.rh-page .rh-feature{transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
.rh-page .rh-feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.rh-page .rh-trust__card{transition:transform .2s ease,box-shadow .2s ease;}
.rh-page .rh-trust__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.rh-page .rh-tool{transition:transform .15s ease,border-color .15s ease;}
.rh-page .rh-tool:hover{transform:translateY(-2px);border-color:var(--rh-green-600);}
/* :not(:active), damit das Press-Feedback scale(.97) (CLAUDE.md S10/S11) beim Druecken gewinnt. */
.rh-page .rh-btn--primary:hover:not(:active){transform:translateY(-1px);}

/* ============================================================
   Theme-Hardening (Salient / Parent-Theme)
   Salient stylt h1-h3 und <button> mit hochspezifischen bzw. !important-
   Regeln (Headline-Groesse/-Farbe, grosser Button-Radius) und hebelt sonst
   unsere gescopten Styles aus. Wir erzwingen die Requesthub-Werte zurueck -
   bewusst mit erhoehter Spezifitaet (.rh-page.rh-pricing) + !important.
   Die Responsive-Headline-Groessen unten ziehen mit (gleiche Spezifitaet + !important).
   ============================================================ */
.rh-page.rh-pricing .rh-h1{font:700 68px/1.02 var(--font-display)!important;letter-spacing:-.02em!important;}
.rh-page.rh-pricing .rh-section--hero .rh-h1{color:var(--on-dark)!important;}
.rh-page.rh-pricing .rh-h2{font:700 44px/1.05 var(--font-display)!important;letter-spacing:-.02em!important;}
.rh-page.rh-pricing .rh-h3{font:600 22px/1.1 var(--font-display)!important;letter-spacing:-.01em!important;}
.rh-page.rh-pricing .rh-btn{border-radius:var(--r-pill)!important;}
.rh-page.rh-pricing .rh-feature{border-radius:var(--r-md)!important;}
/* Salient stylt <button> mit eigenem Radius/Padding - Stepper-Buttons zurueckzwingen. */
.rh-page.rh-pricing .rh-stepper__btn{border-radius:var(--r-pill)!important;padding:0!important;}
/* [hidden] muss display-Regeln (z. B. .rh-checklist{display:grid}) schlagen,
   sonst bleibt die "+21 weitere Funktionen"-Liste dauerhaft offen. */
.rh-page.rh-pricing [hidden]{display:none!important;}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:920px){
  .rh-page .rh-cfg__grid{grid-template-columns:1fr;}
  .rh-page .rh-summary{position:static;}
  .rh-page .rh-steps{grid-template-columns:1fr;}
  .rh-page .rh-trust{grid-template-columns:1fr;}
  .rh-page .rh-premium__grid{grid-template-columns:1fr;}
  .rh-page.rh-pricing .rh-h1{font-size:48px!important;}
  .rh-page.rh-pricing .rh-h2{font-size:36px!important;}
  .rh-page .rh-premium{padding:40px;}
}
@media (max-width:680px){
  .rh-page .rh-checklist,.rh-page .rh-calc__grid,.rh-page .rh-premium__checks{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .rh-page .rh-section{padding:60px 18px;}
  .rh-page .rh-section--hero{padding:84px 18px 64px;}
  .rh-page .rh-section--cta{padding:60px 18px;}
  .rh-page.rh-pricing .rh-h1{font-size:33px!important;}
  .rh-page.rh-pricing .rh-h2{font-size:27px!important;}
  .rh-page .rh-basis{padding:24px;}
  .rh-page .rh-premium{padding:26px;}
  .rh-page .rh-calc{padding:22px;}
  .rh-page .rh-summary__card{padding:22px;}
  .rh-page .rh-summary__big{font-size:34px;}
}

/* Reduzierte Bewegung respektieren (CLAUDE.md S11). */
@media (prefers-reduced-motion: reduce){
  .rh-page *{transition:none !important;animation:none !important;}
  .rh-page .rh-btn:active{transform:none;}
}
