/**
 * Kontakt & Support – Seitenlayout und dunkle Oberfläche für WPForms 948.
 *
 * Wird nur auf der Seite /support/ geladen (siehe functions.php).
 *
 * Zwei Dinge, die beim Lesen helfen:
 *
 * 1) Das Formular selbst bleibt UNANGETASTET. Die Auftragsnummern-Prüfung in
 *    astra-child/functions/formModification-Support.php arbeitet über die
 *    WPForms-Klassen und -IDs (#orderdata-button, #wpforms-948-field_81, …).
 *    Hier wird deshalb ausschließlich umgefärbt, nie umgebaut: keine Regel
 *    ändert display:none/block dort, wo jQuery show()/hide() aufruft.
 *
 * 2) Die alte Oberfläche kam aus dem Plugin „Simple Custom CSS and JS"
 *    (wp-content/uploads/custom-css-js/479.css). Das Plugin ist nicht mehr
 *    aktiv, die Datei wird nicht mehr geladen – deshalb standen zuletzt der
 *    „Weiter"-Knopf, der Ladekreis und die Produktauswahl komplett ohne Stil
 *    da. Alles, was dort funktional war, ist unten in der neuen Palette
 *    nachgebaut und entsprechend gekennzeichnet.
 */

/* =========================================================================
 * 1) Seitengerüst
 * ====================================================================== */

/* ---------- Ablauf ----------
 *
 * Steht seit dem 3. August 2026 UNTER dem Formular: Wer die Seite oeffnet, hat
 * ein Anliegen und will es loswerden – der Ablauf erklaert sich danach.
 *
 * Der grosse obere Rand ist damit hierher nicht mehr noetig; er haelt den Platz
 * fuer die fest stehende Kopfleiste frei und ist mit dem Seitenkopf zum
 * Formularabschnitt gewandert. Nach oben genuegt jetzt der untere Rand des
 * Formulars.
 */

.support-page .support-steps {
  padding: 0 0 120px;
}

.support-page .section-title,
.support-page .support-form-card .card-title { color: var(--paper); }

.support-page .pillar h3 { color: var(--paper); }
.support-page .pillar p { color: var(--paper-dim); }
.support-page .pillar .num { color: var(--lime); }

/* ---------- Formular + Randspalte ---------- */

/* Der Formularabschnitt ist jetzt der Seitenkopf: Er traegt den Abstand zur
   fest stehenden Kopfleiste und den weichen Lichtschein, der vorher ueber dem
   Ablauf lag. */
.support-page .support-form-section {
  padding: 168px 0 96px;
  position: relative;
}

.support-page .support-form-section::after {
  /* Weicher Lichtschein wie im Hero der Startseite, nur flacher. */
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 900px 420px at 78% -20%, rgba(200, 241, 105, 0.10), transparent 62%),
    radial-gradient(ellipse 700px 400px at 8% 0%, rgba(255, 138, 61, 0.06), transparent 60%);
}

.support-page .support-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 40px;
  align-items: start;
}

/* Die Formularkarte ist die Hauptsache der Seite und muss das auch zeigen.
   Zuvor trug sie exakt dieselbe Behandlung wie die Karte in der Randspalte –
   gleiche Fläche, gleicher Rand –, und die Fläche selbst hob sich vom
   Seitenhintergrund nur um rund 1,1:1 ab. Sichtbar war die Karte damit fast
   allein durch ihren Rand.

   Sie steht deshalb jetzt eine Stufe heller (--forest-800), mit etwas
   kräftigerem Rand und einem tiefen, weichen Schatten, der sie von der Fläche
   abhebt statt sie einzurahmen. Die Randspalte tritt im Gegenzug zurück (weiter
   unten) – der Abstand entsteht zur Hälfte dadurch, dass daneben weniger
   passiert. */
.support-page .support-form-card {
  /* Der Ton der Karte, damit die Auswahlpunkte im Formular ihre Aussparung in
     derselben Farbe stanzen können. */
  --bfv-card-bg: var(--forest-800);

  background: var(--bfv-card-bg);
  border: 1px solid rgba(244, 241, 230, 0.22);
  border-radius: 24px;
  padding: 44px;
  min-width: 0;
  box-shadow: 0 40px 80px -60px rgba(0, 0, 0, 0.9);
}

