/* ============================================================
   POWERKING — FINAL CLEAN GLOBAL CSS
   Preserva il comportamento attuale funzionante:
   - desktop sticky + video hero ok
   - mobile menu fullscreen con X visibile
   - submenu arrow in boxed style
   - mobile sticky header corretto
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;0,900;1,400&display=swap');

html{
  font-size: 62.5% !important;
}

@media (max-width: 640px){
  html{ font-size: 58% !important; }
}

:root{
  --pk-black:      #0a0a0a;
  --pk-dark:       #1a1a1a;
  --pk-red:        #ff4444;
  --pk-red-dark:   #D4231D;
  --pk-white:      #ffffff;
  --pk-gray:       #cccccc;
  --pk-gray-dark:  #666666;
  --pk-border:     rgba(255,255,255,0.08);
  --pk-font:       'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pk-radius:     8px;
  --pk-transition: 0.25s ease;
  --pk-container:  1200px;
  --pk-header-h:   110px;
  --pk-logo-url: none;
  --pk-logo-w: 300px;
  --pk-logo-h: 82px;
  --pk-adminbar-h: 0px;
}

html,
body{
  max-width: 100% !important;
}

body{
  background-color: var(--pk-black) !important;
  font-family: var(--pk-font) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--pk-white) !important;
  overflow-x: clip !important;
}

#wpadminbar{
  width: 100% !important;
  min-width: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

p{
  font-family: var(--pk-font) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

a{ color: inherit; }

h1,h2,h3,h4,h5,h6{
  font-family: var(--pk-font) !important;
  font-weight: 800 !important;
}
h1{ font-size: 5.2rem !important; line-height: 1.15 !important; letter-spacing: -1px !important; }
h2{ font-size: 4rem !important; line-height: 1.2 !important; letter-spacing: 1.2px !important; }
h3{ font-size: 2.6rem !important; line-height: 1.54 !important; letter-spacing: 1.2px !important; }
h4{ font-size: 2.2rem !important; line-height: 1.3 !important; }
h5{ font-size: 1.8rem !important; line-height: 1.3 !important; }
h6{ font-size: 1.6rem !important; line-height: 1.3 !important; }

/* ============================================================
   HEADER
   ============================================================ */
#masthead{
  overflow: visible !important;
}

.site-header{
  background: rgba(10,10,10,0.97) !important;
  border-bottom: none !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9990 !important;
  width: 100% !important;
  transition: box-shadow 0.3s ease, background 0.3s ease !important;
}

body.admin-bar{
  --pk-adminbar-h: 32px;
}
body.admin-bar .site-header{
  top: 32px !important;
}

.site-header::after{
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent         0%,
    rgba(255,68,68,0)   5%,
    rgba(255,68,68,.75) 30%,
    rgba(255,68,68,1)   50%,
    rgba(255,68,68,.75) 70%,
    rgba(255,68,68,0)   95%,
    transparent         100%
  ) !important;
  pointer-events: none !important;
}

.site-header.pk-scrolled{
  box-shadow: 0 4px 30px rgba(0,0,0,0.75) !important;
  background: rgba(6,6,6,0.99) !important;
}

.site-header .inside-header{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: var(--pk-container) !important;
  margin: 0 auto !important;
  padding: 10px 20px !important;
  height: var(--pk-header-h) !important;
  box-sizing: border-box !important;
  gap: 24px !important;
  transition: height 0.3s ease, padding 0.3s ease !important;
}

.site-header.pk-scrolled .inside-header{
  height: 78px !important;
  padding: 4px 20px !important;
}

/* ============================================================
   BRANDING / LOGO
   ============================================================ */
.site-description{ display: none !important; }

