#contact-dialog .contact-field-error { display:block; color:#ffb3b6; font-size:12px; line-height:1.4; margin-top:5px; }
#contact-dialog .contact-field-error[hidden] { display:none; }
#contact-dialog [aria-invalid="true"] { border-color:#ff777e; outline-color:#ff777e; }
#contact-dialog .send-contact:disabled { opacity:.65; cursor:wait; }

/* Institutional contact: compact panel, coherent fields, reachable actions. */
dialog#contact-dialog {width:460px;max-width:calc(100vw - 32px);padding:24px;max-height:calc(100dvh - 116px);overflow:hidden;box-sizing:border-box;border:1px solid #2e3b50;border-radius:22px;background:#101b2e;box-shadow:0 20px 70px #0008;}
#contact-dialog #contact-form {display:flex;flex-direction:column;max-height:calc(100dvh - 166px);min-height:0;}
#contact-dialog h2 {font-size:23px;line-height:1.15;letter-spacing:-.5px;margin:0 35px 20px 0;flex-shrink:0;}
#contact-dialog .close-contact {top:10px;right:10px;width:40px;height:40px;line-height:1;}
#contact-dialog .contact-fields-compact {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;overflow-y:auto;min-height:0;padding:2px 2px 4px;}
#contact-dialog .contact-fields-compact label {margin:0;min-width:0;font-size:12px;font-weight:500;line-height:1.3;color:#e9edf6;}
#contact-dialog .contact-fields-compact label[data-field="mensaje"] {grid-column:1 / -1;}
#contact-dialog label small {font-size:11px;color:#9caac0;}
#contact-dialog .contact-fields-compact input,#contact-dialog .contact-fields-compact textarea {box-sizing:border-box;width:100%;margin-top:7px;padding:11px 12px;font-family:inherit;font-size:16px;line-height:1.25;border:1px solid #344158;border-radius:10px;background:#172338;color:#fff;outline:none;transition:border-color .15s,background .15s;}
#contact-dialog .contact-fields-compact input {height:44px;}
#contact-dialog input::placeholder,#contact-dialog textarea::placeholder {color:#96a4bb;opacity:1;}
#contact-dialog .contact-fields-compact input:focus,#contact-dialog .contact-fields-compact textarea:focus {border-color:#ff535e;background:#1a2940;box-shadow:0 0 0 2px #ff535e1a;}
#contact-dialog .contact-fields-compact textarea {height:76px;min-height:64px;resize:vertical;}
#contact-dialog .contact-actions-compact {flex-shrink:0;padding-top:14px;}
#contact-dialog .email-note {font-size:12px;line-height:1.4;margin:0 0 8px;color:#c4cede;}
#contact-dialog .email-note:empty {display:none;}
#contact-dialog .send-contact {margin:0;min-height:46px;width:100%;border:0;border-radius:999px;background:#ff535e;color:#0b101a;font-family:inherit;font-weight:600;font-size:14px;line-height:1.3;box-shadow:none;}
@media(max-width:600px){
 dialog#contact-dialog {left:14px;bottom:77px;width:calc(100vw - 28px);max-width:calc(100vw - 28px);padding:20px;max-height:calc(100dvh - 94px);border-radius:20px;}
 #contact-dialog #contact-form {max-height:calc(100dvh - 136px);}
 #contact-dialog h2 {font-size:21px;margin-bottom:16px;}
 #contact-dialog .contact-fields-compact {gap:12px;}
 #contact-dialog .contact-fields-compact label[data-field="correo"],#contact-dialog .contact-fields-compact label[data-field="whatsapp"] {grid-column:1/-1;}
 #contact-dialog .contact-fields-compact textarea {height:70px;}
}

.contact-verification {grid-column:1 / -1;width:100%;max-width:100%;}
.contact-verification-widget {width:100%;min-height:0;}
.verification-status {font-size:12px!important;line-height:1.4!important;color:#b9c2d2;margin:5px 0 8px!important;}
.verification-status:empty {display:none;}
.verification-retry {font-family:inherit;font-size:12px;color:#fff;background:transparent;border:1px solid #ff535e;border-radius:20px;padding:7px 12px;margin:6px 0 10px;cursor:pointer;}
.verification-retry[hidden] {display:none;}
