.elementor-21 .elementor-element.elementor-element-9fd9db3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-21 .elementor-element.elementor-element-367ce5c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 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 container, class: .elementor-element-9fd9db3 */:root{
  --pp-bg: #ffffff;
  --pp-bg-scrolled: #ffffff;
  --pp-blur: 0px;
  --pp-blur-scrolled: 6px;
  --pp-pad-y: 18px;
  --pp-pad-y-scrolled: 8px;
  --pp-logo-h: 60px;
  --pp-logo-h-scrolled: 40px;
}

/* ===== HEADER BASE ===== */
.pp-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--pp-bg);
  transition: all 0.3s ease;
  z-index: 9999;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.pp-header__inner{
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--pp-pad-y) 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pp-logo img{
  display:block;
  height: var(--pp-logo-h);
  width:auto;
  transition: height .25s ease;
}

/* ===== NAV DESKTOP ===== */
.pp-nav{ display:flex; align-items:center; gap: 18px; }
.pp-menu{
  list-style:none;
  display:flex;
  gap: 24px;
  margin:0;
  padding:0;
}
.pp-menu a{
  color:#111;
  text-decoration:none;
  font-weight:600;
  transition: color .2s ease;
}
.pp-menu a:hover{ color:#007aff; }

/* ===== CTA ===== */
.pp-cta{
  margin-left: 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 16px;
  border-radius:10px;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  background: linear-gradient(90deg,#ff3b30,#34c759,#007aff);
  box-shadow: 0 0 10px rgba(255,59,48,.35),
              0 0 20px rgba(52,199,89,.25),
              0 0 30px rgba(0,122,255,.25);
  transition: transform .2s ease;
}
.pp-cta:hover{ transform: translateY(-1px); }

/* ===== HAMBURGER ===== */
.pp-burger{
  position: relative;
  display: none;
  width: 42px;
  height: 42px;
  border: none;
  background: none;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

.pp-burger span{
  display: block;
  width: 22px;
  height: 2px;
  background: #000;
  margin: 5px auto;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* ===== ANIMAZIONE HAMBURGER → X ===== */
.pp-header.is-open .pp-burger span:nth-child(1){
  transform: translateY(7px) rotate(45deg);
}
.pp-header.is-open .pp-burger span:nth-child(2){
  opacity: 0;
}
.pp-header.is-open .pp-burger span:nth-child(3){
  transform: translateY(-7px) rotate(-45deg);
}

/* ===== SHRINK ===== */
.pp-header.is-scrolled{
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.pp-header.is-scrolled .pp-header__inner{
  padding: var(--pp-pad-y-scrolled) 5vw;
}
.pp-header.is-scrolled .pp-logo img{
  height: var(--pp-logo-h-scrolled);
}

/* ===== RGB BAR ===== */
.pp-rgbbar{
  height:2px;
  width:100%;
  background: linear-gradient(90deg,#ff3b30,#34c759,#007aff,#ff3b30);
  background-size: 300% 100%;
  animation: pp-rgbmove 8s linear infinite;
  filter: drop-shadow(0 0 4px #ff3b30)
          drop-shadow(0 0 4px #34c759)
          drop-shadow(0 0 4px #007aff);
  position:absolute;
  bottom:0;
  left:0;
}
@keyframes pp-rgbmove{
  from{ background-position: 0% 50%; }
  to{ background-position: 300% 50%; }
}

/* ===== MOBILE ===== */
@media (max-width: 1024px){
  .pp-burger{ display:flex; }

  /* Menu mobile full screen */
  .pp-nav{
    position: fixed;
    inset: 0;
    background:#fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    transform: translateY(-100%);
    transition: transform .35s ease;
    text-align: center;
  }

  .pp-menu{
    flex-direction: column;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
  }

  .pp-menu a{
    color:#111;
    font-size:1.4rem;
    font-weight:600;
    text-decoration:none;
  }

  .pp-nav .pp-cta{
    margin-top: 2rem;
  }

  /* Stato menu aperto */
  .pp-header.is-open .pp-nav{
    transform: translateY(0);
  }

  /* Nasconde CTA desktop */
  .pp-header__inner > .pp-cta{
    display: none;
  }

  body.menu-open{ overflow:hidden; }
}/* End custom CSS */