/* D126: Hablemos común. Consulta local, sin envío ni almacenamiento. */
#contact-form-dialog,#contact-dialog{box-sizing:border-box;width:min(740px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px 36px;border:1px solid #dce2dd;border-radius:12px;background:#faf9f5;color:#012d20;box-shadow:0 24px 90px #012d2033;overscroll-behavior:contain}
#contact-form-dialog::backdrop,#contact-dialog::backdrop{background:#012d2080;backdrop-filter:blur(5px)}
#contact-form-dialog .dialog-close,#contact-dialog .dialog-close{display:grid;place-items:center;top:10px;right:10px;width:44px;height:44px;line-height:1;cursor:pointer;border-radius:50%}
#contact-form-dialog .dialog-close:hover,#contact-dialog .dialog-close:hover{background:#e9eee9}
#contact-form-dialog>.eyebrow,#contact-dialog>.eyebrow{margin:0 44px 8px 0;color:#175d8d;font-size:10px;letter-spacing:.12em}
#contact-form-dialog>h2,#contact-dialog>h2{margin:0 36px 8px 0;font-size:38px;line-height:1.15;font-weight:400}
#contact-popup-intro,#contact-review-note{margin:0;color:#526657;font-size:14px;line-height:1.5}
.contact-direct{display:flex;flex-wrap:wrap;gap:12px 30px;padding:16px 0;margin:0 0 18px;border-bottom:1px solid #dce2dd}
.contact-direct a{display:flex;gap:10px;align-items:baseline;color:#175d8d;font-size:16px;text-decoration:none}
.contact-direct a:hover{text-decoration:underline}
.contact-direct span{font-size:11px;color:#526657}
#contact-required{margin:0 0 14px;font-size:11px;color:#526657}
.contact-fields-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px}
#contact-form .contact-fields-grid label{display:block;min-width:0;margin:0;color:#012d20;font-size:13px;font-weight:500;line-height:1.5}
#contact-form label small{font-size:11px;font-weight:400;color:#526657}
#contact-form .contact-field-wide{grid-column:1/-1}
#contact-form input,#contact-form select,#contact-form textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #bccbc1;border-radius:5px;background:#fffefb;color:#012d20;font-size:16px;line-height:1.35;font-weight:400}
#contact-form input,#contact-form select{min-height:44px}
#contact-form textarea{min-height:78px;resize:vertical}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#687b70}
#contact-form :is(input,select,textarea):focus-visible{border-color:#175d8d;outline:2px solid #175d8d;outline-offset:2px}
#contact-form [aria-invalid=true]{border-color:#9a3e2d}
#contact-form .form-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:16px;margin-top:22px}
#contact-preview-note{max-width:245px;margin:0;color:#526657;font-size:11px;line-height:1.5}
#contact-form .button,#contact-dialog .button{min-height:44px;flex-shrink:0;padding:12px 20px;border:1px solid #175d8d;border-radius:4px;background:#175d8d;color:#fff;font-size:13px;letter-spacing:0;cursor:pointer}
#contact-form .button:hover,#contact-dialog .button:hover{background:#124d75;border-color:#124d75}
#general-contact-error{margin:16px 0 0;color:#9a3e2d;font-size:12px;line-height:1.5}
#contact-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px;margin:26px 0;padding:22px 0;border-block:1px solid #dce2dd}
#contact-summary>div{min-width:0}
#contact-summary>div:last-child{grid-column:1/-1}
#contact-summary dt{font-size:11px;color:#526657;margin-bottom:4px}
#contact-summary dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.contact-review-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.contact-back{min-height:44px;padding:6px 0;border:0;background:transparent;color:#175d8d;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
@media(max-width:520px){
 #contact-form-dialog,#contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:26px 20px;border-radius:9px}
 #contact-form-dialog>h2,#contact-dialog>h2{font-size:32px}
 .contact-direct{gap:8px 18px;padding:14px 0}
 .contact-direct a{font-size:14px;gap:8px}
 .contact-fields-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 #contact-form .form-bottom{flex-direction:column;align-items:stretch;gap:12px;margin-top:20px}
 #contact-preview-note{max-width:none}
 #contact-form .button{justify-content:space-between;width:100%}
 #contact-summary{grid-template-columns:minmax(0,1fr);gap:16px}
}

/* Contacto por correo provisional: copia accesible y destinatario visible. */
[data-mail-status]{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
[data-mail-fallback] label{display:block;font-size:12px;margin:14px 0 6px}
[data-mail-fallback] textarea{box-sizing:border-box;width:100%;min-height:130px;padding:12px;border:1px solid #bccbc1;border-radius:5px;font:inherit;font-size:14px;resize:vertical}
a.contact-submit{text-decoration:none;text-align:center;cursor:pointer}
