/* LCE Nav — structural styles only. Visual styles in child theme. */
.lce-nav { width: 100%; position: relative; z-index: var(--luc-z-header, 100); }
.lce-nav--sticky { position: sticky; top: 0; }
.lce-nav.is-sticky { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.lce-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; max-width: var(--luc-container-width, 1200px); margin-inline: auto; padding: 1rem 1.5rem; }
.lce-nav__logo a { display: flex; align-items: center; text-decoration: none; }
.lce-nav__logo img { display: block; width: 140px; height: auto; }
.lce-nav__logo-text { font-weight: 700; font-size: 1.25rem; white-space: nowrap; }

/* ── Menu principal ───────────────────────────────────────────────────── */
.lce-nav__menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2rem; }
.lce-nav__menu > li { position: relative; }
.lce-nav__menu a { text-decoration: none; font-weight: 500; white-space: nowrap; transition: color .2s; }

/* ── Submenús — ocultos por defecto ──────────────────────────────────── */
.lce-nav__menu li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    z-index: 200;
    background: var(--luc-color-primary, #2C1A0E);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

/* Submenú de tercer nivel — sale a la derecha */
.lce-nav__menu li ul li { position: relative; }
.lce-nav__menu li ul li ul {
    top: 0;
    left: 100%;
}

/* Mostrar al hover */
.lce-nav__menu li:hover > ul,
.lce-nav__menu li ul li:hover > ul {
    display: block;
}

/* Links dentro del submenú */
.lce-nav__menu li ul a {
    display: block;
    padding: .55rem 1.25rem;
    font-size: .875rem;
    font-weight: 500;
    white-space: nowrap;
    color: var(--luc-color-secondary, #F5EFE6);
    transition: background .15s, color .15s;
}
.lce-nav__menu li ul a:hover {
    background: rgba(255,255,255,.08);
    color: var(--luc-color-accent-warm, #C9973A);
}

/* Indicador de que tiene hijos */
.lce-nav__menu li.menu-item-has-children > a::after {
    content: ' ▾';
    font-size: .7rem;
    opacity: .7;
}
.lce-nav__menu li ul li.menu-item-has-children > a::after {
    content: ' ›';
}

/* ── Actions ──────────────────────────────────────────────────────────── */
.lce-nav__actions { display: flex; align-items: center; gap: 1rem; }
.lce-nav__search-btn, .lce-nav__cart-btn, .lce-nav__hamburger { background: none; border: none; cursor: pointer; padding: .25rem; display: flex; align-items: center; color: inherit; }
.lce-nav__cart-btn { position: relative; }
.lce-nav__cart-count { position: absolute; top: -6px; right: -8px; background: var(--luc-color-accent-warm, #C9973A); color: #1a0e06; font-size: .65rem; font-weight: 700; line-height: 1; padding: 2px 5px; border-radius: 20px; min-width: 16px; text-align: center; }

/* ── Hamburger ────────────────────────────────────────────────────────── */
.lce-nav__hamburger { flex-direction: column; gap: 5px; display: none; }
.lce-nav__hamburger span { display: block; width: 22px; height: 2px; background: currentColor; transition: transform .25s, opacity .25s; }
.lce-nav__hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lce-nav__hamburger.is-open span:nth-child(2) { opacity: 0; }
.lce-nav__hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Search drawer ────────────────────────────────────────────────────── */
.lce-nav__search-drawer { position: absolute; top: 100%; left: 0; right: 0; padding: 1rem 1.5rem; background: inherit; display: none; z-index: 200; }
.lce-nav__search-drawer.is-open { display: block; }

/* ── Mobile drawer ────────────────────────────────────────────────────── */
.lce-nav__mobile-drawer { display: none; overflow: hidden; max-height: 0; transition: max-height .35s ease; }
.lce-nav__mobile-drawer.is-open { max-height: 600px; }
.lce-nav__mobile-menu { list-style: none; margin: 0; padding: 1rem 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.lce-nav__mobile-menu a { text-decoration: none; font-weight: 500; display: block; padding: .5rem 0; }
.lce-nav__mobile-menu ul { list-style: none; padding-left: 1rem; margin: .25rem 0; }
.lce-nav__mobile-menu ul a { font-size: .875rem; opacity: .85; }

@media (max-width: 768px) {
    .lce-nav__menu-wrap { display: none; }
    .lce-nav__hamburger { display: flex; }
    .lce-nav__mobile-drawer { display: block; }
}
