/* Menu institucional VVieira — isolado por .vv-nav */
.vv-nav{--vv-nav-ink:#102c48;--vv-nav-gold:#b58b44;--vv-nav-cream:#f8f2e8;position:relative;z-index:90;background:#fff;color:var(--vv-nav-ink);font-family:inherit}
.vv-nav,.vv-nav *{box-sizing:border-box}
.vv-nav__inner{width:min(100% - 48px,1360px);min-height:94px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}
.vv-nav__brand{display:flex;align-items:center;flex-shrink:0}
.vv-nav__logo{display:block;width:auto;max-width:260px;height:auto;max-height:72px;object-fit:contain}
.vv-nav__logo--mobile,.vv-nav__logo--icon{display:none}
.vv-nav__panel{margin-left:auto}
.vv-nav__list,.vv-nav__submenu{list-style:none!important;margin:0!important;padding:0!important}
.vv-nav__list{display:flex;align-items:center;gap:clamp(22px,2.8vw,42px)}
.vv-nav__item{position:relative;display:flex;align-items:center;min-width:0}
.vv-nav__link{display:block;padding:17px 0;color:var(--vv-nav-ink)!important;text-decoration:none!important;font-size:16px;font-weight:500;line-height:1.4;white-space:nowrap;transition:color .2s ease}
.vv-nav__link:hover,.vv-nav__link:focus-visible,.vv-nav__item--active>.vv-nav__link,.vv-nav__item--ancestor>.vv-nav__link{color:#927036!important}
/* Sem sublinhado decorativo: o estado ativo se identifica pela cor. */
.vv-nav__item--active>.vv-nav__link,.vv-nav__item--ancestor>.vv-nav__link{font-weight:600}
.vv-nav__submenu-toggle{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--vv-nav-gold)!important;display:flex;align-items:center;justify-content:center;width:26px;height:36px;padding:0!important;cursor:pointer}
.vv-nav__submenu-toggle svg{transition:transform .2s ease}
.vv-nav__item--open>.vv-nav__submenu-toggle svg{transform:rotate(180deg)}
.vv-nav__submenu{position:absolute;top:100%;right:0;left:auto;width:320px;min-width:305px;max-width:min(400px,calc(100vw - 32px));background:#fff;border:1px solid rgba(16,44,72,.075);box-shadow:0 18px 44px rgba(16,44,72,.12),0 4px 12px rgba(16,44,72,.035);padding:12px 10px!important;border-radius:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.vv-nav__item--parent:hover>.vv-nav__submenu,.vv-nav__item--parent:focus-within>.vv-nav__submenu,.vv-nav__item--open>.vv-nav__submenu{opacity:1;visibility:visible;transform:translateY(0)}
.vv-nav__item--sub{display:block}
.vv-nav__link--sub{padding:15px 20px;border-left:3px solid transparent;font-size:15px;font-weight:500;line-height:1.5;white-space:normal;border-radius:4px}
.vv-nav__link--sub:hover,.vv-nav__link--sub:focus-visible,.vv-nav__item--sub.vv-nav__item--active>.vv-nav__link{background:#f7f0e4;border-left-color:var(--vv-nav-gold);color:var(--vv-nav-ink)!important}
.vv-nav__item--sub.vv-nav__item--active>.vv-nav__link{font-weight:600}
.vv-nav__toggle{display:none}
.vv-nav :focus-visible{outline:2px solid var(--vv-nav-gold);outline-offset:3px}
@media(max-width:900px){
 .vv-nav__inner{width:min(100% - 32px,1360px);min-height:72px;gap:16px}
 .vv-nav__logo--desktop{display:none}
 .vv-nav__logo--mobile{display:block;max-width:76px;max-height:60px}
 .vv-nav__toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px!important;border:1px solid #d9dfe4!important;background:#fff!important;color:var(--vv-nav-ink)!important;box-shadow:none!important;border-radius:5px;cursor:pointer}
 .vv-nav__toggle-bar{display:block;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
 .vv-nav--open .vv-nav__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .vv-nav--open .vv-nav__toggle-bar:nth-child(2){opacity:0}
 .vv-nav--open .vv-nav__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .vv-nav__panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 72px);overflow:auto;background:#fff;border-top:1px solid #e8eaec;box-shadow:0 15px 30px rgba(16,44,72,.14);display:none;margin:0}
 .vv-nav--open .vv-nav__panel{display:block}
 .vv-nav__list{display:block;padding:14px 16px 20px!important}
 .vv-nav__item{display:flex;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid #edf0f1}
 .vv-nav__link{padding:15px 10px;flex:1;white-space:normal}
 
 .vv-nav__submenu-toggle{height:50px;width:48px;flex-shrink:0}
 .vv-nav__submenu{display:none;position:static;right:auto;left:auto;flex-basis:100%;width:100%;min-width:0;max-width:none;border:0;border-left:2px solid var(--vv-nav-gold);margin:0 0 12px 12px!important;padding:4px 0!important;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}
 .vv-nav__item--parent:hover>.vv-nav__submenu,.vv-nav__item--parent:focus-within>.vv-nav__submenu{display:none}
 .vv-nav__item--open>.vv-nav__submenu,.vv-nav__item--parent.vv-nav__item--open:hover>.vv-nav__submenu,.vv-nav__item--parent.vv-nav__item--open:focus-within>.vv-nav__submenu{display:block}
 .vv-nav__item--sub{border:0}
 .vv-nav__link--sub{padding:12px 14px;font-size:15px}
 .vv-nav__item--ancestor>.vv-nav__link{color:var(--vv-nav-ink)!important}
}
@media(prefers-reduced-motion:reduce){.vv-nav *, .vv-nav *::before,.vv-nav *::after{transition:none!important}}

/* Em telas especialmente estreitas, usar a marca simbolica compacta. */
@media(max-width:360px){
 .vv-nav__logo--mobile{display:none}
 .vv-nav__logo--icon{display:block;max-width:54px;max-height:54px}
}

/* Garante o alinhamento com a mesma malha horizontal do footer.
   O wrapper do Elementor que hospeda o shortcode deve ser full-width. */
@media (min-width: 901px) and (max-width: 1080px) {
 .vv-nav__inner{gap:20px}
 .vv-nav__logo--desktop{max-width:205px}
 .vv-nav__list{gap:18px}
 .vv-nav__link{font-size:14px}
 .vv-nav__link--sub{font-size:15px}
}