.nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.nav__list li { position: relative; }
.nav__list a { text-decoration: none; display: block; color: #1a1a1a; }
.nav__list > li > a { padding: 10px 6px; position: relative; }

.nav--flecha .nav__list > li.menu-item-has-children > a { display: inline-flex; align-items: center; }
.nav--flecha .nav__list > li.menu-item-has-children > a::after {
    content: ''; display: inline-block; margin-left: 8px; flex: 0 0 auto;
    border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #1a1a1a;
}

/* Submenú */
.nav__list .sub-menu {
    position: absolute; top: 100%; left: 0;
    display: block; width: 300px;
    background: #fff; border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
    padding: 12px; margin: 0; list-style: none;
    opacity: 0; visibility: hidden; transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    z-index: 999;
}
.nav__list > li > .sub-menu { margin-top: 10px; }
.nav__list li:hover > .sub-menu,
.nav__list li.is-open > .sub-menu {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.sub-menu a { color: #555; padding: 10px 14px; border-radius: 6px; line-height: 1.35; transition: background-color .15s ease, color .15s ease; }
.sub-menu a:hover { color: #44B322; background: #f5f5f5; }

/* Ítem destacado */
.nav__list > li.destacado > a { color: #44B322; font-weight: 700; }

@media (max-width: 1024px) {
    .nav__list { flex-direction: column; align-items: stretch; gap: 4px; }
    .nav__list .sub-menu {
        position: static; width: auto !important; box-shadow: none; opacity: 1; visibility: visible;
        transform: none; display: none; padding-left: 16px; margin-top: 0;
    }
    .nav__list li.is-open > .sub-menu { display: block; }
    .nav--flecha .nav__list > li.menu-item-has-children > a::after { right: 10px; }
}
