/* ================================================================
   Med Energy Report — Promo contact form [mer_promo_contact]
   ================================================================ */

.mer-promo-wrap { max-width: 680px; }

/* Header */
.mer-promo-title { font-size: 2rem; font-weight: 700; line-height: 1.2; margin: 0 0 20px; }
.mer-promo-lead { font-size: 1.05rem; line-height: 1.7; color: #374151; margin-bottom: 40px; max-width: 620px; }
.mer-promo-disclaimer { font-size: 0.78rem; color: #9ca3af; line-height: 1.5; margin-bottom: 16px; }
.mer-promo-trust { font-size: 0.85rem; color: #6b7280; margin: 36px 0 12px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

/* Beratungstermin gate */
.mer-promo-eligible { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; border-radius: 8px; padding: 14px 18px; margin-bottom: 24px; font-size: 0.95rem; gap: 10px; align-items: flex-start; }
.mer-promo-blocked  { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; border-radius: 8px; padding: 14px 18px; margin-bottom: 24px; font-size: 0.95rem; gap: 10px; align-items: flex-start; }

/* After submit note */
.mer-promo-after-submit { font-size: 0.85rem; color: #6b7280; margin-top: 12px; }

/* Teilnahmebedingungen */
.mer-promo-conditions { margin-bottom: 40px; background: #fff; border-radius: 10px; padding: 18px 22px; }
.mer-promo-conditions-title { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: #9ca3af; margin: 0 0 10px; }
.mer-promo-conditions-list { margin: 0; padding-left: 16px; }
.mer-promo-conditions-list li { font-size: 0.82rem; color: #9ca3af; line-height: 1.6; margin-bottom: 5px; }
.mer-promo-conditions-list li:last-child { margin-bottom: 0; }

/* Interesse */
.mer-promo-fieldset { border: none; padding: 0; margin: 0 0 30px; }
.mer-promo-legend { font-size: 0.9rem; font-weight: 600; color: #374151; margin-bottom: 16px; }
.mer-promo-checkrow { display: flex; flex-direction: column; gap: 12px; }
.mer-promo-checkrow .mer-promo-check { font-size: 1rem; gap: 10px; align-items: center; }
.mer-promo-checkrow .mer-promo-check input[type="radio"],
.mer-promo-checkrow .mer-promo-check input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; margin: 0; accent-color: #6366f1; }

/* Form grid — 2-column with label above each input */
.mer-promo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 32px; }
.mer-promo-field { display: flex; flex-direction: column; gap: 7px; }
.mer-promo-field--full { grid-column: 1 / -1; }
.mer-promo-field--plz input { max-width: 120px; }
.mer-promo-field label { font-size: 0.85rem; font-weight: 600; color: #374151; }
.mer-promo-field label span[aria-hidden] { color: #dc3545; font-weight: 400; }
.mer-promo-field input { height: 46px; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px; box-sizing: border-box; width: 100%; background: #fff; font-size: 0.95rem; color: #111827; }
.mer-promo-field input:focus { outline: none; border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,0.12); }

/* Consents */
.mer-promo-consents { display: flex; flex-direction: column; gap: 16px; margin: 44px 0 8px; padding: 22px 26px; background: #fff; border-radius: 10px; border: 1px solid #e5e7eb; }
.mer-promo-check { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 0.9rem; line-height: 1.55; color: #374151; }
.mer-promo-check input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #6366f1; width: 16px; height: 16px; }
.mer-promo-check span[aria-hidden] { color: #dc3545; }
.mer-promo-required-note { font-size: 0.78rem; color: #9ca3af; margin: 14px 0 36px; }

/* Submit */
.mer-promo-nav { display: flex; }
.mer-promo-nav .btn { padding: 13px 32px; font-size: 1rem; }

/* Feedback */
.mer-promo-feedback { font-size: 0.9rem; margin-bottom: 16px; min-height: 0; }
.mer-promo-feedback--error { background: #fef2f2; border: 1px solid #fecaca; padding: 14px 18px; border-radius: 8px; color: #dc3545; }
.mer-promo-feedback--error ul { margin: 0; padding-left: 18px; }
.mer-promo-feedback--error li { margin: 3px 0; }
.mer-promo-honey { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
.mer-promo-success { display: flex; gap: 16px; align-items: flex-start; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 24px 28px; color: #15803d; font-size: 1rem; line-height: 1.7; }
.mer-promo-success i { font-size: 1.5rem; margin-top: 2px; flex-shrink: 0; }
.mer-promo-success strong { display: block; font-size: 1.15rem; margin-bottom: 4px; }
.mer-promo-success p { margin: 0; color: #166534; }

@media (max-width: 640px) {
  .mer-promo-title { font-size: 1.5rem; }
  .mer-promo-grid { grid-template-columns: 1fr; gap: 18px; }
  .mer-promo-field--full { grid-column: 1; }
}
