/*
 * Responsive navigation + accessibility polish. Loaded last.
 * The desktop header is unchanged; at <=960px the links move into a
 * slide-down panel opened by the hamburger button (see assets/js/nuovosys.js).
 */

body.nuovo .nav-cta-mobile,
body.nuovo .nav-backdrop{display:none}
body.nuovo .menu{display:none}

/* Visible keyboard focus everywhere */
body.nuovo a:focus-visible,
body.nuovo button:focus-visible,
body.nuovo input:focus-visible,
body.nuovo select:focus-visible,
body.nuovo textarea:focus-visible{outline:3px solid rgba(8,175,208,.6);outline-offset:3px;border-radius:6px}
body.nuovo .header a:focus-visible{outline-offset:2px}

@media(max-width:960px){
  body.nuovo .header{height:70px}
  body.nuovo .header-cta{display:none}

  /* Hamburger button */
  body.nuovo .menu{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:12px;background:#f0fafc;border:1px solid var(--line);color:var(--navy);cursor:pointer;transition:background .25s,border-color .25s}
  body.nuovo .menu:hover,body.nuovo .menu.is-open{background:#e2f5fa;border-color:#bfe6f0}
  body.nuovo .menu-bars{position:relative;display:block;width:22px;height:16px}
  body.nuovo .menu-bars i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .2s,top .3s}
  body.nuovo .menu-bars i:nth-child(1){top:0}
  body.nuovo .menu-bars i:nth-child(2){top:7px}
  body.nuovo .menu-bars i:nth-child(3){top:14px}
  body.nuovo .menu.is-open .menu-bars i:nth-child(1){top:7px;transform:rotate(45deg)}
  body.nuovo .menu.is-open .menu-bars i:nth-child(2){opacity:0}
  body.nuovo .menu.is-open .menu-bars i:nth-child(3){top:7px;transform:rotate(-45deg)}

  /* Slide-down panel */
  body.nuovo .navlinks{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;position:absolute;top:100%;left:0;right:0;padding:8px 24px 28px;background:#fff;border-top:1px solid var(--line);box-shadow:0 24px 40px rgba(6,24,39,.14);max-height:calc(100vh - 70px);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}
  body.nuovo .navlinks.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s;top:100%;padding:8px 24px 28px;margin:0}
  body.nuovo .navlinks a:not(.btn){display:block;padding:17px 0;font-size:17px;font-weight:600;color:var(--navy);border-bottom:1px solid #eef3f5}
  body.nuovo .navlinks a:not(.btn):after{display:none}
  body.nuovo .navlinks a.active:not(.btn){color:var(--cyan-dark);font-weight:700}
  body.nuovo .navlinks.is-open a:not(.btn){padding:17px 0;font-size:17px}
  body.nuovo .navlinks a.nav-cta-mobile{display:flex;margin-top:24px;padding:17px 26px;font-size:16px;font-weight:700;color:#fff;box-shadow:0 12px 26px rgba(8,175,208,.3)}
  body.nuovo .navlinks a.nav-cta-mobile:hover{color:#fff}

  body.nuovo .nav-backdrop{display:block;position:fixed;left:0;right:0;bottom:0;top:70px;background:rgba(6,24,39,.5);backdrop-filter:blur(2px);z-index:45}
  body.nuovo .nav-backdrop[hidden]{display:none}
  html.nav-open{overflow:hidden}
}
@media(max-width:480px){
  body.nuovo .navlinks{padding:6px 20px 24px}
  body.nuovo .navlinks.is-open{padding:6px 20px 24px}
}
body.admin-bar.nuovo .nav-backdrop{top:102px}
@media(max-width:782px){body.admin-bar.nuovo .nav-backdrop{top:116px}}

@media(prefers-reduced-motion:reduce){
  body.nuovo *{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}
}

/* The source design's `.nav{width:100%}` (<=760px) removed the side gutters, jamming the logo and
   the menu button against the screen edges. Keep the standard container gutter. */
@media(max-width:760px){
  body.nuovo .header .container.nav{width:min(var(--container),calc(100% - 32px))}
}

/* Desktop nav never wraps; spacing tightens as the viewport narrows toward the hamburger breakpoint. */
body.nuovo .navlinks a:not(.btn){white-space:nowrap}
body.nuovo .header-cta,body.nuovo .logo{flex-shrink:0;white-space:nowrap}
@media(min-width:961px) and (max-width:1180px){
  body.nuovo .navlinks{gap:22px;margin-left:28px}
  body.nuovo .navlinks a{font-size:14px}
  body.nuovo .header-cta{padding:12px 18px}
}

/* Uploaded logo image (Customizer → Site Identity) */
body.nuovo .logo--image{line-height:0;display:inline-flex;align-items:center}
body.nuovo .logo-img{display:block;height:46px;width:auto;max-width:230px;object-fit:contain}
body.nuovo .footer .logo-img{height:48px;max-width:250px}
@media(max-width:760px){body.nuovo .logo-img{height:38px;max-width:180px}}

/* Container width comes from Zenith → Theme Options → General → Container Width. */
:root{--container:var(--zenith-container-width,1180px)}
