.header, .header-top { display: flex; }
.header-bg { position: relative; border-top: 3px solid var(--cor4); }
.header .logo-parent { position: absolute; top: 0; width: 215px; height: 100%; }
.header .logo-parent .logo { display: flex; align-items: center; justify-content: center; background: var(--cor4); height: 100%; }
.header .logo-parent .logo img { display: block; object-fit: cover; width: 100%; }

.menu-hamburger { display: none; }
.mobile-menu { display: none; }

.header .header-top { padding: 12.5px 0 12.5px 215px; align-items: center; flex: 1 1 100%; gap: 30px; }
.header .header-top .links { display: flex; flex: 1; height: 100%; align-items: center; }
.header .header-top .links .link { flex: 1 1 100%; height: 100%; display: flex; align-items: center; justify-content: center; font: 15px montserrat; color: var(--texto); transition: color var(--transition2, .4s); }
.header .header-top .links .link p { position: relative; }
.header .header-top .links .link p::after { position: absolute; content: ''; width: 0%; height: 1px; background: var(--preto); transition: .3s ease; bottom: 0; left: 0; }
.header .header-top .links .link:hover { color: var(--preto); }
.header .header-top .links .link:hover p::after { width: 100%; }
.header .header-top .links .link.ativo { font-weight: 700; color: var(--preto); }
.header .header-top .links .link.ativo p::after { width: 100%; }
.header .header-top .whats-parent { display: flex; gap: 40px; }

.header .header-top .links .link-parent { position: relative; flex: 1 1 100%; height: 100%; display: flex; align-items: stretch; justify-content: center; }
.header .header-top .links .link-parent .link { flex: 1 1 100%; }
.header .header-top .links .link-parent .pages { position: absolute; top: 100%; left: 0; min-width: 220px; background: var(--cor1); box-shadow: 0 8px 18px rgba(0, 0, 0, .22); opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity var(--transition2, .4s), transform var(--transition2, .4s), visibility var(--transition2, .4s); z-index: 30; }
.header .header-top .links .link-parent .pages a { display: block; padding: 10px 14px; color: var(--branco); font: 14px montserrat; white-space: nowrap; transition: background-color var(--transition2, .4s), color var(--transition2, .4s); }
.header .header-top .links .link-parent .pages a p { position: relative; }
.header .header-top .links .link-parent .pages a p::after { content: ''; position: absolute; bottom: -4px; width: 0%; height: 2px; background: var(--branco); left: 0; transition: .4s ease; }
.header .header-top .links .link-parent .pages a:hover p::after { width: 100%; }
.header .header-top .links .link-parent:hover .pages { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }

.header-bottom .link-parent { position: relative; flex: 1 1 auto; min-width: 0; }
.header-bottom .link-parent .pages { position: absolute; top: 100%; left: 0; min-width: 100%; background: var(--cor1); box-shadow: 0 8px 18px rgba(0, 0, 0, .22); opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity var(--transition2, .4s), transform var(--transition2, .4s), visibility var(--transition2, .4s); z-index: 20; }
.header-bottom .link-parent .pages a { display: block; padding: 10px 14px; color: var(--branco); font: 14px montserrat; white-space: nowrap; transition: background-color var(--transition2, .4s), color var(--transition2, .4s); }
.header-bottom .link-parent .pages a p { position: relative; }
.header-bottom .link-parent .pages a p::after { content: ''; position: absolute; bottom: -4px; width: 0%; height: 2px; background: var(--branco); left: 0; transition: .4s ease; }
.header-bottom .link-parent .pages a:hover p::after { width: 100%; }
.header-bottom .link-parent:hover .pages { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }

.header-bottom-bg { background: var(--preto); }
.header-bottom { display: flex; flex: 1 1 100%; padding-left: 215px; box-sizing: border-box; }
.header-bottom .link { display: flex; align-items: center; justify-content: center; width: 100%; white-space: nowrap; color: var(--branco); font: 15px montserrat; text-align: center; padding: 15.5px 0; transition: background-color var(--transition2, .4s), color var(--transition2, .4s), box-shadow var(--transition2, .4s); position: relative; overflow: hidden; isolation: isolate; }
.header-bottom .link p { position: relative; z-index: 2; }
.header-bottom .link::after { content: ''; position: absolute; top: -165%; left: -55%; width: 46%; height: 330%; background: linear-gradient(112deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.06) 30%, rgba(255, 255, 255, 0.18) 45%, rgba(255, 255, 255, 0.38) 50%, rgba(255, 255, 255, 0.18) 55%, rgba(255, 255, 255, 0.06) 70%, rgba(255, 255, 255, 0) 100%); transform: translateX(-280%) rotate(22deg); opacity: 0; pointer-events: none; z-index: 1; }
.header-bottom .link:hover,
.header-bottom .link.ativo { background: var(--cor1); }
.header-bottom .link:hover { box-shadow: inset 0 1px rgba(255, 255, 255, .2), inset 0 -1px rgba(0, 0, 0, .14); }
.header-bottom .link:hover::after { opacity: 1; animation: headerBottomShiny 1.05s cubic-bezier(.22, .7, .2, 1); }

