/* Los estilos principales del formulario ya están definidos en .ex-contacto de la página. */
.excm-form{position:relative;width:100%;}
.excm-form .ex-form-group{min-width:0;}
.excm-form .ex-form-group input,
.excm-form .ex-form-group select,
.excm-form .ex-form-group textarea{max-width:100%;}
.excm-form .ex-form-group label{display:block;}
.excm-form .ex-form-group select{cursor:pointer;}
.excm-form .excm-submit{width:100%;cursor:pointer;}
.excm-form .excm-submit:disabled{cursor:wait!important;opacity:.8;}
.excm-form .ex-contact-feedback{grid-column:1/-1;}
.excm-form .ex-contact-feedback[hidden]{display:none!important;}
.excm-form .excm-honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.excm-form .ex-contact-privacy-checkbox input{vertical-align:top;}
.excm-form .ex-form-help{font-size:12px;line-height:1.6;color:#64748b;}
.excm-form .ex-form-privacy p{margin:0 0 12px;}
.excm-form a{text-decoration:underline;text-underline-offset:2px;}
.excm-form .ex-contact-feedback{padding:15px;border-radius:10px;font-size:14px;}
.excm-form .ex-contact-feedback.is-success{background:#effaf2;border:1px solid #add9bc;color:#245a37;}
.excm-form .ex-contact-feedback.is-error{background:#fff5f5;border:1px solid #f0c6c6;color:#912f2f;}
@media(max-width:768px){.excm-form{grid-template-columns:1fr;}}
/* Diseño autónomo si se inserta el shortcode fuera de la página de contacto. */
.excm-form:not(.ex-contacto .excm-form){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.excm-form:not(.ex-contacto .excm-form) .ex-form-group{display:flex;flex-direction:column;gap:8px;}
.excm-form:not(.ex-contacto .excm-form) .ex-form-group input,
.excm-form:not(.ex-contacto .excm-form) .ex-form-group select,
.excm-form:not(.ex-contacto .excm-form) .ex-form-group textarea{width:100%;padding:13px 15px;border:1px solid #dbe1e8;border-radius:8px;background:#fff;color:#1e293b;font:inherit;}
.excm-form:not(.ex-contacto .excm-form) .ex-form-full{grid-column:1/-1;}
.excm-form:not(.ex-contacto .excm-form) .ex-form-privacy{padding:18px;border:1px solid #dce8f7;background:#f7faff;border-radius:10px;}
.excm-form:not(.ex-contacto .excm-form) .ex-contact-privacy-checkbox{display:flex;gap:10px;align-items:flex-start;}
.excm-form:not(.ex-contacto .excm-form) .excm-submit{padding:15px;border:0;border-radius:8px;background:#005EE9;color:#fff;font:inherit;font-weight:700;}
@media(max-width:768px){.excm-form:not(.ex-contacto .excm-form){grid-template-columns:1fr;}}

/* Estilos del bloque legal original disponibles también fuera de la página maquetada. */
.excm-form .ex-contact-privacy-header{display:flex;align-items:center;gap:12px;margin-bottom:15px;}
.excm-form .ex-contact-privacy-header strong{display:block;color:#123b6b;font-size:16px;line-height:1.4;}
.excm-form .ex-contact-privacy-header small{display:block;color:#637d9b;font-size:12px;}
.excm-form .ex-contact-privacy-symbol{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:11px;background:#dcecff;color:#005ee9;}
.excm-form .ex-contact-privacy-symbol svg{width:22px;height:22px;}
.excm-form .ex-contact-privacy-detail{font-size:13px;line-height:1.8;margin:0 0 16px;}
.excm-form .ex-contact-submit-hint{font-size:12.5px;line-height:1.7;color:#486079;background:#f4f8fd;padding:14px 16px;border-radius:9px;margin:14px 0 0;}
.excm-form .ex-contact-submit-hint a{color:#0046b5;font-weight:700;}


/* CTA de cita y animación de latido */
.excm-form .ex-contact-appointment-cta{margin-top:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;}
.excm-form .ex-contact-appointment-copy{display:block;color:#486079;font-size:13px;line-height:1.7;max-width:760px;}
.excm-form .ex-contact-pulse{position:relative;animation:excmPulse 1.8s ease-in-out infinite;box-shadow:0 10px 24px rgba(0,94,233,.22);}
.excm-form .ex-contact-pulse:hover,.excm-form .ex-contact-pulse:focus-visible{animation-play-state:paused;}
@keyframes excmPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,94,233,.35),0 10px 24px rgba(0,94,233,.22);}70%{transform:scale(1.02);box-shadow:0 0 0 14px rgba(0,94,233,0),0 14px 26px rgba(0,94,233,.18);}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,94,233,0),0 10px 24px rgba(0,94,233,.22);}}


/* Campo telefónico internacional y preferencia explícita de WhatsApp */
.excm-form .excm-phone-row{display:grid;grid-template-columns:minmax(190px, 1fr) minmax(0, 1.5fr);gap:12px;align-items:center;}
.excm-form .excm-phone-row .excm-country-code{width:100%;min-width:0;min-height:52px;}
.excm-form .excm-phone-row input{min-width:0;}
.excm-form .excm-whatsapp-optin{display:flex!important;gap:12px;align-items:flex-start;margin-top:12px;padding:14px 16px;border:1px solid #dbe7f5;border-radius:10px;background:#f5faff;color:#243c5b;font-size:13px;line-height:1.6;font-weight:600;cursor:pointer;}
.excm-form .excm-whatsapp-optin input[type=checkbox]{appearance:auto!important;flex:0 0 19px!important;width:19px!important;height:19px!important;min-height:0!important;margin:1px 0 0!important;accent-color:#005ee9;}
.excm-form .excm-phone-group > .ex-form-help{display:block;margin-top:8px;}
@media(max-width:560px){.excm-form .excm-phone-row{grid-template-columns:1fr;gap:10px;}}

.excm-form .excm-whatsapp-optin input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed;}
