.elementor-249 .elementor-element.elementor-element-fdcb370{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-ff882ac *//* HEADER */

.mp-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  width: 100% !important;
  height: 72px;
  z-index: 9998;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 0 46px;

  background: rgba(60, 55, 50, 0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.mp-menu-toggle {
  width: 28px;
  height: 28px;
  border: 0 !important;
  background: transparent !important;
  padding: 0;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: none !important;
  outline: none !important;
}

.mp-menu-toggle:hover,
.mp-menu-toggle:focus,
.mp-menu-toggle:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.mp-menu-toggle img {
  width: 22px;
  height: 22px;
  display: block;
}

.mp-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.mp-logo img {
  width: 184px;
  height: auto;
  display: block;
}

/* NASCONDE WIDGET FLOTTANTI GTRANSLATE */

body > .gt_float_switcher,
body > .gt_switcher_wrapper,
body > .gtranslate_wrapper,
body > .switcher,
body > .switcher-popup {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* LANGUAGE BUTTON HEADER */

.mp-language-toggle {
  position: relative;
  z-index: 2;

  min-width: 58px;
  height: 34px;

  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.06) !important;
  color: #fff;

  padding: 0 12px;

  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  box-shadow: none !important;
  outline: none !important;

  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    opacity 0.3s ease;
}

.mp-language-toggle:hover,
.mp-language-toggle:focus,
.mp-language-toggle:active {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  box-shadow: none !important;
  outline: none !important;
}

.mp-language-current {
  display: inline-block;

  color: #fff;

  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 2px;

  text-transform: uppercase;
}

.mp-language-arrow {
  display: inline-block;

  color: #fff;

  font-size: 9px;
  line-height: 1;

  opacity: 0.85;

  transform: translateY(-1px);
  transition: transform 0.3s ease;
}

.mp-language-toggle.is-open .mp-language-arrow {
  transform: translateY(-1px) rotate(180deg);
}

/* MENU OVERLAY */

.mp-menu-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;

  width: 50vw !important;
  min-width: 50vw !important;
  max-width: 50vw !important;

  height: 100vh !important;
  min-height: 100vh !important;

  z-index: 99999 !important;

  background: rgba(38, 36, 33, 0.72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  opacity: 0;
  visibility: hidden;
  transform: translate3d(-100%, 0, 0);
  will-change: transform, opacity;

  transition:
    transform 1.35s cubic-bezier(0.77, 0, 0.175, 1),
    opacity 0.8s ease,
    visibility 0.8s ease;

  overflow-y: auto;
}

.mp-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

/* LANGUAGE OVERLAY */

.mp-language-overlay {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  width: 38vw !important;
  min-width: 38vw !important;
  max-width: 38vw !important;

  height: 100vh !important;
  min-height: 100vh !important;

  z-index: 100000 !important;

  background: rgba(38, 36, 33, 0.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  opacity: 0;
  visibility: hidden;
  transform: translate3d(100%, 0, 0);
  will-change: transform, opacity;

  transition:
    transform 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    opacity 0.75s ease,
    visibility 0.75s ease;

  overflow-y: auto;
}

.mp-language-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

/* CLOSE BUTTON */

.mp-menu-close,
.mp-language-close {
  position: absolute;
  top: 27px;

  width: 42px;
  height: 42px;

  border: 0 !important;
  background: transparent !important;
  color: #fff;

  font-size: 28px;
  line-height: 1;
  font-weight: 200;

  cursor: pointer;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: none !important;
  outline: none !important;

  transition: opacity 0.3s ease, transform 0.3s ease;
}

.mp-menu-close {
  left: 42px;
}

.mp-language-close {
  right: 42px;
}

.mp-menu-close:hover,
.mp-menu-close:focus,
.mp-menu-close:active,
.mp-language-close:hover,
.mp-language-close:focus,
.mp-language-close:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 0.6;
  transform: rotate(90deg);
}

/* BACK BUTTON SOTTOMENU */

.mp-menu-back {
  position: absolute;
  top: 82px;
  left: 42px;

  width: auto;
  height: 34px;

  border: 0 !important;
  background: transparent !important;
  color: #fff;

  padding: 0 !important;

  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 2px;

  text-transform: uppercase;

  cursor: pointer;
  z-index: 3;

  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;

  box-shadow: none !important;
  outline: none !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateX(-8px);

  transition:
    opacity 0.35s ease,
    visibility 0.35s ease,
    transform 0.35s ease;
}

.mp-menu-back::before {
  content: "‹";
  display: inline-block;

  font-size: 26px;
  line-height: 1;
  font-weight: 200;

  transform: translateY(-1px);
}

.mp-menu-back::after {
  content: "INDIETRO";
  display: inline-block;
}

.mp-menu-overlay.is-submenu-mode .mp-menu-back {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.mp-menu-back:hover,
.mp-menu-back:focus,
.mp-menu-back:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 0.6;
}

/* MENU NAV */

.mp-menu-nav {
  width: 100%;
  min-height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  gap: 34px;

  padding: 110px 44px 70px;
}

/* Blocco menu centrato, testi allineati a sinistra */

.mp-menu-nav > a,
.mp-menu-item {
  width: min(100%, 520px);
  text-align: left;
}

/* VOCI PRINCIPALI */

.mp-menu-nav > a,
.mp-submenu-toggle {
  color: #fff;
  text-decoration: none;

  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 3px;

  text-transform: uppercase;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  transition: opacity 0.3s ease, transform 0.3s ease;
}

.mp-menu-nav > a {
  display: block;
}

.mp-menu-nav > a:hover,
.mp-menu-nav > a:focus,
.mp-menu-nav > a:active,
.mp-submenu-toggle:hover,
.mp-submenu-toggle:focus,
.mp-submenu-toggle:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 0.6;
  transform: translateX(6px);
}

/* MENU ITEM CON SOTTOMENU */

.mp-menu-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.mp-submenu-toggle {
  width: 100%;
  padding: 0 !important;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  text-align: left;
}

.mp-submenu-toggle span {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  font-weight: 300;
  transition: transform 0.35s ease;
}

.mp-menu-item.is-active .mp-submenu-toggle {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.mp-menu-item.is-active .mp-submenu-toggle span {
  transform: rotate(45deg);
}

/* SOTTOMENU */

.mp-submenu {
  width: 100%;
  max-height: 0;
  overflow: hidden;

  margin: 0;

  opacity: 0;
  transform: translateY(-8px);

  transition:
    max-height 0.75s cubic-bezier(0.77, 0, 0.175, 1),
    opacity 0.45s ease,
    transform 0.45s ease,
    margin-top 0.45s ease;
}

.mp-menu-item.is-active .mp-submenu {
  max-height: 900px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 24px;
}

.mp-submenu a {
  display: block;

  color: #fff;
  text-decoration: none;

  font-size: 12px;
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: 1px;

  text-transform: uppercase;

  padding: 13px 0;

  border-top: 1px solid rgba(255, 255, 255, 0.14);

  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;

  transition: opacity 0.3s ease, transform 0.3s ease;
}

.mp-submenu a:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.mp-submenu a:hover,
.mp-submenu a:focus,
.mp-submenu a:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 0.6;
  transform: translateX(6px);
}

/* MODALITÀ SOTTOMENU A SCHERMATA */

.mp-menu-overlay.is-submenu-mode .mp-menu-nav > a,
.mp-menu-overlay.is-submenu-mode .mp-menu-item {
  display: none;
}

.mp-menu-overlay.is-submenu-mode .mp-menu-item.is-active {
  display: flex;
}

.mp-menu-overlay.is-submenu-mode .mp-menu-item.is-active .mp-submenu-toggle {
  display: none;
}

.mp-menu-overlay.is-submenu-mode .mp-menu-item.is-active .mp-submenu {
  width: min(100%, 520px);
  max-height: none;
  opacity: 1;
  transform: translateY(0);
  margin-top: 0;
  overflow: visible;
}

.mp-menu-overlay.is-submenu-mode .mp-menu-nav {
  gap: 0;
}

/* LANGUAGE NAV */

.mp-language-nav {
  width: 100%;
  min-height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  gap: 38px;

  padding: 110px 44px 70px;
}

.mp-language-option {
  width: min(100%, 360px);
  text-align: left;
}

/* Link reali generati da [gt-link] */

.mp-language-option a,
.mp-language-option .glink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: auto !important;

  color: #fff !important;
  text-decoration: none !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;

  text-transform: uppercase !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  padding: 0 !important;
  margin: 0 !important;

  cursor: pointer !important;

  transition: opacity 0.3s ease, transform 0.3s ease;
}

