/* =============================================================================
   QRTasse × WPForms – Global CI Styles (v6, vollständig)
   – Telefonfeld-Fix: Rahmen/Rundung auf dem Wrapper (.iti) → nichts clippt
   – Labels CI-fest (var(--ink))
   – MASSIVER CI-Divider
   – Checkbox ohne Bullet, größer, Label zentriert
   – Dropdown-Pfeil fix, Felder höher, HTML/Content vollbreit
   ========================================================================== */

/* ---------- Baseline ---------- */
.wpforms-container *,
.wpforms-container *::before,
.wpforms-container *::after { box-sizing: border-box; }

.wpforms-container {
  --field-gap: var(--space-4);
  --row-gap: var(--space-4);
  --col-gap: 16px;

  --field-pad-y: 14px;
  --field-pad-x: 16px;
  --field-radius: var(--r-m);
  --field-border: 1px solid rgba(0,0,0,.12);
  --field-bg: #fff;
  --field-color: var(--ink);
  --field-placeholder: #9aa0a6;
  --focus-ring: 0 0 0 3px rgba(201,165,72,.25);
  --error: #b00020;
  --success: #126b3f;
}

.wpforms-form { margin:0; padding:0; background:transparent; }

/* ---------- Einheitliche Feldabstände ---------- */
.wpforms-field { margin-bottom: var(--field-gap) !important; }
.wpforms-field:last-child { margin-bottom: var(--field-gap) !important; }

/* ---------- Labels & Descriptions (CI-konform) ---------- */
.wpforms-field-label{
  display:inline-flex; align-items:center; gap:.35em;
  font-weight:700; color:var(--ink);
  margin:0 0 var(--space-2); line-height:1.25; letter-spacing:.01em;
}
.wpforms-required-label,
.wpforms-field-label .wpforms-required-label{ color:var(--gold); margin-left:.25em; }

.wpforms-field-description,
.wpforms-field-sublabel{
  color:var(--muted);
  font-size:.92rem; line-height:1.45;
  margin-top:.25rem;
}

/* ---------- Inputs ---------- */
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="url"],
.wpforms-field input[type="tel"],
.wpforms-field input[type="number"],
.wpforms-field input[type="password"],
.wpforms-field input[type="search"],
.wpforms-field input[type="date"],
.wpforms-field input[type="time"],
.wpforms-field select,
.wpforms-field textarea{
  width:100%; appearance:none; -webkit-appearance:none;
  background:var(--field-bg); color:var(--field-color);
  border:var(--field-border); border-radius:var(--field-radius);
  padding: var(--field-pad-y) var(--field-pad-x);
  line-height:1.4; box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
  transition: box-shadow .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease);
  min-height: 46px;
}
.wpforms-field textarea{ min-height:140px; resize:vertical; }
.wpforms-field ::placeholder{ color:var(--field-placeholder); opacity:1; }
.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus{
  outline:none; border-color:var(--gold-700); box-shadow:var(--focus-ring); background:#fff;
}
.wpforms-field input[type="number"]::-webkit-outer-spin-button,
.wpforms-field input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.wpforms-field input[type="number"]{ -moz-appearance:textfield; }

/* ---------- Dropdown-Pfeil (robust via SVG) ---------- */
.wpforms-field select{
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666a73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position: right 14px center;
  background-size: 14px 14px;
  padding-right: 42px;
}

/* ---------- Fehler ---------- */
.wpforms-error,
.wpforms-field .wpforms-error{ color:var(--error); font-size:.92rem; margin-top:.35rem; }
.wpforms-error input,
.wpforms-error select,
.wpforms-error textarea,
.wpforms-has-error input,
.wpforms-has-error select,
.wpforms-has-error textarea{
  border-color:var(--error) !important;
  box-shadow:0 0 0 3px rgba(176,0,32,.12) !important;
}

/* ---------- Bestätigungen ---------- */
.wpforms-confirmation-container,
.wpforms-confirmation-container-full{
  background:#fff; color:var(--ink);
  border:1px solid rgba(0,0,0,.08); border-left:4px solid var(--gold);
  border-radius:var(--r-m); padding:1rem 1rem 1rem 1.2rem;
  box-shadow:var(--shadow-soft);
}

/* =============================================================================
   SPALTENREIHEN – konsistente Abstände + Wrapping
   ============================================================================= */
.wpforms-field-row{
  display:flex; flex-wrap:wrap;
  gap: var(--row-gap) var(--col-gap);
  margin:0;
}
.wpforms-field-row .wpforms-field{ margin:0 !important; padding:0; min-width:0; }
@media (max-width:768px){
  .wpforms-field-row .wpforms-field{
    flex:1 1 100% !important; width:100% !important; max-width:100% !important;
  }
}

