:root {
  --menu-btn-color: #194b28;
  --menu-bg-icon: url(../imgs/icons/menu_btn02.svg);
  --menu-border: #82837F;
  --menu-shadow: rgba(71, 71, 116, 0.5);
  --menu-bg: rgba(90, 127, 191, 0.95);
  --menu-link-bg: #7B90C2;
  --menu-link-hover-bg: rgba(90, 127, 191, 0.95);
  --menu-link-color: #f3fffc;
  --menu-link-hover-color: #ffffff;
  --menu-link-border: #DDC2CA;
  --menu-link-hover-border: #474166;
}



#topnav_menu {
  position: relative;
  width: fit-content;
  margin: 1.75em 0 0 0.75em;
  padding: 0;
  z-index: 10;
}

#menu_button {
  width: auto;
  color: var(--menu-btn-color);
  font-size: 1.2em;
  text-align: right;
  cursor: pointer;
  background: transparent var(--menu-bg-icon) no-repeat bottom left;
  background-size: 1.5em;
  background-position: 0.2em 0.35em;
  border-radius: 0.5em;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  border: 0.065em solid var(--menu-border);
  box-shadow:
    inset 0 0.1em 0.2em rgba(231, 228, 228, 0.25),
    0.085em 0.085em 0.35em var(--menu-shadow);
  margin: 0;
  padding: 0.75em 1.75em 0.75em 2em;
}

#topnav_menu ul {
  position: absolute;
  top: 2.5em;
  left: 0;
  width: max-content;
  display: none;
  list-style: none;
  background-color: var(--menu-bg);
  border-radius: 1em;
  z-index: 15;
  box-shadow: 0 0.35em 0.85em rgba(0, 0, 0, 0.6);
  transition: opacity 0.75s ease-in-out;
  margin: 0;
  padding: 0.75em 0.35em;
}

#topnav_menu ul.visible {
  display: block;
}

#topnav_menu ul li a {
  display: block;
  color: var(--menu-link-color);
  background-color: var(--menu-link-bg);
  text-decoration: none;
  border: 0.065em solid var(--menu-link-border);
  border-radius: 0.35em;
  margin: 0.45em 0;
  padding: 0.5em 1.25em;
}

#topnav_menu ul li a:hover {
  color: var(--menu-link-hover-color);
  background-color: var(--menu-link-hover-bg);
  border: 0.065em solid var(--menu-link-hover-border);
}

/* Optional fallback hover reveal */
#topnav_menu:hover ul {
  display: block;
}