/* Ueber die Klasse statt ueber das Element: Die Ueberschrift ist seit dem Umzug
   des Ablaufs ein h1 (sie eroeffnet die Seite). An der Darstellung soll das
   nichts aendern – und beim naechsten Umbau ebenfalls nicht. */
.support-page .support-form-card > .card-title {
  font-family: var(--font-display);
  font-size: clamp(25px, 2.6vw, 34px);
  font-weight: 600;
  line-height: 1.15;
  margin: 14px 0 10px;
}

.support-page .support-form-card > .card-note {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--mist);
  margin-bottom: 34px;
  max-width: 560px;
}

.support-page .support-aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 110px;
}

/* Nebensache, also auch als solche gezeichnet: keine eigene Fläche mehr, nur
   noch eine leise Umrandung. Ohne das stünden hier zwei gleich gewichtete
   Karten nebeneinander, und die Seite hätte keine erkennbare Hauptsache. */
.support-page .support-aside .facts-card {
  position: static;
  padding: 30px;
  background: transparent;
  border-color: rgba(244, 241, 230, 0.10);
  box-shadow: none;
}

.support-page .aside-note {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--mist);
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.support-page .aside-note a { color: var(--lime); text-decoration: underline; }

/* =========================================================================
 * 2) WPForms 948 – dunkle Oberfläche
 *
 * Alle Regeln hängen an #wpforms-948. Das schlägt die Plugin-Regeln
 * (.wpforms-container …) sicher, ohne dass überall !important nötig wird –
 * gebraucht wird es nur dort, wo das Plugin selbst !important setzt.
 * ====================================================================== */

#wpforms-948 {
  --bfv-field-bg: rgba(244, 241, 230, 0.045);
  --bfv-field-bg-hover: rgba(244, 241, 230, 0.07);
  --bfv-error: #ff7a6b;
  max-width: none;
  margin: 0;
  font-family: var(--font-body);
  color: var(--paper);
}

#wpforms-948 .wpforms-field { padding: 0 0 26px 0; }

#wpforms-948 .wpforms-field-label {
  display: block;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--paper);
  margin: 0 0 10px;
}

#wpforms-948 .wpforms-required-label {
  color: var(--lime);
  font-weight: 600;
}

#wpforms-948 .wpforms-field-description {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--mist);
  margin-top: 10px;
}

/* Die Auswahl-Beschriftungen tragen einen Marker (<font>||3||</font>), der die
   interne Vorgangs-ID transportiert. Er gehört in den abgesendeten Wert, nicht
   auf den Bildschirm – deshalb nur optisch ausgeblendet. Der value bleibt
   unverändert, die Auswertung in checkSupportRequest*.php merkt davon nichts. */
#wpforms-948 .wpforms-image-choices-label font,
#wpforms-948 .wpforms-icon-choices-label font,
#wpforms-948 .wpforms-field-label-inline font { display: none; }

/* ---------- Eingabefelder ---------- */

#wpforms-948 input[type='text'],
#wpforms-948 input[type='email'],
#wpforms-948 input[type='tel'],
#wpforms-948 input[type='url'],
#wpforms-948 input[type='number'],
#wpforms-948 input[type='password'],
#wpforms-948 textarea,
#wpforms-948 select {
  width: 100%;
  background: var(--bfv-field-bg);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 16px;
  color: var(--paper);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  box-shadow: none;
  transition: border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}

#wpforms-948 textarea { min-height: 150px; resize: vertical; }

#wpforms-948 input::placeholder,
#wpforms-948 textarea::placeholder { color: var(--mist); opacity: 1; }

#wpforms-948 input:hover,
#wpforms-948 textarea:hover,
#wpforms-948 select:hover { background: var(--bfv-field-bg-hover); }

