body {
  font-family: "DM Sans", Sans-serif;
}

#primary {
  max-width: 1440px;
  margin: 0 auto;
  padding: 128px 20px;
  /* width: 100%; */
}


/* HEADER */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: transparent;
  transition: 0.3s;
  font-family: "DM Sans", Sans-serif;
}

.site-header.scrolled {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: 0.3s;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  background-color: #fffffff2;
}

.site-header.scrolled .site-text,
.site-header.scrolled .logo-title,
.site-header.scrolled .logo-subtitle,
.site-header.scrolled .nav-menu>li>a,
.site-header.scrolled .phone {
  color: #000;
}

.nolink>a {
  pointer-events: none;
  cursor: default;
}

/* NAV */
.site-nav {
  max-width: 1440px;
  margin: 0 auto;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}

/* LOGO */
.site-logo {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
}

.logo-img img {
  width: auto;
  height: 40px;
}

.logo-title {
  font-weight: 700;
  color: #fff;
}

.logo-subtitle {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

/* DESKTOP MENU */
.nav-menu-wrapper ul {
  list-style: none;
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.nav-menu li {
  position: relative;
}

.nav-menu>li>a {
  display: block;
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  border-radius: 8px;
  transition: 0.2s;
}

.nav-menu>li.current-menu-item>a{
  font-weight: 800;
  color: #00a650 !important;
}





.site-header.scrolled .nav-menu>li>a:hover{
    background: rgb(0 166 80) !important;
    color: #fff !important;
}

.single-product .nav-menu>li>a, .single-product .phone, .archive .nav-menu>li>a, .archive .phone, .search .nav-menu>li>a, .search .phone {
    color: #000 !important;
  color: #000 !important;
}

.nav-menu>li>a:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* DROPDOWN */
.nav-menu li ul {
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  min-width: 200px;
  display: none;
  flex-direction: column;
  padding: 6px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
  border: 1px solid rgba(0, 0, 0, 0.07);
}

.nav-menu li:hover>ul {
  display: flex;
}

.nav-menu li ul li a {
  padding: 8px 12px;
  color: #1a1a1a;
  display: block;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.15s;
}

.nav-menu li ul li a:hover,
.nav-menu li ul li.current_page_item a {
  background: #fbf9fa;
}

.nav-menu li ul li.current-menu-item>a,
.nav-menu li ul li.current_page_item>a {
  background: #00a65026;
  font-weight: 600;
  color: #00a650;
  backdrop-filter: blur(23px);
}

/* ACTIONS */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.phone {
  color: #fff;
  text-decoration: none;
}

/* CTA */
.cta-button {
  background: #00a650;
  color: #fff;
  padding: 10px 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}

/* HAMBURGER */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
}

.site-header.scrolled .menu-toggle {
  background: #00a650;
}

.menu-toggle span {
  width: 26px;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease;
  transform-origin: center;
}

/* Stato attivo */
.menu-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* MOBILE MENU */
.mobile-menu {
  display: none;
  position: absolute;
  top: 80px;
  left: 0;
  right: 0;
  background: #0d0d0d;
  padding: 20px;
}

.mobile-menu.active {
  display: block;
}

.mobile-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-nav li a {
  display: block;
  padding: 12px;
  color: #fff;
  text-decoration: none;
}

/* MOBILE ACTIONS */
.mobile-actions {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mobile-actions a {
  color: #fff;
  background: #00a650;
  padding: 10px 20px;
  border-radius: 20px;
  text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 1024px) {

  .nav-menu-wrapper,
  .nav-actions {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }
}