/* ===== VAGOVIA TOP MENU v3 – CSS esterno (caricato nel <head>) ===== */
html,body{margin:0;padding:0}
html{scroll-padding-top:5rem}
html{overflow-x:clip}
body{overflow-x:unset!important}

.skip-link{position:absolute;left:1rem;top:-100px;background:#ED278C;color:#fff;padding:.6rem 1rem;border-radius:0 0 10px 10px;z-index:9999;transition:top .2s ease}
.skip-link:focus{top:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

#vg-navbar{position:fixed;top:0;left:0;right:auto;width:100vw;max-width:100vw;z-index:50;background:transparent;
  transition:background .3s,box-shadow .3s;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
#vg-navbar *,#vg-navbar *::before,#vg-navbar *::after{box-sizing:border-box}
.vg-nav-inner{max-width:80rem;margin:0 auto;height:5rem;padding:0 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem}
@media(min-width:640px){.vg-nav-inner{padding:0 1.5rem}}
@media(min-width:768px){.vg-nav-inner{padding:0 2rem}}

#vg-navbar a:focus-visible,#vg-menu-btn:focus-visible{outline:2px solid #ED278C;outline-offset:3px;border-radius:.5rem}
.vg-cta:focus-visible,.vg-mobile-cta:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #ED278C}

.vg-logo{flex-shrink:0;display:inline-flex;align-items:center;line-height:0}
.vg-logo img{height:48px;width:auto;display:block}
.vg-logo-fallback{display:none;font-weight:800;font-size:1.5rem;color:#fff;line-height:1}
.vg-logo-fallback b{color:#ED278C;font-weight:800}

.vg-nav{display:none;align-items:center;gap:.125rem}
@media(min-width:1024px){.vg-nav{display:flex}}
.vg-link{position:relative;color:rgba(255,255,255,.95);font-weight:600;font-size:.9375rem;line-height:1;
  padding:.5rem .7rem;border-radius:.5rem;text-decoration:none;white-space:nowrap;
  transition:color .2s,background .2s}
.vg-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.vg-pill{border:1px solid rgba(255,255,255,.3)}
.vg-pill:hover{background:rgba(255,255,255,.12)}
.vg-link[aria-current="page"]{color:#ED278C}
.vg-link[aria-current="page"]::after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:.3rem;
  height:2px;background:#ED278C;border-radius:2px}

.vg-actions{display:flex;align-items:center;gap:.75rem}
.vg-phone{display:none;align-items:center;gap:.5rem;color:rgba(255,255,255,.95);
  font-weight:600;font-size:1rem;text-decoration:none;transition:color .2s;white-space:nowrap}
@media(min-width:768px){.vg-phone{display:flex}}
.vg-cta{display:none;align-items:center;background:#ED278C;color:#fff;font-weight:700;font-size:.9375rem;
  padding:.55rem .9rem;border-radius:.75rem;text-decoration:none;white-space:nowrap;
  transition:background .2s,transform .15s,box-shadow .2s}
@media(min-width:1024px){.vg-cta{display:inline-flex}}
.vg-cta:hover{background:#C01070;transform:translateY(-1px);box-shadow:0 6px 18px rgba(237,39,140,.32)}
.vg-cta-short{display:inline}
.vg-cta-full{display:none}

@media(min-width:1024px){.vg-logo img{height:44px}.vg-phone-num{display:none}}
@media(min-width:1280px){
  .vg-nav{gap:.5rem}
  .vg-link{font-size:1rem;padding:.625rem 1rem}
  .vg-logo img{height:48px}
  .vg-phone-num{display:inline}
  .vg-cta{font-size:1rem;padding:.625rem 1.25rem}
  .vg-cta-short{display:none}
  .vg-cta-full{display:inline}
}

#vg-navbar.vg-scrolled{background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 24px rgba(20,27,43,.08)}
#vg-navbar.vg-scrolled .vg-link{color:#141B2B}
#vg-navbar.vg-scrolled .vg-link:hover{color:#ED278C;background:rgba(237,39,140,.06)}
#vg-navbar.vg-scrolled .vg-link[aria-current="page"]{color:#ED278C}
#vg-navbar.vg-scrolled .vg-phone{color:#141B2B}
#vg-navbar.vg-scrolled .vg-phone:hover{color:#ED278C}
#vg-navbar.vg-scrolled .vg-pill{border-color:rgba(20,27,43,.18)}
#vg-navbar.vg-scrolled .vg-pill:hover{background:rgba(237,39,140,.06)}
#vg-navbar.vg-scrolled .vg-logo-fallback{color:#141B2B}
#vg-navbar.vg-scrolled #vg-menu-btn,#vg-navbar.vg-scrolled #vg-menu-btn-mobile{color:#141B2B}

#vg-menu-btn{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;
  width:2.5rem;height:2.5rem;color:#fff;background:none;border:0;padding:0;cursor:pointer}
#vg-menu-btn-mobile{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;
  position:absolute;top:50%;right:1.25rem;transform:translateY(-50%);z-index:5;
  width:2.5rem;height:2.5rem;color:#fff;background:none;border:0;padding:0;cursor:pointer}
@media(min-width:640px) and (max-width:1023.98px){#vg-menu-btn-mobile{right:1.5rem}}
@media(min-width:768px) and (max-width:1023.98px){#vg-menu-btn-mobile{right:2rem}}
@media(min-width:1024px){#vg-menu-btn{display:none}#vg-menu-btn-mobile{display:none}}
#vg-menu-btn span,#vg-menu-btn-mobile span{display:block;width:24px;height:2px;background:currentColor;transition:transform .3s,opacity .3s}
#vg-menu-btn.vg-open span:nth-child(1),#vg-menu-btn-mobile.vg-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
#vg-menu-btn.vg-open span:nth-child(2),#vg-menu-btn-mobile.vg-open span:nth-child(2){opacity:0}
#vg-menu-btn.vg-open span:nth-child(3),#vg-menu-btn-mobile.vg-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

#vg-overlay{position:fixed;top:5rem;left:0;right:auto;bottom:0;width:100vw;max-width:100vw;z-index:40;background:rgba(15,24,34,.45);
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
#vg-overlay.vg-open{opacity:1;visibility:visible}
@media(min-width:1024px){#vg-overlay{display:none}}

#vg-mobile-menu{position:absolute;top:100%;left:0;right:0;background:#fff;
  max-height:calc(100vh - 5rem);overflow-y:auto;
  box-shadow:0 14px 28px rgba(20,27,43,.12);
  opacity:0;transform:translateY(-10px);visibility:hidden;
  transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
@media(min-width:1024px){#vg-mobile-menu{display:none}}
#vg-mobile-menu.vg-open{opacity:1;transform:translateY(0);visibility:visible;
  transition:opacity .25s ease,transform .25s ease,visibility 0s}
.vg-mobile-inner{max-width:80rem;margin:0 auto;padding:1rem 1.5rem;display:flex;flex-direction:column;
  gap:.25rem;border-top:1px solid rgba(225,189,199,.18)}
.vg-mobile-link{display:flex;align-items:center;gap:.75rem;font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:600;font-size:1.0625rem;color:#141B2B;padding:.75rem 0;text-decoration:none;
  border-radius:.5rem;transition:color .2s,background .2s}
.vg-mobile-link:hover{color:#ED278C}
.vg-mobile-link .material-symbols-outlined{color:#ED278C;font-size:1.5rem}
.vg-mobile-link .vg-ico-secondary{color:#163483}
.vg-mobile-link[aria-current="page"]{color:#ED278C;background:rgba(237,39,140,.07);
  padding-left:.6rem;box-shadow:inset 3px 0 0 #ED278C}
.vg-mobile-link[aria-current="page"] .material-symbols-outlined{color:#ED278C}
.vg-mobile-sep{height:1px;background:rgba(20,27,43,.08);margin:.5rem 0}
.vg-mobile-cta{margin-top:.25rem;justify-content:center;background:#ED278C;color:#fff;font-weight:700;
  border-radius:.75rem;padding:.875rem;transition:background .2s}
.vg-mobile-cta:hover{background:#C01070;color:#fff}
.vg-mobile-social{display:flex;justify-content:center;gap:.75rem;margin-top:.9rem}
.vg-social{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;
  border-radius:50%;color:#163483;background:rgba(22,52,131,.06);
  transition:color .2s,background .2s,transform .15s}
.vg-social:hover{color:#fff;background:#ED278C;transform:translateY(-1px)}
.vg-social svg{width:20px;height:20px;fill:currentColor}

body.vg-menu-open{overflow:hidden}
