.ht--container-menu {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  /* border: 1px solid #fff; */
  cursor: pointer;
  transition: border 0.3s;
}

.id_1215 .ht--circle-top,
.id_1215 .ht--circle-middle,
.id_1215 .ht--circle-bottom {
  background: #1b2432;
}

.ht--circle-top,
.ht--circle-middle,
.ht--circle-bottom {
  background: #fff;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}

/* Hover effetto (solo quando NON è active) */
.ht--container-menu:hover:not(.active) .ht--circle-top {
  transform: translateY(-10px);
  box-shadow: 0px 0px 0px 6px rgba(255, 255, 255, 0.05);
}

.ht--container-menu:hover:not(.active) .ht--circle-bottom {
  transform: translateY(10px);
  box-shadow: 0px 0px 0px 6px rgba(255, 255, 255, 0.05);
}

/* Stato attivo → X perfetta centrata */
.ht--container-menu {
  transition: 0.2s;
}

.id_1215 .ht--container-menu.active {
  border-color: transparent;
  transform: rotate(-90deg);
  transition: 0.2s;
}
.ht--container-menu.active {
  border-color: transparent;
  transform: rotate(-90deg);
  transition: 0.2s;
}

.ht--container-menu.active .ht--circle-top {
  transform: translateY(-14px);
  box-shadow: none;
  /* background: #fff; */
}

.ht--container-menu.active .ht--circle-bottom {
  transform: translateY(14px);
  box-shadow: none;
  /* background: #fff; */
}

.ht--container-menu.active .ht--circle-middle {
  opacity: 1;
  transform: scale(1);
}
/* _________________________ */
.ht--circle-middle {
  position: relative;
}
.ht--container-menu.active .ht--circle-middle {
  transition: 0.2s;
  opacity: 1;
  transform: scale(1);
  width: 0;
}
/* .ht--container-menu.active .ht--circle-middle-top {
  width: 22px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
} */
.ht--container-menu.active .ht--circle-middle-top {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  background: #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
  animation: animation-top-width 0.4s ease 0.1s forwards;
}
.id_1215 .ht--container-menu.active .ht--circle-middle-top {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  background: #1b2432;
  transform: translate(-50%, -50%) rotate(-45deg);
  animation: animation-top-width 0.4s ease 0.1s forwards;
}

@keyframes animation-top-width {
  from {
    width: 0;
  }
  to {
    width: 22px;
  }
}

.id_1215 .ht--container-menu.active .ht--circle-middle-bottom {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  background: #1b2432;
  transform: translate(-50%, -50%) rotate(45deg);
  animation: animation-bottom-width 0.4s ease 0.2s forwards;
}
.ht--container-menu.active .ht--circle-middle-bottom {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  background: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
  animation: animation-bottom-width 0.4s ease 0.2s forwards;
}

@keyframes animation-bottom-width {
  from {
    width: 0;
  }
  to {
    width: 22px;
  }
}
/* ____________________________________ */
/* .ht--section-megamenu .vc_col-sm-12.wpb_column.vc_column_container {
  max-width: 1360px;
  margin-inline: auto;
} */
.ht--section-megamenu.active {
  position: fixed !important;
  width: 100%;
  height: 100vh;
  z-index: 3;
  top: calc(1px + var(--wp-admin--admin-bar--height, 0px));
  background: #fff;
  left: 0;
  overflow-x: hidden;
  overflow-y: auto; /* enable scrolling when menu content exceeds viewport */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  transition: 0.2s;
  transform: translateY(0) !important;
}
.ht--section-megamenu {
  height: 100vh;
  position: fixed !important;
  transform: translateY(-100vh) !important;
  top: 0;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  transition: 0.2s;
  z-index: 3;
}
.ht--section-megamenu .l-section-overlay {
  background: linear-gradient(180deg, rgba(27, 36, 50, 0) 0%, #1b2432 62.22%),
    linear-gradient(180deg, rgba(27, 36, 50, 0) 0%, #1b2432 100%) !important;
  pointer-events: none !important;
}
.ht--section-megamenu {
  display: flex;
  align-items: center;
}
.ht--section-megamenu .l-section-h {
  width: 100%;
  max-width: 100vw;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
/* hide scrollbars while keeping scroll functional */
.ht--section-megamenu,
.ht--section-megamenu .l-section-h {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ht--section-megamenu::-webkit-scrollbar,
.ht--section-megamenu .l-section-h::-webkit-scrollbar {
  display: none;
}
/* :::::::::::::::::::::::::::::::::::::::::::: */
.page-id-41 footer {
  height: 0 !important;
}
