
/* La portada completa conserva su fondo; las páginas interiores comparten este recorte. */
body:not(:has(.portada-v2)) #cabecera-compartida .site-header{
 background-color:#fff;
 background-image:none;
 background-size:cover;
 background-position:center 44%;
 color:#fff;
}
body:not(:has(.portada-v2)) #cabecera-compartida .header-container{width:90%;max-width:1280px;min-height:112px;gap:22px}
body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a{color:#fff;font-weight:600}
body:not(:has(.portada-v2)) #cabecera-compartida .login-button{background:#fff;color:#0c223a;border-radius:30px;font-weight:700;text-decoration:none;padding:12px 22px}
body:not(:has(.portada-v2)) #cabecera-compartida .menu-toggle{color:#fff}
@media(max-width:1050px){body:not(:has(.portada-v2)) #cabecera-compartida .main-nav{gap:12px}}
@media(max-width:768px){
body:not(:has(.portada-v2)) #cabecera-compartida .header-container{min-height:88px;padding:14px 0;gap:12px}
body:not(:has(.portada-v2)) #cabecera-compartida .main-nav{background:#fff;border-radius:12px;padding:12px 20px;order:4}
body:not(:has(.portada-v2)) #cabecera-compartida .site-header{background-position:65% 44%}
}

/* Keep the shared bar visually stable between full-page navigations. */
@view-transition{navigation:none}
body:not(:has(.portada-v2)) #cabecera-compartida{position:sticky;top:0;z-index:1000;view-transition-name:rnpc-header;background:#fff}
::view-transition-old(rnpc-header),::view-transition-new(rnpc-header){animation:none;mix-blend-mode:normal}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
@media print{#cabecera-compartida{display:none!important}}

/* Shared dimensions: navigation must not resize between pages. */
html{scrollbar-gutter:stable}
#cabecera-compartida .header-container{width:90%;max-width:1280px;min-height:112px;gap:24px;font-family:Arial,Helvetica,sans-serif}
#cabecera-compartida .main-nav{gap:24px}
#cabecera-compartida .main-nav a{font:600 16px/1.25 Arial,Helvetica,sans-serif;white-space:nowrap;transition:color .15s}
#cabecera-compartida .rnpc-logo{width:184px;flex:0 0 184px}
#cabecera-compartida .rnpc-wordmark{width:184px;height:44.789px}
#cabecera-compartida .rnpc-logo>span{font-size:9.621px;line-height:1.2}
@media(max-width:1050px){#cabecera-compartida .main-nav{gap:14px}#cabecera-compartida .header-container{gap:16px}}
@media(max-width:768px){
 #cabecera-compartida .header-container{min-height:88px;padding:14px 0;gap:12px}
 #cabecera-compartida .rnpc-logo{width:132px;flex-basis:132px}
 #cabecera-compartida .rnpc-wordmark{width:132px;height:32.132px}
 #cabecera-compartida .rnpc-logo>span{font-size:6.902px}
 #cabecera-compartida .main-nav{gap:0;padding:12px 20px}
}

#cabecera-compartida .main-nav a{transition:none!important;animation:none!important}

/* Opción 1: gris azulado para la cabecera interior. */
body:not(:has(.portada-v2)) #cabecera-compartida,
body:not(:has(.portada-v2)) #cabecera-compartida .site-header{background:#fff;color:#103e59}
body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a,
body:not(:has(.portada-v2)) #cabecera-compartida .menu-toggle,
body:not(:has(.portada-v2)) #cabecera-compartida .rnpc-logo>span{color:#103e59}
body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a:hover{color:#082d49;text-decoration:underline;text-underline-offset:5px}
@media(max-width:768px){body:not(:has(.portada-v2)) #cabecera-compartida .main-nav{background:#fff}body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a{border-color:#103e5920}}

/* Gris pizarra: alternativa seleccionada. */
body:not(:has(.portada-v2)) #cabecera-compartida,
body:not(:has(.portada-v2)) #cabecera-compartida .site-header{background:#fff;color:#fff}
body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a,
body:not(:has(.portada-v2)) #cabecera-compartida .menu-toggle,
body:not(:has(.portada-v2)) #cabecera-compartida .rnpc-logo>span{color:#fff}
body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a:hover{color:#ffad42}
@media(max-width:768px){body:not(:has(.portada-v2)) #cabecera-compartida .main-nav{background:#fff}body:not(:has(.portada-v2)) #cabecera-compartida .main-nav a{border-color:#ffffff30}}

/* Navegación principal con marco transparente */
#cabecera-compartida #mainNav a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:40px;padding:9px 15px;border:1px solid rgba(255,255,255,.65);border-radius:8px;background:transparent;color:#fff;text-decoration:none;line-height:1.2}
#cabecera-compartida #mainNav a:hover{background:transparent;border-color:#ffad42;color:#ffad42;text-decoration:none}
#cabecera-compartida #mainNav a:focus-visible{outline:3px solid #ffad42;outline-offset:3px}
#cabecera-compartida #mainNav a::after{display:none}
@media(max-width:768px){#cabecera-compartida #mainNav{gap:8px}#cabecera-compartida #mainNav a{border:1px solid rgba(255,255,255,.65);padding:10px 15px}}

/* Cabecera inicial: menú bajo línea divisoria */
#cabecera-compartida:not(.cabecera-con-perfil) .header-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;padding-top:16px;padding-bottom:12px}
#cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo{order:0}
#cabecera-compartida:not(.cabecera-con-perfil) .header-actions{order:1;margin-left:auto}
#cabecera-compartida:not(.cabecera-con-perfil) #mainNav{order:3;flex:0 0 100%;width:100%;box-sizing:border-box;display:flex;justify-content:center;gap:12px;position:static;border-top:1px solid #ffffff55;border-radius:0;padding:12px 0 0;margin:0;background:transparent}
#cabecera-compartida:not(.cabecera-con-perfil) #menuToggle{display:none}
@media(max-width:768px){#cabecera-compartida:not(.cabecera-con-perfil) #mainNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none;visibility:visible;opacity:1;transform:none}#cabecera-compartida:not(.cabecera-con-perfil) #mainNav a{margin:0;font-size:13px}}

/* Menú inicial compacto sobre la línea */
#cabecera-compartida:not(.cabecera-con-perfil) #mainNav{justify-content:flex-start;border-top:0;border-bottom:1px solid #ffffff55;padding:0 0 10px;gap:10px}
#cabecera-compartida:not(.cabecera-con-perfil) #mainNav a{min-height:32px;padding:6px 13px;font-size:14px;line-height:1.2}
@media(max-width:768px){#cabecera-compartida:not(.cabecera-con-perfil) #mainNav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}#cabecera-compartida:not(.cabecera-con-perfil) #mainNav a{min-height:32px;padding:6px 11px;font-size:13px}}

/* Portada: botones con estilo de la botonera de miembros */
body:has(.portada-v2) #cabecera-compartida:not(.cabecera-con-perfil) #mainNav{gap:10px}
body:has(.portada-v2) #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a{min-height:40px;padding:9px 20px;border:1px solid #ffffff80;border-radius:8px;background:#ffffff0a;color:#fff;font:700 13px/1.3 Arial,sans-serif;min-width:120px}
body:has(.portada-v2) #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a[href="/"]{background:#ffad42;border-color:#ffad42;color:#103e59}
body:has(.portada-v2) #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a:hover{background:#ffffff20}
body:has(.portada-v2) #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a[href="/"]:hover{background:#ffbd66}
@media(max-width:600px){body:has(.portada-v2) #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a{min-width:0;flex:1 1 40%;padding:9px 12px}}

/* Sin Inicio en la propia portada */
body.inicio-v2 #cabecera-compartida #mainNav a[href="/"]{display:none!important}

/* Cabecera inicial: menú a izquierda y logo a derecha */
#cabecera-compartida:not(.cabecera-con-perfil) .header-container{display:flex;align-items:center;flex-wrap:nowrap;gap:20px;padding:16px 0 12px;border-bottom:1px solid #ffffff55;min-height:100px}
#cabecera-compartida:not(.cabecera-con-perfil) #mainNav{order:0;flex:1 1 auto;width:auto;justify-content:flex-start;border:0;padding:0;margin:0}
#cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo{order:2;margin-left:auto;flex-shrink:0}
#cabecera-compartida:not(.cabecera-con-perfil) .header-actions{order:1;margin-left:0}
#cabecera-compartida:not(.cabecera-con-perfil) .header-actions:has(>.login-button:only-child){display:none}
@media(max-width:768px){#cabecera-compartida:not(.cabecera-con-perfil) .header-container{flex-wrap:wrap;gap:12px;padding:12px 0}#cabecera-compartida:not(.cabecera-con-perfil) #mainNav{flex:1 1 100%;order:2}#cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo{order:0;margin-left:auto}#cabecera-compartida:not(.cabecera-con-perfil) .header-actions{order:1}}

/* Medidas comunes de navegación en todas las páginas */
#cabecera-compartida #mainNav a:not([hidden]){box-sizing:border-box;min-height:40px!important;height:40px;min-width:120px!important;padding:9px 20px!important;border-radius:8px!important;font:700 13px/1.3 Arial,Helvetica,sans-serif!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
#cabecera-compartida #mainNav a.login-button:not([hidden]){padding:0 16px 0 0!important;gap:12px}
#cabecera-compartida #mainNav a.login-button::before{width:40px;min-width:40px;font-size:24px}
@media(max-width:600px){#cabecera-compartida #mainNav a:not([hidden]){min-width:0!important;padding:9px 12px!important;flex:1 1 40%}#cabecera-compartida #mainNav a.login-button:not([hidden]){padding:0 16px 0 0!important}}

/* Menú móvil compacto con acceso visible */
@media(max-width:768px){
 #cabecera-compartida:not(.cabecera-con-perfil) .header-container{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:90%;padding:12px 0;min-height:80px}
 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo{order:0;margin:0 auto 0 0;flex:0 0 112px;width:112px}
 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-wordmark{width:112px;height:28px}
 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo>span{font-size:5.85px}
 #cabecera-compartida:not(.cabecera-con-perfil) .header-actions{display:flex!important;order:1;margin:0;width:auto;flex:0 0 auto}
 #cabecera-compartida:not(.cabecera-con-perfil) .header-actions .login-button:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center;height:40px;box-sizing:border-box;padding:0 10px!important;font:700 12px/1.2 Arial,sans-serif;border-radius:7px;background:#104da5!important;color:#fff!important;text-decoration:none;white-space:nowrap}
 #cabecera-compartida:not(.cabecera-con-perfil) .header-actions .login-button::before{display:none}
 #cabecera-compartida:not(.cabecera-con-perfil) #menuToggle{display:inline-flex!important;order:2;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;margin:0;padding:0;border:1px solid #ffffff80;border-radius:7px;background:transparent;color:white;font-size:24px;cursor:pointer}
 #cabecera-compartida:not(.cabecera-con-perfil) #mainNav{display:none!important;order:3;flex:0 0 100%;width:100%;margin:0;padding:10px 0 0;border-top:1px solid #ffffff55;background:transparent;position:static}
 #cabecera-compartida:not(.cabecera-con-perfil) #mainNav.active{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;max-height:none;opacity:1;visibility:visible;transform:none}
 #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a:not([hidden]){flex:0 0 auto;width:100%}
}

/* Alineación y separación móvil */
@media(max-width:768px){
 #cabecera-compartida:not(.cabecera-con-perfil) .header-actions{padding:0!important;align-self:center;align-items:center}
 #cabecera-compartida:not(.cabecera-con-perfil) #menuToggle{box-sizing:border-box;align-self:center}
 body.inicio-v2:not(.sesion-iniciada) .portada-interior{padding-top:16px}
}

/* Cabecera móvil dentro del desplazamiento normal */
@media(max-width:768px){body #cabecera-compartida,body.sesion-iniciada #cabecera-compartida,body.inicio-v2.sesion-iniciada #cabecera-compartida,body:not(:has(.portada-v2)) #cabecera-compartida{position:relative!important;top:auto!important}}

/* RNPC: public mobile header, readable brand and existing menu control. */
@media(max-width:768px){
 #cabecera-compartida:not(.cabecera-con-perfil) .header-container{display:grid;grid-template-columns:minmax(0,1fr) auto 44px minmax(0,1fr);gap:12px 10px;align-items:center}
 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo{grid-column:1/-1;grid-row:1;width:230px;max-width:100%;margin:0;justify-self:center;align-items:center;text-align:center}
 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-wordmark{width:184px;max-width:100%;height:auto;margin:auto}
 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo>span{font-size:11px;line-height:1.35;white-space:normal}
 #cabecera-compartida:not(.cabecera-con-perfil) #menuToggle{grid-column:3;grid-row:2;width:44px;height:44px;font-family:Arial,sans-serif;line-height:1}
 #cabecera-compartida:not(.cabecera-con-perfil) .header-actions{grid-column:2;grid-row:2;justify-self:end}
 #cabecera-compartida:not(.cabecera-con-perfil) #mainNav{grid-column:1/-1;grid-row:3;min-width:0}
 #cabecera-compartida:not(.cabecera-con-perfil) .header-actions .login-button:not([hidden]){height:44px;padding:0 16px!important;border-radius:7px}
 #cabecera-compartida:not(.cabecera-con-perfil) #menuToggle:focus-visible{outline:3px solid #087eae;outline-offset:3px}
 body.inicio-v2 #cabecera-compartida:not(.cabecera-con-perfil) .rnpc-logo>span{color:#394957}
 body.inicio-v2 #cabecera-compartida:not(.cabecera-con-perfil) #menuToggle{color:#394957;border-color:#394957}
 body.inicio-v2 #cabecera-compartida:not(.cabecera-con-perfil) #mainNav{border-color:#39495755}
 body.inicio-v2 #cabecera-compartida:not(.cabecera-con-perfil) #mainNav a{color:#394957;border-color:#39495780;background:transparent}
}

/* Identidad pública uniforme con la portada, sin alterar la cabecera personal. */
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida,
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .site-header{background:#fff!important;background-image:none!important;color:#103e59}
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .header-container{width:90%!important;max-width:1280px!important;min-height:105px!important;box-sizing:border-box;padding:5px 0!important;border:0;gap:10px}
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .red-constructor-logo{order:0!important;position:relative;left:-18px;width:350px!important;flex:0 0 350px!important;height:95px;margin:0!important}
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida #mainNav{order:1;justify-content:flex-end!important;gap:8px!important;background:transparent!important}
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida #mainNav>a:not(.registro-button):not([hidden]){font-size:16px!important;padding:9px 18px!important;min-width:0!important;flex:0 0 auto;background:transparent!important;color:#103e59!important;border:1px solid #8295a1!important;text-decoration:none}
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida #mainNav a.login-button,
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .header-actions a.login-button{background:#ff2020!important;color:#000!important;border-color:#ff2020!important}
body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida a.login-button::before{background:transparent!important;color:#000!important}
@media(max-width:1100px) and (min-width:769px){
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .red-constructor-logo{width:280px!important;flex-basis:280px!important}
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida #mainNav>a:not(.registro-button):not([hidden]){padding:9px 10px!important;font-size:14px!important}
}
@media(max-width:768px){
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .header-container{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;min-height:89px!important;padding:10px 0!important}
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .red-constructor-logo{grid-column:1;grid-row:1;justify-self:start;left:-12px;width:min(273px,100%)!important;height:69px}
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida #menuToggle{grid-column:2;grid-row:1;color:#103e59;border-color:#103e59}
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida .header-actions{display:none!important}
 body:not(.sesion-iniciada):not(.inicio-v2) #cabecera-compartida #mainNav{grid-column:1/-1;grid-row:2}
}

/* Inicio conserva contraste durante la interacción en la cabecera pública. */
body:not(.sesion-iniciada) #cabecera-compartida #mainNav a[href="/"]:not([hidden]),
body:not(.sesion-iniciada) #cabecera-compartida #mainNav a[href="/"]:visited{
 color:#103e59!important;background:#fff!important;border:1px solid #8295a1!important;opacity:1!important;
}
body:not(.sesion-iniciada) #cabecera-compartida #mainNav a[href="/"]:hover,
body:not(.sesion-iniciada) #cabecera-compartida #mainNav a[href="/"]:focus,
body:not(.sesion-iniciada) #cabecera-compartida #mainNav a[href="/"]:active{
 color:#103e59!important;background:#edf3f7!important;border-color:#103e59!important;opacity:1!important;
}

/* Fondo definitivo desde la primera carga. */
body #cabecera-compartida,body #cabecera-compartida .site-header{background-color:#fff!important;background-image:none!important}