#wpforms-948 input:focus,
#wpforms-948 textarea:focus,
#wpforms-948 select:focus {
  outline: none;
  border-color: var(--lime);
  background: var(--bfv-field-bg-hover);
  box-shadow: 0 0 0 3px rgba(200, 241, 105, 0.14);
}

/* Die Feldbreiten des Plugins (small/medium/large) bleiben in ihrer Aussage –
   die Auftragsnummer ist kurz, die Beschreibung lang –, nur in Pixeln statt in
   Prozent, damit sie in der schmaleren Karte nicht winzig werden. */
#wpforms-948 .wpforms-field-small { max-width: 260px; }
#wpforms-948 .wpforms-field-medium { max-width: 460px; }
#wpforms-948 .wpforms-field-large { max-width: 100%; }

/* Auftragsnummer: Monospace, damit AB-123456 beim Tippen ruhig steht. */
#wpforms-948 #wpforms-948-field_14,
#wpforms-948 #wpforms-948-field_87 {
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ---------- Symbol-Auswahl (Feld 22: „Bei welchem Thema …") ---------- */

#wpforms-948 ul.wpforms-icon-choices {
  /* Die Akzentfarbe steht als Inline-Variable am <ul> (Türkis der alten Seite)
     und lässt sich nur mit !important überschreiben. */
  --wpforms-icon-choices-color: var(--lime) !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
  gap: 14px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}

#wpforms-948 ul.wpforms-icon-choices li {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

#wpforms-948 ul.wpforms-icon-choices.wpforms-icon-choices-modern li label {
  background: var(--bfv-field-bg) !important;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: none;
  height: 100%;
  padding: 24px 18px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  transition: border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);
}

#wpforms-948 ul.wpforms-icon-choices.wpforms-icon-choices-modern li label:hover,
#wpforms-948 ul.wpforms-icon-choices.wpforms-icon-choices-modern li:focus-within label {
  border-color: rgba(200, 241, 105, 0.55);
  background: rgba(200, 241, 105, 0.06) !important;
  box-shadow: none;
  transform: translateY(-2px);
}

#wpforms-948 ul.wpforms-icon-choices.wpforms-icon-choices-modern li.wpforms-selected label,
#wpforms-948 ul.wpforms-icon-choices.wpforms-icon-choices-modern li:has(input:checked) label {
  border-color: var(--lime);
  background: rgba(200, 241, 105, 0.10) !important;
  box-shadow: 0 14px 34px -22px rgba(200, 241, 105, 0.8);
}

#wpforms-948 ul.wpforms-icon-choices .wpforms-icon-choices-icon { margin: 0; }

#wpforms-948 ul.wpforms-icon-choices svg {
  fill: var(--lime);
  width: 34px;
  height: 30px;
  opacity: 0.75;
  transition: opacity .3s var(--ease);
}

#wpforms-948 ul.wpforms-icon-choices li.wpforms-selected svg,
#wpforms-948 ul.wpforms-icon-choices li:has(input:checked) svg,
#wpforms-948 ul.wpforms-icon-choices li label:hover svg { opacity: 1; }

#wpforms-948 .wpforms-icon-choices-label {
  font-size: 14px;
  line-height: 1.4;
  color: var(--paper-dim);
  text-align: center;
}

#wpforms-948 li.wpforms-selected .wpforms-icon-choices-label,
#wpforms-948 li:has(input:checked) .wpforms-icon-choices-label {
  color: var(--paper);
  font-weight: 600;
}

/* ---------- Text-Auswahl (Felder 82/88/95/96, „Bild-Auswahl" ohne Bilder)
 *
 * Die Auswahl ist im Formular als Bild-Auswahl angelegt, hat aber keine Bilder.
 * Der leere Bildplatzhalter <span class="wpforms-image-choices-image"> wird
 * deshalb zum Auswahlpunkt umgewidmet – die Zeile bekommt so den Punkt, den man
 * bei einer Einfachauswahl erwartet, ohne dass am Markup etwas geändert wird.
 * ---------------------------------------------------------------------- */

#wpforms-948 ul.wpforms-image-choices {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}

