/* Menú de seguros compartido: segmento → producto. */
header .insurance-menu { position: relative; }
header .insurance-menu > .segment-navigation {
  width: 290px;
  min-width: 0;
  max-width: calc(100vw - 32px);
  padding: 10px;
  overflow: visible;
  z-index: 60;
  background: #fff;
  color: #173451;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 18px 50px #172c4326;
}
header .segment-menu { position: relative; margin: 0; border: 0; padding: 0; }
header .segment-menu > summary {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 15px 12px; border-radius: 10px;
  color: #173451; font: inherit; font-size: 13px;
  cursor: pointer; list-style: none; white-space: normal;
  transition: background .3s ease, color .3s ease;
}
header .segment-menu > summary::-webkit-details-marker { display: none; }
header .segment-menu > summary span { transform: none; font-size: 21px; }
header .segment-menu[open] > summary,
header .segment-menu > summary:hover { background: #eaf4fc; color: #0876c9; }
header .segment-products {
  position: absolute; left: 100%; top: -10px;
  width: 310px; padding: 12px; background: #fff;
  border-radius: 16px; box-shadow: 0 18px 50px #172c4326;
  max-height: min(650px, 75vh); overflow-y: auto;
  overscroll-behavior: contain;
}
header .segment-products a {
  display: block; padding: 11px 12px; margin: 0;
  border-radius: 9px; font: inherit; font-size: 13px;
  line-height: 1.4; color: #173451; text-decoration: none;
  transition: background .3s ease, color .3s ease;
}
header .segment-products a:hover,
header .segment-products a:focus-visible { background: #eaf4fc; color: #0876c9; }
header .segment-products .segment-view-all { margin-top: 8px; color: #0876c9; background: #f2f7fb; }
@media (max-width: 1100px) {
  header .insurance-menu > .segment-navigation { max-height: 70vh; overflow-y: auto; }
  header .segment-products {
    position: static; width: auto; max-height: none;
    box-shadow: none; padding: 4px 6px 12px 12px; background: #f8fafc;
  }
  header .segment-menu[open] > summary span { transform: rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) {
  header .segment-menu > summary, header .segment-products a { transition: none; }
}

/* Alinear Seguros, enlaces y Recursos en una misma fila y línea base. */
header nav > a,
header nav > details > summary {
  display: flex;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
  min-height: 44px;
  margin: 0;
  padding-block: 0;
  line-height: 1.3;
}
header nav > details {
  align-self: center;
  margin: 0;
  padding: 0;
  border: 0;
}
header nav > details > summary > span { line-height: 1; }

/* El desplegable no comparte el layout flex de los controles del carrusel. */
header nav > .insurance-menu { display: block; width: auto; flex: 0 0 auto; }
header nav > .insurance-menu > summary { padding-inline: 0; }
