/* =====================================================================
   Preisrechner (/rechner). Ergänzt style.css + pages.css + anmelden.css (Kacheln, Preis-Tabellen),
   wird nur auf dieser Seite geladen. Mobile-first, logische Abstände (RTL-fähig).
   ===================================================================== */
.rc{padding-block-end:32px}
.rc [hidden]{display:none!important}
.rc-head{margin-block-end:18px}
.rc-head h1{font-size:calc(30px * var(--font-scale,1));line-height:1.1;margin-block:0 8px}
.rc-head h1 .accent{background:linear-gradient(135deg,var(--accent-g2,var(--brand-accent)),var(--accent-g3,var(--pink)));-webkit-background-clip:text;background-clip:text;color:transparent}

.rc-grid{display:grid;gap:22px;align-items:start}
.rc-opts{display:grid;gap:26px;min-inline-size:0}
.rc-sec h2{display:flex;align-items:center;gap:12px;font-size:calc(21px * var(--font-scale,1));line-height:1.2;margin-block:0 12px}
.rc-sec .az-sub{margin-block:-4px 14px}
.rc-sec .az-cat{margin-block-end:14px}

/* Umschreibung: eigener Weg, nur ein Knopf */
.rc-conv{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-block:8px 0;padding:12px 14px;border-radius:calc(var(--rk,1px) * 14);border:1px dashed var(--home-line-strong);color:var(--home-muted);font-size:calc(14px * var(--font-scale,1))}
.rc-conv .btn{min-block-size:44px;padding-block:9px}

/* Ergebnis-Karte */
.rc-result{padding:18px;border-radius:calc(var(--rk,1px) * 22);border:1.5px solid var(--home-line-strong);background:linear-gradient(150deg,var(--home-card),var(--home-panel));box-shadow:0 24px 50px -30px rgba(0,0,0,.7);transition:opacity .15s ease}
.rc.is-loading .rc-result .az-breakdown{opacity:.55}
.rc-result h2{margin-block:0 10px;font-size:calc(11px * var(--font-scale,1));font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.rc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.rc-chips li{padding-block:4px;padding-inline:11px;border-radius:999px;border:1px solid var(--home-line-strong);background:rgba(var(--glass,255,255,255),.06);font-weight:800;font-size:calc(12.5px * var(--font-scale,1))}
.rc-result .az-breakdown{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.rc-result .az-total{padding-block:18px}
.rc-result .az-total strong{font-size:calc(38px * var(--font-scale,1))}
.rc-result .az-quote{border-radius:calc(var(--rk,1px) * 14)}
.rc-cta{display:flex;justify-content:center;margin-block-start:14px;min-block-size:50px;padding-block:13px;text-align:center}
.rc-reset{margin:12px 0 0;text-align:center;font-size:calc(13px * var(--font-scale,1))}
.rc-reset a{color:var(--home-muted);text-decoration:underline;text-underline-offset:3px}
.rc-reset a:hover,.rc-reset a:focus-visible{color:var(--accent-ink,var(--brand-accent))}

/* Preisleiste unten (nur Handy und Tablet – am PC steht die Karte neben der Auswahl) */
.rc-bar{position:fixed;inset-inline:0;inset-block-end:0;z-index:40;background:rgba(var(--header-tint,var(--home-tint,3,20,36)),.96);border-block-start:1px solid var(--home-line-strong);box-shadow:0 -14px 30px -18px rgba(0,0,0,.8);padding-block:10px;padding-block-end:calc(10px + env(safe-area-inset-bottom,0px))}
body:has(.rc-bar:not([hidden])){padding-block-end:calc(var(--rc-bar-h,76px) + 12px)}
.rc-bar-in{display:flex;align-items:center;gap:12px}
.rc-bar-sel{display:grid;min-inline-size:0;flex:1 1 auto}
.rc-bar-sel b{font-size:calc(14.5px * var(--font-scale,1));font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-bar-sel small{color:var(--home-muted);font-size:calc(11.5px * var(--font-scale,1));line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-bar-price{display:grid;justify-items:end;flex:none}
.rc-bar-price small{font-size:calc(10.5px * var(--font-scale,1));font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.rc-bar-price strong{font-size:calc(22px * var(--font-scale,1));font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}
.rc-bar.is-loading .rc-bar-price strong{opacity:.5}
.rc-bar-go{flex:none;min-block-size:44px;padding-block:8px;padding-inline:14px;font-size:calc(13px * var(--font-scale,1))}
@media(max-width:420px){.rc-bar-go{display:none}}

@media(min-width:640px){
  .rc-head h1{font-size:calc(40px * var(--font-scale,1))}
  .rc-sec h2{font-size:calc(24px * var(--font-scale,1))}
  .rc-result{padding:22px}
}
@media(min-width:980px){
  .rc-head h1{font-size:calc(50px * var(--font-scale,1))}
  .rc-grid{grid-template-columns:minmax(0,1fr) 400px;gap:32px}
  .rc-result{position:sticky;inset-block-start:96px}
  .rc-bar{display:none}
  body:has(.rc-bar:not([hidden])){padding-block-end:0}
  /* links ist weniger Platz als in der Anmeldung: weniger Spalten */
  .rc .az-cards-way,.rc .az-cards-class,.rc .az-cards-branch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc .az-branch .az-card-in{grid-template-columns:auto minmax(0,1fr);justify-items:stretch}
}
@media(min-width:1240px){
  .rc .az-cards-class,.rc .az-cards-branch{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.rc-result{transition:none}}