#wpforms-948 ul.wpforms-image-choices li {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#wpforms-948 ul.wpforms-image-choices li label.wpforms-field-label-inline {
  display: flex !important;
  align-items: center;
  gap: 13px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 15px 18px !important;
  background: var(--bfv-field-bg) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px;
  box-shadow: none !important;
  text-align: left !important;
  cursor: var(--cursor-torch-on), pointer;
  transition: border-color .3s var(--ease), background .3s var(--ease);
}

#wpforms-948 ul.wpforms-image-choices li label.wpforms-field-label-inline:hover,
#wpforms-948 ul.wpforms-image-choices li:focus-within label.wpforms-field-label-inline {
  border-color: rgba(200, 241, 105, 0.55) !important;
  background: rgba(200, 241, 105, 0.06) !important;
}

#wpforms-948 ul.wpforms-image-choices li.wpforms-selected label.wpforms-field-label-inline,
#wpforms-948 ul.wpforms-image-choices li:has(input:checked) label.wpforms-field-label-inline {
  border-color: var(--lime) !important;
  background: rgba(200, 241, 105, 0.10) !important;
}

#wpforms-948 .wpforms-image-choices-image {
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid rgba(244, 241, 230, 0.35);
  background: transparent;
  transition: background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}

#wpforms-948 li.wpforms-selected .wpforms-image-choices-image,
#wpforms-948 li:has(input:checked) .wpforms-image-choices-image {
  background: var(--lime);
  border-color: var(--lime);
  box-shadow: inset 0 0 0 3px var(--bfv-card-bg, var(--forest-900));
}

/* Der grüne Haken des Plugins sitzt mitten im Auswahlpunkt – nicht gebraucht. */
#wpforms-948 .wpforms-image-choices-modern .wpforms-image-choices-image::after { display: none; }

#wpforms-948 .wpforms-image-choices-label {
  display: block;
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--paper-dim);
}

#wpforms-948 li.wpforms-selected .wpforms-image-choices-label,
#wpforms-948 li:has(input:checked) .wpforms-image-choices-label {
  color: var(--paper);
  font-weight: 600;
}

/* ---------- Produktauswahl (Feld 81)
 *
 * Diese Liste baut formModification-Support.php per jQuery zur Laufzeit auf,
 * sobald die Auftragsnummer bestätigt ist – <li> + <input type=checkbox> +
 * <label class="wpforms-field-label-inline">. Nachgebaut aus 479.css, dort
 * lag derselbe Kreis vor dem Text.
 * ---------------------------------------------------------------------- */

#wpforms-948 #wpforms-948-field_81 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}

#wpforms-948 #wpforms-948-field_81 li { margin: 0 !important; padding: 0 !important; }

/* Nicht display:none – der Haken bleibt mit der Tastatur erreichbar. */
#wpforms-948 #wpforms-948-field_81 input[type='checkbox'] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

#wpforms-948 #wpforms-948-field_81 label.wpforms-field-label-inline {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0;
  padding: 14px 18px;
  background: var(--bfv-field-bg);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--paper-dim);
  cursor: var(--cursor-torch-on), pointer;
  transition: border-color .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
}

#wpforms-948 #wpforms-948-field_81 label.wpforms-field-label-inline::before {
  content: '';
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid rgba(244, 241, 230, 0.35);
  transition: background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}

#wpforms-948 #wpforms-948-field_81 li:hover label.wpforms-field-label-inline,
#wpforms-948 #wpforms-948-field_81 li:focus-within label.wpforms-field-label-inline {
  border-color: rgba(200, 241, 105, 0.55);
  background: rgba(200, 241, 105, 0.06);
}

#wpforms-948 #wpforms-948-field_81 .wpforms-selected label.wpforms-field-label-inline,
#wpforms-948 #wpforms-948-field_81 li:has(input:checked) label.wpforms-field-label-inline {
  border-color: var(--lime);
  background: rgba(200, 241, 105, 0.10);
  color: var(--paper);
  font-weight: 600;
}