@keyframes headerBottomShiny {   
    0% { transform: translateX(-280%) rotate(22deg); opacity: 0; }
    18% { opacity: 1; }
    52% { opacity: .92; }
    100% { transform: translateX(340%) rotate(22deg); opacity: 0; }
}

.menu-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--transition2, .4s), visibility var(--transition2, .4s); z-index: 80; }
.menu-overlay.active { opacity: 1; visibility: visible; pointer-events: auto; }

@media(max-width: 1250px){ 
    .header .header-top .whats-parent { gap: 20px; }
    .header .header-top .links { gap: 10px; }
    .header .header-top .links .link,
    .link.whats-href .content,
    .header-bottom .link { font-size: clamp(12px, 1.2vw, 14px); }
}

@media(max-width: 990px){
    .header { align-items: stretch; justify-content: space-between; min-height: 78px; }
    .header .logo-parent { position: relative; width: 188px; height: 100px; flex: 0 0 auto; }
    .header .logo-parent .logo { width: 100%; }

    .header .header-top,
    .header-bottom-bg { display: none; }

    .menu-hamburger { display: flex; flex: 0 0 auto; width: 74px; border: 0; background: var(--branco); align-items: center; justify-content: center; flex-direction: column; gap: 6px; cursor: pointer; }
    .menu-hamburger span { display: block; width: 24px; height: 2px; background: var(--preto); transition: transform var(--transition2, .4s), opacity var(--transition2, .4s); }
    .menu-hamburger.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .menu-hamburger.active span:nth-child(2) { opacity: 0; }
    .menu-hamburger.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    .mobile-menu { display: flex; flex-direction: column; position: fixed; top: 0; right: 0; width: min(390px, 90vw); height: 100vh; background: var(--branco); box-shadow: -16px 0 34px rgba(0, 0, 0, .22); transform: translateX(104%); transition: transform var(--transition2, .4s), visibility var(--transition2, .4s); visibility: hidden; pointer-events: none; z-index: 95; }
    .mobile-menu.active { transform: translateX(0); visibility: visible; pointer-events: auto; }

    .mobile-menu-top { display: flex; justify-content: space-between; align-items: stretch; border-bottom: 1px solid #ededed; flex: 0 0 auto; }
    .mobile-logo-parent { display: flex; width: 188px; height: 78px; }
    .mobile-logo { display: flex; align-items: center; justify-content: center; width: 100%; background: var(--cor1); }
    .mobile-logo img { display: block; object-fit: cover; width: 100%; }

    .mobile-menu-close { position: relative; width: 74px; border: 0; background: transparent; cursor: pointer; }
    .mobile-menu-close span { position: absolute; left: 50%; top: 50%; width: 24px; height: 2px; background: var(--preto); transform-origin: center; }
    .mobile-menu-close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
    .mobile-menu-close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }

    .mobile-nav { flex: 1 1 auto; overflow-y: auto; padding: 22px 20px 24px; display: flex; flex-direction: column; gap: 26px; }
    .mobile-nav-block { display: flex; flex-direction: column; }
    .mobile-nav-title { font: 700 13px montserrat; text-transform: uppercase; color: var(--cor1); letter-spacing: .08em; margin-bottom: 10px; }

    .mobile-link,
    .mobile-sub-link { display: flex; align-items: center; justify-content: flex-start; padding: 12px 0; border-bottom: 1px solid #ececec; color: var(--preto); transition: color var(--transition2, .4s); }
    .mobile-link { font: 600 15px montserrat; }
    .mobile-link.ativo { color: var(--cor1); }
    .mobile-subpages { padding-left: 12px; }
    .mobile-sub-link { font: 500 13px montserrat; color: #555; border-bottom-style: dashed; }

    .mobile-whats-parent { gap: 14px; padding-top: 10px; }
    .mobile-whats-parent .link.whats-href .content { font-size: 14px; color: var(--preto); }
    .mobile-whats-parent .link.whats-href .content span { font-size: 11px; }
    .header .logo-parent .logo img { height: 90px; }
}
