/**
 * UP Assicurazioni — Full Navigation 2026.
 * Restore WordPress menu's 4 levels and make every descendant reachable.
 * Desktop: grouped, scrollable mega-menu; mobile: accessible nested accordions.
 * Content and permalinks are not changed.
 */
@media (min-width:1051px){
 body.up-approved .up-header-inner{position:relative}
 body.up-approved .up-desktop-nav{position:static;min-width:0}
 body.up-approved .up-desktop-nav>.up-nav-menu{position:static;display:flex;flex-wrap:nowrap;gap:clamp(10px,1.3vw,21px)}
 body.up-approved .up-desktop-nav>.up-nav-menu>li{position:static!important}
 body.up-approved .up-desktop-nav>.up-nav-menu>li>a{
   font-family:var(--up-body)!important;
   font-size:clamp(10.5px,.95vw,13px)!important;
   font-weight:600!important;
   letter-spacing:.003em;
   line-height:1.5!important;
   padding:30px 0!important;
   color:#082F71!important;
   white-space:nowrap;
 }
 body.up-approved .up-desktop-nav>.up-nav-menu>li:hover>a,
 body.up-approved .up-desktop-nav>.up-nav-menu>li:focus-within>a{
   color:#006ca9!important
 }
 body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu{
   display:none!important;
   position:absolute!important;
   z-index:100!important;
   top:calc(100% - 1px)!important;
   left:0!important;
   right:0!important;
   transform:none!important;
   width:100%!important;
   max-width:100%!important;
   max-height:min(76vh,740px)!important;
   overflow-y:auto!important;
   overflow-x:hidden!important;
   grid-template-columns:repeat(3,minmax(0,1fr))!important;
   align-items:start!important;
   gap:16px 26px!important;
   margin:0!important;
   padding:26px 28px!important;
   border:1px solid #d3e5ef!important;
   border-top:3px solid #0181c1!important;
   background:#fff!important;
   box-shadow:0 22px 56px rgba(6,35,73,.18)!important;
   scrollbar-color:#a4cbdc #f3f8fc;
   overscroll-behavior:contain;
 }
 body.up-approved .up-desktop-nav>.up-nav-menu>li:hover>.sub-menu,
 body.up-approved .up-desktop-nav>.up-nav-menu>li:focus-within>.sub-menu{
   display:grid!important
 }
 body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li{
   display:block!important;
   float:none!important;
   width:100%!important;
   min-width:0!important;
   height:auto!important;
   padding:0 0 13px!important;
   margin:0!important;
   background:transparent!important;
   border:0!important;
   border-bottom:1px solid #d9e7ef!important;
   break-inside:avoid;
 }
 body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>a{
   display:block!important;
   position:static!important;
   font:700 12px/1.4 var(--up-body)!important;
   letter-spacing:.005em!important;
   padding:4px 0 11px!important;
   color:#005494!important;
   background:transparent!important;
   border:0!important;
   white-space:normal!important;
 }
 body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li:hover>a{
   color:#082F71!important;
   background:transparent!important;
 }
 body.up-approved .up-desktop-nav .sub-menu .sub-menu,
 body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>.sub-menu{
   position:static!important;
   display:block!important;
   visibility:visible!important;
   opacity:1!important;
   transform:none!important;
   width:auto!important;
   max-width:none!important;
   max-height:none!important;
   overflow:visible!important;
   border:0!important;
   border-left:0!important;
   box-shadow:none!important;
   margin:0!important;
   padding:0!important;
   background:transparent!important;
 }
 body.up-approved .up-desktop-nav .sub-menu .sub-menu li{
   display:block!important;
   float:none!important;
   padding:0!important;
   margin:0!important;
   border:0!important;
   position:static!important;
 }
 body.up-approved .up-desktop-nav .sub-menu .sub-menu li>a{
   display:block!important;
   padding:7px 0!important;
   margin:0!important;
   color:#4b6981!important;
   background:transparent!important;
   border:0!important;
   border-radius:0!important;
   font:500 11.5px/1.55 var(--up-body)!important;
   white-space:normal!important;
   overflow-wrap:anywhere;
 }
 body.up-approved .up-desktop-nav .sub-menu .sub-menu li>a:hover,
 body.up-approved .up-desktop-nav .sub-menu .sub-menu li>a:focus{
   color:#005494!important;
   text-decoration:underline!important;
   text-underline-offset:3px;
   background:transparent!important;
 }
 body.up-approved .up-desktop-nav .sub-menu .sub-menu .sub-menu{
   border-left:2px solid #d5e7f1!important;
   margin:3px 0 7px 4px!important;
   padding-left:13px!important;
 }
 body.up-approved .up-desktop-nav .sub-menu .sub-menu .sub-menu li>a{
   font-size:11px!important
 }
 body.up-approved .up-desktop-nav li>a:focus-visible{
   outline:2px solid #0394c7!important;
   outline-offset:3px;
 }
}
@media (min-width:1051px) and (max-width:1180px){
 body.up-approved .up-header-inner{gap:12px!important}
 body.up-approved .up-desktop-nav>.up-nav-menu{gap:11px!important}
 body.up-approved .up-desktop-nav>.up-nav-menu>li>a{font-size:10.5px!important}
 body.up-approved .up26-header-cta{font-size:9px!important;padding:9px 10px!important}
}
@media (max-width:1050px){
 body.up-approved .up-mobile-panel{
   background:#fff!important;
   border-top:1px solid #d7e7ef!important;
   max-height:calc(100dvh - 82px)!important;
   overflow-y:auto!important;
   overscroll-behavior:contain;
 }
 body.up-approved .up-mobile-menu-list{padding:14px 0 28px!important}
 body.up-approved .up-mobile-menu-list li{
   position:relative!important;
   min-width:0!important;
   list-style:none!important;
 }
 body.up-approved .up-mobile-menu-list>li{
   border-bottom:1px solid #dce9f0!important;
 }
 body.up-approved .up-mobile-menu-list>li>a{
   display:block!important;
   padding:16px 48px 16px 0!important;
   font:700 15px/1.5 var(--up-body)!important;
   color:#082F71!important;
 }
 body.up-approved .up-mobile-menu-list .sub-menu{
   position:static!important;
   display:none!important;
   width:100%!important;
   max-height:none!important;
   overflow:visible!important;
   padding:2px 0 11px 16px!important;
   margin:0!important;
   border:0!important;
   border-left:2px solid #d5e8f1!important;
   box-shadow:none!important;
   background:#fff!important;
 }
 body.up-approved .up-mobile-menu-list .up-submenu-open>.sub-menu{
   display:block!important;
 }
 body.up-approved .up-mobile-menu-list .sub-menu li>a{
   display:block!important;
   white-space:normal!important;
   overflow-wrap:anywhere!important;
   padding:11px 47px 11px 8px!important;
   font:500 12.5px/1.6 var(--up-body)!important;
   color:#315d7c!important;
   background:transparent!important;
 }
 body.up-approved .up-mobile-menu-list .sub-menu .sub-menu li>a{
   font-size:12px!important;
 }
 body.up-approved .up-mobile-menu-list .up-submenu-toggle{
   display:grid!important;
   place-items:center!important;
   position:absolute!important;
   top:8px!important;
   right:0!important;
   width:42px!important;
   height:42px!important;
   padding:0!important;
   color:#015599!important;
   border:1px solid #d3e5ef!important;
   border-radius:4px!important;
   background:#f6fbfd!important;
   font:500 23px/1 var(--up-body)!important;
   cursor:pointer!important;
 }
 body.up-approved .up-mobile-menu-list .up-submenu-open>.up-submenu-toggle{
   background:#e4f4fb!important;
 }
 body.up-approved .up-mobile-menu-list a:focus-visible,
 body.up-approved .up-mobile-menu-list button:focus-visible{
   outline:3px solid #65c0e6!important;
   outline-offset:2px!important;
 }
}
@media (max-width:650px){
 body.up-approved .up-mobile-panel{max-height:calc(100dvh - 70px)!important}
 body.up-approved .up-mobile-menu-list .sub-menu{padding-left:12px!important}
}