#wpforms-948 #wpforms-948-field_81 .wpforms-selected label.wpforms-field-label-inline::before,
#wpforms-948 #wpforms-948-field_81 li:has(input:checked) label.wpforms-field-label-inline::before {
  background: var(--lime);
  border-color: var(--lime);
  box-shadow: inset 0 0 0 3px var(--bfv-card-bg, var(--forest-900));
}

/* ---------- DSGVO-Einwilligung (Feld 41) ---------- */

#wpforms-948 #wpforms-948-field_41-container {
  background: rgba(244, 241, 230, 0.03);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px 24px !important;
  margin-bottom: 26px;
}

#wpforms-948 #wpforms-948-field_41 { margin: 0 !important; padding: 0 !important; }

#wpforms-948 #wpforms-948-field_41 li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 !important;
}

#wpforms-948 #wpforms-948-field_41 input[type='checkbox'] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--lime);
  cursor: var(--cursor-torch-on), pointer;
}

#wpforms-948 #wpforms-948-field_41 label.wpforms-field-label-inline {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--mist);
  cursor: var(--cursor-torch-on), pointer;
}

#wpforms-948 #wpforms-948-field_41 label a {
  color: var(--lime);
  text-decoration: underline;
}

/* ---------- Hinweistexte (HTML-Felder) ---------- */

#wpforms-948 .wpforms-field-html {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--paper-dim);
}

/* Ersetzt den bernsteinfarbenen Kasten aus 479.css. */
#wpforms-948 .wpforms-field.info-field {
  background: rgba(255, 138, 61, 0.10);
  border: 1px solid rgba(255, 138, 61, 0.28);
  border-radius: 16px;
  padding: 18px 20px !important;
  margin: 4px 0 26px;
  color: var(--paper-dim);
}

#wpforms-948 .wpforms-field.info-field b,
#wpforms-948 .wpforms-field.info-field strong { color: var(--paper); }

/* Der einleitende Kasten trägt seine Farben (#DDE9EB, Roboto) als style-Attribut
   direkt am <div> – aus dem Formular selbst, nicht aus einem Stylesheet. Nur
   deshalb steht hier !important; die Auswahl ist bewusst eng auf dieses eine
   Feld begrenzt, damit sie nicht versehentlich den Ladekreis mitnimmt. */
#wpforms-948 #wpforms-948-field_104 div[style] {
  background-color: rgba(200, 241, 105, 0.08) !important;
  border: 1px solid rgba(200, 241, 105, 0.22) !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
  margin: 0 0 4px !important;
  color: var(--paper) !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

/* ---------- Knöpfe ---------- */

#wpforms-948 button.wpforms-submit,
#wpforms-948 button.wpforms-page-button,
#wpforms-948 #orderdata-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  padding: 15px 30px;
  border: none;
  border-radius: 100px;
  background: var(--lime);
  color: var(--forest-950);
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
  cursor: var(--cursor-torch-on), pointer;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), opacity .25s;
}

#wpforms-948 button.wpforms-submit:hover:not(:disabled),
#wpforms-948 button.wpforms-page-button:hover:not(:disabled),
#wpforms-948 #orderdata-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -10px rgba(200, 241, 105, 0.45);
}

#wpforms-948 button.wpforms-submit:disabled,
#wpforms-948 button.wpforms-page-button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Der Zurück-Knopf ist die leisere Variante. */
#wpforms-948 button.wpforms-page-prev {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--paper);
  font-weight: 600;
}

#wpforms-948 button.wpforms-page-prev:hover:not(:disabled) {
  border-color: var(--paper-dim);
  background: rgba(244, 241, 230, 0.05);
  box-shadow: none;
}

/* Der „Zurück"-Knopf steckt als letztes Feld im Feldcontainer, der Absenden-
   Knopf steht als Geschwister daneben – nebeneinander bekommt man beide nur mit
   negativen Rändern auf feste Pixelwerte, so wie es in 479.css stand
   (margin-top:-97px; left:176px). Das hing an der alten Feldbreite und bricht
   bei jeder Änderung. Sie stehen deshalb jetzt untereinander. */
