/* Aviso de cookies (analytics.js). Barra discreta, sin bloquear la página: superficie oscura translúcida del sitio,
   borde fino, tipografía y botones con los colores corporativos. «Rechazar» y «Aceptar» del mismo tamaño y con la
   misma facilidad de acceso. El botón «Volver arriba» sube mientras el aviso está abierto (--gv-consent-h la calcula
   el script). Contraste (sobre el fondo del aviso): texto 11.7:1, enlace 10.7:1, texto de «Aceptar» ≥ 4.7:1, borde de
   «Rechazar» 4.5:1, indicador de foco 6.9:1. Tamaños táctiles: botones ≥ 44 px de alto; enlace ≥ 24 px. */
.gv-consent{--gv-consent-gap:16px;position:fixed;z-index:95;left:50%;bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));transform:translateX(-50%);
  box-sizing:border-box;width:min(760px,calc(100% - 32px));display:flex;align-items:center;gap:20px 28px;padding:18px 20px 18px 24px;
  border:1px solid rgba(255,255,255,.12);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),rgba(3,7,24,.9);
  -webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 18px 50px -20px rgba(0,0,0,.7);color:#c7d3e6;font-size:.82rem;line-height:1.6}
.gv-consent[hidden]{display:none}
.gv-consent-text{margin:0;flex:1 1 auto}
/* El enlace va en su propia línea, separado del texto principal, con un área táctil de al menos 24 px. */
.gv-consent-text a{display:flex;width:fit-content;align-items:center;gap:6px;min-height:24px;margin-top:6px;color:#7fd3ff;font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.gv-consent-text a::before{content:'';display:block;width:14px;height:1px;background:rgba(127,211,255,.55)}
.gv-consent-text a:hover{color:#fff}
.gv-consent-text a:hover::before{background:#fff}
.gv-consent-actions{display:flex;gap:10px;flex:none}
.gv-consent-btn{box-sizing:border-box;min-width:112px;min-height:44px;padding:10px 18px;border-radius:10px;font:inherit;font-size:.8rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.gv-consent-reject{border:1px solid rgba(255,255,255,.46);background:rgba(255,255,255,.04);color:#fff}
.gv-consent-reject:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.09)}
.gv-consent-accept{border:1px solid transparent;background:linear-gradient(100deg,#0077c8,#007a98);color:#fff}
.gv-consent-accept:hover{background:linear-gradient(100deg,#0069b4,#006b85)}
.gv-consent-btn:focus-visible,.gv-consent-text a:focus-visible{outline:2px solid #00b0d1;outline-offset:3px}
/* «Volver arriba» por encima del aviso mientras está abierto. */
.gv-consent-open .gv-top{bottom:calc(var(--gv-consent-h,0px) + max(32px,calc(env(safe-area-inset-bottom) + 24px)))}
/* Enlace del pie de página: mismo aspecto que «Aviso de privacidad». */
.footer-bottom .gv-consent-link{border:0;background:none;padding:0;font:inherit;font-size:inherit;color:inherit;cursor:pointer;text-align:left}
.footer-bottom .gv-consent-link:hover{color:#c7d3e6}
.footer-bottom .gv-consent-link:focus-visible{outline:2px solid #0095e5;outline-offset:4px}
/* Móvil: más compacto (menos relleno y separación), mismo tamaño de letra y botones de 44 px. El enlace sigue al
   texto en la misma línea, separado por el trazo y con su área táctil de 24 px, para no sumar una línea más. */
@media (max-width:700px){
  .gv-consent{flex-direction:column;align-items:stretch;gap:8px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));width:calc(100% - 24px);padding:10px 12px;font-size:.8rem;line-height:1.45}
  .gv-consent-text a{display:inline-flex;width:auto;margin:0 0 0 4px;vertical-align:middle}
  .gv-consent-actions{width:100%;gap:8px}
  .gv-consent-btn{flex:1 1 0;min-width:0;padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){.gv-consent-btn{transition:none}}
