/* Encabezado único del sitio CR360 (Mateo, 8 Nov 2026: «tiene múltiples headers… se ve descalibrado»).
   Fuente única: site_build/encabezado/. Lo instala aplicar-encabezado.py en todas las páginas.
   Todas las reglas van bajo .cab para ganarle a los estilos viejos que cada página trae adentro.
   Tamaños según ESTANDAR_TIPOGRAFIA_WEB: menú y botones 16 px, idioma 13 px. */
.cab{--cab-alto:110px;--cab-logo:84px;--cab-azul:#1f8fe6;--cab-celeste:#62baf7;--cab-texto:#d7e7ff;--cab-verde:#39ff14;--cab-tinta:#00102e;
  position:sticky;top:0;z-index:60;font-family:'Saira',system-ui,sans-serif}
.cab.cab-fija{position:fixed;left:0;right:0}
.cab *{box-sizing:border-box}
.cab .cab-barra{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--cab-alto);margin:0;
  padding:0 max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px));
  background:rgba(0,8,22,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(98,186,247,.16)}
.cab .cab-logo{display:block;flex:none;margin:0;line-height:0}
.cab .cab-logo img{display:block;height:var(--cab-logo);width:auto;max-width:none}
.cab .cab-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.1vw,26px);flex:1;min-width:0;margin:0;padding:0}
.cab .cab-nav a{font-weight:600;font-size:16px;letter-spacing:.03em;text-transform:uppercase;color:var(--cab-texto);white-space:nowrap;text-decoration:none;padding:6px 0;border:0;background:none}
.cab .cab-nav a:hover{color:#fff}
.cab .cab-nav a.on{color:var(--cab-celeste)}
.cab .cab-acciones{display:flex;align-items:center;gap:10px;flex:none}
.cab .cab-insc{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:4px;background:var(--cab-verde);color:var(--cab-tinta);
  font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-decoration:none;border:0;
  box-shadow:0 0 0 1px rgba(57,255,20,.5),0 0 18px rgba(57,255,20,.55),0 0 42px rgba(57,255,20,.25);transition:box-shadow .2s,transform .2s}
.cab .cab-insc:hover{box-shadow:0 0 0 1px rgba(57,255,20,.7),0 0 24px rgba(57,255,20,.75),0 0 56px rgba(57,255,20,.35);transform:translateY(-1px)}
.cab .cab-insc.on{box-shadow:0 0 0 2px #fff,0 0 18px rgba(57,255,20,.55)}
.cab .cab-vivo{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;border-radius:4px;background:var(--cab-azul);color:#fff;
  font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-decoration:none;border:0;box-shadow:0 6px 22px rgba(31,143,230,.4)}
.cab .cab-vivo.on{box-shadow:0 0 0 2px #fff,0 6px 22px rgba(31,143,230,.4)}
.cab .cab-punto{width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 6px 1px rgba(255,59,48,.65);animation:cab-pulso 1.6s infinite}
@keyframes cab-pulso{0%,100%{opacity:1}50%{opacity:.35}}
.cab .lang{display:flex;align-items:center;gap:3px;margin:0;padding:3px;border:1px solid rgba(98,186,247,.3);border-radius:5px;background:none}
.cab .lang button{font-family:'Saira',system-ui,sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;line-height:1.2;padding:8px 12px;margin:0;border:0;border-radius:3px;cursor:pointer;color:#9cc2f0;background:transparent;min-height:0;width:auto}
.cab .lang button.on{color:#fff;background:var(--cab-azul)}
.cab .cab-idioma{display:none}
.cab .cab-idioma button{min-width:44px;min-height:44px;padding:0 10px;color:#fff;background:transparent}
.cab .burger{display:none;font-size:16px;align-items:center;justify-content:center;width:46px;height:46px;margin:0;padding:0;background:rgba(31,143,230,.16);border:1px solid rgba(98,186,247,.32);border-radius:7px;cursor:pointer}
.cab .mnav{display:none;flex-direction:column;margin:0;padding:12px max(20px,env(safe-area-inset-right,0px)) 18px max(20px,env(safe-area-inset-left,0px));
  background:rgba(0,8,22,.98);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(98,186,247,.18);max-height:calc(100dvh - var(--cab-alto));overflow-y:auto}
.cab .mnav.open{display:flex}
.cab .mnav a{display:block;padding:13px 6px;font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--cab-texto);text-decoration:none;border-bottom:1px solid rgba(98,186,247,.08)}
.cab .mnav a.on{color:var(--cab-celeste)}
.cab .mnav .mnav-insc{margin-top:14px;border:0;border-radius:4px;text-align:center;background:var(--cab-verde);color:var(--cab-tinta);font-weight:700;box-shadow:0 0 18px rgba(57,255,20,.45)}
.cab .mnav .lang{margin:14px 0 0 4px;align-self:flex-start}
.cab a:focus-visible,.cab button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Sin espacio para todo el menú: queda el logo, los dos botones y el menú desplegable */
@media (max-width:1439px){
  .cab .cab-nav{display:none}
  .cab .burger{display:inline-flex}
}
@media (max-width:860px){
  .cab{--cab-alto:86px;--cab-logo:62px}
  .cab .cab-barra{gap:12px;padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
  .cab .cab-vivo{display:none}
  .cab .cab-acciones{gap:8px}
  /* Idioma a la vista desde la primera pantalla (Mateo, 8 Nov 2026): un solo botón con el otro idioma */
  .cab .cab-acciones .lang{display:none}
  .cab .cab-acciones .cab-idioma{display:flex;padding:0}
  .cab .cab-insc{padding:0 12px;letter-spacing:.03em}
  .cab .burger{width:44px;height:44px}
}
@media (max-width:400px){
  .cab{--cab-logo:46px}
  .cab .cab-barra{gap:8px;padding:0 max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px))}
  .cab .cab-insc{padding:0 10px;letter-spacing:0}
}
@media (prefers-reduced-motion:reduce){.cab .cab-punto{animation:none}.cab .cab-insc{transition:none}.cab .cab-insc:hover{transform:none}}