#wpforms-948 .wpforms-field-pagebreak { padding-bottom: 0; }
#wpforms-948 .wpforms-submit-container { margin-top: 14px; }

/* ---------- Auftragsnummern-Prüfung (Elemente aus dem Snippet) ---------- */

/* Font Awesome kam früher über Elementor und wird auf dieser Seite nicht mehr
   geladen – die <i>-Symbole wären leere Kästchen. Ersetzt durch Zeichen. */
#wpforms-948 #orderid_help-button i,
#wpforms-948 #orderdata-link-nocustomer i { display: none; }

#wpforms-948 #orderid_help-button,
#wpforms-948 #orderdata-link-nocustomer,
#wpforms-948 #noOrderId-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 10px;
  color: var(--lime);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: var(--cursor-torch-on), pointer;
  transition: color .2s;
}

#wpforms-948 #orderid_help-button::before { content: '?'; }
#wpforms-948 #orderdata-link-nocustomer::before { content: '→'; }
#wpforms-948 #noOrderId-link::before { content: '→'; }

#wpforms-948 #orderid_help-button:hover,
#wpforms-948 #orderdata-link-nocustomer:hover,
#wpforms-948 #noOrderId-link:hover { color: var(--paper); }

/* Ladekreis aus 479.css, in der neuen Palette. Das Snippet schaltet ihn per
   jQuery show()/hide(), display bleibt hier deshalb unangetastet. */
#wpforms-948 #orderdata-loading {
  width: 26px;
  height: 26px;
  margin: 10px 0 0;
  border: 3px solid rgba(244, 241, 230, 0.15);
  border-top-color: var(--lime);
  border-radius: 50%;
  animation: bfv-support-spin 0.9s linear infinite;
}

@keyframes bfv-support-spin { to { transform: rotate(360deg); } }

#wpforms-948 #orderdata-error {
  margin-top: 10px;
  color: var(--bfv-error);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.6;
}

#wpforms-948 #orderdata-error abbr {
  text-decoration: underline dotted;
  cursor: help;
}

/* ---------- Dateianhänge ---------- */

#wpforms-948 .wpforms-uploader {
  background: var(--bfv-field-bg);
  border: 1px dashed rgba(244, 241, 230, 0.25);
  border-radius: 16px;
  min-height: 0;
  padding: 30px 20px;
  transition: border-color .25s var(--ease), background .25s var(--ease);
}

#wpforms-948 .wpforms-uploader:hover,
#wpforms-948 .wpforms-uploader.dz-drag-hover {
  border-color: var(--lime);
  background: var(--bfv-field-bg-hover);
}

#wpforms-948 .wpforms-uploader .dz-message { color: var(--paper-dim); }
#wpforms-948 .wpforms-uploader .dz-message svg path { fill: var(--mist); }
#wpforms-948 .wpforms-uploader .modern-title { font-size: 14.5px; color: var(--paper-dim); }
#wpforms-948 .wpforms-uploader .modern-title span { color: var(--lime); text-decoration: underline; }
#wpforms-948 .wpforms-uploader .modern-hint { font-size: 12.5px; color: var(--mist); }

#wpforms-948 .wpforms-uploader .dz-preview {
  background: var(--forest-800);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--paper);
}

/* ---------- Fehler & Bestätigung ---------- */

#wpforms-948 label.wpforms-error,
#wpforms-948 em.wpforms-error {
  display: block;
  margin-top: 8px;
  color: var(--bfv-error);
  font-size: 13px;
  font-weight: 600;
  font-style: normal;
}

#wpforms-948 input.wpforms-error,
#wpforms-948 textarea.wpforms-error,
#wpforms-948 .wpforms-has-error input {
  border-color: var(--bfv-error);
  box-shadow: 0 0 0 3px rgba(255, 122, 107, 0.12);
}

#wpforms-948 .wpforms-error-noscript {
  display: block;
  background: rgba(255, 122, 107, 0.12);
  border: 1px solid rgba(255, 122, 107, 0.35);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 22px;
  color: var(--paper);
  font-size: 14px;
}

