/* Integración técnica de los legales vigentes; no cambia el diseño V3. */
body.gp-page{min-width:0}
/* El top:100% de la V3 debe medirse desde el header, no desde el viewport. */
@media(max-width:980px){.gp-page .cp-mobile-menu{position:absolute;top:calc(100% + 8px);max-height:calc(100dvh - 100px)}}
.cp-legal-dialog{box-sizing:border-box;width:min(700px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:clamp(24px,5vw,48px);border:1px solid #7898ff66;border-radius:20px;background:#08152a;color:#e6edff;font-family:Manrope,sans-serif;line-height:1.7;box-shadow:0 30px 100px #0009}
.cp-legal-dialog::backdrop{background:#020712cc;backdrop-filter:blur(6px)}
.cp-legal-dialog h2{padding-right:20px;font-family:Newsreader,serif;font-size:2rem;line-height:1.15}
.cp-legal-dialog h3{margin:24px 0 8px;font-size:1rem}
.cp-legal-dialog p{font-size:.9rem;overflow-wrap:anywhere}
.cp-legal-close{position:sticky;top:0;float:right;width:40px;height:40px;border:1px solid #7898ff88;border-radius:50%;background:#122846;color:#fff;font:26px/1 Manrope,sans-serif;cursor:pointer}
.cp-legal-close:focus-visible{outline:2px solid #72dfea;outline-offset:4px}
html:not(.js) .cp-legal-dialog{display:block;position:static;margin:32px auto;max-height:none}
html:not(.js) .cp-legal-close{display:none}
.gp-form-status.error{color:#ffb7ad}
.gp-consent a{display:inline-block}
.gp-contact-form [aria-busy="true"]{opacity:.65;cursor:wait}
.gp-contact-form .cf-turnstile{max-width:100%;overflow:hidden}
