/* Formulario de contacto — JLM Comunicación */
.jlm-form-caja{--acento:#111;position:relative;background:#fff;border:1px solid #e6e6e6;border-radius:18px;box-shadow:0 18px 40px -28px rgba(0,0,0,.35);padding:clamp(20px,4vw,34px);text-align:left;font-family:"Montserrat",system-ui,sans-serif;color:#111}
.jlm-form__intro{margin:0 0 18px;color:#555;font-size:15px;line-height:1.55}
.jlm-form__rejilla{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
@media (max-width:640px){.jlm-form__rejilla{grid-template-columns:1fr}}
.jlm-form__campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.jlm-form__campo--ancho{grid-column:1/-1}
.jlm-form__campo label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#333}
.jlm-form__campo label small{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;color:#999}
.jlm-form__control{position:relative}
.jlm-form__control svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#9a9a9a;pointer-events:none;transition:color .2s}
.jlm-form__control--area svg{top:15px;transform:none}
.jlm-form input[type=text],.jlm-form input[type=email],.jlm-form input[type=tel],.jlm-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;color:#111;background:#f6f6f6;border:1.5px solid transparent;border-radius:12px;padding:13px 14px 13px 44px;margin:0;outline:none;box-shadow:none;transition:border-color .2s,background .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.jlm-form textarea{min-height:140px;resize:vertical;line-height:1.55}
.jlm-form input::placeholder,.jlm-form textarea::placeholder{color:#a6a6a6}
.jlm-form input:focus,.jlm-form textarea:focus{background:#fff;border-color:var(--acento);box-shadow:0 0 0 4px color-mix(in srgb,var(--acento) 16%,transparent)}
.jlm-form__control:focus-within svg{color:var(--acento)}
.jlm-form .es-error input,.jlm-form .es-error textarea{border-color:#c0392b;background:#fff}
.jlm-form__error{font-size:12.5px;color:#c0392b}
.jlm-form__pie-campo{display:flex;justify-content:space-between;gap:10px}
.jlm-form__contador{font-size:12px;color:#aaa;margin-left:auto;white-space:nowrap}
.jlm-form__acepto{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:13.5px;color:#444;line-height:1.5;cursor:pointer}
.jlm-form__acepto input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--acento);cursor:pointer}
.jlm-form__acepto a{color:var(--acento);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.jlm-form__acepto.es-error{color:#c0392b}
.jlm-form__legal{margin:6px 0 0 28px;font-size:12px;line-height:1.45;color:#8a8a8a}
.jlm-form__acciones{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-top:22px}
.jlm-form__enviar{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:15px;font-weight:700;color:#fff;background:var(--acento);border:0;border-radius:12px;padding:14px 26px;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s}
.jlm-form__enviar:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px var(--acento)}
.jlm-form__enviar:focus-visible{outline:3px solid color-mix(in srgb,var(--acento) 40%,transparent);outline-offset:2px}
.jlm-form__enviar:disabled{opacity:.7;cursor:progress;transform:none}
.jlm-form__enviar svg{width:18px;height:18px}
@media (max-width:640px){.jlm-form__enviar{width:100%}}
.jlm-form__spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:jlm-giro .7s linear infinite}
.jlm-form.enviando .jlm-form__spinner{display:inline-block}
.jlm-form.enviando .jlm-form__flecha{display:none}
@keyframes jlm-giro{to{transform:rotate(360deg)}}
.jlm-form__estado{flex:1 1 220px;font-size:14px;line-height:1.5}
.jlm-form__estado.es-error{color:#c0392b}
.jlm-form__estado.es-aviso{color:#a15c00}
.jlm-form__estado a{color:inherit;font-weight:700}
.jlm-form__trampa{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.jlm-form__exito{display:none;text-align:center;padding:26px 8px;outline:none}
.jlm-form-caja.enviado .jlm-form{display:none}
.jlm-form-caja.enviado .jlm-form__exito{display:block}
.jlm-form__exito-ico{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--acento) 14%,#fff);color:var(--acento)}
.jlm-form__exito-ico svg{width:30px;height:30px}
.jlm-form__exito h3{margin:0 0 6px;font-size:22px;font-weight:700;color:#111}
.jlm-form__exito p{margin:0 0 18px;color:#555;font-size:15px;line-height:1.55}
.jlm-form__otro{font:inherit;font-size:14px;font-weight:600;color:var(--acento);background:none;border:1.5px solid currentColor;border-radius:10px;padding:10px 18px;cursor:pointer}
