/* ==========================================================================
   Levarix Kontaktformular – Style
   ========================================================================== */

:root{
  --lvx-card:#0f2230; --lvx-input:#0c1b28; --lvx-fg:#e9f0f5;
  --lvx-muted:#98a7b3; --lvx-accent:#35a600; --lvx-danger:#ff5a5f; --lvx-success:#8ff58f;
  --lvx-radius:16px; --lvx-radius-sm:12px; --lvx-shadow:0 10px 30px rgba(0,0,0,.35);
}

.lvx-cf{
  background:var(--lvx-card); color:var(--lvx-fg);
  border-radius:var(--lvx-radius); box-shadow:var(--lvx-shadow);
  padding:clamp(18px,3.2vw,28px); max-width:820px; margin:24px auto;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
}

.lvx-cf .lvx-cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:720px){ .lvx-cf .lvx-cf-row{ grid-template-columns:1fr; } }

.lvx-cf label{ display:block; font-size:14px; color:var(--lvx-muted); letter-spacing:.2px; margin:0 0 6px; }

.lvx-cf input[type=text],
.lvx-cf input[type=email],
.lvx-cf input[type=tel],
.lvx-cf textarea{
  width:100%; box-sizing:border-box; background:var(--lvx-input); color:var(--lvx-fg);
  border:1px solid rgba(255,255,255,.08); border-radius:var(--lvx-radius-sm);
  padding:13px 14px; font-size:16px; line-height:1.2; outline:none;
  transition:border .2s ease, box-shadow .2s ease, background .2s ease;
}
.lvx-cf ::placeholder{ color:rgba(233,240,245,.55); }

.lvx-cf input:focus, .lvx-cf textarea:focus{
  border-color:rgba(53,166,0,.75); box-shadow:0 0 0 3px rgba(53,166,0,.25);
}
.lvx-cf textarea{ min-height:120px; resize:vertical; }
.lvx-cf .lvx-cf-field{ margin-bottom:14px; }

.lvx-cf .g-recaptcha{ margin:10px 0 4px; transform-origin:left; }

/* Button */
.lvx-cf .lvx-cf-btn{
  appearance:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--lvx-accent); color:#052200; border:none; border-radius:999px;
  padding:14px 22px; font-weight:800; font-size:16px; letter-spacing:.2px; margin-top:12px;
  transition:transform .06s ease, filter .2s ease, box-shadow .2s ease;
  box-shadow:0 6px 16px rgba(53,166,0,.25);
}
.lvx-cf .lvx-cf-btn:hover{ filter:brightness(1.05); box-shadow:0 10px 22px rgba(53,166,0,.32); }
.lvx-cf .lvx-cf-btn:active{ transform:translateY(1px); }
.lvx-cf .lvx-cf-btn:disabled{ opacity:.65; filter:grayscale(1); cursor:not-allowed; box-shadow:none; }

/* Status */
.lvx-cf .lvx-cf-status{ margin-top:10px; font-size:14px; min-height:20px; }
.lvx-cf .lvx-cf-status.error{ color:var(--lvx-danger); }
.lvx-cf .lvx-cf-status.success{ color:var(--lvx-success); }

/* Honeypot unsichtbar */
.lvx-cf .lvx-cf-hp{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
label[for="lvx_hp"]{ display:none; }

/* Required Stern grün */
.lvx-cf .req{ color:var(--lvx-accent); font-weight:700; }