/* Layout-Feld (Builder) */
.wpforms-field-layout .wpforms-layout-row{
  display:flex; flex-wrap:wrap;
  gap: var(--row-gap) var(--col-gap);
  margin:0;
}
.wpforms-field-layout .wpforms-layout-column{ min-width:0; }
@media (max-width:768px){
  .wpforms-field-layout .wpforms-layout-column{
    flex:1 1 100% !important; width:100% !important; max-width:100% !important;
  }
}

/* HTML/Content-Felder IMMER vollbreit */
.wpforms-field-html,
.wpforms-field-content{
  width:100% !important; max-width:100% !important; flex:0 0 100% !important;
}
.wpforms-field-row .wpforms-field-html,
.wpforms-field-row .wpforms-field-content{ flex-basis:100% !important; }

/* =============================================================================
   Abschnittsüberschriften & MASSIVER CI-Divider
   ============================================================================= */
.wpforms-field-section,
.wpforms-field-divider{
  border:0 !important; background:none !important;
  margin: var(--space-6) 0 var(--space-4) !important;
  padding:0 !important; position:relative;
}

.wpforms-field-section .wpforms-field-label,
.wpforms-field-divider .wpforms-field-label{
  display:block; font-size:clamp(1.22rem,1.9vw,1.38rem);
  font-weight:800; color:var(--ink);
  margin:0 0 10px; line-height:1.22;
  position:relative; padding-bottom:16px;
}

/* feine Hairline */
.wpforms-field-section .wpforms-field-label::before,
.wpforms-field-divider .wpforms-field-label::before{
  content:""; position:absolute; left:0; right:0; bottom:16px;
  height:1px; background:rgba(0,0,0,.09);
}

/* goldene Leiste (zentriert) */
.wpforms-field-section .wpforms-field-label::after,
.wpforms-field-divider .wpforms-field-label::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  bottom:0; height:10px; width: clamp(180px, 38%, 320px);
  border-radius:999px;
  background: linear-gradient(
    90deg,
    rgba(201,165,72,0.00) 0%,
    rgba(201,165,72,0.25) 7%,
    rgba(201,165,72,0.55) 30%,
    rgba(201,165,72,0.75) 50%,
    rgba(201,165,72,0.55) 70%,
    rgba(201,165,72,0.25) 93%,
    rgba(201,165,72,0.00) 100%
  );
  box-shadow: 0 4px 18px rgba(201,165,72,.25);
}

.wpforms-field-section .wpforms-field-description,
.wpforms-field-divider .wpforms-field-description{
  color:var(--muted); margin:12px 0 0;
}

/* =============================================================================
   Buttons
   ============================================================================= */
