/* =========================================================
   Encabezado y menú (componente/encabezado.js)
   ========================================================= */

.encabezado {
    position: fixed; inset: 0 0 auto 0; z-index: 50;
    height: var(--alto-encabezado);
    border-bottom: 1px solid transparent;
    transition: background-color 0.3s, border-color 0.3s;
}
.encabezado--fijo {
    background: rgba(10, 10, 10, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom-color: var(--borde);
}
.encabezado__fila { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.encabezado__logo img { height: 38px; width: auto; }

.menu { display: flex; align-items: center; gap: 32px; }
.menu__lista { display: flex; gap: 6px; }
.menu__lista a {
    position: relative;
    display: block; padding: 8px 12px;
    font-weight: 500; color: var(--texto-suave);
    transition: color 0.2s;
}
.menu__lista a::after {
    content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px;
    height: 2px; background: var(--naranja); border-radius: 2px;
    transform: scaleX(0); transition: transform 0.25s;
}
.menu__lista a:hover, .menu__lista a.activo { color: var(--blanco); }
.menu__lista a:hover::after, .menu__lista a.activo::after { transform: scaleX(1); }

.hamburguesa {
    display: none;
    width: 44px; height: 44px;
    background: transparent; border: 1px solid var(--borde); border-radius: var(--radio-chico);
    cursor: pointer;
    flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.hamburguesa span { width: 20px; height: 2px; background: var(--blanco); border-radius: 2px; transition: transform 0.3s, opacity 0.3s; }
.hamburguesa[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburguesa[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburguesa[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Teléfono: el menú baja desde arriba ---------- */
@media (max-width: 960px) {
    .hamburguesa { display: flex; }
    .encabezado__logo img { height: 32px; }

    .menu {
        position: fixed; top: var(--alto-encabezado); left: 0; right: 0;
        flex-direction: column; align-items: stretch; gap: 20px;
        padding: 20px 20px 28px;
        background: rgba(10, 10, 10, 0.97);
        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
        border-bottom: 1px solid var(--borde);
        transform: translateY(-12px); opacity: 0; visibility: hidden;
        transition: transform 0.3s, opacity 0.3s, visibility 0.3s;
    }
    .menu.abierto { transform: none; opacity: 1; visibility: visible; }
    .menu__lista { flex-direction: column; gap: 0; }
    .menu__lista a { padding: 14px 4px; font-size: 1.15rem; border-bottom: 1px solid var(--borde); }
    .menu__lista a::after { display: none; }
    .menu__lista a.activo { color: var(--naranja); }
    .menu__cta { padding: 16px; }
    .encabezado--menu { background: rgba(10, 10, 10, 0.97); border-bottom-color: var(--borde); }
}