.site-branding{
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.site-branding .main-title{
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  line-height: 0 !important;
}

.site-branding .main-title > a{
  display: block !important;
  width: var(--pk-logo-w) !important;
  height: var(--pk-logo-h) !important;
  background-image: var(--pk-logo-url) !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  line-height: 0 !important;
  transition:
    height 0.45s cubic-bezier(.4,0,.2,1),
    width 0.45s cubic-bezier(.4,0,.2,1),
    transform 0.45s cubic-bezier(.4,0,.2,1),
    opacity 0.3s ease !important;
}

.site-header.pk-scrolled .site-branding .main-title > a,
body .site-header.pk-scrolled .site-branding p.main-title > a{
  display: block !important;
  width: var(--pk-logo-w) !important;
  height: 58px !important;
  max-height: none !important;
  background-image: var(--pk-logo-url) !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  transform: translateY(-2px) scale(0.96) !important;
}

/* ============================================================
   NAVIGATION — DESKTOP
   ============================================================ */
.main-navigation,
.nav-primary{
  background: transparent !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin-left: auto !important;
  float: none !important;
  clear: none !important;
}

.main-navigation .main-nav,
.nav-primary .main-nav{
  display: flex !important;
  align-items: center !important;
}

.main-navigation .main-nav > ul,
.nav-primary .main-nav > ul{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 18px !important;
}

.main-navigation .main-nav > ul > li,
.nav-primary .main-nav > ul > li{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  float: none !important;
}

.main-navigation .main-nav > ul > li > a,
.nav-primary .main-nav > ul > li > a{
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
  height: var(--pk-header-h) !important;
  font-family: var(--pk-font) !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: rgba(204,204,204,0.9) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: color var(--pk-transition), height 0.3s ease !important;
}

.site-header.pk-scrolled .main-navigation .main-nav > ul > li > a,
.site-header.pk-scrolled .nav-primary .main-nav > ul > li > a{
  height: 78px !important;
}

.main-navigation .main-nav > ul > li > a::after,
.nav-primary .main-nav > ul > li > a::after{
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 16px !important;
  right: 16px !important;
  height: 2px !important;
  background: var(--pk-red) !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform var(--pk-transition) !important;
}

.main-navigation .main-nav > ul > li > a:hover,
.nav-primary .main-nav > ul > li > a:hover,
.main-navigation .main-nav > ul > li.current-menu-item > a,
.nav-primary .main-nav > ul > li.current-menu-item > a{
  color: var(--pk-white) !important;
}

.main-navigation .main-nav > ul > li > a:hover::after,
.nav-primary .main-nav > ul > li > a:hover::after{
  transform: scaleX(1) !important;
}

.main-navigation .main-nav > ul > li.current-menu-item > a::after,
.main-navigation .main-nav > ul > li.current_page_item > a::after,
.main-navigation .main-nav > ul > li.current-menu-ancestor > a::after,
.nav-primary .main-nav > ul > li.current-menu-item > a::after,
.nav-primary .main-nav > ul > li.current_page_item > a::after,
.nav-primary .main-nav > ul > li.current-menu-ancestor > a::after{
  transform: scaleX(0) !important;
  opacity: 0 !important;
}

/* ============================================================
   DROPDOWN — DESKTOP
   ============================================================ */
.main-navigation .sub-menu,
.nav-primary .sub-menu{
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #0a0a0a !important;
  border-top: 0 !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.65) !important;
  min-width: 220px !important;
  padding: 10px 0 8px !important;
  margin: 0 !important;
  list-style: none !important;
  display: block !important;
  z-index: 99999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-6px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}