.wpforms-submit-container,
.wpforms-pagebreak-actions{
  display:flex; align-items:center; gap:.8rem;
  margin-top: var(--space-3); flex-wrap:wrap;
}
.wpforms-submit,
.wpforms-page-button,
.wpforms-page-next{
  width:auto !important; white-space:nowrap;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  padding:12px 18px; border-radius:14px; font-weight:600; font-size:1rem; line-height:1.2;
  transition:transform .15s var(--ease), filter .15s var(--ease), box-shadow .15s var(--ease);
  border:1px solid var(--gold-700);
  background:linear-gradient(180deg, var(--gold) 0%, var(--gold-500) 100%);
  color:#1c1a14; box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.wpforms-submit:hover,
.wpforms-page-button:hover,
.wpforms-page-next:hover{ transform:translateY(-1px); filter:saturate(105%); box-shadow:0 6px 18px rgba(0,0,0,.20); }
.wpforms-submit:active,
.wpforms-page-button:active,
.wpforms-page-next:active{ transform:translateY(0); box-shadow:0 3px 8px rgba(0,0,0,.15); }

.wpforms-page-prev,
.wpforms-submit-container .button-secondary{
  width:auto !important; white-space:nowrap;
  background:var(--black); color:var(--white);
  border:1px solid var(--black);
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  padding:12px 18px; border-radius:14px; font-weight:600; font-size:1rem; line-height:1.2;
  transition:transform .15s var(--ease), box-shadow .15s var(--ease);
}
.wpforms-page-prev:hover,
.wpforms-submit-container .button-secondary:hover{ background:#222; box-shadow:0 6px 18px rgba(0,0,0,.3); }
.wpforms-page-prev:active,
.wpforms-submit-container .button-secondary:active{ background:#000; box-shadow:0 3px 8px rgba(0,0,0,.2); }

/* =============================================================================
   GDPR / Checkbox – ohne Bullet, größer, Label zentriert
   ============================================================================= */
.wpforms-field fieldset{ border:0 !important; padding:0 !important; margin:0 !important; }
.wpforms-field legend{ padding:0; margin:0 0 var(--space-2); }

.wpforms-field-checkbox,
.wpforms-field-gdpr{
  background:transparent !important; border:0 !important; padding:0 !important;
  margin-top: var(--space-4) !important;
}

/* UL normalisieren + Bullet entfernen */
.wpforms-field-checkbox ul,
.wpforms-field-gdpr ul,
.wpforms-field fieldset ul{
  list-style:none !important; padding:0 !important; margin:0 !important;
}
.wpforms-field-checkbox ul li,
.wpforms-field-gdpr ul li{
  display:flex; align-items:center; gap:.8rem;  /* vertikal zentriert */
  margin:.25rem 0;
}
.wpforms-field-checkbox ul li::marker,
.wpforms-field-gdpr ul li::marker{ content:""; }

/* Große, abgerundete Checkbox (ohne Verzerren) */
.wpforms-field input[type="checkbox"]{
  -webkit-appearance:none; appearance:none;
  width:26px; height:26px; min-width:26px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.22);
  background:#fff;
  display:inline-block; position:relative; cursor:pointer;
  transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);
}
.wpforms-field input[type="checkbox"]:focus{ outline:none; box-shadow:var(--focus-ring); border-color: var(--gold-700); }
.wpforms-field input[type="checkbox"]:checked{
  border-color: var(--gold-700);
  background: var(--gold);
}
.wpforms-field input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:50%; top:50%;
  width:12px; height:7px; transform:translate(-50%,-55%) rotate(-45deg);
  border-left:2px solid #1c1a14; border-bottom:2px solid #1c1a14;
}
.wpforms-field .wpforms-field-label-inline{
  margin:0; line-height:1.35; color:var(--ink); font-weight:500;
}

/* =============================================================================
   intl-tel-input – EIN Rahmen/Rundung am Wrapper → nichts wird abgeschnitten
   ============================================================================= */
.iti{
  width:100%;
  display:flex; align-items:center;           /* gleiche Vertikalität */
  background:#fff;
  border: var(--field-border);                 /* EIN gemeinsamer Rahmen */
  border-radius: var(--field-radius);          /* komplette Rundung hier */
  min-height:46px;                             /* gleiche Höhe wie Inputs */
  overflow:hidden;                             /* saubere Rundung, nix clippt */
}

/* Flag-Container ohne eigenen Rand, nur Innenabstand */
.iti--allow-dropdown .iti__flag-container{
  position:static;                             /* verhindert Überlagerungen */
  height:100%;
  border:0;                                    /* eigener Rand weg */
  background:transparent;
  display:flex; align-items:center;
  padding-left:12px; padding-right:6px;
}

/* Das eigentliche Tel-Input ohne Rand, übernimmt Wrapper-Stile */
.iti input[type="tel"]{
  flex:1 1 auto;
  border:0 !important;                         /* kein zweiter Rand */
  border-radius:0 !important;                  /* Rundung am Wrapper */
  padding: 0 var(--field-pad-x) !important;    /* sauberer Innenabstand */
  min-height:46px !important;
  line-height:1.4;
}

/* Dropdown-Liste optisch passend */
.iti__country-list{
  border-radius: var(--r-s);
  box-shadow: var(--shadow-soft);
}

/* =============================================================================
   Freier Gold-Divider (optional, kompakt)
   ============================================================================= */
.wpforms-container .gold-divider{
  --divider-height: 64px;
  display:block; width:100%; height: var(--divider-height);
  margin: var(--space-4) 0;
  background: linear-gradient(
    to bottom,
    rgba(201,165,72,0) 0%,
    rgba(201,165,72,0.06) 25%,
    rgba(201,165,72,0.12) 50%,
    rgba(201,165,72,0.06) 75%,
    rgba(201,165,72,0) 100%
  );
  border-radius:6px; opacity:.75;
}

/* =============================================================================
   A11y & Druck
   ============================================================================= */
.wpforms-title, .wpforms-description{ margin-bottom: var(--space-3); }
.wpforms-field-html{ color: var(--ink); }
.wpforms-field input:focus-visible,
.wpforms-field select:focus-visible,
.wpforms-field textarea:focus-visible{ outline:none; box-shadow: var(--focus-ring); }

@media print{
  .wpforms-submit-container, .wpforms-pagebreak-actions{ display:none !important; }
  .wpforms-field{ break-inside: avoid; }
}
