/* Contraste y controles compartidos */
.g5-primary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:999px;background:#fff!important;color:#000!important;font-weight:800;text-decoration:none}
.btn.secondary,.zentra-actions a{background:#fff!important;color:#000!important;border:2px solid #24445e}
.btn.secondary:visited,.btn.secondary:hover,.btn.secondary:focus-visible,.zentra-actions a:hover{color:#000!important;background:#fff!important}
.g5-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;padding:24px;color:#fff;font-size:14px}.g5-legal-links a,.g5-cookie-settings{color:inherit;text-decoration:underline}.g5-cookie-settings{border:0;background:none;font:inherit;cursor:pointer;padding:0;min-height:44px}
.g5-consent{position:fixed;z-index:30000;bottom:16px;left:16px;right:16px;max-width:720px;margin:auto;padding:24px;background:#fff;color:#111;border:2px solid #15334a;border-radius:16px;box-shadow:0 10px 40px #0006}.g5-consent[hidden]{display:none}.g5-consent p{color:#333;font-size:15px;line-height:1.6}.g5-consent a{color:#064c80;text-decoration:underline}.g5-consent-actions{display:flex;flex-wrap:wrap;gap:12px}.g5-consent-actions button{font:inherit;font-weight:700;min-height:44px;padding:12px 16px;border:2px solid #15334a;border-radius:8px;background:#fff;color:#000;cursor:pointer}
.g5-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.g5-form-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6}.g5-form-consent input{width:20px!important;min-width:20px;height:20px;margin-top:3px}.g5-form-consent a{color:#064c80;text-decoration:underline}.g5-form-status{color:#822323;line-height:1.5}.g5-skip{position:fixed;top:-100px;left:16px;z-index:40000;padding:12px;background:#fff;color:#000}.g5-skip:focus{top:16px}:focus-visible{outline:3px solid #d79b12!important;outline-offset:4px}.legal-panel p,.legal-panel li{line-height:1.75;color:#29435a}.legal-panel a{overflow-wrap:anywhere}
@media(max-width:700px){.g5-consent{padding:18px;bottom:10px;left:10px;right:10px}.g5-consent-actions button{flex:1}.g5-legal-links{padding:20px}.ecosystem-form,.contact-grid{grid-template-columns:minmax(0,1fr)!important}.ecosystem-form input,.ecosystem-form textarea,.ecosystem-form select{font-size:16px;min-width:0;max-width:100%}.ecosystem-form>label,.contact-card{min-width:0}.ecosystem-form .wide,.ecosystem-form>button{grid-column:1/-1}.ecosystem-topbar{gap:12px}.legal-page{padding:30px 16px 50px}.legal-panel{padding:24px}.legal-panel h1{font-size:clamp(30px,9vw,46px);overflow-wrap:anywhere}.actions .btn,.contact-cta>a{max-width:100%;white-space:normal;text-align:center}.contact-cta{flex-direction:column}.footer-info a{overflow-wrap:anywhere}.g5-primary-cta{max-width:100%;font-size:16px!important;letter-spacing:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.ecosystem-hero-cta,.contact-action{color:#000!important;background:#fff!important}
@media(max-width:900px){
  .mobile-menu-enabled .mobile-menu-panel-nav{transform:none!important}
  .hero{grid-template-columns:minmax(0,1fr);min-width:0}
  .hero .panel{width:100%;max-width:100%;min-width:0}
  .panel h1,.service-content-card h2{overflow-wrap:anywhere}
  .site-footer .footer-back-top,.zentra-footer .footer-back-top{z-index:100!important}
  .mobile-home-return{z-index:200!important}
}

/* === Corrección definitiva: menú móvil en una capa independiente del encabezado === */
@media (max-width:900px){
  body.mobile-menu-open{overflow:hidden!important;touch-action:none!important}
  .mobile-menu-enabled .mobile-menu-panel-nav,
  .mobile-menu-enabled .mobile-menu-language{display:none!important}
  .mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
    color:#0b2438!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(100%);
    transition:transform .38s cubic-bezier(.22,.8,.22,1),opacity .26s ease,visibility 0s linear .38s;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
    transition-delay:0s;
  }
  .mobile-menu-overlay__top{
    position:sticky;
    top:0;
    z-index:3;
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 22px;
    background:#fff;
    border-bottom:1px solid #e7edf1;
  }
  .mobile-menu-overlay__logo{display:flex;align-items:center;text-decoration:none}
  .mobile-menu-overlay__logo img{width:min(190px,52vw)!important;max-height:54px!important;object-fit:contain!important;filter:none!important}
  .mobile-menu-overlay__close{
    width:48px;height:48px;display:grid;place-items:center;flex:none;
    border:0;border-radius:12px;background:transparent;color:#0b2438;
    font-size:44px;font-weight:300;line-height:1;cursor:pointer;touch-action:manipulation;
  }
  .mobile-menu-overlay__nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    padding:18px 34px 10px!important;
    margin:0!important;
    gap:0!important;
    overflow:visible!important;
  }
  .mobile-menu-overlay__nav a{
    display:block!important;
    width:100%!important;
    padding:17px 0!important;
    border-bottom:1px solid #e7ebee!important;
    color:#65707a!important;
    font-size:clamp(24px,7vw,34px)!important;
    font-weight:500!important;
    line-height:1.15!important;
    text-align:left!important;
    text-decoration:none!important;
    text-shadow:none!important;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .3s ease,transform .34s ease,color .2s ease;
  }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a{opacity:1;transform:none}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(1){transition-delay:.10s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(2){transition-delay:.14s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(3){transition-delay:.18s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(4){transition-delay:.22s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(5){transition-delay:.26s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(6){transition-delay:.30s}
  .mobile-menu-overlay__nav a[aria-current="page"],
  .mobile-menu-overlay__nav a:first-child{color:#23a7dc!important}
  .mobile-menu-overlay__language{
    margin:auto 34px 28px!important;
    padding-top:20px!important;
    border-top:1px solid #dfe4e8!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    position:static!important;
    width:auto!important;
    color:#344554!important;
    background:transparent!important;
    backdrop-filter:none!important;
  }
  .mobile-menu-overlay__language select{
    min-height:46px!important;
    min-width:160px!important;
    padding:0 14px!important;
    border:1px solid #d8e1e7!important;
    border-radius:10px!important;
    background:#f2f5f7!important;
    color:#263746!important;
    font-size:16px!important;
    font-weight:700!important;
  }
  .mobile-menu-enabled.is-menu-open::before{display:none!important}
}
@media (min-width:901px){.mobile-menu-overlay{display:none!important}}

.g5-consent{z-index:2147483646}.g5-skip{z-index:2147483647}
@media(max-width:900px){.mobile-menu-overlay{transform:none!important}.mobile-menu-overlay__nav .g5-primary-cta{color:#000!important;background:#fff!important;font-size:18px!important;font-weight:800!important}}
/* Mantener accesibles los enlaces legales junto al widget de WhatsApp. */
.whatsapp-widget{pointer-events:none}
.whatsapp-float,.whatsapp-bubble{pointer-events:auto}
.whatsapp-bubble.is-closed{pointer-events:none}
@media(max-width:900px){.g5-legal-links{padding-bottom:190px}}
.contact-cta>a,.contact-cta>a:visited,.contact-cta>a:hover{background:#fff!important;color:#000!important}

.g5-sanitary-section{max-width:1180px;margin:0 auto;padding:56px 24px;color:#15334a}.g5-sanitary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.g5-sanitary-card{min-width:0;padding:28px;border-radius:20px;border:1px solid #bed3e1;background:#fff}.g5-sanitary-card h3{font-size:23px;line-height:1.3;color:#0b2c4d;overflow-wrap:anywhere}.g5-sanitary-card p{font-size:16px;line-height:1.75;color:#29435a}.g5-sanitary-number{color:#064c80;font-weight:800}.g5-sanitary-action{margin-top:28px}.g5-sanitary-action a{border:2px solid #15334a}@media(max-width:700px){.g5-sanitary-grid{grid-template-columns:minmax(0,1fr)}.g5-sanitary-section{padding:36px 16px}.g5-sanitary-card{padding:22px}}

.contact-card a{overflow-wrap:anywhere}
