/* Navegación La Victoria · mega-menú (escritorio) + drawer (móvil) */
.main-nav{position:relative;font:inherit;z-index:60}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;color:inherit}

/* ============ ESCRITORIO: mega-menú ============ */
.mega-wrap{display:block}
.mega-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;margin:0;padding:.35rem .5rem}
.mega-bar>li{display:flex}
.mega-home,.mega-todo,.mega-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .8rem;border:0;border-radius:10px;background:transparent;color:var(--tinta);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.mega-home:hover,.mega-todo:hover,.mega-btn:hover{background:var(--verde-claro)}
.mega-btn[aria-expanded="true"]{background:var(--verde);color:#fff}
.mega-ico{font-size:1.05em}
.mega-todo{margin-left:auto}
.mega-panels{position:relative}
.mega-panel{position:absolute;top:0;left:.5rem;right:.5rem;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra),0 12px 40px rgba(0,0,0,.14);padding:1rem 1.2rem 1.2rem;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.mega-panel.abierto{opacity:1;transform:none;pointer-events:auto}
.mega-titulo{margin:.1rem 0 .7rem;font-size:1.05rem;font-weight:800;color:var(--verde-osc);display:flex;align-items:center;gap:.45rem}
[data-tema="oscuro"] .mega-titulo{color:var(--tinta)}
.mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.15rem 1.2rem}
.mega-cols a{display:block;padding:.42rem .55rem;border-radius:8px;color:var(--tinta);font-size:.95rem}
.mega-cols a:hover{background:var(--verde-claro);color:var(--verde-osc)}
[data-tema="oscuro"] .mega-cols a:hover{color:var(--tinta)}
.mega-cols a[aria-current="page"]{background:var(--ambar-claro);font-weight:700}

/* ============ MÓVIL: drawer ============ */
.drawer-toggle{display:none;align-items:center;gap:.4rem;margin:.4rem .5rem;padding:.6rem 1rem;border:1px solid var(--linea);border-radius:10px;background:var(--blanco);color:var(--tinta);font:inherit;font-weight:700;cursor:pointer}
.drawer-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:70;opacity:0;transition:opacity .22s ease}
.drawer-scrim.abierto{opacity:1}
.drawer{position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);background:var(--blanco);color:var(--tinta);z-index:71;transform:translateX(-102%);transition:transform .25s ease;overflow-y:auto;box-shadow:0 0 40px rgba(0,0,0,.25);display:flex;flex-direction:column}
.drawer.abierto{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--linea);position:sticky;top:0;background:var(--blanco);z-index:2}
.drawer-marca{font-weight:800;color:var(--verde-osc)}
[data-tema="oscuro"] .drawer-marca{color:var(--tinta)}
.drawer-close{border:1px solid var(--linea);background:var(--fondo);color:var(--tinta);border-radius:10px;padding:.45rem .7rem;font:inherit;font-weight:700;cursor:pointer}
.drawer-link{display:block;padding:.7rem 1rem;font-weight:600;border-bottom:1px solid var(--linea)}
.drawer-link:hover{background:var(--verde-claro)}
.drawer-group{border-bottom:1px solid var(--linea)}
.drawer-group summary{list-style:none;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:700;cursor:pointer}
.drawer-group summary::-webkit-details-marker{display:none}
.drawer-group summary:hover{background:var(--verde-claro)}
.drawer-group summary::after{content:"▾";margin-left:auto;color:var(--gris)}
.drawer-group[open] summary::after{content:"▴"}
.drawer-group ul{padding:.2rem .5rem .8rem 1rem}
.drawer-group ul a{display:block;padding:.45rem .6rem;border-radius:8px;font-size:.95rem}
.drawer-group ul a:hover{background:var(--verde-claro)}
.drawer-group ul a[aria-current="page"]{background:var(--ambar-claro);font-weight:700}
.drawer .drawer-ver-todo{margin:.8rem 1rem 1.2rem;text-align:center;background:var(--verde);color:#fff;border-radius:10px;padding:.7rem;font-weight:800}
.drawer-foot{padding:.6rem 1rem 1.4rem;color:var(--gris);font-size:.8rem}

@media (max-width:900px){
  .mega-wrap{display:none}
  .drawer-toggle{display:inline-flex}
}
@media (max-width:1100px) and (min-width:901px){
  .mega-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ============ mapa-sitio: tarjetas compactas por categoría ============ */
.mapa-sticky{position:sticky;top:0;z-index:20;background:var(--fondo);padding:.7rem 0 .3rem}
.mapa-buscador{max-width:560px}
.mapa-buscador input{width:100%;padding:.7rem 1rem;border:1px solid var(--linea);border-radius:12px;font:inherit;background:var(--blanco);color:var(--tinta)}
.mapa-buscador input:focus{outline:2px solid var(--azul);outline-offset:1px}
.mapa-contador{margin:.35rem 0 0;font-size:.85rem;color:var(--gris)}
.mapa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.1rem 0 2.5rem}
.mapa-card{background:var(--blanco);border:1px solid var(--linea);border-top:4px solid var(--cat,#2f5d34);border-radius:var(--radio);box-shadow:var(--sombra);padding:.85rem 1rem 1rem;margin:0}
.mapa-card h2{font-size:1rem;margin:0 0 .5rem;padding:0;border:0;display:flex;align-items:center;gap:.5rem;color:var(--tinta)}
.mapa-card .mapa-ico{font-size:1.3em}
.mapa-num{margin-left:auto;font-size:.72rem;font-weight:800;background:var(--cat,#2f5d34);color:#fff;border-radius:999px;padding:.12rem .55rem;flex:none}
.mapa-card ul{list-style:none;margin:0;padding:0;columns:2;column-gap:.9rem}
.mapa-card li{break-inside:avoid;margin:0}
.mapa-card a{display:block;padding:.3rem .45rem;border-radius:7px;font-size:.87rem;color:var(--tinta);text-decoration:none;line-height:1.35}
.mapa-card a:hover{background:var(--verde-claro);color:var(--verde-osc)}
[data-tema="oscuro"] .mapa-card a:hover{color:var(--tinta)}
.mapa-vacio{color:var(--gris);font-style:italic}
@media (max-width:1100px){.mapa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mapa-grid{grid-template-columns:1fr}}
@media (max-width:400px){.mapa-card ul{columns:1}}
@media (prefers-reduced-motion:reduce){
  .mega-panel,.drawer,.drawer-scrim{transition:none}
}
