/* FRONT-CONTACTO-01: estilos aislados */
.pmx-contact-section{scroll-margin-top:24px}.pmx-contact-project,.pmx-contact-form-card{background:#fff;border:1px solid #e1e7ee;border-radius:10px;padding:22px 26px;box-shadow:0 3px 14px #1234560c}.pmx-contact-project p{margin:0 0 8px}.pmx-contact-project a,.pmx-contact-directory a{color:#075a9e;overflow-wrap:anywhere}.pmx-contact-heading{margin-top:32px}.pmx-contact-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:25px}.pmx-contact-directory>div{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e1e7ee;border-radius:10px;padding:20px}.pmx-contact-form-card h3{color:#083b6b;margin:0 0 9px}.pmx-contact-form-card>p{margin:0 0 20px;color:#52657a}.pmx-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pmx-contact-fields label{display:flex;flex-direction:column;gap:7px;font-weight:600;color:#163a5b;font-size:14px}.pmx-contact-fields input,.pmx-contact-fields select,.pmx-contact-fields textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#142f46;font:inherit;font-weight:400}.pmx-contact-fields :is(input,select,textarea):focus{outline:2px solid #75b4e8;outline-offset:1px}.pmx-contact-wide{grid-column:1/-1}.pmx-contact-privacy{display:flex;align-items:flex-start;gap:10px;margin:20px 0 12px;font-size:14px;line-height:1.5}.pmx-contact-privacy input{margin-top:4px}.pmx-contact-note{font-size:13px;line-height:1.5;color:#536577}.pmx-contact-submit{background:#08633e;color:#fff;border:0;border-radius:7px;padding:13px 22px;font-weight:700;cursor:pointer}.pmx-contact-submit:hover{background:#074b31}#pmx-contact-feedback{font-size:14px;color:#17456b}@media(max-width:720px){.pmx-contact-directory,.pmx-contact-fields{grid-template-columns:1fr}.pmx-contact-project,.pmx-contact-form-card{padding:18px}.pmx-contact-wide{grid-column:auto}}

/* FRONT-CONTACTO-02: pagina independiente, conserva cabecera y navegacion. */
.pmx-contact-page{min-height:65vh;padding-top:26px;padding-bottom:40px}
.pmx-contact-page .pmx-contact-section{scroll-margin-top:0}
.pmx-contact-back-search{display:block;padding:12px 18px;border:1px solid #dbe3ee;border-radius:8px;color:#0a3a6c;text-decoration:none;background:white}
.pmx-contact-back-search:hover{text-decoration:underline}

/* CONTACTO-04: confirmacion modal, solo tras respuesta positiva de API. */
.pmx-contact-modal[hidden]{display:none!important}
.pmx-contact-modal{position:fixed;inset:0;z-index:9999;background:rgba(8,31,57,.68);display:flex;align-items:center;justify-content:center;padding:20px}
.pmx-contact-modal-panel{box-sizing:border-box;width:min(100%,520px);background:#fff;color:#17334b;border-radius:14px;padding:30px;box-shadow:0 15px 60px #0004;outline:none}
.pmx-contact-modal-panel h2{color:#073c70;margin:0 0 16px;font-size:26px}
.pmx-contact-modal-panel p{line-height:1.55;overflow-wrap:anywhere}
.pmx-contact-modal-ref{color:#536577;font-size:13px}
.pmx-contact-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.pmx-contact-modal-actions button{border:0;border-radius:7px;padding:12px 18px;cursor:pointer;font-weight:700;background:#08633e;color:#fff}
.pmx-contact-modal-actions button+button{background:#073c70}
.pmx-contact-modal-open{overflow:hidden}
@media(max-width:500px){.pmx-contact-modal-panel{padding:22px}.pmx-contact-modal-actions button{width:100%}}

/* CONTACTO-05: overlay fixed, isolated from legacy global layout and cache-busted. */
#pmx-contact-success:not([hidden]){position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;padding:20px!important;background:rgba(8,31,57,.68)!important;overflow-y:auto!important}
#pmx-contact-success .pmx-contact-modal-panel{position:relative!important;display:block!important;flex:none!important;max-width:520px!important;width:100%!important;margin:auto!important;background:#fff!important;color:#17334b!important;border-radius:14px!important;padding:30px!important;box-shadow:0 15px 60px #0004!important}
#pmx-contact-success .pmx-contact-modal-actions button{appearance:none;display:inline-block;border:0;border-radius:7px;padding:12px 18px;cursor:pointer;background:#08633e;color:#fff;font-weight:700}
#pmx-contact-success .pmx-contact-modal-actions button+button{background:#073c70}
@media(max-width:500px){#pmx-contact-success .pmx-contact-modal-panel{padding:22px!important}}
