/**
 * Megamenú Fondecom — NOVA
 * Sin dependencias. Los colores son variables: se pueden sobrescribir
 * desde el widget de Elementor o desde el CSS del tema.
 */

.fdc-mm-wrap{
  --fdc-primario:#3B67A1;
  --fdc-acento:#FFD558;
  --fdc-cta:#8BC34A;
  --fdc-txt:#2E3A47;
  --fdc-txt-2:#4A5765;
  --fdc-ink:#111A24;
  --fdc-linea:#D7DEE7;
  --fdc-superficie:#F4F7FA;
  --fdc-panel:#FFFFFF;
  --fdc-radio:12px;
  --fdc-sombra:0 15px 40px rgba(22,32,43,.15);
  --fdc-tap:48px;

  position:relative;
  display:flex;
  align-items:center;
  font-family:inherit;
}

/* ── Lista principal ── */
.fdc-mm{flex:1}
.fdc-mm__list{
  display:flex;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.fdc-mm__item{position:relative;list-style:none;margin:0}

.fdc-mm__link{
  display:flex;
  align-items:center;
  gap:7px;
  padding:12px 14px;
  border-radius:8px;
  color:var(--fdc-txt);
  font-weight:600;
  font-size:15px;
  line-height:1.3;
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s ease,background-color .18s ease;
}
.fdc-mm__item--n0 > .fdc-mm__link{min-height:var(--fdc-tap)}

.fdc-mm__link:hover,
.fdc-mm__link:focus-visible,
.fdc-mm__item.is-current > .fdc-mm__link,
.fdc-mm__item--n0:hover > .fdc-mm__link,
.fdc-mm__item--n0:focus-within > .fdc-mm__link{
  color:var(--fdc-primario);
  background:var(--fdc-superficie);
}

/* Foco visible reforzado (accesibilidad) */
.fdc-mm-wrap :focus-visible{
  outline:4px solid var(--fdc-primario);
  outline-offset:2px;
  border-radius:8px;
}

.fdc-mm__caret{
  width:14px;height:14px;flex-shrink:0;
  stroke:currentColor;fill:none;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .2s ease;
}
.fdc-mm__item--n0:hover > .fdc-mm__link .fdc-mm__caret,
.fdc-mm__item--n0.is-open > .fdc-mm__link .fdc-mm__caret{transform:rotate(180deg)}

/* Botón de apertura (solo se usa en móvil) */
.fdc-mm__abrir{
  display:none;
  width:var(--fdc-tap);height:var(--fdc-tap);
  align-items:center;justify-content:center;
  background:none;border:0;cursor:pointer;color:var(--fdc-txt);
  border-radius:8px;
}
.fdc-mm__abrir svg{
  width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;
}
.fdc-mm__item.is-open > .fdc-mm__abrir svg{transform:rotate(180deg)}

/* ── Panel del megamenú ── */
.fdc-mm__panel{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%) translateY(-8px);
  min-width:min(760px,92vw);
  background:var(--fdc-panel);
  border:1px solid var(--fdc-linea);
  border-radius:var(--fdc-radio);
  box-shadow:var(--fdc-sombra);
  padding:10px;
  z-index:100;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.fdc-mm__item--mega:hover > .fdc-mm__panel,
.fdc-mm__item--mega:focus-within > .fdc-mm__panel,
.fdc-mm__item--mega.is-open > .fdc-mm__panel{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

.fdc-mm__cols{
  display:grid;
  gap:4px;
  margin:0;padding:0;list-style:none;
}
.fdc-mm__cols--2{grid-template-columns:repeat(2,1fr)}
.fdc-mm__cols--3{grid-template-columns:repeat(3,1fr)}
.fdc-mm__cols--4{grid-template-columns:repeat(4,1fr)}

/* Enlaces dentro del panel */
.fdc-mm__panel .fdc-mm__link{
  align-items:flex-start;
  gap:12px;
  padding:14px;
  min-height:var(--fdc-tap);
  white-space:normal;
  font-weight:600;
}
.fdc-mm__panel .fdc-mm__link:hover,
.fdc-mm__panel .fdc-mm__link:focus-visible{background:var(--fdc-superficie)}

.fdc-mm__ico-wrap{
  flex-shrink:0;
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--fdc-superficie);
  transition:background-color .18s ease;
}
.fdc-mm__panel .fdc-mm__link:hover .fdc-mm__ico-wrap{background:var(--fdc-acento)}
.fdc-mm__ico{
  width:20px;height:20px;
  stroke:var(--fdc-primario);fill:none;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
}

.fdc-mm__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.fdc-mm__label{
  display:flex;align-items:center;gap:6px;
  color:var(--fdc-ink);font-size:15px;line-height:1.35;
}
.fdc-mm__label .fdc-mm__ico{width:12px;height:12px;stroke-width:2.2;opacity:.55}
.fdc-mm__desc{
  font-weight:400;
  font-size:13.5px;
  line-height:1.5;
  color:var(--fdc-txt-2);
}

/* Enlace resaltado */
.fdc-mm__item.is-destacado > .fdc-mm__link{
  background:var(--fdc-superficie);
  box-shadow:inset 3px 0 0 var(--fdc-cta);
}

/* Submenú simple (ítem con hijos sin megamenú activo) */
.fdc-mm__dropdown{
  position:absolute;top:calc(100% + 6px);left:0;
  min-width:250px;
  background:var(--fdc-panel);
  border:1px solid var(--fdc-linea);
  border-radius:var(--fdc-radio);
  box-shadow:var(--fdc-sombra);
  padding:8px;margin:0;list-style:none;
  z-index:100;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.fdc-mm__item--n0:hover > .fdc-mm__dropdown,
.fdc-mm__item--n0:focus-within > .fdc-mm__dropdown,
.fdc-mm__item--n0.is-open > .fdc-mm__dropdown{
  opacity:1;visibility:visible;transform:translateY(0);
}
.fdc-mm__dropdown .fdc-mm__link{white-space:normal}

/* ── Botón hamburguesa ── */
.fdc-mm__toggle{
  display:none;
  align-items:center;gap:9px;
  min-height:var(--fdc-tap);
  padding:0 16px;
  margin-left:auto;
  background:var(--fdc-superficie);
  border:0;border-radius:8px;cursor:pointer;
  color:var(--fdc-ink);font-weight:700;font-size:15px;font-family:inherit;
}
.fdc-mm__toggle-bars{position:relative;width:20px;height:2px;display:block}
.fdc-mm__toggle-bars span,
.fdc-mm__toggle-bars::before,
.fdc-mm__toggle-bars::after{
  content:"";position:absolute;left:0;
  width:20px;height:2px;border-radius:2px;
  background:var(--fdc-primario);
  transition:transform .2s ease,opacity .2s ease;
}
.fdc-mm__toggle-bars::before{top:-6px}
.fdc-mm__toggle-bars::after{top:6px}
.fdc-mm__toggle[aria-expanded="true"] .fdc-mm__toggle-bars span{opacity:0}
.fdc-mm__toggle[aria-expanded="true"] .fdc-mm__toggle-bars::before{transform:translateY(6px) rotate(45deg)}
.fdc-mm__toggle[aria-expanded="true"] .fdc-mm__toggle-bars::after{transform:translateY(-6px) rotate(-45deg)}

.fdc-mm-aviso{
  padding:10px 14px;border-radius:8px;
  background:#FFF8E1;border:1px solid var(--fdc-acento);
  color:#6b4f0a;font-size:14px;
}

.screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ── Móvil: el panel se vuelve acordeón ──
   1180px es el valor por defecto (shortcode y PHP). Desde el widget de
   Elementor se puede cambiar: ese caso genera sus propias reglas que
   revierten este bloque por encima del breakpoint elegido. ── */
@media (max-width:1180px){
  .fdc-mm__toggle{display:inline-flex}

  .fdc-mm{
    position:absolute;top:100%;left:0;right:0;
    background:var(--fdc-panel);
    border-top:1px solid var(--fdc-linea);
    box-shadow:var(--fdc-sombra);
    max-height:min(78vh,640px);
    overflow-y:auto;
    z-index:95;
  }
  .fdc-mm:not(.is-open){display:none}

  .fdc-mm__list{flex-direction:column;align-items:stretch;gap:0;padding:8px}
  .fdc-mm__item--n0{border-bottom:1px solid var(--fdc-superficie)}
  .fdc-mm__item--n0:last-child{border-bottom:0}

  .fdc-mm__item--has-children{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .fdc-mm__abrir{display:flex}
  .fdc-mm__caret{display:none}

  /* El panel deja de flotar: se despliega en el flujo */
  .fdc-mm__panel,
  .fdc-mm__dropdown{
    position:static;
    grid-column:1/-1;
    transform:none;
    min-width:0;
    border:0;border-radius:0;
    box-shadow:none;
    padding:0 0 10px 12px;
    opacity:1;visibility:visible;
    display:none;
  }
  .fdc-mm__item.is-open > .fdc-mm__panel,
  .fdc-mm__item.is-open > .fdc-mm__dropdown{display:block}

  /* En móvil no hay hover: solo abre con el botón */
  .fdc-mm__item--mega:hover > .fdc-mm__panel,
  .fdc-mm__item--mega:focus-within > .fdc-mm__panel,
  .fdc-mm__item--n0:hover > .fdc-mm__dropdown,
  .fdc-mm__item--n0:focus-within > .fdc-mm__dropdown{display:none}
  .fdc-mm__item.is-open > .fdc-mm__panel,
  .fdc-mm__item.is-open > .fdc-mm__dropdown{display:block}

  .fdc-mm__cols{grid-template-columns:1fr}
  .fdc-mm__panel .fdc-mm__link{padding:12px 10px}
}

@media (prefers-reduced-motion:reduce){
  .fdc-mm-wrap *,
  .fdc-mm-wrap *::before,
  .fdc-mm-wrap *::after{
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}
