/* ============================================================   StruGa Energy Form Pro — form.css   Farbpalette: #002D72 (Primär) | #BFA15F (Akzent/Gold)                #3a9e3f (Grün)   | #1A1A1A (Text)   ============================================================ */:root {  --sefp-primary:    #002D72;  --sefp-primary-lt: #e8edf7;  --sefp-gold:       #BFA15F;  --sefp-green:      #3a9e3f;  --sefp-text:       #1A1A1A;  --sefp-muted:      #6b7280;  --sefp-border:     #d1d5db;  --sefp-bg:         #f5f7fc;  --sefp-white:      #ffffff;  --sefp-radius:     10px;  --sefp-shadow:     0 2px 12px rgba(0,45,114,.10);}/* ── Wrapper ───────────────────────────────────────────── */#sefp_root {  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;  font-size: 15px;  color: var(--sefp-text);  max-width: 860px;  margin: 0 auto;}#sefp_root .sefp-build {  font-size: .78rem;  color: var(--sefp-muted);  margin-bottom: 1.2rem;  letter-spacing: .02em;}/* ── Fieldset / Card ───────────────────────────────────── */#sefp_root .sefp-fieldset {  border: none;  background: var(--sefp-white);  border-radius: 14px;  box-shadow: var(--sefp-shadow);  padding: 0;  margin: 0 0 20px 0;  overflow: hidden;}#sefp_root .sefp-fieldset > legend {  display: block;  width: 100%;  background: var(--sefp-primary);  color: var(--sefp-white);  font-size: .92rem;  font-weight: 700;  letter-spacing: .06em;  text-transform: uppercase;  padding: 11px 20px;  margin: 0;  border-radius: 0;  /* Legend trick: legend doesn't stretch in some browsers — use this: */  float: left;  box-sizing: border-box;}/* Clear float after legend */#sefp_root .sefp-fieldset > legend + * {  clear: both;}/* Inner padding container */#sefp_root .sefp-fieldset .sefp-grid,#sefp_root .sefp-fieldset > .sefp-check,#sefp_root .sefp-fieldset > div {  padding: 18px 20px;}/* Subheadings inside fieldset (Abschluss Strom/Gas) */#sefp_root .sefp-fieldset .sefp-subhead {  padding: 12px 20px 4px;  font-size: .85rem;  font-weight: 700;  color: var(--sefp-primary);  letter-spacing: .04em;  text-transform: uppercase;  border-top: 1px solid var(--sefp-primary-lt);  margin: 0;}#sefp_root .sefp-fieldset .sefp-subhead:first-child {  border-top: none;}/* ── Grid ──────────────────────────────────────────────── */#sefp_root .sefp-grid {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: 14px;}@media (max-width: 640px) {  #sefp_root .sefp-grid { grid-template-columns: 1fr; }}/* ── Field Label ───────────────────────────────────────── */#sefp_root .sefp-field {  display: flex;  flex-direction: column;  gap: 5px;}#sefp_root .sefp-field > span {  font-size: .82rem;  font-weight: 600;  color: var(--sefp-primary);  letter-spacing: .01em;}/* ── Inputs ────────────────────────────────────────────── */#sefp_root input[type=text],#sefp_root input[type=email],#sefp_root input[type=tel],#sefp_root input[type=date],#sefp_root input[type=number],#sefp_root select,#sefp_root textarea,#sefp_root input[type=file] {  width: 100%;  padding: 10px 14px;  border: 1.5px solid var(--sefp-border);  border-radius: var(--sefp-radius);  background: var(--sefp-bg);  color: var(--sefp-text);  font-size: .93rem;  font-family: inherit;  outline: none;  transition: border-color .18s, box-shadow .18s, background .18s;  box-sizing: border-box;  appearance: none;  -webkit-appearance: none;}#sefp_root select {  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23002D72' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");  background-repeat: no-repeat;  background-position: right 14px center;  padding-right: 36px;}#sefp_root input:focus,#sefp_root select:focus,#sefp_root textarea:focus {  border-color: var(--sefp-primary);  background: var(--sefp-white);  box-shadow: 0 0 0 3px rgba(0,45,114,.12);}#sefp_root input:hover,#sefp_root select:hover,#sefp_root textarea:hover {  border-color: #9ca3af;}#sefp_root select:invalid,#sefp_root option[disabled][selected] {  color: var(--sefp-muted);}#sefp_root textarea {  resize: vertical;  min-height: 80px;}#sefp_root input[type=file] {  padding: 8px 12px;  cursor: pointer;  font-size: .85rem;}/* ── Checkbox / Datenschutz ────────────────────────────── */#sefp_root .sefp-check {  display: flex;  gap: 12px;  align-items: flex-start;  padding: 18px 20px;}#sefp_root .sefp-check input[type=checkbox] {  width: 18px;  height: 18px;  min-width: 18px;  margin-top: 2px;  accent-color: var(--sefp-primary);  cursor: pointer;  border: none;  background: none;  padding: 0;  box-shadow: none;}#sefp_root .sefp-check label {  font-size: .88rem;  color: var(--sefp-muted);  line-height: 1.5;  cursor: pointer;}#sefp_root .sefp-check label a {  color: var(--sefp-primary);  text-decoration: underline;}/* ── Submit Button ─────────────────────────────────────── */#sefp_root .sefp-actions {  display: flex;  flex-direction: column;  gap: 10px;  margin-top: 4px;}#sefp_root .sefp-btn {  background: linear-gradient(135deg, var(--sefp-green) 0%, #2d7e32 100%);  color: #fff;  border: none;  padding: 14px 28px;  border-radius: 50px;  font-size: 1rem;  font-weight: 700;  letter-spacing: .04em;  cursor: pointer;  box-shadow: 0 4px 14px rgba(58,158,63,.35);  transition: filter .18s, transform .15s, box-shadow .18s;  align-self: flex-start;}#sefp_root .sefp-btn:hover {  filter: brightness(1.08);  transform: translateY(-1px);  box-shadow: 0 6px 18px rgba(58,158,63,.45);}#sefp_root .sefp-btn:active {  transform: translateY(0);  filter: brightness(.97);}/* ── Result Message ────────────────────────────────────── */#sefp_root .sefp-result {  min-height: 22px;  font-size: .93rem;  font-weight: 500;  padding: 4px 0;}/* ── Gold Akzent-Linie unter Fieldset-Legend ───────────── */#sefp_root .sefp-fieldset > legend::after {  content: '';  display: block;  height: 3px;  background: var(--sefp-gold);  border-radius: 2px;  margin-top: 8px;  width: 36px;}/* ── Utility ───────────────────────────────────────────── */#sefp_root .sefp-hidden { display: none !important; }#sefp_root .sefp-hp {  position: absolute;  left: -10000px;  top: auto;  width: 1px;  height: 1px;  overflow: hidden;}/* Versteckt den technischen Header über dem ersten Fieldset */#sefp_root > div:first-of-type {    display: none !important;}/* Falls das oben nicht greift, versuchen wir diesen Selektor */.sefp-build + div {    display: none !important;}#sefp_root > div:first-of-type {    background: transparent !important;    color: #6b7280 !important;    font-size: 11px !important;    border: none !important;    padding: 0 0 10px 0 !important;    text-align: right !important;}