/* Mega menu + barra — diseño propio con fallback a paleta K360 */

@keyframes k360MmFade{from{opacity:0}to{opacity:1}}
@keyframes k360MmSlideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes k360MmSlideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

.k360-nav-link,.k360-mm-trigger{font-weight:var(--k360-mm-weight-main,700)}
.k360-mm-side-btn,.k360-nav-drop a{font-weight:var(--k360-mm-weight-sub,600)}
.k360-mm-card,.k360-mm-card-title{font-weight:var(--k360-mm-weight-sub2,500)}
.k360-mm-panel{box-shadow:var(--k360-mm-panel-shadow,0 12px 28px rgba(15,23,42,.12))}
.k360-mm{
  position:relative;z-index:50;
  font-family:var(--k360-mm-font-main,inherit);
  color:var(--k360-mm-color-main,var(--k360-text));
}
.k360-mm-bar{
  display:flex;align-items:center;
  background:var(--k360-mm-bg-bar,var(--k360-nav-bg,transparent));min-height:48px;padding:0 1rem;border-radius:0;
}
.k360-mm-trigger{
  display:inline-flex;align-items:center;gap:.4rem;
  color:var(--k360-mm-color-main,var(--k360-nav-text,var(--k360-text)));
  text-decoration:none;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:.85rem 1rem;background:transparent;border:0;cursor:pointer;
  font-family:inherit;font-size:var(--k360-mm-size-main,.85rem);
}
.k360-mm-trigger:hover,.k360-mm-trigger[aria-expanded="true"]{
  background:var(--k360-nav-hover-bg,var(--k360-accent-soft));
  color:var(--k360-mm-color-main-hover,var(--k360-nav-hover-text,var(--k360-accent)));
}
.k360-mm-caret{
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid currentColor;opacity:.9;margin-left:.35rem;
}
.k360-mm-panel{
  position:absolute;left:0;right:0;top:100%;
  /* Nunca heredar --k360-bg:transparent del tema: panel sólido por defecto */
  background:var(--k360-mm-bg-panel,#fff);
  color:var(--k360-mm-color-sub,var(--k360-text,#0f172a));
  border:1px solid var(--k360-border,#e2e8f0);
  border-radius:var(--k360-mm-panel-radius,0);
  box-shadow:var(--k360-mm-panel-shadow,0 12px 28px rgba(15,23,42,.12));
  min-height:220px;z-index:60;overflow:hidden;
  font-family:var(--k360-mm-font-sub,var(--k360-mm-font-main,inherit));
  width:auto;height:auto;max-width:none;
}
.k360-mm-panel[hidden]{display:none!important}
.k360-mm-panel--drop{
  left:0;right:auto;min-width:240px;min-height:0;padding:.35rem 0;overflow:visible;
  background:var(--k360-mm-bg-drop,var(--k360-mm-bg-panel,#fff));
}
.k360-mm-inner{display:grid;grid-template-columns:minmax(200px,280px) 1fr;min-height:240px}
.k360-mm-side{
  list-style:none;margin:0;padding:.5rem 0;background:var(--k360-mm-bg-side,var(--k360-surface,#f8fafc));
  border-right:1px solid var(--k360-border,#e2e8f0);max-height:420px;overflow:auto;
  height:auto;min-height:0;width:auto;border-radius:0;
  scrollbar-width:thin;scrollbar-color:var(--k360-border) transparent;
}
.k360-mm-side::-webkit-scrollbar{width:5px}
.k360-mm-side::-webkit-scrollbar-thumb{background:var(--k360-border);border-radius:99px}
.k360-mm-side::-webkit-scrollbar-track{background:transparent}
.k360-mm-side-item{margin:0}
.k360-mm-side-btn{
  width:100%;text-align:left;border:0;background:var(--k360-mm-side-bg,transparent);cursor:pointer;
  font:inherit;font-weight:600;font-size:var(--k360-mm-size-sub,13px);
  color:var(--k360-mm-side-color,var(--k360-mm-color-sub,var(--k360-accent)));padding:.7rem 1rem;
}
.k360-mm-side-btn:hover,.k360-mm-side-btn.is-active,.k360-mm-side-item.is-active .k360-mm-side-btn{
  background:var(--k360-mm-side-bg,var(--k360-accent-soft));
  color:var(--k360-mm-side-hover,var(--k360-mm-color-sub-hover,var(--k360-text)));
}
.k360-mm-content{
  padding:1rem 1.15rem;background:var(--k360-mm-bg-panel,#fff);max-height:420px;overflow:auto;
  height:auto;min-height:0;width:auto;border-radius:0;
  scrollbar-width:thin;scrollbar-color:var(--k360-border) transparent;
}
.k360-mm-content::-webkit-scrollbar{width:5px}
.k360-mm-content::-webkit-scrollbar-thumb{background:var(--k360-border);border-radius:99px}
.k360-mm-content::-webkit-scrollbar-track{background:transparent}
.k360-mm-pane[hidden]{display:none!important}
.k360-mm-pane-all{display:inline-block;margin:0 0 .75rem;font-size:.85rem;color:var(--k360-mm-pane-color,var(--k360-mm-color-sub,var(--k360-accent)));text-decoration:none;font-weight:600}
.k360-mm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}
.k360-mm-card{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:var(--k360-mm-color-sub2,var(--k360-text-muted));text-align:center;font-size:var(--k360-mm-size-sub2,12px)}
.k360-mm-card:hover{color:var(--k360-mm-color-sub2-hover,var(--k360-text))}
.k360-mm-card-media{display:block;aspect-ratio:1;background:var(--k360-surface);border-radius:8px;overflow:hidden}
.k360-mm-card-img{width:100%;height:100%;object-fit:cover;display:block}
.k360-mm-card-ph{display:block;width:100%;height:100%;background:var(--k360-surface)}
.k360-mm-card-title{font-size:inherit;line-height:1.3}

/* Barra WP — escritorio */
.k360-nav{
  position:relative;z-index:50;width:100%;
  font-family:var(--k360-mm-font-main,inherit);
  background:var(--k360-mm-bg-bar,var(--k360-nav-bg,transparent));
  color:var(--k360-mm-color-main,var(--k360-nav-text,var(--k360-text)));
}
.k360-nav-panel{display:contents}
.k360-nav-panel-hd,.k360-nav-backdrop,.k360-nav-toggle,.k360-nav-close{display:none}
.k360-nav-bar{
  display:flex;flex-wrap:wrap;align-items:stretch;
  list-style:none;margin:0;padding:0;min-height:48px;
  background:transparent;
}
.k360-nav--align-left .k360-nav-bar{justify-content:flex-start}
.k360-nav--align-center .k360-nav-bar{justify-content:center}
.k360-nav--align-right .k360-nav-bar{justify-content:flex-end}
.k360-nav-item{position:relative;margin:0}
.k360-nav-item--mega{position:static}
.k360-nav-link{
  display:inline-flex;align-items:center;gap:.25rem;
  color:var(--k360-mm-color-main,var(--k360-nav-text,var(--k360-text)));text-decoration:none;
  font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:.85rem .95rem;white-space:nowrap;font-family:inherit;font-size:var(--k360-mm-size-main,.85rem);
  background:transparent;border:0;cursor:pointer;
}
.k360-nav-item:hover > .k360-nav-link,
.k360-nav-item.is-open > .k360-nav-link,
.k360-nav-link[aria-expanded="true"]{
  background:var(--k360-nav-hover-bg,var(--k360-accent-soft));
  color:var(--k360-mm-color-main-hover,var(--k360-nav-hover-text,var(--k360-accent)));
}
.k360-nav-item--mega > .k360-mm-panel{left:0;right:0;width:100%}
.k360-nav-drop{list-style:none;margin:0;padding:.25rem 0;background:var(--k360-mm-bg-drop,var(--k360-mm-bg-panel,#fff));font-family:var(--k360-mm-font-sub,inherit)}
.k360-nav-drop a{
  display:block;padding:.55rem 1rem;color:var(--k360-mm-color-sub,var(--k360-text,#0f172a));
  text-decoration:none;font-weight:600;font-size:var(--k360-mm-size-sub,.9rem);text-transform:none;letter-spacing:0;
}
.k360-nav-drop a:hover{background:var(--k360-accent-soft);color:var(--k360-mm-color-sub-hover,var(--k360-accent))}

.k360-nav-toggle-bars{
  display:block;width:1.15rem;height:2px;background:currentColor;position:relative;flex-shrink:0;
  box-shadow:0 .35rem 0 currentColor,0 -.35rem 0 currentColor;
}
.k360-nav-toggle-label{
  font:inherit;font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;line-height:1;
}

.k360-wp-menu{color:var(--k360-text)}
.k360-wp-menu-list{list-style:none;margin:0;padding:0}
.k360-wp-menu-item{margin:0}
.k360-wp-menu-item > a{display:block;padding:.45rem .75rem;color:var(--k360-text);text-decoration:none}
.k360-wp-menu-item > a:hover{color:var(--k360-accent);background:var(--k360-surface)}
.k360-wp-menu--dropdown .k360-wp-menu-list .k360-wp-menu-list{padding-left:1rem}

/* —— Móvil —— */

  .k360-nav--bp-mobile.k360-nav--responsive{
    display:flex;align-items:center;justify-content:center;
    min-height:48px;padding:0;width:100%;
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
    width:90%;max-width:90%;box-sizing:border-box;
    margin:.4rem auto;padding:.65rem .9rem;
    border:1px solid var(--k360-border);
    background:transparent;color:var(--k360-nav-text,var(--k360-text,#0f172a));
    border-radius:6px;cursor:pointer;z-index:70;
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-panel{display:block}
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-panel-hd{
    display:flex;align-items:center;justify-content:flex-end;
    padding:.65rem .85rem;
    /* Fondo sólido: no heredar --k360-bg/--k360-nav-bg transparent del tema */
    background:#ffffff;
    background:var(--k360-mm-bg-panel,#ffffff);
    color:var(--k360-text,#0f172a);
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-panel-title{display:none!important}
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-close{
    display:inline-flex;align-items:center;justify-content:center;
    width:2rem;height:2rem;border:0;border-radius:6px;cursor:pointer;
    background:transparent;color:var(--k360-text,#0f172a);font-size:1.5rem;line-height:1;
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-bar{
    display:flex;flex-direction:column;align-items:stretch;width:100%;
    min-height:0;
    background:#ffffff;
    background:var(--k360-mm-bg-panel,#ffffff);
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-link{
    width:100%;justify-content:space-between;color:var(--k360-text,#0f172a);
    text-transform:none;letter-spacing:0;font-size:.95rem;padding:.9rem 1rem;
    border-bottom:1px solid var(--k360-border,#e2e8f0);
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-item:hover > .k360-nav-link,
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-item.is-open > .k360-nav-link,
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-link[aria-expanded="true"]{
    background:var(--k360-accent-soft);color:var(--k360-accent);
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-item--mega,
  .k360-nav--bp-mobile.k360-nav--responsive .k360-nav-item--drop{position:relative}
  .k360-nav--bp-mobile.k360-nav--responsive .k360-mm-panel{
    position:relative;left:auto;right:auto;top:auto;box-shadow:none;
    border:0;border-bottom:1px solid var(--k360-border);min-height:0;
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-mm-inner{grid-template-columns:1fr;min-height:0}
  .k360-nav--bp-mobile.k360-nav--responsive .k360-mm-side{
    display:flex;flex-wrap:wrap;overflow:auto;border-right:0;
    border-bottom:1px solid var(--k360-border);max-height:none;padding:.35rem;
  }
  .k360-nav--bp-mobile.k360-nav--responsive .k360-mm-side-btn{white-space:nowrap;padding:.45rem .65rem;font-size:.8rem}
  .k360-nav--bp-mobile.k360-nav--responsive .k360-mm-content{max-height:none;padding:.75rem}
  .k360-nav--bp-mobile.k360-nav--responsive .k360-mm-cards{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem}

  /* Plantilla: colapsar bajo header */
  .k360-nav--bp-mobile.k360-nav--m-collapse .k360-nav-backdrop{display:none!important}
  .k360-nav--bp-mobile.k360-nav--m-collapse .k360-nav-panel{
    display:none;position:absolute;left:5%;right:auto;top:100%;z-index:80;
    width:90%;max-width:90%;box-sizing:border-box;
    background:#ffffff;
    background:var(--k360-mm-bg-panel,#ffffff);
    border-bottom:1px solid var(--k360-border,#e2e8f0);
    max-height:min(80vh,640px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--k360-border) transparent;
  }
  .k360-nav--bp-mobile.k360-nav--m-collapse.is-nav-open .k360-nav-panel{display:block}

  /* Plantilla: cajón / flotante (overlay lateral) */
  .k360-nav--bp-mobile.k360-nav--m-drawer .k360-nav-backdrop,
  .k360-nav--bp-mobile.k360-nav--m-float .k360-nav-backdrop{
    display:block;position:fixed;inset:0;z-index:9998;
    background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;
  }
  .k360-nav--bp-mobile.k360-nav--m-drawer.is-nav-open .k360-nav-backdrop,
  .k360-nav--bp-mobile.k360-nav--m-float.is-nav-open .k360-nav-backdrop{
    opacity:1;pointer-events:auto;
  }
  .k360-nav--bp-mobile.k360-nav--m-drawer .k360-nav-backdrop[hidden],
  .k360-nav--bp-mobile.k360-nav--m-float .k360-nav-backdrop[hidden]{display:none!important}
  .k360-nav--bp-mobile.k360-nav--m-drawer .k360-nav-panel,
  .k360-nav--bp-mobile.k360-nav--m-float .k360-nav-panel{
    position:fixed;top:0;bottom:0;z-index:9999;width:90vw;max-width:90vw;
    background:#ffffff;
    background:var(--k360-mm-bg-panel,#ffffff);
    color:var(--k360-text,#0f172a);
    box-shadow:0 0 40px rgba(15,23,42,.25);
    display:flex;flex-direction:column;
    transition:transform .25s ease;
    overflow:auto;scrollbar-width:thin;scrollbar-color:var(--k360-border) transparent;
  }
  .k360-nav--bp-mobile.k360-nav--side-right.k360-nav--bp-mobile.k360-nav--m-drawer .k360-nav-panel,
  .k360-nav--bp-mobile.k360-nav--side-right.k360-nav--bp-mobile.k360-nav--m-float .k360-nav-panel{
    right:0;left:auto;transform:translateX(105%);
  }
  .k360-nav--bp-mobile.k360-nav--side-left.k360-nav--bp-mobile.k360-nav--m-drawer .k360-nav-panel,
  .k360-nav--bp-mobile.k360-nav--side-left.k360-nav--bp-mobile.k360-nav--m-float .k360-nav-panel{
    left:0;right:auto;transform:translateX(-105%);
  }
  .k360-nav--bp-mobile.k360-nav--m-drawer.is-nav-open .k360-nav-panel,
  .k360-nav--bp-mobile.k360-nav--m-float.is-nav-open .k360-nav-panel{transform:translateX(0)}

  /* Flotante: botón fijo al borde de pantalla */
  .k360-nav--bp-mobile.k360-nav--m-float .k360-nav-toggle{
    position:fixed;top:calc(env(safe-area-inset-top,0px) + .75rem);z-index:10000;
    width:auto;max-width:none;margin:0;box-shadow:0 6px 18px rgba(15,23,42,.2);
    background:var(--k360-accent);color:var(--k360-on-accent);border-color:transparent;
  }
  .k360-nav--bp-mobile.k360-nav--m-float.k360-nav--bp-mobile.k360-nav--side-right .k360-nav-toggle{right:.65rem;left:auto}
  .k360-nav--bp-mobile.k360-nav--m-float.k360-nav--bp-mobile.k360-nav--side-left .k360-nav-toggle{left:.65rem;right:auto}

  body.k360-nav-lock{overflow:hidden}

