/* LonaDirecta (menú) 1.18.0 · cabecera con menú principal y submenú «Productos». Usa las variables del tema padre. */
.ld-saltar { position:absolute; left:-9999px; top:8px; z-index:1000; padding:10px 14px; border-radius:10px; background:#fff; color:var(--ink,#151318); font-weight:800; }
.ld-saltar:focus { left:12px; }

.site-nav.ld-site-nav { gap:0; }
.ld-menu { list-style:none; margin:0; padding:0; }
.ld-menu-escritorio { display:flex; align-items:center; gap:2px; }
.ld-menu-escritorio > li { position:relative; }
.ld-site-nav .ld-menu-escritorio > li > a { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:8px 11px; border-radius:10px; color:var(--ink,#151318); font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
.ld-site-nav .ld-menu-escritorio > li > a:hover,
.ld-site-nav .ld-menu-escritorio > li.current-menu-item > a,
.ld-site-nav .ld-menu-escritorio > li.current-menu-ancestor > a,
.ld-site-nav .ld-menu-escritorio > li.current-menu-parent > a { color:var(--magenta,#d5006d); }
.ld-menu-escritorio > .menu-item-has-children > a::after { content:""; width:6px; height:6px; margin-top:-3px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.ld-site-nav .ld-menu-escritorio > .ld-menu-cta > a { margin:0 4px; padding:8px 15px; background:var(--pink,#fff0f7); border:1px solid #f6c6de; color:var(--magenta-dark,#aa0057); }
.ld-site-nav .ld-menu-escritorio > .ld-menu-cta > a:hover { background:var(--magenta,#d5006d); border-color:var(--magenta,#d5006d); color:#fff; }

/* Submenú (sin JavaScript: se abre al pasar el ratón o al llegar con el tabulador) */
.ld-menu-escritorio .sub-menu { list-style:none; margin:0; padding:10px; position:absolute; top:calc(100% + 8px); left:-8px; z-index:200; min-width:300px; background:#fff; border:1px solid var(--line,#e7e2e5); border-radius:14px; box-shadow:0 18px 50px rgba(24,18,22,.15); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s, transform .15s, visibility .15s; }
.ld-menu-escritorio > li > .sub-menu::before { content:""; position:absolute; left:0; right:0; top:-12px; height:12px; }
.ld-menu-escritorio > li:hover > .sub-menu,
.ld-menu-escritorio > li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }
.ld-site-nav .ld-menu-escritorio .sub-menu a { display:block; padding:10px 12px; border-radius:9px; color:var(--ink,#151318); font-size:14px; font-weight:750; text-decoration:none; white-space:nowrap; }
.ld-site-nav .ld-menu-escritorio .sub-menu a:hover { background:var(--warm,#faf8f6); color:var(--magenta,#d5006d); }
.ld-menu-escritorio .sub-menu .sub-menu { position:static; min-width:0; margin:0 0 6px 14px; padding:0 0 0 8px; border:0; border-left:2px solid var(--line,#e7e2e5); border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
.ld-site-nav .ld-menu-escritorio .sub-menu .sub-menu a { padding:7px 10px; font-weight:600; font-size:13.5px; color:#4a444c; }
.ld-menu .ld-menu-todos { margin-top:6px; padding-top:6px; border-top:1px solid var(--line,#e7e2e5); }
.ld-site-nav .ld-menu .ld-menu-todos > a { color:var(--magenta,#d5006d); }

/* Móvil y tablet: hamburguesa (el carrito sigue siempre visible) */
.mobile-nav nav { max-height:calc(100vh - 90px); overflow:auto; }
.ld-header-menu .mobile-nav nav { width:min(330px, calc(100vw - 28px)); }
.ld-menu-movil .sub-menu { list-style:none; margin:0 0 4px 12px; padding:0 0 0 8px; border-left:2px solid var(--line,#e7e2e5); }
.mobile-nav .ld-menu-movil .sub-menu a { padding:9px 12px; font-size:14px; font-weight:650; }
.mobile-nav .ld-menu-movil .sub-menu .sub-menu a { padding:7px 12px; font-size:13.5px; font-weight:600; color:#4a444c; }
.mobile-nav .ld-menu-movil .ld-menu-cta > a { margin:6px 0; background:var(--magenta,#d5006d); color:#fff; text-align:center; }
.mobile-nav .ld-menu-movil .ld-menu-cta > a:hover { background:var(--magenta-dark,#aa0057); }
.mobile-nav .ld-menu-movil .current-menu-item > a { color:var(--magenta,#d5006d); }
.mobile-nav .ld-menu-movil .ld-menu-cuenta { margin-top:6px; border-top:1px solid var(--line,#e7e2e5); padding-top:6px; }
@media (min-width:561px) { .ld-menu-movil .ld-menu-cuenta { display:none; } }
@media (max-width:1180px) {
  .ld-header-menu .site-nav.ld-site-nav { display:none; }
  .ld-header-menu .mobile-nav { display:block; }
  .ld-header-menu .header-tools { margin-left:auto; }
}