.main-navigation .main-nav > ul > li:hover > .sub-menu,
.main-navigation .main-nav > ul > li:focus-within > .sub-menu,
.nav-primary .main-nav > ul > li:hover > .sub-menu,
.nav-primary .main-nav > ul > li:focus-within > .sub-menu{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.main-navigation .sub-menu > li > a,
.nav-primary .sub-menu > li > a{
  display: block !important;
  padding: 12px 18px !important;
  font-family: var(--pk-font) !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(204,204,204,0.9) !important;
  background: transparent !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.main-navigation .sub-menu > li > a:hover,
.nav-primary .sub-menu > li > a:hover{
  color: #fff !important;
  background: rgba(255,68,68,0.08) !important;
}

.main-navigation .sub-menu > li + li > a,
.nav-primary .sub-menu > li + li > a{
  border-top: 1px solid rgba(255,255,255,0.05) !important;
}

.main-navigation .main-nav > ul > li.menu-item-has-children:hover > a,
.main-navigation .main-nav > ul > li.menu-item-has-children:focus-within > a,
.nav-primary .main-nav > ul > li.menu-item-has-children:hover > a,
.nav-primary .main-nav > ul > li.menu-item-has-children:focus-within > a{
  background: #0a0a0a !important;
  color: #fff !important;
}

.main-navigation .main-nav > ul > li.menu-item-has-children > a::before,
.nav-primary .main-nav > ul > li.menu-item-has-children > a::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -10px !important;
  height: 12px !important;
  background: transparent !important;
}

@media (min-width: 1201px){
  .main-navigation .dropdown-menu-toggle,
  .nav-primary .dropdown-menu-toggle{
    display: none !important;
  }
}

/* ============================================================
   VIDEO HERO
   ============================================================ */
.pk-video-hero{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  overflow: hidden !important;
  background: #0a0a0a !important;
  z-index: 0 !important;
  height: clamp(420px, 44vw, 680px) !important;
  min-height: 420px !important;
  max-height: 680px !important;
}

.pk-video-hero video{
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 38% !important;
  transform: none !important;
}

.pk-video-hero + *{
  position: relative !important;
  z-index: 1 !important;
  background: #0a0a0a !important;
}

/* ============================================================
   DESKTOP HEADER — STABLE SYSTEM
   ============================================================ */
@media (min-width: 1201px){
  :root{
    --pk-logo-w: clamp(240px, 15vw, 300px);
    --pk-logo-h: clamp(66px, 4.2vw, 82px);
  }

  .site-header{
    position: sticky !important;
    top: 0 !important;
    z-index: 9990 !important;
  }

  body.admin-bar .site-header{
    top: 32px !important;
  }

  .site-header .inside-header,
  .site-header.pk-scrolled .inside-header{
    width: min(100%, 1820px) !important;
    max-width: 1820px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 1.8vw, 28px) !important;
    padding-right: clamp(16px, 1.8vw, 28px) !important;
    gap: clamp(10px, 1vw, 18px) !important;
    box-sizing: border-box !important;
  }

  .site-header .inside-header{
    height: 96px !important;
    min-height: 96px !important;
  }

  .site-header.pk-scrolled .inside-header{
    height: 74px !important;
    min-height: 74px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-branding{
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .site-branding .main-title > a{
    width: var(--pk-logo-w) !important;
    height: var(--pk-logo-h) !important;
  }

  .site-header.pk-scrolled .site-branding .main-title > a,
  body .site-header.pk-scrolled .site-branding p.main-title > a{
    width: clamp(220px, 14vw, 280px) !important;
    height: 58px !important;
  }

  .main-navigation,
  .nav-primary{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    align-self: center !important;
  }

  .main-navigation .main-nav,
  .nav-primary .main-nav{
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .main-navigation .main-nav > ul,
  .nav-primary .main-nav > ul{
    justify-content: flex-end !important;
    gap: clamp(6px, 0.7vw, 14px) !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .main-navigation .main-nav > ul > li > a,
  .nav-primary .main-nav > ul > li > a{
    padding-left: clamp(6px, 0.7vw, 12px) !important;
    padding-right: clamp(6px, 0.7vw, 12px) !important;
    font-size: clamp(1.28rem, 0.78vw, 1.55rem) !important;
    letter-spacing: 0.07em !important;
    height: 96px !important;
  }

  .site-header.pk-scrolled .main-navigation .main-nav > ul > li > a,
  .site-header.pk-scrolled .nav-primary .main-nav > ul > li > a{
    height: 74px !important;
  }
}

@media (min-width: 1201px) and (max-width: 1600px){
  :root{
    --pk-logo-w: 250px;
    --pk-logo-h: 68px;
  }

  .site-header .inside-header,
  .site-header.pk-scrolled .inside-header{
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 10px !important;
  }

  .main-navigation .main-nav > ul,
  .nav-primary .main-nav > ul{
    gap: 8px !important;
  }

  .main-navigation .main-nav > ul > li > a,
  .nav-primary .main-nav > ul > li > a{
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 1.32rem !important;
    letter-spacing: 0.06em !important;
  }

  .site-header.pk-scrolled .site-branding .main-title > a,
  body .site-header.pk-scrolled .site-branding p.main-title > a{
    width: 230px !important;
    height: 56px !important;
  }
}

/* ============================================================
   MOBILE / TABLET — FINAL CLEAN SOURCE OF TRUTH
   ============================================================ */
@media (max-width: 782px){
  body.admin-bar{
    --pk-adminbar-h: 46px;
  }

  #wpadminbar #wp-admin-bar-comments,
  #wpadminbar #wp-admin-bar-wp-logo,
  #wpadminbar #wp-admin-bar-customize{
    display: none !important;
  }
}

@media (max-width: 968px){
  :root{
    --pk-header-h: 70px;
    --pk-logo-w: 200px;
    --pk-logo-h: 52px;
  }

  .pk-video-hero{
    height: clamp(240px, 62vw, 400px) !important;
    min-height: 240px !important;
    max-height: 400px !important;
  }
  .pk-video-hero video{
    object-position: center 34% !important;
  }

  .has-inline-mobile-toggle .inside-header{
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .has-inline-mobile-toggle .header-widget{
    display: none !important;
  }

  .site-header{
    position: sticky !important;
    top: 0 !important;
    z-index: 10050 !important;
  }
  body.admin-bar .site-header{
    top: 46px !important;
  }
  .site-header .inside-header{
    height: var(--pk-header-h) !important;
    min-height: var(--pk-header-h) !important;
    padding: 0 16px !important;
    gap: 12px !important;
  }
  .site-header.pk-scrolled .inside-header{
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 16px !important;
  }

  .site-branding{
    order: 1 !important;
    flex: 1 1 auto !important;
    max-width: calc(100% - 60px) !important;
    margin: 0 !important;
    min-width: 0 !important;
  }
  .site-branding .main-title,
  .site-branding .main-title > a{
    margin: 0 !important;
  }
  .site-branding .main-title > a{
    width: var(--pk-logo-w) !important;
    height: var(--pk-logo-h) !important;
    transform: none !important;
  }
  .site-header.pk-scrolled .site-branding .main-title > a,
  body .site-header.pk-scrolled .site-branding p.main-title > a{
    width: 170px !important;
    height: 44px !important;
    transform: none !important;
  }

  #mobile-menu-control-wrapper{
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    background: transparent !important;
  }

  .has-inline-mobile-toggle #site-navigation{
    order: 2 !important;
    flex-basis: auto !important;
    width: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  #site-navigation .inside-navigation{
    padding: 0 !important;
    justify-content: flex-end !important;
    transform: none !important;
    filter: none !important;
    overflow: visible !important;
  }

  #site-navigation > .inside-navigation > button.menu-toggle,
  #site-navigation .inside-navigation > button.menu-toggle,
  #site-navigation button[aria-controls="primary-menu"]{
    display: none !important;
  }

  #mobile-menu-control-wrapper .menu-toggle{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 8px !important;
    background: rgba(10,10,10,0.82) !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
    z-index: 10060 !important;
  }
  #mobile-menu-control-wrapper .menu-toggle .screen-reader-text{
    display: none !important;
  }
  #mobile-menu-control-wrapper .menu-toggle::after{
    content: none !important;
  }
  #mobile-menu-control-wrapper .menu-toggle .gp-icon{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #mobile-menu-control-wrapper .menu-toggle .gp-icon svg{
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }

  #mobile-menu-control-wrapper .menu-toggle .gp-icon svg:first-child{
    display: block !important;
  }
  #mobile-menu-control-wrapper .menu-toggle .gp-icon svg:last-child{
    display: none !important;
  }
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .gp-icon svg:first-child{
    display: none !important;
  }
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .gp-icon svg:last-child{
    display: block !important;
  }

  #site-navigation .main-nav{
    display: none !important;
  }

  #site-navigation.toggled .main-nav,
  #site-navigation.toggled-on .main-nav{
    display: block !important;
    position: fixed !important;
    inset: var(--pk-adminbar-h) 0 0 0 !important;
    width: 100% !important;
    height: calc(100dvh - var(--pk-adminbar-h)) !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #000 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 200000 !important;
  }

  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"]{
    position: fixed !important;
    right: 16px !important;
    top: calc(var(--pk-adminbar-h) + 10px) !important;
    z-index: 200010 !important;
  }

  #site-navigation .main-nav > ul{
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  #site-navigation .main-nav > ul > li{
    display: block !important;
    float: none !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  #site-navigation .main-nav > ul > li > a{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 64px !important;
    padding: 22px 24px !important;
    white-space: normal !important;
    font-size: 1.9rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
  }
  #site-navigation .main-nav > ul > li > a::before,
  #site-navigation .main-nav > ul > li > a::after{
    display: none !important;
    content: none !important;
  }

  #site-navigation .sub-menu{
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
  #site-navigation .sub-menu > li > a{
    display: block !important;
    padding: 16px 24px 16px 44px !important;
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
  }
  #site-navigation .dropdown-menu-toggle{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin-left: 12px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 8px !important;
    background: rgba(10,10,10,0.82) !important;
    color: #fff !important;
    box-sizing: border-box !important;
  }
  #site-navigation .dropdown-menu-toggle .gp-icon{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }
  #site-navigation .dropdown-menu-toggle .gp-icon svg{
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }
  #site-navigation .dropdown-menu-toggle[aria-expanded="true"] .gp-icon svg{
    transform: rotate(180deg) !important;
  }

  html:has(#site-navigation.toggled),
  html:has(#site-navigation.toggled-on),
  body:has(#site-navigation.toggled),
  body:has(#site-navigation.toggled-on){
    overflow: hidden !important;
  }

  html.mobile-menu-open #wpadminbar{
    display: none !important;
  }
  html.mobile-menu-open .site-header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 200005 !important;
  }
  html.mobile-menu-open .site-header::after{
    display: none !important;
  }
  html.mobile-menu-open .site-header .inside-header{
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }
  html.mobile-menu-open .site-branding{
    display: none !important;
  }
  html.mobile-menu-open #site-navigation,
  html.mobile-menu-open #site-navigation .inside-navigation{
    transform: none !important;
    filter: none !important;
    overflow: visible !important;
  }
  html.mobile-menu-open #site-navigation.toggled .main-nav,
  html.mobile-menu-open #site-navigation.toggled-on .main-nav{
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding-top: 108px !important;
    padding-bottom: 40px !important;
    background: #000 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 200000 !important;
  }
  html.mobile-menu-open #mobile-menu-control-wrapper{
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 200010 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  /* sticky mobile fix */
  #wpadminbar{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }
  body.admin-bar .site-header{
    top: 46px !important;
  }
  body:not(.admin-bar) .site-header{
    top: 0 !important;
  }
  html.mobile-menu-open .site-header{
    top: 0 !important;
  }
}
/* FIX DESKTOP — underline hover menu resta dentro l'header */
@media (min-width: 1201px){
  .main-navigation .main-nav > ul > li > a,
  .nav-primary .main-nav > ul > li > a{
    position: relative !important;
    overflow: hidden !important;
  }

  .main-navigation .main-nav > ul > li > a::after,
  .nav-primary .main-nav > ul > li > a::after{
    bottom: 8px !important;
  }

  .site-header.pk-scrolled .main-navigation .main-nav > ul > li > a::after,
  .site-header.pk-scrolled .nav-primary .main-nav > ul > li > a::after{
    bottom: 6px !important;
  }
}