.mp-language-option a:hover,
.mp-language-option a:focus,
.mp-language-option a:active,
.mp-language-option .glink:hover,
.mp-language-option .glink:focus,
.mp-language-option .glink:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;

  opacity: 0.6;
  transform: translateX(-6px);
}

/* Nasconde bandiere dentro il menu lingua */

.mp-language-option img,
.mp-language-option .gt_flag {
  display: none !important;
}

/* Rimuove eventuali spazi o separatori generati dal plugin */

.mp-language-option br,
.mp-language-option span[style*="border"],
.mp-language-option span[style*="background"] {
  display: none !important;
}

/* BODY LOCK */

body.mp-menu-open,
body.mp-language-open {
  overflow: hidden;
}

/* RESET SFONDI THEME / ELEMENTOR */

.mp-menu-overlay a,
.mp-menu-overlay a:hover,
.mp-menu-overlay a:focus,
.mp-menu-overlay a:active,
.mp-menu-overlay button,
.mp-menu-overlay button:hover,
.mp-menu-overlay button:focus,
.mp-menu-overlay button:active,
.mp-language-overlay a,
.mp-language-overlay a:hover,
.mp-language-overlay a:focus,
.mp-language-overlay a:active,
.mp-language-overlay button,
.mp-language-overlay button:hover,
.mp-language-overlay button:focus,
.mp-language-overlay button:active,
.mp-menu-toggle,
.mp-menu-toggle:hover,
.mp-menu-toggle:focus,
.mp-menu-toggle:active,
.mp-language-toggle,
.mp-language-toggle:hover,
.mp-language-toggle:focus,
.mp-language-toggle:active {
  box-shadow: none !important;
  outline: none !important;
}

