/* DriveSolution – Skin für Elementor-Pro-Formulare (dunkles Design).
   Global geladen, damit jedes Pro-Formular automatisch passt. Nutzt die :root-Variablen aus ds-ui.css. */

.elementor-form{font-family:"Outfit",system-ui,sans-serif}
.elementor-form .elementor-field-group{margin-bottom:2px}
.elementor-form .elementor-field-group > label,
.elementor-form .elementor-field-label{
  font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ds-muted);margin-bottom:.5rem}

/* Eingabefelder / Select / Textarea */
/* NUR echte Textfelder als Box stylen (NICHT .elementor-field generisch – das trifft auch
   Checkbox & Select-Wrapper und macht daraus fälschlich 52px-Boxen). */
.elementor-form .elementor-field-textual{
  background-color:var(--ds-surface)!important;
  background-image:none;
  border:1.5px solid var(--ds-border-2)!important;
  color:var(--ds-text)!important;
  border-radius:8px;
  padding:.95rem 1.05rem;
  font-family:"Outfit",system-ui,sans-serif;font-size:1rem;line-height:1.4;
  transition:border-color .2s,background-color .2s,box-shadow .2s;
  min-height:52px}
.elementor-form textarea.elementor-field{min-height:130px}
.elementor-form .elementor-field-textual:focus,
.elementor-form select.elementor-field:focus,
.elementor-form textarea.elementor-field:focus{
  border-color:var(--ds-accent)!important;
  background-color:#191920!important;
  outline:none;
  box-shadow:0 0 0 3px rgba(225,29,42,.15)}
.elementor-form .elementor-field-textual::placeholder,
.elementor-form textarea::placeholder{color:var(--ds-faint);opacity:1}
/* SELECT: Elementor umschließt das <select> mit .elementor-select-wrapper (hat auch .elementor-field
   -> bekäme sonst einen ZWEITEN Rahmen). Wrapper daher neutral machen, nur das <select> ist das Feld. */
.elementor-form .elementor-select-wrapper.elementor-field{
  background:transparent!important;border:none!important;padding:0!important;min-height:0!important;position:relative}
.elementor-form .elementor-select-wrapper select{
  width:100%;
  appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;
  background-color:var(--ds-surface)!important;background-image:none!important;
  border:1.5px solid var(--ds-border-2)!important;color:var(--ds-text)!important;border-radius:8px;
  min-height:52px;padding:.95rem 2.8rem .95rem 1.05rem!important}
.elementor-form .elementor-select-wrapper select:focus{border-color:var(--ds-accent)!important;background-color:#191920!important;outline:none}
.elementor-form .elementor-select-wrapper select::-ms-expand{display:none}
/* Elementors eigener Pfeil: rechts positionieren + einfärben, keine Doppelung */
.elementor-form .select-caret-down-wrapper{position:absolute;top:0;right:1.05rem;bottom:0;display:flex;align-items:center;pointer-events:none;margin:0}
.elementor-form .select-caret-down-wrapper svg{width:.85rem;height:.85rem;fill:var(--ds-muted)}

/* DSGVO-Acceptance: Häkchen LINKS, Text RECHTS, in einer Zeile.
   Markup: .elementor-field-subgroup > span.elementor-field-option > input + label */
.elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.elementor-field-type-acceptance .elementor-field-option{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start;gap:.6rem}
.elementor-field-type-acceptance .elementor-field-option input[type="checkbox"],
.elementor-field-type-acceptance .elementor-acceptance-field{
  flex:0 0 auto!important;order:0!important;
  width:19px!important;height:19px!important;min-width:0!important;min-height:0!important;
  margin:2px 0 0 0!important;padding:0!important;
  accent-color:var(--ds-accent);cursor:pointer;appearance:auto!important;-webkit-appearance:checkbox!important}
.elementor-field-type-acceptance .elementor-field-option label{
  order:1!important;flex:1 1 auto!important;margin:0!important;
  color:var(--ds-muted);font-family:"Outfit",system-ui,sans-serif;font-weight:400;
  text-transform:none;letter-spacing:0;font-size:.95rem;line-height:1.5;cursor:pointer}
.elementor-field-type-acceptance a{color:#fff!important;text-decoration:underline;text-underline-offset:2px;transition:color .2s}
.elementor-field-type-acceptance a:hover{color:var(--ds-accent)!important}

/* Submit-Button (nutzt Look der .ds-btn--primary).
   !important, damit der Elementor-Kit-Standard (grün/blau) sicher überschrieben wird. */
.elementor-form .elementor-button,
.elementor-form button[type="submit"],
.elementor-widget-form .elementor-button[type="submit"]{
  background-color:var(--ds-accent)!important;
  background-image:none!important;
  color:#fff!important;border:none!important;
  font-family:"Archivo",sans-serif!important;font-weight:700;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase;
  border-radius:8px;padding:1rem 1.8rem;min-height:52px;cursor:pointer;
  transition:transform .18s cubic-bezier(.16,1,.3,1),background-color .2s}
.elementor-form .elementor-button:hover,
.elementor-widget-form .elementor-button[type="submit"]:hover{background-color:var(--ds-accent-h)!important;transform:translateY(-2px)}

/* Meldungen */
.elementor-message.elementor-message-success{color:#7Ce08a}
.elementor-message.elementor-message-danger{color:var(--ds-accent)}
.elementor-form .elementor-field-required .elementor-field-label:after{color:var(--ds-accent)}
