/* Rollrasen Kahl Morgentau – Welle 3: WordPress-Anpassungen für Mein Konto und Landschaftsbauer.
   Liegt über konto.css (Entwurf, unverändert) und kasse.css und gleicht die Teile an, die WooCommerce, Germanized,
   „WooCommerce Social Login“, „PDF Invoices“ und WPForms selbst ausgeben: Hinweise, Feldzeilen, Häkchen, Stärkeanzeige
   des Passworts, Bestellaktionen, Sendungen, das Anmeldeformular für Landschaftsbauer (WPForms ohne eigenes CSS).
   Handy zuerst, Tippziele ≥ 44 px, bei „Bewegung reduzieren“ Überblenden statt Bewegung (Davids Regel 18.10.2026). */

/* ==========================================================================================
   Mein Konto
   ========================================================================================== */

/* ---------- Hinweise von WooCommerce (Fehler, Erfolg, Info) ---------- */
.seite-konto .woocommerce-notices-wrapper:empty { display: none; }
.seite-konto .woocommerce-notices-wrapper { display: grid; gap: 10px; margin: 0 0 16px; }
.seite-konto :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; padding: 12px 16px; border: 1px solid var(--linie);
  border-left-width: 4px; border-radius: var(--r-s); background: var(--karte); color: var(--tinte); font-size: .9375rem; line-height: 1.5; list-style: none;
}
.seite-konto .woocommerce-message { border-color: rgb(46 125 50 / .35); border-left-color: var(--rasengruen); background: var(--hellgruen-flaeche); }
.seite-konto .woocommerce-info { border-left-color: var(--tannengruen); background: var(--leinen); }
.seite-konto .woocommerce-error { display: grid; gap: 4px; border-color: rgb(163 58 43 / .3); border-left-color: var(--fehler); background: #FBEFEC; }
.seite-konto ul.woocommerce-error { padding-left: 16px; }
.seite-konto .woocommerce-error li { margin: 0; color: var(--fehler); font-weight: 500; overflow-wrap: anywhere; }
.seite-konto .woocommerce-error a, .seite-konto .woocommerce-error strong { color: var(--fehler); }
.seite-konto :is(.woocommerce-message, .woocommerce-info) :is(.button, a.wc-forward) {
  order: 2; margin-left: auto; color: var(--tannengruen); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;
}
.konto-bereich .woocommerce-notices-wrapper { margin-bottom: 18px; }

/* ---------- Kleinigkeiten zu den Entwurfs-Bauteilen ---------- */
.seite-konto .feld .required { color: var(--tinte-2); font-weight: 600; text-decoration: none; border: 0; }
.seite-konto .feld .optional { color: var(--tinte-2); font-weight: 400; }
.konto-karte__titel:focus, .bestaetigung__titel:focus, .lb-form__titel:focus { outline: none; }
.konto-ab__ziel .icon { width: 18px; height: 18px; margin-top: 2px; flex: none; }
/* Umschalter als Links (ohne Skript funktionsfähig, w3-konto.js macht Reiter daraus) */
a.konto-umschalter__knopf { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
a.konto-umschalter__knopf:hover { color: var(--tinte); }
/* Nur Anmelden (Registrieren im Shop abgeschaltet): eine Karte, mittig */
.konto-ab__raster--eins { grid-template-columns: minmax(0, 1fr) !important; }
.konto-ab__raster--eins > .konto-karte { width: 100%; max-width: 560px; margin-inline: auto; }
/* Social Login: Knöpfe sind Links des Plugins */
a.sozial__knopf { text-decoration: none; text-align: center; }
a.sozial__knopf:hover { color: var(--tinte); }
.konto-form .sozial { margin-top: 6px; }
.konto-form > .fehlerliste { margin: 0; }
.konto-form .woocommerce-form-row { margin: 0; padding: 0; }
.konto-vorteile { margin: -4px 0 2px; }
.btn[disabled], .btn.disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.btn[disabled]:hover, .btn.disabled:hover { --b-bg: var(--rasengruen); }

/* Germanized: „Ja, ich möchte ein Kundenkonto eröffnen …“ (Pflicht) wie .haekchen */
.konto-haekchen:empty { display: none; }
.konto-haekchen { display: grid; gap: 4px; }
.konto-haekchen .wc-gzd-checkbox-placeholder, .konto-haekchen p.form-row { margin: 0; padding: 0; }
/* Germanized schreibt Kästchen, Text und „*“ in ein label – das echte Kästchen bleibt sichtbar (accent-color) */
.konto-haekchen label.checkbox { position: relative; display: block; min-height: 44px; padding: 10px 0 10px 36px; cursor: pointer; font-size: .9375rem; line-height: 1.45; }
.konto-haekchen label.checkbox > input[type="checkbox"] { position: absolute; left: 0; top: 10px; width: 24px; height: 24px; margin: 0; accent-color: var(--rasengruen); cursor: pointer; }
.konto-haekchen label.checkbox > input[type="checkbox"]:focus-visible { outline: 3px solid var(--tannengruen); outline-offset: 2px; }
.konto-haekchen label.checkbox > input[aria-invalid="true"] { outline: 2px solid var(--fehler); outline-offset: 2px; }
.konto-haekchen label.checkbox a { display: inline-block; padding: 8px 0; margin: -8px 0; font-weight: 600; }
.konto-haekchen abbr.required { margin-left: 2px; color: var(--tinte-2); text-decoration: none; border: 0; }

/* Passwortfelder: Stärkeanzeige von WooCommerce (w3-konto.js setzt sie unter das Feld) */
.seite-konto .woocommerce-password-strength {
  margin: 2px 0 0; padding: 8px 12px; border-radius: var(--r-s); background: #FBEFEC; color: var(--fehler); font-size: .8125rem; font-weight: 600; line-height: 1.4;
}
.seite-konto .woocommerce-password-strength.good { background: #FFF6CC; color: #5B4A1E; }
.seite-konto .woocommerce-password-strength.strong { background: var(--hellgruen-flaeche); color: var(--tannengruen-dunkel); }
.seite-konto .woocommerce-password-hint { display: block; margin-top: 4px; color: var(--tinte-2); font-weight: 400; }
.seite-konto .woocommerce-password-strength.strong .woocommerce-password-hint { display: none; }
.seite-konto .show-password-input { display: none !important; } /* WooCommerce' eigener Augen-Knopf – die Felder haben „Anzeigen“ */

/* ---------- Angemeldet: Kopf, Bereiche, Übersicht ---------- */
.konto-kopf__wer .konto-knopf .icon { width: 17px; height: 17px; }
.konto-teil__gruss { margin: -8px 0 16px; font-size: .9375rem; }
.konto-teil__titel--fremd { margin-bottom: 16px; }
.konto-haken:empty { display: none; }
.konto-haken { display: grid; gap: 12px; margin-top: 18px; }
.konto-nav__link .icon { flex: none; }
.konto-nav__link span:not(.konto-nav__zahl) { overflow: hidden; text-overflow: ellipsis; }
.leer-karte .btn { margin-top: 2px; }
.termin-karte__fuss { min-height: 44px; }

/* Status: dazu Storniert, Erstattet, Fehlgeschlagen */
.status--storniert { background: #FBEFEC; color: var(--fehler); }

/* ---------- Bestellungen ---------- */
.bestellung__titel .bestellung__nr { overflow-wrap: anywhere; }
.posten-kurz .daumen { width: 48px; height: 48px; overflow: hidden; border-radius: 10px; background: var(--wald-800); }
.posten-kurz .daumen--produkt { border: 1px solid var(--linie); background: #fff; }
.posten-kurz .daumen img { width: 100%; height: 100%; object-fit: cover; }
.posten-kurz .daumen--produkt img { object-fit: contain; padding: 4px; }
.posten-kurz__mehr { padding-left: 60px; color: var(--tinte-2); font-size: .8125rem; }
.bestellung__aktionen { justify-content: flex-start; }
@media (min-width: 600px) { .bestellung__aktionen { justify-content: flex-end; } }
.bestellung__aktionen .konto-knopf { white-space: nowrap; }
/* Spalten anderer Plugins: „Bewerten“ (Fotobewertungen) als eigene Zeile, Unbekanntes als Knöpfe */
.bestellung__bewerten { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: -4px 0 0; }
.bestellung__bewerten-titel { margin-right: 2px; color: var(--tinte-2); font-size: .8125rem; font-weight: 600; }
.bestellung__bewerten .konto-knopf { min-height: 44px; padding: 0 12px; font-size: .8125rem; white-space: normal; text-align: left; }
.bestellung__bewerten .konto-knopf .icon { width: 15px; height: 15px; }
.bestellung__extra { display: flex; flex-wrap: wrap; gap: 8px; }
.bestellung__extra :is(a.button, a.woocommerce-button, button) {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 15px; border: 1px solid var(--linie);
  border-radius: 999px; background: var(--karte); color: var(--tinte); font: 600 .875rem/1.15 var(--sans); text-decoration: none;
}
.bestellung__extra :is(a.button, a.woocommerce-button, button):hover { border-color: var(--tannengruen); }
.widerruf-zeile span { min-width: 0; }
.konto-blaettern { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin-top: 18px; }
.konto-blaettern__seite { font-size: .875rem; }
.konto-blaettern .konto-knopf .icon { width: 17px; height: 17px; }

/* ---------- Bestellung im Detail ---------- */
.detail__positionen { display: grid; gap: 14px; }
.detail__positionen h3 { margin-bottom: 0; }
.detail__positionen .kurzgruppe + .kurzgruppe { padding-top: 12px; border-top: 1px solid var(--linie); }
.detail__positionen .summe__zeilen { padding-top: 4px; border-top: 1px solid var(--linie); }
.detail__positionen .summe__pfand { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: var(--r-s); background: var(--hellgruen-flaeche); color: var(--tannengruen-dunkel); font-size: .875rem; line-height: 1.45; }
.detail__positionen .summe__pfand .icon { width: 18px; height: 18px; margin-top: 1px; flex: none; }
.detail__anmerkung { margin: 0; color: var(--tinte-2); font-size: .9375rem; overflow-wrap: anywhere; }
.detail__adressen > div:empty { display: none; }
.detail__kontakt { margin: 6px 0 0; font-size: .875rem; overflow-wrap: anywhere; }
.detail__aktionen:empty { display: none; }
.detail__aktionen p { margin: 0; }
.detail__aktionen > p:not(:has(a, button)) { flex-basis: 100%; color: var(--tinte-2); font-size: .875rem; }
.detail__notizen { display: grid; gap: 10px; }
.notizen { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.notiz { padding: 12px 14px; border-radius: var(--r-s); background: var(--leinen); }
.notiz__wann { margin: 0 0 4px; font-size: .8125rem; }
.notiz__text p { margin: 0; overflow-wrap: anywhere; }
.notiz__text p + p { margin-top: .6em; }
.detail__haken:empty { display: none; }
.detail__haken { display: grid; gap: 12px; min-width: 0; overflow-x: auto; }
.detail__haken h2, .detail__haken h3 { font-size: 1.15rem; }
.detail__haken table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.detail__haken :is(th, td) { padding: 8px 6px; border-bottom: 1px solid var(--linie); text-align: left; vertical-align: top; }
.detail__haken a.button, .detail__haken .woocommerce-button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 15px; border: 1px solid var(--linie); border-radius: 999px; background: var(--karte); color: var(--tinte); font: 600 .875rem/1.15 var(--sans); text-decoration: none; }
.verlauf li span { overflow-wrap: anywhere; }

/* ---------- Adressen ---------- */
.adresse__text { font-style: normal; }
.adresse__zeilen, .adresse__kontakt { display: block; }
.adresse__kontakt { margin-top: 8px; font-size: .875rem; }
.adresse__kopf .konto-knopf .icon { width: 16px; height: 16px; }
.konto-adressform { padding: 18px; }
@media (min-width: 600px) { .konto-adressform { padding: 22px 24px; } }
.konto-adressform .woocommerce-address-fields { display: grid; gap: 16px; }
.konto-adressform > .fehlerliste { margin: 0 0 16px; }
.konto-wc-felder { display: grid; gap: 14px; }
.konto-wc-felder > * { min-width: 0; }
/* Raster wie in der Kasse: Vor- und Nachname halb, PLZ und Ort 2 : 4, der Rest ganz (.feld--breit aus RKM_W3_Kasse::feld).
   form-row-first/-last zählen nicht – address-i18n.js von WooCommerce setzt sie je Land neu. */
@container (min-width: 300px) {
  .konto-wc-felder { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 12px; }
  .konto-wc-felder > * { grid-column: 1 / -1; }
  .konto-wc-felder > .feld:not(.feld--breit):not(.feld--plz):not(.feld--ort) { grid-column: span 3; }
  .konto-wc-felder > .feld--plz { grid-column: 1 / span 2; }
  .konto-wc-felder > .feld--ort { grid-column: span 4; }
}
@container (min-width: 440px) { .konto-wc-felder { column-gap: 14px; } }
.seite-konto .konto-wc-felder .form-row { margin: 0; padding: 0; }
.seite-konto .konto-wc-felder label { display: block; }
.seite-konto .woocommerce-input-wrapper { display: grid; gap: 6px; }
.seite-konto .konto-wc-felder .description { margin: 0; color: var(--tinte-2); font-size: .8125rem; line-height: 1.45; }
.seite-konto .konto-wc-felder select.eingabe, .seite-konto .konto-wc-felder select { width: 100%; max-width: 100%; }
.seite-konto .konto-wc-felder .form-row.hidden, .seite-konto .konto-wc-felder .hidden { display: none !important; }
.seite-konto .konto-wc-felder .form-row.hat-fehler .eingabe { border-color: var(--fehler); }
/* Land: nur Deutschland – WooCommerce gibt dann Text statt Auswahl aus */
.seite-konto .konto-wc-felder [id$="_country_field"] { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.seite-konto .konto-wc-felder [id$="_country_field"] strong { font-weight: 500; }
.seite-konto .konto-wc-felder [id$="_state_field"]:has(input[type="hidden"]) { display: none; }
.adresse__knoepfe { margin-top: 0; }

/* ---------- Kontodaten ---------- */
.kontodaten > .fehlerliste { margin: 0; }
@media (min-width: 1100px) {
  .kontodaten > .fehlerliste, .kontodaten > .kontodaten__knoepfe { grid-column: 1 / -1; }
}
.kontodaten__karte { container-type: inline-size; }
.kontodaten__karte > p { margin: 0; }
.kontodaten__knoepfe { margin: 0; }
.kontodaten__sozial { margin-top: 16px; }
.verknuepft li > span:first-child { overflow-wrap: anywhere; }
.verknuepft__stand { overflow-wrap: anywhere; }
.kontodaten__ab { display: inline-flex; }
@media (min-width: 1000px) { .kontodaten__ab { display: none; } }

/* ---------- Downloads (falls es welche gibt) ---------- */
.konto-downloads { padding: 18px; overflow-x: auto; }
.konto-downloads table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.konto-downloads :is(th, td) { padding: 10px 8px; border-bottom: 1px solid var(--linie); text-align: left; }

/* ==========================================================================================
   Landschaftsbauer: echtes WPForms-Formular im Morgentau-Stil (WPForms-CSS ist auf der Seite aus)
   ========================================================================================== */
.lb-vorschau .lb-vorschau__tabelle > b:nth-child(n) { text-align: left; font-weight: 600; }   /* ohne Kopfzeile der Staffeln */
.lb-hinweis { margin: 0; padding: 14px 16px; border-radius: var(--r-s); background: var(--leinen); }
.lb-wpforms { container-type: inline-size; }
.lb-wpforms .wpforms-container { margin: 0; }
.lb-wpforms .wpforms-form { display: grid; gap: 20px; margin: 0; }
.lb-wpforms .wpforms-field-container { display: grid; gap: 16px; }
.lb-wpforms .wpforms-field-container > * { min-width: 0; }
@container (min-width: 520px) {
  .lb-wpforms .wpforms-field-container { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  .lb-wpforms .wpforms-field { grid-column: 1 / -1; }
  .lb-wpforms :is(.wpforms-field-text, .wpforms-field-email, .wpforms-field-phone):not(:first-child) { grid-column: auto; }
}
.lb-wpforms .wpforms-field { display: grid; gap: 6px; margin: 0; padding: 0; }
.lb-wpforms :is(.wpforms-field-hp, .wpforms-hidden, .wpforms-conditional-hide) { display: none !important; }
.lb-wpforms :is(.wpforms-label-hide, .wpforms-sublabel-hide, .wpforms-screen-reader-element) {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.lb-wpforms .wpforms-field-label { display: block; margin: 0; font: 600 .8125rem/1.25 var(--sans); color: var(--tinte); }
.lb-wpforms .wpforms-required-label { color: var(--tinte-2); font-weight: 600; }
/* Name und Passwort: Überschrift der Gruppe klein in Tannengrün (wie „Ansprechpartner“ im Entwurf), die Teilfelder darunter */
.lb-wpforms :is(.wpforms-field-name, .wpforms-field-password) > .wpforms-field-label {
  margin-bottom: 4px; color: var(--tannengruen); font: 600 .75rem/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase;
}
.lb-wpforms .wpforms-field-row { display: grid; gap: 14px; }
@container (min-width: 440px) { .lb-wpforms .wpforms-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lb-wpforms .wpforms-field-row-block { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lb-wpforms .wpforms-field-sublabel { order: -1; font: 600 .8125rem/1.25 var(--sans); color: var(--tinte); }
.lb-wpforms :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], select, textarea) {
  width: 100%; max-width: 100%; min-height: 48px; padding: .7em .95em; border: 1px solid var(--linie); border-radius: var(--r-s);
  background: #fff; color: var(--tinte); font: 400 1rem/1.4 var(--sans); transition: border-color .2s, box-shadow .2s;
}
.lb-wpforms textarea { min-height: 112px; resize: vertical; }
.lb-wpforms :is(input, select, textarea):focus { outline: none; border-color: var(--tannengruen); box-shadow: 0 0 0 3px rgb(29 77 53 / .18); }
.lb-wpforms :is(input, select, textarea).wpforms-error, .lb-wpforms :is(input, textarea)[aria-invalid="true"] { border-color: var(--fehler); box-shadow: 0 0 0 3px rgb(163 58 43 / .12); }
.lb-wpforms .wpforms-field-description { margin: 0; color: var(--tinte-2); font-size: .8125rem; line-height: 1.45; }
/* Telefon mit Ländervorwahl (intl-tel-input bringt sein CSS mit) */
.lb-wpforms .iti { display: block; width: 100%; }
.lb-wpforms .iti input[type="tel"] { padding-left: 52px; }
.lb-wpforms .iti__flag-container { min-height: 44px; }
.lb-wpforms .iti__country-list { max-width: min(92vw, 360px); white-space: normal; z-index: 20; }
/* Datenschutz-Häkchen (Feld „Checkbox Items“) */
.lb-wpforms .wpforms-field-payment-checkbox ul, .lb-wpforms .wpforms-field-checkbox ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.lb-wpforms .wpforms-field-payment-checkbox li, .lb-wpforms .wpforms-field-checkbox li { position: relative; min-height: 44px; margin: 0; padding: 10px 0 10px 36px; }
.lb-wpforms .wpforms-field-payment-checkbox li input, .lb-wpforms .wpforms-field-checkbox li input {
  position: absolute; left: 0; top: 10px; width: 24px; height: 24px; margin: 0; accent-color: var(--rasengruen); cursor: pointer;
}
.lb-wpforms .wpforms-field-label-inline { display: block; color: var(--tinte-2); font-size: .875rem; line-height: 1.5; cursor: pointer; }
.lb-wpforms .wpforms-field-payment-checkbox li input.wpforms-error { outline: 2px solid var(--fehler); outline-offset: 2px; }
/* Fehler (jQuery Validate und Antwort von WPForms) wie .fehlertext und .fehlerliste */
.lb-wpforms label.wpforms-error, .lb-wpforms em.wpforms-error {
  display: flex; gap: 6px; align-items: flex-start; margin: 0; color: var(--fehler); font: 500 .8125rem/1.4 var(--sans);
}
.lb-wpforms label.wpforms-error::before {
  content: ""; flex: none; width: 15px; height: 15px; margin-top: 1px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.lb-wpforms .wpforms-field-payment-checkbox label.wpforms-error { margin-left: 36px; }
.lb-wpforms :is(.wpforms-error-container, .wpforms-error-noscript) {
  display: block; margin: 0; padding: 14px 16px; border: 1px solid rgb(163 58 43 / .3); border-left: 4px solid var(--fehler);
  border-radius: var(--r-s); background: #FBEFEC; color: var(--fehler); font-weight: 600; font-size: .9375rem;
}
.lb-wpforms .wpforms-error-container p { margin: 0; }
/* Absenden wie .btn.btn--akzent */
.lb-wpforms .wpforms-submit-container { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 2px 0 0; padding: 0; }
.lb-wpforms .wpforms-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 52px; padding: .8em 1.45em; border: 0;
  border-radius: 999px; background: var(--rasengruen); color: #fff; font: 600 1rem/1.15 var(--sans); text-align: center; cursor: pointer;
  box-shadow: 0 14px 30px -14px rgb(46 125 50 / .55); transition: background-color .2s var(--ease), transform .25s var(--ease);
}
.lb-wpforms .wpforms-submit:hover { background: var(--rasengruen-dunkel); }
.lb-wpforms .wpforms-submit:active { transform: translateY(1px) scale(.99); }
.lb-wpforms .wpforms-submit:focus-visible { outline: 3px solid var(--tannengruen); outline-offset: 3px; }
.lb-wpforms .wpforms-submit[disabled] { opacity: .8; cursor: progress; }
@media (max-width: 599px) { .lb-wpforms .wpforms-submit { width: 100%; padding-inline: 1em; } }
.lb-wpforms .wpforms-submit-spinner { width: 26px; height: 26px; }
/* Bestätigung von WPForms (Text aus dem Formular, wie heute) */
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) {
  position: relative; display: grid; gap: 10px; margin: 0; padding: 72px 0 0; color: var(--tinte); font-size: 1rem; line-height: 1.6;
  animation: weich .6s ease both;
}
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full)::before {
  content: ""; position: absolute; left: 0; top: 0; width: 56px; height: 56px; border-radius: 50%; background: var(--rasengruen) center / 28px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) p { margin: 0; }
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) p:first-child { font: 700 clamp(1.2rem, 1rem + .8vw, 1.5rem)/1.3 var(--kopf); }
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) p:empty,
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) p:has(> br:only-child) { display: none; }
.lb-wpforms :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full):focus { outline: none; }

/* ==========================================================================================
   „Bewegung reduzieren“: Überblenden statt Bewegung – nicht aus (Davids Regel, Skill apple-animationen)
   ========================================================================================== */
@media (prefers-reduced-motion: reduce) {
  .konto-teil:not([hidden]) { animation: weich .45s ease both; }
  .bestaetigung:not([hidden]) .bestaetigung__icon { animation: weich .6s ease both; }
  .konto-b2b:hover, .schnellweg:hover, .lb-wpforms .wpforms-submit:active { transform: none; }
  /* Ablauf: die Linie wächst nicht, sie blendet voll ein; die Punkte färben sich nacheinander (Farbwechsel bleibt) */
  .lb-ablauf .zeitleiste { --fuell: 1; }
  .lb-ablauf .zeitleiste::after { opacity: 0; transition: opacity .9s ease .2s; }
  .lb-ablauf .zeitleiste.ist-da::after, html:not(.js) .lb-ablauf .zeitleiste::after { opacity: 1; }
  .lb-ablauf .zeitleiste li::before { transition: background-color .5s ease, border-color .5s ease; transition-delay: calc(var(--i, 0) * 300ms + 200ms); }
}

/* ---------- Landschaftsbauer: alle Texte im Formular mindestens 16 px (1.0.4, Davids Regel wie in der Kasse) ---------- */
/* Jede Regel hier ist spezifischer als die, die sie ersetzt: Seraphinite stellt das übrige CSS live hinter diesen Block
   (Befund 22.10.2026, 1.0.5) – auf die Reihenfolge in der Datei ist dort kein Verlass. */
.lb-wpforms :is(.wpforms-field-label, .wpforms-field-sublabel, .wpforms-field-description, .wpforms-field-label-inline,
  label.wpforms-error, em.wpforms-error, .wpforms-error-container, .wpforms-error-noscript) { font-size: 1rem; }
.lb-wpforms .wpforms-field :is(label.wpforms-error, em.wpforms-error) { font-size: 1rem; }
/* Gruppen „Name“ und „Passwort“ wie die Zwischenüberschriften der Kasse: Montserrat, normal geschrieben */
.lb-wpforms .wpforms-field-container :is(.wpforms-field-name, .wpforms-field-password) > .wpforms-field-label {
  margin-bottom: 8px; font: 600 1.0625rem/1.3 var(--kopf); letter-spacing: 0; text-transform: none;
}

/* Wächter für die Prüfwerkzeuge: Datei vollständig geladen */
:root { --ende-konto-wp: 1; }