/* ============================================================
   POWERKING — CUSTOM FOOTER
   ============================================================ */
.pk-footer{
  position: relative !important;
  margin-top: 0 !important;
  background:
    radial-gradient(circle at top left, rgba(212,35,29,0.16), transparent 34%),
    linear-gradient(180deg, #090909 0%, #050505 100%) !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  color: var(--pk-white) !important;
}

.pk-footer::before{
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,68,68,0.15) 15%,
    rgba(255,68,68,0.85) 50%,
    rgba(255,68,68,0.15) 85%,
    transparent 100%
  ) !important;
  pointer-events: none !important;
}

.pk-footer__inner{
  max-width: var(--pk-container) !important;
  margin: 0 auto !important;
  padding: 56px 20px 22px !important;
}

.pk-footer__grid{
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, 0.95fr) minmax(260px, 1fr) !important;
  gap: 72px !important;
  align-items: start !important;
}

.pk-footer__col--company{
  justify-self: start !important;
  width: 100% !important;
  max-width: 360px !important;
}

.pk-footer__col--center{
  justify-self: center !important;
  width: 100% !important;
  max-width: 420px !important;
}

.pk-footer__col--links{
  justify-self: end !important;
  width: 100% !important;
  max-width: 320px !important;
}

.pk-footer__title,
.pk-footer__heading{
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  position: relative !important;
  font-family: var(--pk-font) !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--pk-white) !important;
}

