/* =========================================================
   Índice lateral — Propuesta B (SETT)
   ========================================================= */

/* ---------- Fijo al hacer scroll ----------
   Va en el envoltorio del widget (prefix_class), no en el <nav>: el padre
   del <nav> mide lo mismo que él y el sticky no tendría recorrido. El padre
   del envoltorio es la columna entera. */
.wpe-il-fija-yes {
  position: sticky;
  top: var(--wpe-il-top, 24px);
  z-index: 5;
}

/* ---------- Panel ---------- */
.wpe-il {
  --wpe-il-bg: #FFFFFF;
  --wpe-il-radio: 24px;
  --wpe-il-etiqueta: #4F6266;
  --wpe-il-sec: #101010;
  --wpe-il-activa-bg: #14292F;
  --wpe-il-activa: #FFFFFF;
  --wpe-il-sub: #3E4C4F;
  --wpe-il-sub-hover: #101010;
  --wpe-il-oculto: #6B7779;
  --wpe-il-boton-bg: #E4ED64;
  --wpe-il-boton: #101010;
  --wpe-il-fecha: #4F6266;
  --wpe-il-linea: #E6E2D8;

  box-sizing: border-box;
  padding: 20px 14px;
  border-radius: var(--wpe-il-radio);
  background: var(--wpe-il-bg);
  font-family: Heebo, sans-serif;
}

.wpe-il .wpe-il__cuerpo {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wpe-il .wpe-il__etiqueta {
  padding: 0 12px 10px;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--wpe-il-etiqueta);
}

.wpe-il .wpe-il__lista,
.wpe-il .wpe-il__sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wpe-il .wpe-il__lista {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wpe-il .wpe-il__lista > li { margin: 0; padding: 0; }
.wpe-il .wpe-il__lista > li::before,
.wpe-il .wpe-il__sub > li::before { content: none; }

/* ---------- Secciones ---------- */
.wpe-il .wpe-il__enlace {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 14px;
  background: transparent;
  color: var(--wpe-il-sec);
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease;
}
.wpe-il .wpe-il__enlace:hover { background: rgba(20, 41, 47, .06); color: var(--wpe-il-sec); text-decoration: none; }
.wpe-il .wpe-il__enlace:focus-visible { outline: 3px solid #607478; outline-offset: 2px; }

.wpe-il .wpe-il__num { flex: 0 0 auto; font-size: 12px; }
.wpe-il .wpe-il__txt { min-width: 0; }

.wpe-il .is-activa > .wpe-il__enlace,
.wpe-il .is-activa > .wpe-il__enlace:hover {
  background: var(--wpe-il-activa-bg);
  color: var(--wpe-il-activa);
}

/* ---------- Subapartados ---------- */
.wpe-il .wpe-il__sub {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 10px 12px 44px;
  font-size: 14px;
  line-height: 1.35;
}
.wpe-il .wpe-il__sub[hidden] { display: none; }
.wpe-il .wpe-il__sub > li { margin: 0; padding: 0; }

/* Tamaño declarado sobre el propio enlace y no heredado de la lista: los
   temas y los estilos globales de Elementor suelen dar tamaño a "a" o a
   "li", y ganaban a la herencia, dejando el subapartado más grande que la
   sección. */
.wpe-il .wpe-il__sub > li,
.wpe-il .wpe-il__sub a,
.wpe-il .wpe-il__sub span {
  font-family: Heebo, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  color: var(--wpe-il-sub);
  text-decoration: none;
}
.wpe-il .wpe-il__sub a:hover,
.wpe-il .wpe-il__sub a:focus-visible {
  color: var(--wpe-il-sub-hover);
  text-decoration: underline;
}

/* ---------- Ocultos (solo se ven en el editor) ---------- */
.wpe-il .wpe-il__marca { font-style: italic; opacity: .85; }
.wpe-il .wpe-il__sub .is-oculta a,
.wpe-il .wpe-il__sub .is-oculta span { color: var(--wpe-il-oculto); font-style: italic; }
.wpe-il .is-oculta > .wpe-il__enlace {
  color: var(--wpe-il-etiqueta);
  border: 1.5px dashed #AEB9BA;
}

/* ---------- Pie ---------- */
.wpe-il .wpe-il__pie {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  padding: 14px 12px 0;
  border-top: 1px solid var(--wpe-il-linea);
}

.wpe-il .wpe-il__boton {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--wpe-il-boton-bg);
  color: var(--wpe-il-boton);
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: filter .18s ease;
}
.wpe-il .wpe-il__boton:hover { filter: brightness(.95); color: var(--wpe-il-boton); text-decoration: none; }
.wpe-il .wpe-il__boton:focus-visible { outline: 3px solid #607478; outline-offset: 3px; }

.wpe-il .wpe-il__fecha {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--wpe-il-fecha);
}

/* ---------- Conmutador (solo móvil) ---------- */
.wpe-il .wpe-il__conmutador { display: none; }

@media (max-width: 767px) {
  /* En móvil la columna se apila sobre el contenido: fijarlo no tiene sitio. */
  .wpe-il-fija-yes { position: static; }

  .wpe-il { padding: 6px; }

  .wpe-il .wpe-il__conmutador {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 0;
    border-radius: calc(var(--wpe-il-radio) - 6px);
    background: transparent;
    color: var(--wpe-il-sec);
    font-family: Poppins, sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
  }
  .wpe-il .wpe-il__conmutador:focus-visible { outline: 3px solid #607478; outline-offset: 2px; }
  .wpe-il .wpe-il__conmutador-etiqueta {
    font-size: 11px;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--wpe-il-etiqueta);
  }
  .wpe-il .wpe-il__actual { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wpe-il .wpe-il__chevron { flex: 0 0 auto; transition: transform .2s ease; }
  .wpe-il.is-abierto .wpe-il__chevron { transform: rotate(180deg); }

  /* El texto superior ya va dentro del conmutador. */
  .wpe-il .wpe-il__etiqueta { display: none; }

  .wpe-il .wpe-il__cuerpo { display: none; padding: 6px 8px 12px; }
  .wpe-il.is-abierto .wpe-il__cuerpo { display: flex; }
}

@media (prefers-reduced-motion: reduce) {
  .wpe-il .wpe-il__enlace,
  .wpe-il .wpe-il__chevron { transition: none; }
}
