/* ==========================================================
   NEXO CONSULTORES, LDA — Brand Override
   Fase 3: Branding e Imagens
   Versão consolidada
   ========================================================== */


/* ==========================================================
   1. Variáveis globais da marca NEXO
   ========================================================== */

:root {
   /* NEXO Brand Colors */
   --nexo-blue-dark: #001A3D;
   --nexo-blue-main: #002B5C;
   --nexo-blue-accent: #0B4FA8;
   --nexo-blue-light: #7DB4FF;
   --nexo-silver: #9CA3AF;
   --nexo-silver-light: #E5E7EB;
   --nexo-white: #ffffff;
   --nexo-black: #000000;

   /* Override Solvior Theme Colors */
   --tj-color-theme-primary: #0B4FA8;
   --tj-color-theme-dark: #001A3D;
   --tj-color-heading-primary: #001A3D;
   --tj-color-theme-bg: #E5E7EB;
   --tj-color-theme-bg-2: #EEF2F7;
   --tj-color-border-1: rgba(255, 255, 255, 0.14);
   --tj-color-border-2: #D6DAE1;
}


/* ==========================================================
   2. Base geral
   ========================================================== */

body {
   color: #364052;
}

h1,
h2,
h3,
h4,
h5,
h6 {
   color: var(--nexo-blue-dark);
}

a:hover {
   color: var(--nexo-blue-accent);
}


/* ==========================================================
   3. Logótipo
   ========================================================== */

.site-logo .logo {
   max-width: 175px;
}

.tj-header-area.header-3.header-absolute .site-logo .logo {
   max-width: 180px;
}

.tj-header-area.header-3.header-duplicate .site-logo .logo {
   max-width: 150px;
}


/* ==========================================================
   4. Header principal / header absolute
   ========================================================== */

.tj-header-area.header-3.header-absolute .header-wrapper {
   background: rgba(247, 247, 247, 0.96);
   border: 1px solid rgba(0, 32, 80, 0.08);
   box-shadow: 0 12px 35px rgba(0, 32, 80, 0.08);
}

.mainmenu.menu-3 ul > li > a {
   color: #364052;
}

.mainmenu.menu-3 ul > li.current-menu-ancestor > a,
.mainmenu.menu-3 ul > li.current-menu-item > a,
.mainmenu.menu-3 ul > li:hover > a {
   color: var(--nexo-blue-accent);
}


/* ==========================================================
   5. Header sticky / header duplicate
   ========================================================== */

.tj-header-area.header-3.header-duplicate {
   background-color: var(--nexo-blue-dark);
}

.tj-header-area.header-3.header-duplicate .header-wrapper {
   background: transparent;
}

.tj-header-area.header-3.header-duplicate .mainmenu ul > li > a {
   color: rgba(255, 255, 255, 0.78);
}

.tj-header-area.header-3.header-duplicate .mainmenu ul > li.current-menu-ancestor > a,
.tj-header-area.header-3.header-duplicate .mainmenu ul > li.current-menu-item > a,
.tj-header-area.header-3.header-duplicate .mainmenu ul > li:hover > a {
   color: #ffffff;
}


/* ==========================================================
   6. Botões globais
   ========================================================== */

.tj-primary-btn {
   background-color: var(--nexo-blue-dark) !important;
}

.tj-primary-btn .btn_inner::before {
   background-color: var(--nexo-blue-accent) !important;
}

.tj-primary-btn:hover .btn_inner::before {
   background-color: var(--nexo-blue-accent) !important;
}

.text-btn:hover,
.text-btn-2:hover {
   color: var(--nexo-blue-accent);
}


/* ==========================================================
   7. Botão Contacte-nos no header sticky
   ========================================================== */

.tj-header-area.header-duplicate .tj-primary-btn,
.tj-header-area.header-duplicate .tj-primary-btn.white-btn {
   background-color: var(--nexo-blue-accent) !important;
   color: #ffffff !important;
   border-radius: 999px !important;
   overflow: visible !important;
}