.pk-footer__title::after,
.pk-footer__heading::after{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 72px !important;
  height: 2px !important;
  background: linear-gradient(
    90deg,
    rgba(255,68,68,1) 0%,
    rgba(255,68,68,0.2) 100%
  ) !important;
}

.pk-footer__meta,
.pk-footer__links{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pk-footer__meta li{
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  font-size: 1.55rem !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.88) !important;
}

.pk-footer__links a{
  text-decoration: none !important;
  color: rgba(255,255,255,0.88) !important;
  transition: color .2s ease, transform .2s ease !important;
}

.pk-footer__links a:hover{
  color: var(--pk-white) !important;
}

.pk-footer__icon{
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px !important;
  color: var(--pk-red) !important;
}

.pk-footer__icon svg{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.pk-footer__legal{
  display: block !important;
  margin-top: 8px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.68) !important;
  font-size: 1.35rem !important;
  line-height: 1.5 !important;
}

.pk-footer__col--center{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.pk-footer__social-block,
.pk-footer__winols-block{
  width: 100% !important;
}

.pk-footer__social-block .pk-footer__heading,
.pk-footer__winols-block .pk-footer__heading{
  text-align: center !important;
}
.pk-footer__social-block .pk-footer__heading::after,
.pk-footer__winols-block .pk-footer__heading::after{
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.pk-footer__social{
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 8px !important;
}

.pk-footer__social a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.02) !important;
  color: var(--pk-white) !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease !important;
}

.pk-footer__social a:hover{
  transform: translateY(-1px) !important;
  border-color: rgba(255,68,68,0.55) !important;
  background: rgba(255,68,68,0.10) !important;
  color: var(--pk-white) !important;
}

