/**
 * Seguros Lux — submenús del nav (.nav / .has-submenu)
 * Anula content Unicode corrupto y dibuja la flecha solo con bordes CSS.
 */
.nav .has-submenu {
  position: relative;
}

.nav .has-submenu > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Borra cualquier ::after heredado con texto/UTF-8 roto */
.nav .has-submenu > a::after {
  content: "" !important;
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: currentColor transparent transparent transparent;
  opacity: 0.55;
  flex-shrink: 0;
}

.nav .has-submenu:hover > a::after {
  opacity: 0.9;
}

/* Submenú escritorio */
@media (min-width: 901px) {
  .nav .has-submenu .submenu {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 8px;
    min-width: 220px;
    padding: 8px 0;
    background: var(--white, #fff);
    border: 1px solid var(--gray-200, #e2e8f0);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 1200;
  }

  .nav .has-submenu:hover .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav .submenu a {
    display: block;
    padding: 10px 18px;
    font-size: 14px;
    color: var(--gray-700, #334155);
  }

  .nav .submenu a:hover {
    background: var(--gray-50, #f8fafc);
    color: var(--primary, #0f172a);
  }
}

/* Móvil: menú abierto — submenús en bloque */
@media (max-width: 900px) {
  .nav-menu.open .has-submenu .submenu {
    display: block;
    padding: 6px 0 6px 12px;
    margin-top: 6px;
    border-left: 2px solid var(--gray-200, #e2e8f0);
  }

  .nav-menu.open .has-submenu > a::after {
    transform: rotate(0deg);
  }
}
