/* === Menú del sitio: barra con desplegables, acordeón móvil y fila legal === */

.sitio-nav-escritorio {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.sitio-menu {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sitio-menu__enlace {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .5rem .25rem;
    font-size: .875rem;
    font-weight: 500;
    color: #fff;
    background: none;
    border: 0;
    cursor: pointer;
    transition: color .15s ease;
}

.sitio-menu__enlace:hover,
.sitio-menu__enlace.is-activo {
    color: #67e8f9;
}

.sitio-menu__enlace svg,
.sitio-menu__flecha svg {
    width: 1rem;
    height: 1rem;
    transition: transform .2s ease;
}

.sitio-menu__padre {
    position: relative;
    display: flex;
    align-items: center;
}

.sitio-menu__flecha {
    display: inline-flex;
    padding: .25rem;
    color: #fff;
    background: none;
    border: 0;
    border-radius: .25rem;
    cursor: pointer;
}

.sitio-menu__flecha:hover {
    color: #67e8f9;
}

.sitio-menu__padre.is-abierto .sitio-menu__enlace svg,
.sitio-menu__padre.is-abierto .sitio-menu__flecha svg {
    transform: rotate(180deg);
}

.sitio-menu :focus-visible,
.sitio-menu-movil :focus-visible {
    outline: 2px solid #67e8f9;
    outline-offset: 2px;
}

.sitio-submenu {
    position: absolute;
    top: 100%;
    left: -1rem;
    z-index: 50;
    min-width: 14rem;
    margin: 0;
    padding: .5rem;
    list-style: none;
    background: #fff;
    border-radius: .75rem;
    box-shadow: 0 20px 40px -12px rgba(15, 23, 42, .35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(.5rem);
    transition: opacity .15s ease, transform .15s ease, visibility .15s;
}

/* Puente invisible para que el cursor no pierda el hover entre el disparador y el panel. */
.sitio-submenu::before {
    content: '';
    position: absolute;
    top: -.75rem;
    right: 0;
    left: 0;
    height: .75rem;
}

.sitio-menu__padre.is-abierto > .sitio-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(.25rem);
}

@media (hover: hover) {
    .sitio-menu__padre:hover > .sitio-submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(.25rem);
    }
}

.sitio-submenu a {
    display: block;
    padding: .5rem .75rem;
    font-size: .875rem;
    color: #1f2937;
    border-radius: .5rem;
}

.sitio-submenu a:hover,
.sitio-submenu a:focus-visible,
.sitio-submenu a.is-activo {
    color: #1e40af;
    background: #eff6ff;
}

/* Móvil */
.sitio-menu-movil {
    margin: 0;
    padding: .5rem .5rem 1rem;
    list-style: none;
}

.sitio-menu-movil a,
.sitio-menu-movil summary {
    display: block;
    padding: .625rem .75rem;
    color: #fff;
    border-radius: .5rem;
    cursor: pointer;
}

.sitio-menu-movil a:hover,
.sitio-menu-movil summary:hover {
    color: #67e8f9;
}

.sitio-menu-movil summary {
    display: flex;
    justify-content: space-between;
    list-style: none;
}

.sitio-menu-movil summary::-webkit-details-marker {
    display: none;
}

.sitio-menu-movil summary::after {
    content: '▾';
    transition: transform .2s ease;
}

.sitio-menu-movil details[open] > summary::after {
    transform: rotate(180deg);
}

.sitio-menu-movil details ul {
    margin: 0 0 .25rem .75rem;
    padding: 0 0 0 .5rem;
    list-style: none;
    border-left: 1px solid rgba(255, 255, 255, .2);
}

.sitio-menu-movil__boton {
    margin-top: .5rem;
    font-weight: 700;
    text-align: center;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

/* Fila legal del pie */
.sitio-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem 1.5rem;
    margin-top: 2rem;
    font-size: .875rem;
    opacity: .75;
}

.sitio-legal a:hover {
    color: #60a5fa;
}

@media (prefers-reduced-motion: reduce) {
    .sitio-submenu,
    .sitio-menu__enlace svg,
    .sitio-menu__flecha svg,
    .sitio-menu-movil summary::after {
        transition: none;
    }
}