.tj-header-area.header-duplicate .tj-primary-btn .btn_text span,
.tj-header-area.header-duplicate .tj-primary-btn.white-btn .btn_text span {
   color: #ffffff !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.tj-header-area.header-duplicate .tj-primary-btn .btn_icon,
.tj-header-area.header-duplicate .tj-primary-btn.white-btn .btn_icon {
   background-color: rgba(255, 255, 255, 0.14) !important;
   border: 1px solid rgba(255, 255, 255, 0.22) !important;
   border-radius: 50% !important;
   width: 48px !important;
   height: 48px !important;
   min-width: 48px !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
}

.tj-header-area.header-duplicate .tj-primary-btn .btn_icon i,
.tj-header-area.header-duplicate .tj-primary-btn.white-btn .btn_icon i {
   color: #ffffff !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.tj-header-area.header-duplicate .tj-primary-btn:hover,
.tj-header-area.header-duplicate .tj-primary-btn.white-btn:hover {
   background-color: var(--nexo-blue-main) !important;
}

.tj-header-area.header-duplicate .tj-primary-btn:hover .btn_text span,
.tj-header-area.header-duplicate .tj-primary-btn.white-btn:hover .btn_text span {
   color: #ffffff !important;
}


/* ==========================================================
   8. Mega menu / dropdown
   ========================================================== */

.mainmenu ul > li > .sub-menu::before {
   background: var(--nexo-blue-accent);
}

.mainmenu ul > li > .sub-menu > li.current-menu-ancestor > a,
.mainmenu ul > li > .sub-menu > li.current-menu-item > a,
.mainmenu ul > li > .sub-menu > li:hover > a {
   color: var(--nexo-blue-accent);
}

.tj-header-area.header-duplicate .mainmenu ul > li > .sub-menu,
.tj-header-area.header-duplicate .mainmenu ul > li > .mega-menu-service {
   background-color: #ffffff !important;
}

.tj-header-area.header-duplicate .mainmenu ul > li > .sub-menu li a,
.tj-header-area.header-duplicate .mainmenu ul > li > .sub-menu li a span,
.tj-header-area.header-duplicate .mainmenu ul > li > .mega-menu-service li a,
.tj-header-area.header-duplicate .mainmenu ul > li > .mega-menu-service li a span {
   color: var(--nexo-blue-dark) !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.tj-header-area.header-duplicate .mega-menu-service-title {
   color: var(--nexo-blue-dark) !important;
   opacity: 1 !important;
}

.tj-header-area.header-duplicate .mega-menu-service-single:hover,
.tj-header-area.header-duplicate .mainmenu ul > li > .sub-menu li:hover > a {
   background-color: #F3F6FA !important;
}

.tj-header-area.header-duplicate .mega-menu-service-single:hover .mega-menu-service-title,
.tj-header-area.header-duplicate .mainmenu ul > li > .sub-menu li:hover > a,
.tj-header-area.header-duplicate .mainmenu ul > li > .sub-menu li:hover > a span {
   color: var(--nexo-blue-accent) !important;
}


/* ==========================================================
   9. Ícones do mega menu
   ========================================================== */

.mega-menu-service-single {
   align-items: center;
}

.mega-menu-service-icon {
   width: 56px;
   height: 56px;
   min-width: 56px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: #EEF2F7 !important;
   box-shadow: none !important;
   filter: none !important;
   backdrop-filter: none !important;
   opacity: 1 !important;
   overflow: hidden;
   border: 1px solid rgba(11, 79, 168, 0.08);
   color: var(--nexo-blue-accent) !important;
}

.mega-menu-service-icon i {
   color: var(--nexo-blue-accent) !important;
   font-size: 24px;
   line-height: 1;
   opacity: 1 !important;
   filter: none !important;
   transition: all 0.3s ease;
}

.mainmenu ul > li > .mega-menu-service-single:hover .mega-menu-service-icon,
.tj-header-area.header-absolute .mega-menu-service-single:hover .mega-menu-service-icon,
.tj-header-area.header-duplicate .mega-menu-service-single:hover .mega-menu-service-icon {
   background: var(--nexo-blue-accent) !important;
   border-color: var(--nexo-blue-accent) !important;
   color: #ffffff !important;
}

.mainmenu ul > li > .mega-menu-service-single:hover .mega-menu-service-icon i,
.tj-header-area.header-absolute .mega-menu-service-single:hover .mega-menu-service-icon i,
.tj-header-area.header-duplicate .mega-menu-service-single:hover .mega-menu-service-icon i {
   color: #ffffff !important;
   opacity: 1 !important;
}

.mega-menu-service-single:hover .mega-menu-service-title,
.mega-menu-service-single:hover .mega-menu-service-nav i,
.mega-menu-service-single:hover .mega-menu-service-icon,
.mega-menu-service-single:hover .mega-menu-service-icon i {
   opacity: 1 !important;
   visibility: visible !important;
}

.mega-menu-service-nav i {
   color: var(--nexo-blue-accent) !important;
}


/* ==========================================================
   10. Page Header / Breadcrumb
   ========================================================== */

.tj-page-header {
   background-color: var(--nexo-blue-dark);
   background-position: center center !important;
   background-size: cover !important;
   background-repeat: no-repeat !important;
}

.tj-page-header::before {
   /*background: rgba(0, 26, 61, 0.38);*/
   background: rgba(0, 26, 61, 0.28);
}

.tj-page-title {
   color: #ffffff;
   text-shadow: 0 8px 24px rgba(0, 26, 61, 0.35);
}

.tj-page-link span,
.tj-page-link a {
   color: rgba(255, 255, 255, 0.92);
}


/* ==========================================================
   11. Hero / Banner principal
   ========================================================== */

.hero-3-area,
.tj-hero-section,
.hero-wrapper {
   background-color: #EEF2F7;
}

.hero-3-area .hero-thumb,
.hero-wrapper .hero-thumb {
   overflow: hidden;
   border-radius: 0;
}

.hero-3-area .hero-thumb img,
.hero-wrapper .hero-thumb img {
   opacity: 0.35;
   filter: grayscale(100%);
}


/* ==========================================================
   12. Cards de serviços
   ========================================================== */

.service-style-2 {
   background: #ffffff;
   border: 1px solid #D6DAE1;
   box-shadow: 0 12px 30px rgba(0, 32, 80, 0.04);
}

.service-style-2,
.service-style-2 .service-content,
.service-style-2 .title,
.service-style-2 .title a,
.service-style-2 .desc,
.service-style-2 .desc p,
.service-style-2 .service-button {
   color: var(--nexo-blue-dark) !important;
}

.service-style-2 .title a {
   color: var(--nexo-blue-dark) !important;
}

.service-style-2 .desc p {
   color: #4B5563 !important;
}

.service-style-2 .service-icon,
.service-style-3 .service-title span,
.tj-feature-icon {
   color: var(--nexo-blue-accent);
}

.service-style-2:hover {
   background-color: var(--nexo-blue-dark) !important;
   border-color: var(--nexo-blue-dark) !important;
   box-shadow: 0 18px 45px rgba(0, 32, 80, 0.10);
   transform: translateY(-4px);
}

.service-style-2:hover .service-content,
.service-style-2:hover .title,
.service-style-2:hover .title a,
.service-style-2:hover .desc,
.service-style-2:hover .desc p,
.service-style-2:hover .service-button,
.service-style-2:hover .service-button i {
   color: #ffffff !important;
}

.service-style-2:hover .number {
   color: rgba(255, 255, 255, 0.15) !important;
}

.service-style-2:hover .service-icon,
.tj-feature:hover .tj-feature-icon {
   background-color: var(--nexo-blue-accent) !important;
   color: #ffffff !important;
}


/* ==========================================================
   13. Portfolio / Project Cards
   ========================================================== */

.project-item .project-content {
   background: linear-gradient(
      180deg,
      rgba(0, 26, 61, 0) 0%,
      rgba(0, 26, 61, 0.92) 100%
   );
}

.project-title .title a:hover {
   color: #ffffff;
}

.tag-list a {
   background: rgba(255, 255, 255, 0.12);
   color: rgba(255, 255, 255, 0.86);
}

.tag-list a:hover {
   background: var(--nexo-blue-accent);
   color: #ffffff;
}


/* ==========================================================
   14. Project Section Three / Setores que Servimos
   ========================================================== */

.project-section-three {
   position: relative;
   background-color: var(--nexo-blue-dark) !important;
   overflow: hidden;
}

.project-section-three::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 26, 61, 0.62);
   z-index: 0;
   pointer-events: none;
}

.project-section-three .container,
.project-section-three .row,
.project-section-three .sec-heading,
.project-section-three .project-wrapper,
.project-section-three .project-item {
   position: relative;
   z-index: 1;
}

.project-section-three .sub-title {
   color: var(--nexo-blue-light) !important;
   opacity: 1 !important;
   visibility: visible !important;
   letter-spacing: 1.8px;
   font-weight: 700;
}

.project-section-three .sec-title,
.project-section-three h2,
.project-section-three .title {
   color: #ffffff !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.project-section-three .project-item .project-content,
.project-section-three .project-content {
   background: linear-gradient(
      180deg,
      rgba(0, 26, 61, 0.10) 0%,
      rgba(0, 26, 61, 0.90) 100%
   ) !important;
}

.project-section-three .project-title .title,
.project-section-three .project-title .title a,
.project-section-three .project-content p,
.project-section-three .project-content a {
   color: #ffffff !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.project-section-three .tag-list a {
   background: rgba(255, 255, 255, 0.9) !important;
   color: var(--nexo-blue-dark) !important;
}

.project-section-three .tag-list a:hover {
   background: var(--nexo-blue-accent) !important;
   color: #ffffff !important;
}

.project-section-three .project-item.style-2,
.project-section-three .project-item {
   border-color: rgba(255, 255, 255, 0.16) !important;
}

.project-section-three .project-item .project-button,
.project-section-three .project-item .project-btn {
   background-color: rgba(255, 255, 255, 0.12) !important;
}

.project-section-three .project-item .project-button i,
.project-section-three .project-item .project-btn i {
   color: #ffffff !important;
}


/* ==========================================================
   15. CTA — Consulte-nos Agora
   ========================================================== */

.tj-cta-section,
.tj-cta-area,
.consult-section,
.cta-section {
   background-color: var(--nexo-blue-main) !important;
}

.tj-cta-section .cta-title .title,
.tj-cta-section .sec-title,
.tj-cta-area .sec-title,
.consult-section .sec-title,
.cta-section .sec-title {
   color: #ffffff !important;
   opacity: 1 !important;
   visibility: visible !important;
}

/* Corrige apenas o botão do CTA, sem afetar header */
.tj-cta-section .cta-button .tj-primary-btn.white-btn {
   background-color: #ffffff !important;
   color: var(--nexo-blue-dark) !important;
   overflow: visible !important;
}

.tj-cta-section .cta-button .tj-primary-btn.white-btn .btn_inner {
   background-color: #ffffff !important;
   color: var(--nexo-blue-dark) !important;
}

.tj-cta-section .cta-button .tj-primary-btn.white-btn .btn_text,
.tj-cta-section .cta-button .tj-primary-btn.white-btn .btn_text span {
   color: var(--nexo-blue-dark) !important;
   opacity: 1 !important;
   visibility: visible !important;
   display: inline-flex !important;
   position: relative !important;
   z-index: 5 !important;
}

.tj-cta-section .cta-button .tj-primary-btn.white-btn .btn_icon {
   background-color: var(--nexo-blue-accent) !important;
   color: #ffffff !important;
   position: relative !important;
   z-index: 6 !important;
}

.tj-cta-section .cta-button .tj-primary-btn.white-btn .btn_icon i {
   color: #ffffff !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.tj-cta-section .cta-button .tj-primary-btn.white-btn .btn_inner::before {
   background-color: transparent !important;
}

.tj-cta-section .cta-button .tj-primary-btn.white-btn:hover .btn_text span {
   color: var(--nexo-blue-dark) !important;
}


/* ==========================================================
   16. Contact Page
   ========================================================== */

.contact-item.style-2 .contact-icon {
   color: var(--nexo-blue-accent);
}

.contact-item.style-2:hover .contact-icon {
   background-color: var(--nexo-blue-accent);
   color: #ffffff;
}

.contact-form-one .title span {
   color: var(--nexo-blue-accent);
}


/* ==========================================================
   17. Footer
   ========================================================== */

.tj-footer-area {
   background: var(--nexo-blue-dark) !important;
}

.footer-copyright-area {
   background-color: rgba(255, 255, 255, 0.08) !important;
}

.footer-widget .footer-title .title,
.footer-widget .footer-social .title,
.footer-widget .newsletter-title .title {
   color: #ffffff !important;
}

.footer-widget .desc,
.footer-widget p,
.footer-widget.widget_nav_menu .widget-menu ul li a,
.footer-widget .widget-menu ul li a,
.footer-widget.footer1-col-4 p,
.footer-widget.footer1-col-4 a,
.footer-widget.footer1-col-4 small {
   color: rgba(255, 255, 255, 0.86) !important;
}

.footer-widget.widget_nav_menu .widget-menu ul li a:hover,
.footer-widget .widget-menu ul li a:hover,
.footer-widget.footer1-col-4 a:hover {
   color: #ffffff !important;
}

.footer1-col-3,
.footer1-col-3 .footer-title .title,
.footer1-col-3 .widget-menu ul li a,
.footer1-col-4,
.footer1-col-4 .footer-title .title,
.footer1-col-4 p,
.footer1-col-4 a,
.footer1-col-4 small {
   opacity: 1 !important;
   visibility: visible !important;
}

.footer1-col-3 .widget-menu ul li a {
   color: rgba(255, 255, 255, 0.9) !important;
}

.footer1-col-3 .widget-menu ul li a:hover {
   color: #ffffff !important;
}

.footer1-col-4 p,
.footer1-col-4 a,
.footer1-col-4 small {
   color: rgba(255, 255, 255, 0.85) !important;
}

.footer1-col-4 strong {
   color: #ffffff !important;
}

.footer-widget .footer-social ul li a {
   background: rgba(255, 255, 255, 0.14) !important;
}

.footer-widget .footer-social ul li a i {
   color: #ffffff !important;
}

.footer-widget .footer-social ul li a:hover {
   background: var(--nexo-blue-accent) !important;
}

.copyright-content-area .copyright-text p,
.copyright-content-area .copyright-menu ul li a {
   color: rgba(255, 255, 255, 0.85) !important;
}

.copyright-content-area .copyright-text p a {
   color: #ffffff !important;
}


/* ==========================================================
   18. Hamburger / Mobile Menu
   ========================================================== */

.hamburger_bg {
   background-color: var(--nexo-blue-dark);
}

.hamburger_close_btn:hover,
.hamburger_menu .mean-nav ul li.dropdown-opened > a,
.hamburger_menu .mean-nav ul li a.mean-expand.mean-clicked {
   color: var(--nexo-blue-accent);
}

.hamburger-socials ul li a:hover {
   background-color: var(--nexo-blue-accent);
}


/* ==========================================================
   19. Coming Soon Label / Insights
   ========================================================== */

.coming-soon-menu > a {
   display: flex !important;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 3px;
   cursor: pointer !important;
   line-height: 1;
   padding-top: 4px;
   padding-bottom: 4px;
}

.coming-soon-menu .menu-soon-label {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: fit-content;
   max-width: max-content;
   background: var(--nexo-blue-accent);
   color: #ffffff;
   font-size: 7px;
   font-weight: 700;
   line-height: 1;
   padding: 3px 7px;
   border-radius: 20px;
   text-transform: uppercase;
   letter-spacing: 0.3px;
   white-space: nowrap;
}

.coming-soon-menu .menu-text {
   display: inline-block;
}


/* ==========================================================
   20. Back to Top
   ========================================================== */

.back-to-top-btn.style-3:hover {
   background: var(--nexo-blue-accent) !important;
   border-color: var(--nexo-blue-accent) !important;
}


/* ==========================================================
   21. Elementos decorativos
   ========================================================== */

.swiper_pagination .swiper-pagination-bullet::before,
.swiper_pagination .swiper-pagination-bullet::after,
.tj-progress__bar,
.tj-progress__perchant,
.header-topbar {
   background-color: var(--nexo-blue-accent) !important;
}


/* ==========================================================
   22. Responsividade
   ========================================================== */

@media (max-width: 991px) {
   .coming-soon-menu > a {
      align-items: flex-start;
      gap: 4px;
   }

   .coming-soon-menu .menu-soon-label {
      align-self: flex-start;
   }
}

@media (max-width: 575px) {
   .tj-header-area.header-3.header-absolute .header-wrapper {
      border-radius: 30px;
   }

   .footer-widget .desc {
      max-width: 100%;
   }
}

/* ==========================================================
   NEXO — Corrigir hover dos ícones nos feature cards
   Evita que o background do ícone se alastre
   ========================================================== */

.tj-feature .tj-feature-icon {
   width: 76px !important;
   height: 76px !important;
   min-width: 76px !important;
   max-width: 76px !important;
   border-radius: 50% !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   background-color: #EEF2F7 !important;
   color: #0B4FA8 !important;
   overflow: hidden !important;
   position: relative !important;
}

.tj-feature .tj-feature-icon::before,
.tj-feature .tj-feature-icon::after {
   display: none !important;
   content: none !important;
}

.tj-feature .tj-feature-icon i {
   color: #0B4FA8 !important;
   font-size: 34px !important;
   line-height: 1 !important;
   position: relative !important;
   z-index: 2 !important;
}

.tj-feature:hover .tj-feature-icon {
   width: 76px !important;
   height: 76px !important;
   min-width: 76px !important;
   max-width: 76px !important;
   border-radius: 50% !important;
   background-color: #0B4FA8 !important;
   color: #ffffff !important;
   transform: none !important;
}

.tj-feature:hover .tj-feature-icon i {
   color: #ffffff !important;
}

/* ==========================================================
   NEXO — Ajuste do logótipo no menu hamburger/mobile
   ========================================================== */

.hamburger_logo .mobile_logo img {
   max-width: 170px !important;
   width: 170px !important;
   height: auto !important;
}

.hamburger_logo {
   max-width: 180px !important;
}

/* ==========================================================
   NEXO — Aumentar logo no header sticky / menu 2
   ========================================================== */

.tj-header-area.header-3.header-duplicate .site-logo .logo {
   max-width: 180px !important;
}

.tj-header-area.header-3.header-duplicate .site-logo .logo img {
   width: 180px !important;
   max-width: 180px !important;
   height: auto !important;
}

html {
   scroll-behavior: smooth;
}

#insights {
   scroll-margin-top: 120px;
}


/* ==========================================================
   NEXO — Refinamento visual do footer
   ========================================================== */

.tj-footer-area {
   background: #001A3D !important;
}

.footer-top-area {
   padding-top: 90px;
   padding-bottom: 80px;
}

.footer-widget .footer-logo img {
   max-width: 165px;
   height: auto;
}

.footer-widget .footer-title .title,
.footer-widget .newsletter-title .title,
.footer-widget .footer-social .title {
   color: #ffffff !important;
   font-weight: 700;
}

.footer-widget .desc,
.footer-widget p,
.footer-widget small {
   color: rgba(255, 255, 255, 0.72) !important;
   line-height: 1.75;
}

.footer-widget strong {
   color: rgba(255, 255, 255, 0.92) !important;
}

.footer-widget.widget_nav_menu .widget-menu ul li a,
.footer-widget .widget-menu ul li a,
.footer-widget.footer1-col-4 a {
   color: rgba(255, 255, 255, 0.74) !important;
   line-height: 1.65;
}

.footer-widget.widget_nav_menu .widget-menu ul li a:hover,
.footer-widget .widget-menu ul li a:hover,
.footer-widget.footer1-col-4 a:hover {
   color: #ffffff !important;
}

.footer-widget .widget-menu ul li {
   margin-bottom: 10px;
}

.footer1-col-3 .widget-menu ul li a {
   display: inline-block;
   max-width: 100%;
   word-break: normal;
}

.footer1-col-4 p {
   max-width: 360px;
}

.footer-widget .footer-social ul li a {
   background: rgba(255, 255, 255, 0.13) !important;
}

.footer-widget .footer-social ul li a i {
   color: #ffffff !important;
}

.footer-widget .footer-social ul li a:hover {
   background: #0B4FA8 !important;
}

.footer-copyright-area {
   background-color: rgba(255, 255, 255, 0.07) !important;
}

.copyright-content-area .copyright-text p,
.copyright-content-area .copyright-menu ul li a {
   color: rgba(255, 255, 255, 0.75) !important;
}

.copyright-content-area .copyright-text p a {
   color: #ffffff !important;
}

/* ==========================================================
   NEXO — Refinamento do botão de vídeo institucional
   Mantém a posição original do template
   ========================================================== */

.hero-video-btn .video-btn {
   text-decoration: none !important;
   background: rgba(255, 255, 255, 0.92) !important;
   border: 1px solid rgba(255, 255, 255, 0.65) !important;
   box-shadow: 0 24px 60px rgba(0, 26, 61, 0.18) !important;
   backdrop-filter: blur(8px);
}

.hero-video-btn .video-btn:hover {
   text-decoration: none !important;
   background: #ffffff !important;
}

.hero-video-btn .play-btn {
   background: #0B4FA8 !important;
   color: #ffffff !important;
   box-shadow: 0 10px 25px rgba(11, 79, 168, 0.32);
   position: relative;
}

.hero-video-btn .play-btn i {
   color: #ffffff !important;
   position: relative;
   z-index: 2;
}

.hero-video-btn .play-btn::before {
   content: "";
   position: absolute;
   inset: -8px;
   border-radius: 50%;
   border: 1px solid rgba(11, 79, 168, 0.35);
   animation: nexoPlayPulse 1.8s infinite;
}

.hero-video-btn .video-text {
   display: flex !important;
   flex-direction: column;
   align-items: flex-start;
   justify-content: center;
   gap: 2px;
   color: #001A3D !important;
   text-decoration: none !important;
   line-height: 1.15;
}

.hero-video-btn .video-text strong,
.hero-video-btn .video-text small {
   color: #001A3D !important;
   text-decoration: none !important;
}

.hero-video-btn .video-text strong {
   font-size: 15px;
   font-weight: 800;
}

.hero-video-btn .video-text small {
   font-size: 12px;
   font-weight: 600;
   color: rgba(0, 26, 61, 0.72) !important;
}

.hero-video-btn .video-btn:hover .video-text strong {
   color: #0B4FA8 !important;
}

@keyframes nexoPlayPulse {
   0% {
      transform: scale(0.92);
      opacity: 0.75;
   }

   70% {
      transform: scale(1.35);
      opacity: 0;
   }

   100% {
      transform: scale(0.92);
      opacity: 0;
   }
}

/* ==========================================================
   NEXO — Ajuste final do botão de vídeo institucional
   ========================================================== */

.hero-video-btn .video-btn,
.hero-video-btn .video-btn:hover,
.hero-video-btn .video-btn:focus,
.hero-video-btn .video-btn:active {
   text-decoration: none !important;
   outline: none !important;
   box-shadow: none;
}

.hero-video-btn .video-btn *,
.hero-video-btn .video-btn *::before,
.hero-video-btn .video-btn *::after {
   text-decoration: none !important;
}

.hero-video-btn .video-btn {
   background: #ffffff !important;
   padding: 12px 22px 12px 12px !important;
   border-radius: 999px !important;
   display: inline-flex !important;
   align-items: center !important;
   gap: 12px !important;
   min-width: 190px;
   box-shadow: 0 20px 45px rgba(0, 26, 61, 0.18) !important;
}

.hero-video-btn .play-btn {
   width: 46px !important;
   height: 46px !important;
   min-width: 46px !important;
   border-radius: 50% !important;
   background: #0B4FA8 !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   box-shadow: 0 8px 22px rgba(11, 79, 168, 0.32) !important;
}

.hero-video-btn .play-btn i {
   color: #ffffff !important;
   font-size: 16px !important;
}

.hero-video-btn .video-text {
   display: flex !important;
   flex-direction: column !important;
   align-items: flex-start !important;
   justify-content: center !important;
   gap: 2px !important;
   line-height: 1.1 !important;
   color: #001A3D !important;
   text-decoration: none !important;
}

.hero-video-btn .video-text strong {
   color: #001A3D !important;
   font-size: 15px !important;
   font-weight: 800 !important;
   line-height: 1.1 !important;
   text-decoration: none !important;
}

.hero-video-btn .video-text small {
   color: rgba(0, 26, 61, 0.72) !important;
   font-size: 11px !important;
   font-weight: 600 !important;
   line-height: 1.1 !important;
   text-decoration: none !important;
}

.hero-video-btn .play-btn::before {
   content: "";
   position: absolute;
   inset: -8px;
   border-radius: 50%;
   border: 1px solid rgba(11, 79, 168, 0.35);
   animation: nexoPlayPulse 1.8s infinite;
}

/* ==========================================================
   NEXO — Remover underline definitivo do botão de vídeo
   ========================================================== */

.hero-images-box-two .hero-video-btn a,
.hero-images-box-two .hero-video-btn a:hover,
.hero-images-box-two .hero-video-btn a:focus,
.hero-images-box-two .hero-video-btn a:active,
.hero-images-box-two .hero-video-btn .video-btn,
.hero-images-box-two .hero-video-btn .video-btn:hover,
.hero-images-box-two .hero-video-btn .video-btn:focus,
.hero-images-box-two .hero-video-btn .video-btn:active {
   text-decoration: none !important;
   border-bottom: none !important;
   outline: none !important;
}

.hero-images-box-two .hero-video-btn a::before,
.hero-images-box-two .hero-video-btn a::after,
.hero-images-box-two .hero-video-btn .video-btn::before,
.hero-images-box-two .hero-video-btn .video-btn::after,
.hero-images-box-two .hero-video-btn .video-text::before,
.hero-images-box-two .hero-video-btn .video-text::after,
.hero-images-box-two .hero-video-btn .video-text strong::before,
.hero-images-box-two .hero-video-btn .video-text strong::after,
.hero-images-box-two .hero-video-btn .video-text small::before,
.hero-images-box-two .hero-video-btn .video-text small::after {
   display: none !important;
   content: none !important;
   width: 0 !important;
   height: 0 !important;
   opacity: 0 !important;
   visibility: hidden !important;
   border: none !important;
   background: none !important;
}

.hero-images-box-two .hero-video-btn .video-text,
.hero-images-box-two .hero-video-btn .video-text *,
.hero-images-box-two .hero-video-btn .video-text strong,
.hero-images-box-two .hero-video-btn .video-text small {
   text-decoration: none !important;
   border-bottom: none !important;
   box-shadow: none !important;
}

/* Remover o círculo decorativo por trás do play */
.hero-images-box-two .hero-button::before,
.hero-images-box-two .hero-button::after,
.hero-images-box-two .hero-video-btn::before,
.hero-images-box-two .hero-video-btn::after {
   display: none !important;
   content: none !important;
   background: none !important;
   border: none !important;
   box-shadow: none !important;
}

/* Caso o círculo esteja aplicado no próprio wrapper */
.hero-images-box-two .hero-button,
.hero-images-box-two .hero-video-btn {
   background: transparent !important;
   box-shadow: none !important;
   border: none !important;
}

/* ==========================================================
   NEXO — Hero banner 1800x860 + botão vídeo corrigido
   ========================================================== */

.hero-images-box-two.nexo-hero-banner {
   width: 100% !important;
   max-width: 1800px !important;
   aspect-ratio: 1800 / 860 !important;
   height: auto !important;
   min-height: unset !important;
   max-height: 860px !important;
   margin: 0 auto !important;
   overflow: hidden !important;
   position: relative !important;
   background: #001A3D !important;
}

.hero-images-box-two.nexo-hero-banner > img {
   width: 100% !important;
   height: 100% !important;
   display: block !important;
   object-fit: cover !important;
   object-position: center center !important;
}

/* Força o botão a ficar dentro da imagem, não por cima do hero */
.hero-images-box-two.nexo-hero-banner .hero-button.hero-video-btn {
   position: absolute !important;
   top: 50% !important;
   right: 10% !important;
   left: auto !important;
   bottom: auto !important;
   transform: translateY(-50%) !important;
   z-index: 10 !important;
   background: transparent !important;
   box-shadow: none !important;
   border: none !important;
}

/* Remove círculos decorativos antigos */
.hero-images-box-two.nexo-hero-banner .hero-button::before,
.hero-images-box-two.nexo-hero-banner .hero-button::after,
.hero-images-box-two.nexo-hero-banner .hero-video-btn::before,
.hero-images-box-two.nexo-hero-banner .hero-video-btn::after {
   display: none !important;
   content: none !important;
}

/* Botão/pílula do vídeo */
.hero-images-box-two.nexo-hero-banner .video-btn {
   background: #ffffff !important;
   padding: 12px 22px 12px 12px !important;
   border-radius: 999px !important;
   display: inline-flex !important;
   align-items: center !important;
   gap: 12px !important;
   min-width: 190px !important;
   box-shadow: 0 20px 45px rgba(0, 26, 61, 0.28) !important;
   text-decoration: none !important;
}

.hero-images-box-two.nexo-hero-banner .play-btn {
   width: 46px !important;
   height: 46px !important;
   min-width: 46px !important;
   border-radius: 50% !important;
   background: #0B4FA8 !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
}

.hero-images-box-two.nexo-hero-banner .play-btn i {
   color: #ffffff !important;
   font-size: 16px !important;
}

.hero-images-box-two.nexo-hero-banner .video-text {
   display: flex !important;
   flex-direction: column !important;
   align-items: flex-start !important;
   line-height: 1.1 !important;
   color: #001A3D !important;
   text-decoration: none !important;
}

.hero-images-box-two.nexo-hero-banner .video-text strong {
   color: #001A3D !important;
   font-size: 15px !important;
   font-weight: 800 !important;
   text-decoration: none !important;
}

.hero-images-box-two.nexo-hero-banner .video-text small {
   color: rgba(0, 26, 61, 0.72) !important;
   font-size: 11px !important;
   font-weight: 600 !important;
   text-decoration: none !important;
}

/* Tablet */
@media (max-width: 991px) {
   .hero-images-box-two.nexo-hero-banner {
      max-width: 100% !important;
      aspect-ratio: 16 / 9 !important;
      max-height: none !important;
   }

   .hero-images-box-two.nexo-hero-banner .hero-button.hero-video-btn {
      right: 6% !important;
   }
}

/* Mobile */
@media (max-width: 575px) {
   .hero-images-box-two.nexo-hero-banner {
      aspect-ratio: 4 / 5 !important;
   }

   .hero-images-box-two.nexo-hero-banner > img {
      object-position: 65% center !important;
   }

   .hero-images-box-two.nexo-hero-banner .hero-button.hero-video-btn {
      top: 50% !important;
      right: auto !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
   }

   .hero-images-box-two.nexo-hero-banner .video-btn {
      min-width: auto !important;
      padding: 12px !important;
   }

   .hero-images-box-two.nexo-hero-banner .video-text {
      display: none !important;
   }
}

/* ==========================================================
   NEXO — Mega menu com scroll
   ========================================================== */

.mainmenu ul li .sub-menu.mega-menu-service {
   max-height: calc(100vh - 150px) !important;
   overflow-y: auto !important;
   overflow-x: hidden !important;
   overscroll-behavior: contain;
}

.mainmenu ul li .sub-menu.mega-menu-service::-webkit-scrollbar {
   width: 6px;
}

.mainmenu ul li .sub-menu.mega-menu-service::-webkit-scrollbar-track {
   background: rgba(0, 26, 61, 0.06);
}

.mainmenu ul li .sub-menu.mega-menu-service::-webkit-scrollbar-thumb {
   background: rgba(0, 26, 61, 0.35);
   border-radius: 20px;
}

/* ==========================================================
   NEXO — WhatsApp flutuante fixo
   ========================================================== */

.nexo-floating-whatsapp {
   position: fixed;
   right: 24px;
   bottom: 24px;
   width: 62px;
   height: 62px;
   border-radius: 50%;
   background: #25D366;
   color: #ffffff !important;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 30px;
   font-weight: 700;
   text-decoration: none !important;
   z-index: 99999;
   box-shadow: 0 18px 40px rgba(0, 26, 61, 0.28);
   transition: all 0.25s ease;
}

.nexo-floating-whatsapp:hover {
   transform: translateY(-4px);
   background: #1ebe5d;
   color: #ffffff !important;
   box-shadow: 0 22px 50px rgba(0, 26, 61, 0.36);
}

/* Caso use a versão com texto "WhatsApp" */
.nexo-floating-whatsapp:not(:has(i)) {
   width: auto;
   height: auto;
   min-width: 128px;
   padding: 16px 22px;
   border-radius: 999px;
   font-size: 15px;
}

/* Mobile */
@media (max-width: 575px) {
   .nexo-floating-whatsapp {
      right: 18px;
      bottom: 18px;
      width: 56px;
      height: 56px;
      font-size: 27px;
   }

   .nexo-floating-whatsapp:not(:has(i)) {
      min-width: auto;
      padding: 14px 18px;
      font-size: 14px;
   }
}

/* ==========================================================
   NEXO — Cookie Consent Banner
   ========================================================== */

.nexo-cookie-banner {
   position: fixed;
   left: 24px;
   right: 24px;
   bottom: 24px;
   z-index: 999999;
   background: #ffffff;
   border: 1px solid rgba(0, 26, 61, 0.12);
   border-radius: 18px;
   box-shadow: 0 24px 70px rgba(0, 26, 61, 0.22);
   padding: 22px 24px;
   display: none;
}

.nexo-cookie-banner.show {
   display: block;
}

.nexo-cookie-content {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   max-width: 1280px;
   margin: 0 auto;
}

.nexo-cookie-text h4 {
   margin: 0 0 6px;
   color: #001A3D;
   font-size: 18px;
   font-weight: 800;
}

.nexo-cookie-text p {
   margin: 0;
   color: rgba(0, 26, 61, 0.72);
   font-size: 14px;
   line-height: 1.6;
   max-width: 780px;
}

.nexo-cookie-actions {
   display: flex;
   align-items: center;
   gap: 12px;
   flex-shrink: 0;
}

.nexo-cookie-btn {
   border: none;
   outline: none;
   cursor: pointer;
   font-size: 14px;
   font-weight: 700;
   border-radius: 999px;
   padding: 13px 22px;
   transition: all 0.25s ease;
}

.nexo-cookie-btn.primary {
   background: #0B4FA8;
   color: #ffffff;
}

.nexo-cookie-btn.primary:hover {
   background: #001A3D;
   color: #ffffff;
}

.nexo-cookie-btn.secondary {
   background: rgba(0, 26, 61, 0.07);
   color: #001A3D;
}

.nexo-cookie-btn.secondary:hover {
   background: rgba(0, 26, 61, 0.12);
}

/* Mobile */
@media (max-width: 767px) {
   .nexo-cookie-banner {
      left: 14px;
      right: 14px;
      bottom: 14px;
      padding: 20px;
      border-radius: 16px;
   }

   .nexo-cookie-content {
      flex-direction: column;
      align-items: flex-start;
      gap: 18px;
   }

   .nexo-cookie-actions {
      width: 100%;
      justify-content: space-between;
   }

   .nexo-cookie-btn {
      width: 100%;
      padding: 13px 16px;
   }
}

