/* OFFCANVAS MENU */
.cygnus-offcanvas {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  max-width: 670px;
  height: 100%;
  background: #fff;
  z-index: 10000;
  padding: 24px;
  transition: left 0.3s ease;
  overflow-y: auto;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.cygnus-offcanvas.open {
  left: 0;
}

/* Header with close button and logo on same line */
.offcanvas-header {
  display: flex;
  align-items: center;
  margin-bottom: 70px;
  padding-top: 10px;
}

/* Close Button - X style */
.menu-close {
  left: 0;
  top: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 10;
}

.menu-close svg {
  width: 32px;
  height: 32px;
}

/* Logo in mobile menu - centered */
.offcanvas-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.offcanvas-logo img {
  height: 55px;
  width: auto;
  margin-left: 15px;
}

/* Menu Items */
.offcanvas-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: 50px;
}

.offcanvas-menu li {
  margin-bottom: 0;
  position: relative;
  display: block;
  font-family: "Geist";
}

/* First item styling only when active */
.offcanvas-menu li:first-child.current-menu-item a,
.offcanvas-menu li:first-child.current_page_item a {
  color: #ff8a00;
  font-weight: 700;
  font-size: calc(16.4px + 1.124vw);
  padding-left: 20px;
}

.offcanvas-menu li:first-child.current-menu-item a::before,
.offcanvas-menu li:first-child.current_page_item a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 30px;
  background: #ff8a00;
  border-radius: 2px;
  font-family: "Geist";
}

/* Active menu item - current page */
.offcanvas-menu li.current-menu-item:not(:first-child) a,
.offcanvas-menu li.current_page_item:not(:first-child) a {
  color: #ff8a00;
  font-weight: 700;
  padding-left: 20px;
}

.offcanvas-menu li.current-menu-item:not(:first-child) a::before,
.offcanvas-menu li.current_page_item:not(:first-child) a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 30px;
  background: #ff8a00;
  border-radius: 2px;
  font-family: "Geist";
}

/* All menu items */
.offcanvas-menu a {
  display: block;
  padding: 10px 0;
  color: #0b2a45;
  text-decoration: none;
  font-weight: 600;
  font-size: calc(16.4px + 1.124vw);
  transition: all 0.3s ease;
  position: relative;
  font-family: "Geist";
}

.offcanvas-menu a:hover {
  color: #ff8a00;
  font-weight: 700;
  padding-left: 20px;
}

.offcanvas-menu a:hover::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 30px;
  background: #ff8a00;
  border-radius: 2px;
  font-family: "Geist";
}

/* Overlay backdrop */
.cygnus-navbar-wrapper::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
  z-index: 9999;
}

.cygnus-navbar-wrapper.menu-open::after {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 768px) {
  .offcanvas-logo img {
    height: 36px;
  }
}