.pk-footer__social svg{
  width: 19px !important;
  height: 19px !important;
  display: block !important;
}

.pk-footer__winols-block{
  margin-top: 28px !important;
}

.pk-footer__evc{
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.35) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #0b0b0b !important;
}

.pk-footer__evc img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.pk-footer__links li + li{
  margin-top: 12px !important;
}

.pk-footer__links a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 1.55rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.pk-footer__links a::before{
  content: "" !important;
  width: 10px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--pk-red) !important;
  flex: 0 0 10px !important;
  transition: width .2s ease, opacity .2s ease !important;
}

.pk-footer__links a:hover::before{
  width: 16px !important;
}

.pk-footer__bottom{
  margin-top: 34px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  text-align: center !important;
}

.pk-footer__bottom p{
  margin: 0 !important;
  color: rgba(255,255,255,0.68) !important;
  font-size: 1.35rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.site-footer .inside-site-info,
.site-footer .site-info{
  display: none !important;
}

@media (max-width: 968px){
  .pk-footer__inner{
    padding: 42px 20px 20px !important;
  }

  .pk-footer__grid{
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .pk-footer__col--company,
  .pk-footer__col--center,
  .pk-footer__col--links{
    justify-self: stretch !important;
    max-width: none !important;
  }

  .pk-footer__col--center{
    order: 2 !important;
  }

  .pk-footer__col--links{
    order: 3 !important;
  }

  .pk-footer__title,
  .pk-footer__heading{
    font-size: 2rem !important;
  }

  .pk-footer__meta li,
  .pk-footer__links a{
    font-size: 1.5rem !important;
  }

  .pk-footer__social{
    justify-content: center !important;
  }

  .pk-footer__evc{
    max-width: 100% !important;
  }

  .pk-footer__bottom{
    margin-top: 26px !important;
  }
}

/* ============================================================
   FOOTER V5 — spacing refinement + mobile adminbar recovery
   ============================================================ */
.pk-footer__grid{
  grid-template-columns: minmax(280px, 1fr) minmax(300px, 360px) minmax(240px, 300px) !important;
  gap: 88px !important;
}

.pk-footer__col--center{
  padding-inline: 8px !important;
}

.pk-footer__col--links{
  padding-left: 10px !important;
}

@media (max-width: 968px){
  .pk-footer__grid{
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .pk-footer__col--center,
  .pk-footer__col--links{
    padding-inline: 0 !important;
  }

  /* keep admin bar visible again after closing mobile menu */
  html:not(.mobile-menu-open) #wpadminbar{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
  }

  html:not(.mobile-menu-open) body.admin-bar .site-header{
    top: 46px !important;
  }

  html:not(.mobile-menu-open) .site-header{
    position: sticky !important;
  }
}

/* ============================================================
   FOOTER V6 — heading alignment refinement
   ============================================================ */
.pk-footer__title,
.pk-footer__heading{
  text-align: center !important;
}

.pk-footer__title::after,
.pk-footer__heading::after{
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* ============================================================
   FOOTER V7 — dati azienda + left-aligned dividers
   ============================================================ */
.pk-footer__title,
.pk-footer__heading{
  text-align: left !important;
  font-size: 2.2rem !important;
}

.pk-footer__title::after,
.pk-footer__heading::after{
  left: 0 !important;
  transform: none !important;
}

.pk-footer__col--center .pk-footer__heading{
  text-align: left !important;
}

.pk-footer__col--center .pk-footer__heading::after{
  left: 0 !important;
  transform: none !important;
}

.pk-footer__meta strong{
  font-weight: 700 !important;
  color: var(--pk-white) !important;
}

/* ============================================================
   FOOTER V8 — title size parity + left-aligned social icons
   ============================================================ */
.pk-footer h2.pk-footer__title,
.pk-footer h3.pk-footer__heading{
  font-size: 2rem !important;
  line-height: 1.1 !important;
}

.pk-footer__col--center{
  align-items: flex-start !important;
  text-align: left !important;
}

.pk-footer__social-block .pk-footer__heading,
.pk-footer__winols-block .pk-footer__heading{
  text-align: left !important;
}

.pk-footer__social-block .pk-footer__heading::after,
.pk-footer__winols-block .pk-footer__heading::after{
  left: 0 !important;
  transform: none !important;
}

.pk-footer__social{
  justify-content: flex-start !important;
}
/* FIX DROPDOWN - rimuove la riga rossa se c'è un dropdown da desktop */
@media (min-width: 1201px){
  .main-navigation .main-nav > ul > li.menu-item-has-children:hover > a::after,
  .main-navigation .main-nav > ul > li.menu-item-has-children:focus-within > a::after,
  .nav-primary .main-nav > ul > li.menu-item-has-children:hover > a::after,
  .nav-primary .main-nav > ul > li.menu-item-has-children:focus-within > a::after{
    transform: scaleX(0) !important;
    opacity: 0 !important;
  }
}
/* FIX DESKTOP — dropdown più largo per voci lunghe */
@media (min-width: 1201px){
  .main-navigation .sub-menu,
  .nav-primary .sub-menu{
    min-width: 320px !important;
    width: max-content !important;
    max-width: 420px !important;
  }

  .main-navigation .sub-menu > li > a,
  .nav-primary .sub-menu > li > a{
    white-space: normal !important;
    line-height: 1.35 !important;
  }
}
/* FIX MOBILE SAFARI — mostra davvero le voci del sottomenu */
@media (max-width: 968px){
  #site-navigation .sub-menu{
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    left: auto !important;
    min-width: 0 !important;
  }

  #site-navigation li.menu-item-has-children > a:has(.dropdown-menu-toggle[aria-expanded="true"]) + .sub-menu,
  #site-navigation li.menu-item-has-children.sfHover > .sub-menu,
  #site-navigation li.menu-item-has-children.submenu-open > .sub-menu{
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* ============================================================
   TABLET MENU EXTENSION — stesso menu mobile fino a 1200px
   mantiene esattamente il comportamento mobile senza duplicati
   ============================================================ */
@media (min-width: 969px) and (max-width: 1200px){
  :root{
    --pk-header-h: 70px;
    --pk-logo-w: 200px;
    --pk-logo-h: 52px;
    --pk-adminbar-h: 32px;
  }

  .site-header{
    position: sticky !important;
    top: 0 !important;
    z-index: 10050 !important;
  }

  body.admin-bar .site-header{
    top: var(--pk-adminbar-h) !important;
  }

  body:not(.admin-bar) .site-header{
    top: 0 !important;
  }

  #masthead.site-header,
  #masthead.site-header.pk-scrolled{
    height: auto !important;
  }

  .has-inline-mobile-toggle .inside-header{
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .has-inline-mobile-toggle .header-widget{
    display: none !important;
  }

  .site-header .inside-header{
    height: var(--pk-header-h) !important;
    min-height: var(--pk-header-h) !important;
    max-width: 100% !important;
    padding: 0 16px !important;
    gap: 12px !important;
  }

  .site-header.pk-scrolled .inside-header{
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 16px !important;
  }

  .site-branding{
    order: 1 !important;
    flex: 1 1 auto !important;
    max-width: calc(100% - 60px) !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .site-branding .main-title,
  .site-branding .main-title > a{
    margin: 0 !important;
  }

  .site-branding .main-title > a{
    width: var(--pk-logo-w) !important;
    height: var(--pk-logo-h) !important;
    transform: none !important;
  }

  .site-header.pk-scrolled .site-branding .main-title > a,
  body .site-header.pk-scrolled .site-branding p.main-title > a{
    width: 170px !important;
    height: 44px !important;
    transform: none !important;
  }

  #mobile-menu-control-wrapper{
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    background: transparent !important;
  }

  .has-inline-mobile-toggle #site-navigation{
    order: 2 !important;
    flex-basis: auto !important;
    width: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    flex: 0 0 auto !important;
  }

  #site-navigation .inside-navigation{
    padding: 0 !important;
    justify-content: flex-end !important;
    transform: none !important;
    filter: none !important;
    overflow: visible !important;
  }

  /* nasconde qualsiasi toggle interno del tema: resta solo il nostro */
  #site-navigation > .inside-navigation > button.menu-toggle,
  #site-navigation .inside-navigation > button.menu-toggle,
  #site-navigation button[aria-controls="primary-menu"],
  #site-navigation .menu-toggle,
  .main-navigation .menu-toggle{
    display: none !important;
  }

  #mobile-menu-control-wrapper .menu-toggle{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 8px !important;
    background: rgba(10,10,10,0.82) !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
    z-index: 10060 !important;
  }

  #mobile-menu-control-wrapper .menu-toggle .screen-reader-text{
    display: none !important;
  }

  #mobile-menu-control-wrapper .menu-toggle::after{
    content: none !important;
  }

  #mobile-menu-control-wrapper .menu-toggle .gp-icon{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #mobile-menu-control-wrapper .menu-toggle .gp-icon svg{
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }

  #mobile-menu-control-wrapper .menu-toggle .gp-icon svg:first-child{
    display: block !important;
  }

  #mobile-menu-control-wrapper .menu-toggle .gp-icon svg:last-child{
    display: none !important;
  }

  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .gp-icon svg:first-child{
    display: none !important;
  }

  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .gp-icon svg:last-child{
    display: block !important;
  }

  /* il menu desktop non deve comparire in questa fascia */
  #site-navigation .main-nav{
    display: none !important;
  }

  #site-navigation.toggled .main-nav,
  #site-navigation.toggled-on .main-nav{
    display: block !important;
    position: fixed !important;
    inset: var(--pk-adminbar-h) 0 0 0 !important;
    width: 100% !important;
    height: calc(100dvh - var(--pk-adminbar-h)) !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #000 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 200000 !important;
  }

  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"]{
    position: fixed !important;
    right: 16px !important;
    top: calc(var(--pk-adminbar-h) + 10px) !important;
    z-index: 200010 !important;
  }

  #site-navigation .main-nav > ul{
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #site-navigation .main-nav > ul > li{
    display: block !important;
    float: none !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }

  #site-navigation .main-nav > ul > li > a{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 64px !important;
    padding: 22px 24px !important;
    white-space: normal !important;
    font-size: 1.9rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
  }

  #site-navigation .main-nav > ul > li > a::before,
  #site-navigation .main-nav > ul > li > a::after{
    display: none !important;
    content: none !important;
  }

  #site-navigation .sub-menu{
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    left: auto !important;
    min-width: 0 !important;
  }

  #site-navigation .sub-menu > li > a{
    display: block !important;
    padding: 16px 24px 16px 44px !important;
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
  }

  #site-navigation .dropdown-menu-toggle{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin-left: 12px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 8px !important;
    background: rgba(10,10,10,0.82) !important;
    color: #fff !important;
    box-sizing: border-box !important;
  }

  #site-navigation .dropdown-menu-toggle .gp-icon{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  #site-navigation .dropdown-menu-toggle .gp-icon svg{
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }

  #site-navigation .dropdown-menu-toggle[aria-expanded="true"] .gp-icon svg{
    transform: rotate(180deg) !important;
  }

  #site-navigation li.menu-item-has-children > a:has(.dropdown-menu-toggle[aria-expanded="true"]) + .sub-menu,
  #site-navigation li.menu-item-has-children.sfHover > .sub-menu,
  #site-navigation li.menu-item-has-children.submenu-open > .sub-menu{
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html:has(#site-navigation.toggled),
  html:has(#site-navigation.toggled-on),
  body:has(#site-navigation.toggled),
  body:has(#site-navigation.toggled-on){
    overflow: hidden !important;
  }

  html.mobile-menu-open #wpadminbar{
    display: none !important;
  }

  html.mobile-menu-open .site-header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 200005 !important;
  }

  html.mobile-menu-open .site-header::after{
    display: none !important;
  }

  html.mobile-menu-open .site-header .inside-header{
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  html.mobile-menu-open .site-branding{
    display: none !important;
  }

  html.mobile-menu-open #site-navigation,
  html.mobile-menu-open #site-navigation .inside-navigation{
    transform: none !important;
    filter: none !important;
    overflow: visible !important;
  }

  html.mobile-menu-open #site-navigation.toggled .main-nav,
  html.mobile-menu-open #site-navigation.toggled-on .main-nav{
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding-top: 108px !important;
    padding-bottom: 40px !important;
    background: #000 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 200000 !important;
  }

  html.mobile-menu-open #mobile-menu-control-wrapper{
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 200010 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  #wpadminbar{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }
}
/* ============================================================
   FIX DESKTOP — dropdown vicino al bordo destro
   ============================================================ */
@media (min-width: 1201px){

  .main-navigation .main-nav > ul > li,
  .nav-primary .main-nav > ul > li{
    position: relative !important;
  }

  /* comportamento standard */
  .main-navigation .main-nav > ul > li > .sub-menu,
  .nav-primary .main-nav > ul > li > .sub-menu{
    left: 0 !important;
    right: auto !important;
    max-width: min(420px, calc(100vw - 32px)) !important;
    box-sizing: border-box !important;
  }

  /* ultimi elementi del menu: apri verso sinistra/allineato a destra */
  .main-navigation .main-nav > ul > li:nth-last-child(-n+3) > .sub-menu,
  .nav-primary .main-nav > ul > li:nth-last-child(-n+3) > .sub-menu{
    left: auto !important;
    right: 0 !important;
  }
}
/* ============================================================
   FIX CONTENUTO VUOTO
   ============================================================ */
@media (min-width: 1300px) {
div#content {
    min-height: 800px !important;
}
}
