.lead-form .lead-section { min-width: 0; margin: 1.7rem 0; padding: 1.5rem 0 0; border: 0; border-top: 1px solid rgba(255,255,255,.22); }
.lead-form .lead-section > legend { padding: 0 .7rem 0 0; color: #fff; font-weight: 700; font-size: 1.15rem; }
.lead-form .lead-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.lead-form .lead-form__grid > * { min-width: 0; }
.lead-form .lead-span { grid-column: 1 / -1; }
.lead-form .lead-help { color: #d3e4e7; font-size: .88rem; line-height: 1.55; margin: .75rem 0 1rem; }
.lead-form .lead-conditional { min-width: 0; border: 0; padding: 0; margin: 1rem 0; }
.lead-form [hidden] { display: none !important; }
.lead-form .lead-check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.lead-form label.lead-check { display: flex; align-items: flex-start; gap: .65rem; padding: .65rem; color: #edf7f8; font-size: .88rem; line-height: 1.5; letter-spacing: 0; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); border-radius: .5rem; }
.lead-form .lead-check input[type=checkbox] { appearance: auto; width: 20px; height: 20px; min-height: 20px; padding: 0; flex: 0 0 20px; margin-top: 1px; accent-color: #69d1d5; }
.lead-form .lead-subsection { background: rgba(0,0,0,.12); border: 1px solid rgba(255,255,255,.16); border-radius: .75rem; padding: 1rem; margin-top: 1.2rem; }
.lead-form .lead-subsection > legend { padding: 0 .5rem; font-weight: 700; color: #fff; }
.lead-form .lead-pool-diagram { display: block; width: 100%; max-width: 360px; height: auto; margin: .75rem auto; overflow: visible; }
.lead-form .lead-pool-diagram text { fill: #edf8f9; font: 600 14px system-ui,sans-serif; }
.lead-form .lead-pool-diagram .diagram-water { fill: #16424b; font-size: 17px; }
.lead-form .lead-jacuzzi-choice { margin-top: 1.25rem; }
.lead-form select { white-space: normal; font-size: .92rem; }
.lead-form input.is-invalid, .lead-form select.is-invalid, .lead-form textarea.is-invalid { border: 2px solid #ff6b61 !important; outline: 3px solid rgba(255,107,97,.28); background-color: rgba(255,107,97,.10); }
.lead-form label.has-invalid { color: #ffd1cc; }
.lead-form label.has-invalid::after { content: 'Revisa este campo'; display: block; color: #ffb4ac; font-size: .82rem; margin-top: .3rem; }
.lead-form input[type=checkbox].is-invalid { outline: 3px solid rgba(255,107,97,.55); accent-color: #ff6b61; }
.lead-form .lead-form__grid textarea { height: auto; min-height: 100px; }
.lead-form .lead-form__grid input, .lead-form .lead-form__grid select, .lead-form .lead-form__grid textarea { max-width: 100%; }
@media(max-width: 640px) {
  .lead-form .lead-form__grid, .lead-form .lead-check-grid { grid-template-columns: minmax(0,1fr); }
  .lead-form .lead-span { grid-column: auto; }
  .lead-form .lead-subsection { padding: .85rem; }
  .lead-form select { font-size: .85rem; padding-left: .65rem; padding-right: .65rem; }
}
