/* contenitore pannelli */
#headermenu_mobile .cjmm__viewport {
  position: relative;
  overflow: hidden;
  width: 100%;
}

/* track orizzontale */
#headermenu_mobile .cjmm__track {
  display: flex;
  width: 100%;
  transform: translateX(0);
  transition: transform 260ms ease;
  will-change: transform;
}

/* ogni pannello occupa 100% */
#headermenu_mobile .cjmm__panel {
  min-width: 100%;
  width: 100%;
}

/* lista */
#headermenu_mobile .cjmm__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* item */
#headermenu_mobile .cjmm__item {
  margin: 0;
  padding: 0;
}

/* voci cliccabili */
#headermenu_mobile .cjmm__btn,
#headermenu_mobile .cjmm__link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  background: transparent;
  border: 0;
  text-decoration: none;

  padding: 7px 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

#headermenu_mobile .cjmm__label {
  text-align: left;
}

#headermenu_mobile .cjmm__chev,
#headermenu_mobile .cjcourses__chev{
  opacity: 1;
  width: 24px;
  line-height: 0;
}
#headermenu_mobile .cjmm__chev svg,
#headermenu_mobile .cjcourses__chev svg {width: 24px;fill:#fff;}

/* nascondiamo la X back di default, poi JS la mostra quando serve */
#mobile_menu_back {
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
}

/* pannelli */
#headermenu_mobile .cjmm__viewport { overflow: hidden; width: 100%; }
#headermenu_mobile .cjmm__track {
  display: flex;
  width: 100%;
  transition: transform 260ms ease;
  will-change: transform;
}
#headermenu_mobile .cjmm__panel { min-width: 100%; width: 100%; }
#headermenu_mobile .cjmm__list { list-style: none; padding: 0; margin: 0; }
#headermenu_mobile .cjmm__btn,
#headermenu_mobile .cjmm__link {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  text-decoration: none;
  padding: 7px 0;
  cursor: pointer;
}
/* Frecce Elementor (non le vogliamo mai vedere) */
#headermenu_mobile .sub-arrow,
#headermenu_mobile .e-font-icon-svg {
  display: none !important;
}

/* Se per un attimo Elementor mostra i sub-menu, li nascondiamo */
#headermenu_mobile .sub-menu {
  display: none !important;
}
span.cjmm__label, .cjmm__link, li.cjcourses__item {color:#fff!important;}
li.cjmm__item, li.cjcourses__item {
    font-size: 24px;font-weight: 600;
}
/* --- Active state: se in un pannello c’è una voce attiva, le altre vanno a 0.4 --- */
#headermenu_mobile .cjmm__list.has-active .cjmm__btn,
#headermenu_mobile .cjmm__list.has-active .cjmm__link {
  opacity: 0.4;
}

#headermenu_mobile .cjmm__item.is-active .cjmm__btn,
#headermenu_mobile .cjmm__item.is-active .cjmm__link {
  opacity: 1;
}
/* CORSI */
#mobile_course_ .cjcourses__viewport { overflow: hidden; width: 100%; }
#mobile_course_ .cjcourses__track {
  display: flex;
  width: 100%;
  transition: transform 260ms ease;
  will-change: transform;
}
#mobile_course_ .cjcourses__panel { min-width: 100%; width: 100%; }
#mobile_course_ .cjcourses__list { list-style: none; padding: 0; margin: 0;margin-bottom: 9rem; }

#mobile_course_ .cjcourses__btn,
#mobile_course_ .cjcourses__link {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  text-decoration: none;
  padding: 7px 0;
  cursor: pointer;
}
#mobile_course_ .cjcourses__count { opacity: 0.7; font-size: 0.85em; }
#headermenu_mobile .cjcourses__count { opacity: 1; font-size: 14px;font-weight: 400; }
#choose_course_btn.btn_disabled .elementor-button {background-color: #777a86;}

/*desk menu*/
.cpm-menu3 { display:flex; gap:24px; }
.cpm-menu3__col { width:23.333%; }
.cpm-menu3__list { list-style:none; margin:0; padding:0; }
.cpm-menu3__item { margin:0; padding:0; }
.cpm-menu3__btn:hover, .cpm-menu3__btn:focus {background:transparent!important;}
.cpm-menu3__btn:hover span {}
.cpm-menu3__btn span, .cpm-menu3__title {font-size:24px; color:#fff}
.cpm-menu3__btn, .cpm-menu3__link {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  text-decoration:none;
  background:transparent;
  border:0;
  padding:10px 0;
  cursor:pointer;
}

.cpm-menu3__item.is-dim { opacity: .3; }

.cpm-menu3__icon-plus { width:27px; height:27px; flex:0 0 auto; }
.cpm-menu3__icon-plus path { fill: #fff; }