/* Ocultar elementos visualmente pero mantenerlos accesibles */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Estilo base del botón .menu-toggle */
.menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #242c44;
  display: inline-flex;
  align-items: center;
}

/* Estilo de foco para accesibilidad */
.menu-toggle:focus {
  outline: 2px solid #005ea2;
  outline-offset: 2px;
}

/* Flecha para el botón .menu-toggle en el menú principal */
nav[class*='block-csd-main-menu'] .menu-toggle::after {
  content: "";
  display: inline-block;
  font-family: csd, serif;
  line-height: 1;
  transition: transform 0.2s;
}

/* Flecha para el botón .menu-toggle en el menú principal cuando está activo */
nav[class*='block-csd-main-menu'] .menu-toggle.is-active::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: .2s;
  transition: .2s
}

/* Submenús ocultos por defecto en el menú principal */
nav[class*='block-csd-main-menu']>.menu .menu {
  display: none;
}

/* Mostrar submenú con .is-visible (controlado por JavaScript) */
nav[class*='block-csd-main-menu']>.menu .menu.is-visible {
  display: flex;
  opacity: 1;
  visibility: visible;
}

/* Mantener compatibilidad con hover en el menú principal */
nav[class*='block-csd-main-menu']>.menu>li:hover .menu {
  display: flex;
  opacity: 1;
  visibility: visible;
}

/* Submenús ocultos por defecto en el menú móvil */
nav[class*='block-csd-mobile-main-menu'] .menu .menu-item--expanded>.menu {
  display: none;
}

/* Mostrar submenú con .is-visible en el menú móvil */
nav[class*='block-csd-mobile-main-menu'] .menu .menu-item--expanded>.menu.is-visible,
nav[class*='block-csd-mobile-main-menu'] .menu .menu-item--expanded>.menu-dropdown.is-visible {
  display: block;
}

/* Estilo de .menu-toggle en el menú móvil */
nav[class*='block-csd-mobile-main-menu'] .menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  font-size: 1rem;
  color: white;
  display: inline-flex;
  align-items: center;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}

/* Flecha para el botón .menu-toggle en el menú móvil */
nav[class*='block-csd-mobile-main-menu'] .menu-toggle::after {
  content: "";
  display: inline-block;
  font-family: csd, serif;
  line-height: 1;
  transition: transform 0.2s;
}

/* Flecha para el botón .menu-toggle en el menú móvil cuando está activo */
nav[class*='block-csd-mobile-main-menu'] .menu-toggle.is-active::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: .2s;
  transition: .2s
}

nav[class*='block-csd-mobile-main-menu'] .ico-dropdown {
  display: none;
}

/* Estilos para hover y estado expandido del menú principal */
nav[class*='block-csd-main-menu']>.menu>li:hover>a,
nav[class*='block-csd-main-menu']>.menu>li.is-expanded>a {
  background-color: #dfdfdd;
  -webkit-transition: .2s;
  transition: .2s;
}

nav[class*='block-csd-main-menu']>.menu>li:hover>a:before,
nav[class*='block-csd-main-menu']>.menu>li.is-expanded>a:before {
  -webkit-transition: .2s;
  transition: .2s;
  width: 100%;
}

/* Asegurar que el submenú sea visible tanto en hover como en estado expandido */
nav[class*='block-csd-main-menu']>.menu>li:hover .menu_link_content.menu-dropdown,
nav[class*='block-csd-main-menu']>.menu>li.is-expanded .menu_link_content.menu-dropdown {
  display: block;
  opacity: 1;
  visibility: visible;
}
