
/* =========================================================
   RC18 — Navegación contextual y accesibilidad visual
   Solo presentación. No modifica lógica de módulos.
   ========================================================= */

.z-skip-link{
    position:fixed;
    left:14px;
    top:10px;
    z-index:20000;
    transform:translateY(-160%);
    padding:10px 14px;
    border-radius:9px;
    background:#102f4b;
    color:#fff;
    font:700 .84rem/1.2 Lato,system-ui,sans-serif;
    text-decoration:none;
    box-shadow:0 8px 24px rgba(8,27,44,.2);
}
.z-skip-link:focus{
    transform:translateY(0);
}

.z-context-nav{
    --z-nav-ink:#17354a;
    --z-nav-gold:#a7792d;
    --z-nav-line:rgba(23,53,74,.14);
    width:min(1480px,calc(100% - 32px));
    margin:14px auto 0;
    min-height:52px;
    padding:8px 10px 8px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    background:rgba(255,253,248,.96);
    border:1px solid var(--z-nav-line);
    border-radius:14px;
    box-shadow:0 7px 22px rgba(20,43,59,.07);
    font-family:Lato,system-ui,sans-serif;
    color:var(--z-nav-ink);
}

.z-context-trail,
.z-context-actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}

.z-context-nav a,
.z-context-nav strong{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    padding:7px 10px;
    border-radius:9px;
    color:var(--z-nav-ink);
    font-size:.82rem;
    line-height:1.2;
    text-decoration:none;
}

.z-context-nav a:hover{
    background:rgba(23,53,74,.07);
}

.z-context-nav strong{
    background:rgba(167,121,45,.10);
    color:#77541e;
}

.z-context-separator{
    color:#99a5ab;
    user-select:none;
}

.z-context-actions a{
    border:1px solid var(--z-nav-line);
    font-weight:700;
}

.z-context-actions a.is-primary{
    background:var(--z-nav-ink);
    border-color:var(--z-nav-ink);
    color:#fff;
}

.z-context-actions a.is-primary:hover{
    background:#0d2941;
}

.z-context-nav a:focus-visible,
.z-context-actions a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
    outline:3px solid #d09a3c !important;
    outline-offset:3px !important;
}

.z-context-nav + .hero{
    margin-top:0;
}

/* Homologa enlaces de regreso ya existentes sin eliminarlos. */
.back-to-portal,
.admin-back,
.news-back,
.gaceta-back-link,
.back-to-list,
.account-back{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:8px 12px;
    border-radius:9px;
    text-decoration:none;
}

/* Menús administrativos: mejor lectura y menos ruido visual. */
.admin-tabs{
    scrollbar-width:thin;
}
.admin-tabs .admin-tab{
    min-height:44px;
}

/* Evita que textos de estado dependan únicamente del color. */
[aria-live="polite"],
[role="status"]{
    line-height:1.4;
}

@media(max-width:760px){
    .z-context-nav{
        width:min(100% - 18px,1480px);
        margin-top:9px;
        align-items:stretch;
        flex-direction:column;
        gap:7px;
    }

    .z-context-actions{
        border-top:1px solid var(--z-nav-line);
        padding-top:7px;
    }

    .z-context-actions a{
        flex:1 1 auto;
        justify-content:center;
    }

    .z-context-separator{
        display:none;
    }
}
