
/* -------------------------------------------------------- */
/* submenu.css – STATE SAFE MACHINE READY                   */
/* -------------------------------------------------------- */

.submenu {
  position: absolute;
  top: 100%;
  left: 0;

  transform: rotateX(-90deg);
  transform-origin: top center;

  width: max-content;
  min-width: 275px;
  max-width: 95vw;

  display: flex;
  flex-direction: column;

  align-items: stretch;
  box-sizing: border-box;

  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.25);

  overflow-x: auto;

  z-index: 2000;

  transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);

  backface-visibility: hidden;
  will-change: transform;

  background: linear-gradient(to bottom,
    rgba(255,150,0,1),
    rgba(250,190,0,1),
    rgba(230,255,255,1)
  );

  pointer-events: auto;
}

.submenu::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  height: 30px;
  pointer-events: none;
}

.submenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}

.submenu li {
  padding: 10px 15px;
  display: flex;
  justify-content: center;
}

.submenu a {
  font-weight: 600;
  font-size: 1.3em;
  text-decoration: none;
  color: black;
  text-align: center;
  transition: color 0.2s ease;
}

.submenu a.visited-link {
  color: #95a5a6;
  opacity: 0.85;
}

.submenu li:hover {
  background: #f2f2f2;
}

.submenu li:hover a {
  color: #2980b9;
}

@media (max-width: 1024px) {
  .submenu {
    min-width: 240px;
    max-width: 90vw;
  }
}

@media (max-width: 768px) {
  .submenu {
    width: 90vw;
    min-width: 200px;
  }
}

@media (max-width: 480px) {
  .submenu {
    width: 95vw;
    min-width: unset;
  }
}
