/* ==================== FONT FACE ==================== */

@font-face {
    font-family: 'HeadingNow';
    src: url('../fonts/HeadingNow-92Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'HeadingNow';
    src: url('../fonts/HeadingNow-92LightItalic.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'HeadingNow';
    src: url('../fonts/HeadingNow-94Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'HeadingNow';
    src: url('../fonts/HeadingNow-94RegularItalic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'HeadingNow';
    src: url('../fonts/HeadingNow-96Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'HeadingNow';
    src: url('../fonts/HeadingNow-96BoldItalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* ==================== APLICAR FONTE GLOBALMENTE ==================== */
body, * {
    font-family: 'HeadingNow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

h1, h2, h3 {
    font-weight: 400;
}

h4, h5, h6 {
    font-weight: 400;
}

p {
    font-weight: 400;
}

#header.header-bg {background-color: rgba(36, 55, 95, 0.8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}
#header .header {padding: 20px 0;}
#header .header-content {display: flex; justify-content: space-between; align-items: center; position: relative;}
#header .header-content-logo {display: flex; align-items: center;}
#header .header-content-logo img {max-height: 60px; width: auto;}
#header .header-content-itens {display: flex; align-items: center;}
#header .header-content-menu {display: flex; align-items: center;}
#header .header-content-menu ul {display: flex; list-style: none; margin: 0; padding: 0; gap: 30px;}
#header .header-content-menu ul li {margin: 0;}
#header .header-content-menu ul li a {color: #ffffff; text-decoration: none; font-size: 16px; transition: opacity 0.3s ease;}
#header .header-content-menu ul li a:hover {opacity: 0.8;}
#header .header-content-menu ul ul {display: none; position: absolute; background-color: rgba(36, 55, 95, 0.95); padding: 10px; gap: 15px; flex-direction: column;}
#header .header-content-menu ul li:hover > ul {display: flex;}



/* Toggle Button */
.header-toggle {display: none; background: none; border: none; cursor: pointer; padding: 5px; z-index: 1001; transition: transform 0.3s ease;}
.header-toggle:hover {transform: scale(1.1);}
.header-toggle img {width: 30px; height: 30px; display: block;}

/* Mobile Menu Overlay */
.header-mobile-overlay {display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1998; opacity: 0; transition: opacity 0.3s ease;}
.header-mobile-overlay.active {display: block; opacity: 1;}

/* Mobile Menu Modal */
.header-mobile-menu {position: fixed; top: 0; right: -100%; width: 80%; max-width: 400px; height: 100vh; background-color: #24375F; z-index: 1999; transition: right 0.3s ease; overflow-y: auto; box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);}
.header-mobile-menu.active {right: 0;}

/* Mobile Menu Header */
.header-mobile-menu-header {display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.2);}

.header-mobile-logo {display: flex; align-items: center;}
.header-mobile-logo img {max-height: 50px; width: auto;}

.header-mobile-close {background: none; border: none; cursor: pointer; font-size: 40px; color: #ffffff; line-height: 1; padding: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease;}
.header-mobile-close:hover {transform: rotate(90deg);}

/* Mobile Menu Content */
.header-mobile-menu-content {padding: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
.header-mobile-menu-content ul {list-style: none; margin: 0; padding: 0;}
.header-mobile-menu-content ul li {margin: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
.header-mobile-menu-content ul li:last-child {border-bottom: none;}
.header-mobile-menu-content ul li a {display: block; padding: 15px 10px; color: #ffffff; text-decoration: none; font-size: 16px; font-weight: 500; transition: background-color 0.3s ease, padding-left 0.3s ease;}
.header-mobile-menu-content ul li a:hover {background-color: rgba(255, 255, 255, 0.1); padding-left: 20px;}

/* Submenu Mobile */
.header-mobile-menu-content ul ul {display: none; padding-left: 20px; background-color: rgba(0, 0, 0, 0.2); margin-top: 5px;}
.header-mobile-menu-content .menu-item-has-children.submenu-open > ul {display: block;}
.header-mobile-menu-content .menu-item-has-children > a::after {content: " ▼"; font-size: 12px; transition: transform 0.3s ease;}
.header-mobile-menu-content .menu-item-has-children.submenu-open > a::after {transform: rotate(180deg); display: inline-block;}

/* Mobile Menu Info */
.header-mobile-info {padding: 20px; color: #ffffff;}
.header-mobile-info p {margin: 0 0 10px 0; font-size: 14px; line-height: 1.6;}
.header-mobile-info p:last-child {margin-bottom: 0;}

/* Desktop Classes */
.off-767 {display: flex;}
.on-767 {display: none;}

/* ==================== BOTÃO LATERAL FIXO ==================== */
.btn-lateral-fixo {
    position: fixed;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: right center;
    background-color: #47698B;
    color: #ffffff;
    padding: 15px 40px;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, right 0.3s ease;
    z-index: 1000;
    white-space: nowrap;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-lateral-fixo-icons {
    display: flex;
    gap: 8px;
    align-items: center;
}

.btn-lateral-fixo-icons img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.btn-lateral-fixo:hover {
    background-color: #365279;
    right: 25px;
    color: #ffffff;
}

.btn-lateral-fixo:active {
    right: 30px;
}

/* ==================== MEDIA QUERIES ==================== */

@media (max-width: 1799.5px) {
    #header .header-content-menu ul {gap: 25px;}
}

@media (max-width: 1599.5px) {
    #header .header-content-menu ul {gap: 20px;}
    #header .header-content-menu ul li a {font-size: 15px;}
}

@media (max-width: 1399.5px) {
    #header .header-content-menu ul {gap: 18px;}
}

@media (max-width: 1199.5px) {
    #header .header-content-menu ul {gap: 15px;}
    #header .header-content-menu ul li a {font-size: 14px;}
    .btn-lateral-fixo {padding: 12px 35px; font-size: 15px;}
    .btn-lateral-fixo-icons img {width: 18px; height: 18px;}
}

@media (max-width: 991.5px) {
    #header .header-content-menu ul {gap: 12px;}
    .btn-lateral-fixo {padding: 10px 30px; font-size: 14px;}
    .btn-lateral-fixo-icons img {width: 16px; height: 16px;}
}

@media (max-width: 767.5px) {
    .off-767 {display: none !important;}
    .on-767 {display: block;}
    .header-mobile-menu {width: 85%; max-width: 350px;}
    .btn-lateral-fixo {padding: 8px 25px; font-size: 13px; letter-spacing: 0.5px; gap: 10px;}
    .btn-lateral-fixo-icons {gap: 6px;}
    .btn-lateral-fixo-icons img {width: 16px; height: 16px;}
}

@media (max-width: 575.5px) {
    #header .header {padding: 15px 0;}
    #header .header-content-logo img {max-height: 50px;}
    .header-mobile-menu {width: 90%; max-width: 320px;}
    .header-mobile-menu-content ul li a {font-size: 15px; padding: 12px 10px;}
    .header-mobile-logo img {max-height: 45px;}
    .header-mobile-info {padding: 15px;}
    .header-mobile-info p {font-size: 13px; margin-bottom: 8px;}
    .btn-lateral-fixo {padding: 8px 20px; font-size: 12px; right: -5px; gap: 8px;}
    .btn-lateral-fixo-icons {gap: 5px;}
    .btn-lateral-fixo-icons img {width: 14px; height: 14px;}
}

@media (max-width: 400px) {
    #header .header {padding: 10px 0;}
    #header .header-content-logo img {max-height: 45px;}
    .header-toggle img {width: 25px; height: 25px;}
    .header-mobile-menu {width: 100%; max-width: 100%;}
    .header-mobile-menu-header {padding: 15px;}
    .header-mobile-menu-content {padding: 15px;}
    .header-mobile-menu-content ul li a {font-size: 14px; padding: 10px 8px;}
    .header-mobile-close {font-size: 35px; width: 35px; height: 35px;}
    .header-mobile-logo img {max-height: 40px;}
    .header-mobile-info {padding: 12px;}
    .header-mobile-info p {font-size: 12px; margin-bottom: 6px;}
    .btn-lateral-fixo {padding: 6px 18px; font-size: 11px; right: -8px; gap: 6px;}
    .btn-lateral-fixo-icons {gap: 4px;}
    .btn-lateral-fixo-icons img {width: 12px; height: 12px;}
}