/* TABLET + MOBILE */

@media (max-width: 1024px) {
  .mp-menu-overlay,
  .mp-language-overlay {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* MOBILE */

@media (max-width: 768px) {
  .mp-header {
    height: 68px;
    padding: 0 24px;
  }

  .mp-logo img {
    width: 112px;
  }

  .mp-language-toggle {
    min-width: 54px;
    height: 32px;
    padding: 0 10px;
  }

  .mp-language-current {
    font-size: 11px;
    letter-spacing: 1.5px;
  }

  .mp-language-arrow {
    font-size: 8px;
  }

  .mp-menu-close {
    top: 24px;
    left: 24px;
  }

  .mp-language-close {
    top: 24px;
    right: 24px;
  }

  .mp-menu-back {
    top: 78px;
    left: 24px;
  }

  .mp-menu-nav,
  .mp-language-nav {
    gap: 30px;
    padding: 100px 24px 60px;
    justify-content: center;
  }

  .mp-menu-nav > a,
  .mp-menu-item,
  .mp-language-option {
    width: 100%;
  }

  .mp-menu-nav > a,
  .mp-submenu-toggle {
    font-size: 13px;
    letter-spacing: 2.5px;
  }

  .mp-language-option a,
  .mp-language-option .glink {
    font-size: 13px !important;
    letter-spacing: 2.5px !important;
  }

  .mp-submenu {
    width: 100%;
  }

  .mp-submenu a {
    font-size: 11px;
    letter-spacing: 0.8px;
    padding: 12px 0;
  }

  .mp-menu-overlay.is-submenu-mode .mp-menu-item.is-active .mp-submenu {
    width: 100%;
  }
}/* End custom CSS */