/* NAOSUB QuickNav - limpio, compatible X5 */
#naosubQuickNav{
  position: fixed;
  top: 18px;
  right: clamp(24px, 4vw, 48px);
  z-index: 99999;
  font-family: Arial, Helvetica, sans-serif;
}
#naosubQuickNav details{ display:inline-block; }
#naosubQuickNav summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(0,0,0,0.18);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  font-size: 14px;
  letter-spacing: .2px;
}
#naosubQuickNav summary::-webkit-details-marker{ display:none; }

#naosubQuickNav .panel{
  position:absolute;
  right:0;
  margin-top:10px;

  display:inline-block;
  width:auto;
  min-width: 220px;
  max-width: 320px;

  max-height: 70vh;
  overflow:auto;

  background: rgba(255,255,255,0.98);
  border-radius: 14px;
  padding: 10px;
  border: 1px solid rgba(0,0,0,0.18);
  box-shadow: 0 14px 34px rgba(0,0,0,0.18);
}

#naosubQuickNav .gtitle{
  font-size: 11px;
  opacity: .6;
  text-transform: uppercase;
  margin: 6px 8px 8px;
  letter-spacing: .3px;
}

#naosubQuickNav .navtitle{
  padding: 8px 10px 4px;
  font-size: 12px;
  font-weight: bold;
  opacity: .78;
}

#naosubQuickNav .navitem{
  display:block;
  padding:8px 10px;
  margin:4px 0;
  border-radius:10px;
  text-decoration:none;
  color:#000;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.03);
}
#naosubQuickNav .navitem:hover{ background: rgba(0,0,0,.07); }
#naosubQuickNav .navitem.active{
  font-weight:bold;
  background:#eaeaea;
}

#naosubQuickNav .navchildren{ margin-top: 2px; margin-bottom: 8px; }

/* indentación niveles */
#naosubQuickNav .d1{ margin-left: 12px; }
#naosubQuickNav .d2{ margin-left: 24px; }
#naosubQuickNav .d3{ margin-left: 36px; }
#naosubQuickNav .d4{ margin-left: 48px; }

@media (max-width: 600px){
  #naosubQuickNav{ top: 12px; right: 20px; }
  #naosubQuickNav .panel{
    display:block;
    width: 85vw;
    min-width: unset;
    max-width: unset;
  }
}
/* Asegurar contraste aunque el body tenga color blanco (#fff) */
#naosubQuickNav summary{
  color:#111 !important;
}
#naosubQuickNav summary *{
  color:#111 !important;
}
