/* ============================================================================
   /register/ — Claim-First-Wizard (Design „V1 Suchkarte", RR 2026-07-14).
   Schritt 1 Betrieb · 2 Paket · 3 Konto · 4 Zahlung (/abo/) · 5 Profil.
   Karten in Schritt 2 nutzen die .isb-plan-Styles (betrieb-rework.css +
   register-abo.css); hier liegt nur das Wizard-Chrome.
   ========================================================================== */

/* Astras Content-Container aufbrechen (Muster wie .single-post / installateur-list). */
.inst-register-wizard .ast-container{ width:100%; max-width:100% !important; flex-direction:column; }
.inst-register-wizard .ast-container .content-area{ margin:0 !important; width:100%; }

/* width:100%: Astras #content > .ast-container ist flex — ohne explizite Breite
   schrumpft .irw-main auf Inhaltsbreite und klebt links (Claim-Seite, RR-Befund). */
.irw-main{ background:#f4f7fa; width:100%; }
.irw-section{ padding:44px 16px 72px; }
.irw-wrap{ max-width:760px; margin:0 auto; transition:max-width .25s ease; }
/* Paket-Schritt: 4 Karten nebeneinander brauchen Luft -> Wizard aufziehen,
   solange Pane 2 aktiv ist (901px = Umschaltpunkt des .isb-plans-Grids auf 4 Spalten). */
@media (min-width:901px){
  .irw-wrap:has(.irw-pane[data-pane="2"].is-active){ max-width:1120px; }
}

.irw-h1{ font-size:30px; font-weight:800; color:#1e456c; letter-spacing:-.015em; margin:0 0 6px; text-align:center; }
.irw-lede{ font-size:15.5px; color:#64748b; margin:0 0 26px; text-align:center; }

.irw-wiz{ background:#fff; border:1px solid #dbe3ec; border-radius:18px; padding:28px 30px 30px;
  box-shadow:0 1px 2px rgba(16,40,70,.05), 0 6px 20px rgba(16,40,70,.06); }

/* ── Stepper (1-5) ── */
.irw-steps{ display:flex; align-items:center; margin:0 0 24px; }
.irw-step{ display:flex; flex-direction:column; align-items:center; gap:5px; flex:none; width:64px; }
.irw-step i{ width:27px; height:27px; border-radius:50%; background:#dbe3ec; color:#5c6b80;
  display:flex; align-items:center; justify-content:center; font-style:normal; font-size:12.5px; font-weight:700; transition:.16s; }
.irw-step.is-now i{ background:#1e456c; color:#fff; box-shadow:0 0 0 4px rgba(30,69,108,.14); }
.irw-step.is-done i{ background:#36afd8; color:#fff; }
.irw-step b{ font-size:11px; font-weight:700; color:#5c6b80; letter-spacing:.02em; }
.irw-step.is-now b{ color:#1e456c; }
.irw-line{ flex:1; height:2px; background:#dbe3ec; margin-bottom:18px; }

.irw-pane{ display:none; }
.irw-pane.is-active{ display:block; }

.irw-title{ margin:0 0 5px; font-size:22px; font-weight:800; color:#1e456c; letter-spacing:-.01em; }
.irw-sub{ margin:0 0 18px; font-size:14.5px; color:#64748b; }

/* ── Schritt 1: Suche ── */
.irw-search{ position:relative; }
.irw-search svg{ position:absolute; left:15px; top:50%; transform:translateY(-50%); width:18px; height:18px;
  stroke:#7d8da1; stroke-width:2; fill:none; stroke-linecap:round; pointer-events:none; }
/* !important: Astras globale input[type=text]-Regeln (padding 10px, height 40px)
   schlagen sonst das Icon-Padding -> Lupe läge im Text (RR 2026-07-14). */
.irw-search input{ width:100%; box-sizing:border-box; border:1.5px solid #c6d2e2 !important; border-radius:12px !important;
  padding:14px 16px 14px 44px !important; height:auto !important; font-family:inherit; font-size:16px; color:#1d2430; background:#f6f8fc !important; }
.irw-search input:focus{ outline:none; border-color:#1e456c !important; background:#fff !important; }

.irw-results{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.irw-results button{ display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:#fff;
  border:1.5px solid #dbe3ec; border-radius:12px; padding:11px 14px; font-family:inherit; cursor:pointer; transition:.14s; }
.irw-results button:hover{ border-color:#1e456c; }
.irw-av{ width:38px; height:38px; border-radius:10px; background:#e6eef7; color:#1e456c; font-weight:800;
  font-size:14px; display:flex; align-items:center; justify-content:center; flex:none; }
.irw-r-tx{ display:flex; flex-direction:column; min-width:0; }
.irw-r-name{ font-weight:700; color:#1d2430; font-size:15px; line-height:1.25; }
.irw-r-city{ font-size:13px; color:#64748b; }
.irw-r-go{ margin-left:auto; color:#1e456c; font-weight:700; font-size:13.5px; white-space:nowrap; }

.irw-none{ margin:14px 0 0; font-size:13.5px; color:#5c6b80; }
.irw-none a{ color:#1c7291; font-weight:700; text-decoration:none; }

/* ── gewählter Betrieb (Kopf in Schritt 2/3) ── */
.irw-chosen{ display:flex; align-items:center; gap:12px; margin:0 0 18px; padding:10px 13px;
  border:1.5px solid #c9d6e6; border-radius:12px; background:#f2f6fb; }
.irw-chosen:empty{ display:none; }
.irw-change{ margin-left:auto; background:none; border:0; color:#1c7291; font-family:inherit;
  font-size:13px; font-weight:700; cursor:pointer; padding:4px 6px; }

/* ── Schritt 2: Paketkarten ──
   Die komplette Paket-UI (Toggle, Gründer-Aktion, Karten, Vergleichstabelle) baut
   js/register-plan-cards.js in .pms-field-subscriptions — gestylt von
   betrieb-rework.css + register-abo.css, exakt wie /abo/. Hier nichts eigenes. */
.irw-pane .pms-field-subscriptions{ list-style:none; margin:0; padding:0; }
/* style.css gibt .inst-cmp-wrap overflow-x:auto (Legacy-Vergleichstabelle) — das
   schneidet hier den 3px-Auswahl-Ring der Randkarten ab. Die Tabelle scrollt in
   ihrem eigenen .isr-cmp-wrap, der äußere Wrapper darf sichtbar überstehen. */
.irw-pane .inst-cmp-wrap{ overflow:visible; }

/* ── Navigation ── */
.irw-nav{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.irw-back{ background:none; border:0; color:#64748b; font-family:inherit; font-weight:700; font-size:15px;
  padding:10px 6px; cursor:pointer; }
.irw-back:hover{ color:#1e456c; }
.irw-next{ flex:1; text-align:center; background:#1e456c; color:#fff; border:0; font-family:inherit;
  font-weight:700; font-size:16px; padding:14px; border-radius:12px; cursor:pointer; transition:.15s; }
.irw-next:hover{ background:#173651; }
.irw-next:disabled{ opacity:.45; cursor:default; }
.irw-next:disabled:hover{ background:#1e456c; }

/* ── Schritt 3: Konto ── */
.irw-label{ display:block; font-weight:700; color:#1d2430; font-size:14px; margin:14px 0 6px; }
.irw-label span{ color:#5c6b80; font-weight:600; }
.irw-input{ width:100%; box-sizing:border-box; border:1.5px solid #c6d2e2 !important; border-radius:12px !important; padding:13px 15px !important;
  height:auto !important; font-family:inherit; font-size:15px; color:#1d2430; background:#f6f8fc !important; }
.irw-input:focus{ outline:none; border-color:#1e456c !important; background:#fff !important; }
.irw-pwreq{ list-style:none; margin:8px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px 14px; }
.irw-pwreq li{ font-size:12.5px; color:#5c6b80; padding-left:18px; position:relative; }
.irw-pwreq li::before{ content:'✕'; position:absolute; left:0; font-weight:800; color:#b23b3b; }
.irw-pwreq li.ok{ color:#15803d; }
.irw-pwreq li.ok::before{ content:'✓'; color:#15803d; }
.irw-pwmatch{ font-size:13px; margin:6px 0 0; }
.irw-pwmatch.is-ok{ color:#15803d; }
.irw-pwmatch.is-bad{ color:#b23b3b; }
.irw-err{ background:#fdecea; color:#b23b3b; border:1px solid #f5c6c0; border-radius:10px;
  padding:11px 14px; font-size:13.5px; font-weight:600; margin:14px 0 0; }
.irw-fine{ margin:12px 0 0; font-size:12.5px; color:#5c6b80; line-height:1.5; }

.irw-foot{ text-align:center; font-size:13.5px; color:#5c6b80; margin:18px 0 0; }
.irw-foot a{ color:#1c7291; font-weight:700; text-decoration:none; }

@media (max-width:560px){
  .irw-wiz{ padding:20px 16px 22px; }
  .irw-step{ width:52px; }
  .irw-r-go{ display:none; }
  /* Buttons stapeln: „Weiter" volle Breite oben, „Zurück" zentriert darunter. */
  .irw-nav{ flex-direction:column-reverse; gap:8px; }
  .irw-next{ flex:none; width:100%; }
  .irw-back{ width:100%; text-align:center; padding:10px; }
}
