/* ==========================================================================
   Formulario de contacto para landings (body.page-landing).
   Mismo contrato que el de /agrobot (POST /api/lead via /js/lead-form.js),
   con los tokens del sitio: una escala de espaciado (--sp-*), un radio
   (--r-md) y los botones globales .btn. Primera página que lo usa:
   /municipios/costos-whatsapp.
   ========================================================================== */
body.page-landing .ld-signup-section { background: var(--c-panel); }
body.page-landing .ld-signup { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--sp-8); align-items: start; }
body.page-landing .ld-signup .ld-h2 { margin-top: var(--sp-5); }
body.page-landing .ld-signup .ld-lead { margin-top: var(--sp-5); }
body.page-landing .ld-signup .ld-list { margin-top: var(--sp-6); }
body.page-landing .ld-form { padding: var(--sp-7); border-radius: var(--r-md); background: var(--c-white); border: 1px solid var(--c-line); }
body.page-landing .ld-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
body.page-landing .ld-field { display: flex; flex-direction: column; gap: var(--sp-2); font-family: var(--f-dm); font-size: 14px; font-weight: 500; color: var(--c-ink); }
body.page-landing .ld-field em { font-style: normal; font-weight: 400; color: var(--c-grey-mid); }
body.page-landing .ld-field--full { grid-column: 1 / -1; }
body.page-landing .ld-field input, body.page-landing .ld-field select, body.page-landing .ld-field textarea { width: 100%; padding: 12px 14px; border-radius: var(--r-sm); border: 1px solid var(--c-line); background: var(--c-bg); font-family: var(--f-dm); font-size: 16px; line-height: 1.4; color: var(--c-ink); appearance: none; -webkit-appearance: none; }
body.page-landing .ld-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 40px; }
body.page-landing .ld-field textarea { resize: vertical; min-height: 92px; }
body.page-landing .ld-field input:focus, body.page-landing .ld-field select:focus, body.page-landing .ld-field textarea:focus { outline: 2px solid var(--c-green); outline-offset: 1px; border-color: var(--c-green); }
body.page-landing .ld-field [aria-invalid="true"] { border-color: #c4312e; }
body.page-landing .ld-check { display: grid; grid-template-columns: 20px 1fr; gap: var(--sp-3); align-items: start; font-family: var(--f-dm); font-size: 14px; line-height: 1.45; color: var(--c-text); }
body.page-landing .ld-check input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--c-purple); }
body.page-landing .ld-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.page-landing .ld-form__err { margin-top: var(--sp-4); padding: 12px 14px; border-radius: var(--r-sm); background: #fff1f0; border: 1px solid rgba(196, 49, 46, 0.4); color: #8a1f1d; font-family: var(--f-dm); font-size: 14px; }
body.page-landing .ld-form__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-5); }
body.page-landing .ld-form__actions .btn { min-width: 0; }
body.page-landing .ld-form.is-sending .btn[type="submit"] { opacity: 0.6; pointer-events: none; }
body.page-landing .ld-form__ok { margin-top: var(--sp-5); padding: var(--sp-5) var(--sp-6); border-radius: var(--r-md); background: rgba(64, 254, 119, 0.14); border: 1px solid rgba(64, 254, 119, 0.8); font-family: var(--f-dm); font-size: 15px; line-height: 1.5; color: var(--c-text); display: grid; gap: var(--sp-3); justify-items: start; }
body.page-landing .ld-form__ok-t { font-weight: 700; font-size: 18px; letter-spacing: -0.02em; color: var(--c-ink); }
body.page-landing .ld-form.is-done .ld-form__grid, body.page-landing .ld-form.is-done .ld-form__actions { display: none; }
@media (max-width: 1199px) { body.page-landing .ld-signup { grid-template-columns: 1fr; gap: var(--sp-6); } }
@media (max-width: 767px) { body.page-landing .ld-form { padding: var(--sp-5) var(--sp-4); } body.page-landing .ld-form__grid { grid-template-columns: 1fr; } body.page-landing .ld-form__actions .btn { width: 100%; } }