.support-page .wpforms-confirmation-container-full,
.support-page div[submit-success] > .wpforms-confirmation-container-full {
  background: rgba(200, 241, 105, 0.08);
  border: 1px solid rgba(200, 241, 105, 0.3);
  border-radius: 18px;
  padding: 26px 28px;
  color: var(--paper);
  font-size: 15.5px;
  line-height: 1.65;
}

.support-page .wpforms-confirmation-container-full p:last-child { margin: 0; }

/* =========================================================================
 * 3) Hinweisfenster „Wo finde ich meine Auftragsnummer?"
 *
 * Der Auslöser (#orderid_help-button) steckt fest in der Feldbeschreibung des
 * Formulars. Geöffnet hat ihn früher ein Elementor-Popup; Elementor liefert auf
 * dieser Seite kein Frontend mehr aus, der Text stand also ohne Wirkung da.
 * Das Fenster hier ist der Ersatz – Inhalt aus derselben Vorlage
 * (elementor_library #1174 „Auftragsnummer Erklärung").
 * ====================================================================== */

.bfv-help[open] {
  display: block;
  /* Ein modaler <dialog> steht beim Browser auf inset:0 und wird allein durch
     margin:auto mittig gehalten. Das globale *{margin:0} aus main.css loescht
     genau dieses auto – und das Fenster klebte in der linken oberen Ecke.
     Autorenregeln schlagen die Browservorgabe, also muss es hier zurueck. */
  margin: auto;
  width: min(560px, calc(100vw - 40px));
  /* Auf niedrigen Fenstern lieber im Fenster scrollen als unten hinauslaufen. */
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  background: var(--forest-900);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 34px;
  color: var(--paper);
}

.bfv-help::backdrop { background: rgba(10, 19, 15, 0.72); backdrop-filter: blur(6px); }

.bfv-help h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 18px;
  padding-right: 40px;
}

.bfv-help p { font-size: 14.5px; line-height: 1.65; color: var(--paper-dim); }

.bfv-help .bfv-help-code {
  display: inline-block;
  margin: 10px 0 24px;
  padding: 12px 20px;
  background: rgba(200, 241, 105, 0.10);
  border: 1px solid rgba(200, 241, 105, 0.28);
  border-radius: 12px;
  font-family: var(--font-mono);
  font-size: 20px;
  letter-spacing: 0.12em;
  color: var(--lime);
}

.bfv-help ul { display: flex; flex-direction: column; gap: 14px; }

.bfv-help li {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--paper-dim);
}

.bfv-help li span:first-child { font-family: var(--font-mono); font-size: 12px; color: var(--lime); }

.bfv-help .bfv-help-close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: rgba(244, 241, 230, 0.04);
  color: var(--paper);
  font-size: 18px;
  line-height: 1;
  cursor: var(--cursor-torch-on), pointer;
  transition: border-color .25s, background .25s;
}

.bfv-help .bfv-help-close:hover { border-color: var(--lime); background: rgba(200, 241, 105, 0.12); }

/* =========================================================================
 * 4) Schmale Bildschirme
 * ====================================================================== */

@media (max-width: 1024px) {
  .support-page .support-grid { grid-template-columns: 1fr; }
  .support-page .support-aside { position: static; }
}

@media (max-width: 900px) {
  /* Auch am Telefon haelt der Formularabschnitt den Platz fuer die Kopfleiste
     frei – der Ablauf haengt sich mit seinem unteren Rand daran. */
  .support-page .support-steps { padding: 0 0 96px; }
  .support-page .support-form-section { padding: 132px 0 72px; }
  .support-page .support-form-card { padding: 30px 24px; border-radius: 20px; }
}

@media (max-width: 560px) {
  .support-page .support-form-card { padding: 24px 18px; }
  #wpforms-948 ul.wpforms-icon-choices { grid-template-columns: 1fr; }
  #wpforms-948 ul.wpforms-image-choices { grid-template-columns: 1fr; }
  #wpforms-948 .wpforms-field-small,
  #wpforms-948 .wpforms-field-medium { max-width: 100%; }
  .bfv-help[open] { padding: 26px 20px; }
}
