.cab-oscura { background: var(--cab-fondo, #1b1b1b); color: var(--cab-texto, #fff); }
.cab-oscura.cab-fija { position: sticky; top: 0; z-index: 50; }
.cab-oscura .cab-contacto { display: flex; justify-content: flex-end; gap: 20px; padding: 6px 20px; font-size: 0.85em; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.cab-oscura .cab-contacto a:empty { display: none; }
.cab-oscura .cab-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; flex-wrap: wrap; }
.cab-oscura a, .cab-oscura .menu-desplegable { color: inherit; text-decoration: none; cursor: pointer; }
.cab-oscura a:hover, .cab-oscura .menu-desplegable:hover { color: var(--cab-acento, inherit); }
.cab-oscura .cab-logo { height: 48px; display: block; }
.cab-oscura .menu { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.cab-oscura .menu-item { position: relative; margin-left: 20px; display: flex; align-items: center; }
.cab-oscura .menu-submenu { display: none; position: absolute; top: 100%; left: 0; background: var(--cab-fondo, #1b1b1b); list-style: none; margin: 0; padding: 10px; min-width: 160px; z-index: 10; }
.cab-oscura .menu-submenu .menu-item { margin: 0 0 6px; }
.cab-oscura .menu-submenu .menu-item:last-child { margin-bottom: 0; }
.cab-oscura .menu-item-con-hijos:hover > .menu-submenu, .cab-oscura .cab-sub-abierto > .menu-submenu { display: block; }
.cab-oscura .cab-sub-boton { background: none; border: 0; -webkit-tap-highlight-color: transparent; color: inherit; padding: 4px 6px; margin-left: 2px; cursor: pointer; line-height: 0; }
.cab-oscura .cab-sub-boton::before { content: ""; display: inline-block; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 0.2s; }
.cab-oscura .cab-sub-abierto > .cab-sub-boton::before { transform: translateY(2px) rotate(-135deg); }
.cab-oscura .cab-boton-menu { display: none; background: none; border: 0; -webkit-tap-highlight-color: transparent; color: inherit; padding: 8px; margin: -8px; cursor: pointer; }
.cab-oscura .cab-boton-menu span { display: block; width: 26px; height: 2px; background: currentColor; margin: 6px 0; transition: transform 0.2s, opacity 0.2s; }
.cab-oscura .cab-boton-menu[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.cab-oscura .cab-boton-menu[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cab-oscura .cab-boton-menu[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.cab-oscura .cab-interior { padding-left: 0; padding-right: 0; }
@media (max-width: 1023.98px) {
    .cab-oscura .cab-nav { padding: 14px 20px; }
    .cab-oscura .cab-logo { height: 40px; }
    .cab-oscura .cab-interior { padding-left: 0; padding-right: 0; }
    .cab-oscura .cab-boton-menu { display: block; }
    .cab-oscura .cab-menu { display: none; flex-basis: 100%; flex-direction: column; flex-wrap: nowrap; max-height: calc(100vh - 90px); overflow-y: auto; }
    .cab-oscura .cab-abierta .cab-menu { display: flex; }
    .cab-oscura .menu-item { margin: 0; flex-wrap: wrap; border-top: 1px solid rgba(255, 255, 255, 0.12); }
    .cab-oscura .menu-item > a, .cab-oscura .menu-item > .menu-desplegable { flex: 1; padding: 12px 0; }
    .cab-oscura .cab-sub-boton { padding: 12px 10px; }
    .cab-oscura .menu-item-con-hijos:hover > .menu-submenu { display: none; }
    .cab-oscura .menu-submenu { position: static; flex-basis: 100%; min-width: 0; padding: 0 0 6px 16px; background: none; }
    .cab-oscura .menu-submenu .menu-item { margin: 0; border-top: 0; }
    .cab-oscura .menu-submenu .menu-item > a { padding: 8px 0; }
    .cab-oscura .menu-item-con-hijos.cab-sub-abierto > .menu-submenu { display: block; }
}
