/*

TemplateMo 573 EduWell

https://templatemo.com/tm-573-eduwell

*/

/* ---------------------------------------------
Table of contents
------------------------------------------------
01. font & reset css
02. reset
03. global styles
04. header
05. banner
06. features
07. testimonials
08. contact
09. footer
10. preloader
11. search
12. portfolio

--------------------------------------------- */
/* 
---------------------------------------------
font & reset css
--------------------------------------------- 
*/
@import url("https://fonts.googleapis.com/css?family=Open+Sans:100,200,300,400,500,600,700,800,900");
/* 
---------------------------------------------
reset
--------------------------------------------- 
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, div
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q,
s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
figure, header, nav, section, article, aside, footer, figcaption {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clearfix {
  display: inline-block;
}

html[xmlns] .clearfix {
  display: block;
}

* html .clearfix {
  height: 1%;
}

ul, li {
  padding: 0;
  margin: 0;
  list-style: none;
}

header, nav, section, article, aside, footer, hgroup {
  display: block;
}

* {
  box-sizing: border-box;
}

html, body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  background-color: #fff;
  font-size: 16px;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none !important;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0px;
  margin-bottom: 0px;
}

ul {
  margin-bottom: 0px;
}

p {
  font-size: 14px;
  line-height: 25px;
  color: #4a4a4a;
}

img {
  width: 100%;
  overflow: hidden;
}

/* 
---------------------------------------------
global styles
--------------------------------------------- 
*/
html,
body {
  background: #fff;
  font-family: 'Open Sans', sans-serif;
}

::selection {
  background: #00a2c7;
  color: #fff;
}

::-moz-selection {
  background: #08b7de;
  color: #fff;
}

@media (max-width: 991px) {
  html, body {
    overflow-x: hidden;
  }
  .mobile-top-fix {
    margin-top: 30px;
    margin-bottom: 0px;
  }
  .mobile-bottom-fix {
    margin-bottom: 30px;
  }
  .mobile-bottom-fix-big {
    margin-bottom: 60px;
  }
}

.main-button-gradient a {
  font-size: 13px;
  color: #fff;
  background: #184154;
  background: linear-gradient(-145deg, #f26526 0%, #f26526 100%);
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: uppercase;
  transition: all .3s;
}

.main-button-gradient a:hover {
  background: #184154;
  background: linear-gradient(-145deg, #f26526 0%, #1c5570 100%);
  opacity: 0.9;
}

.white-button a {
  font-size: 13px;
  color: #f26526;
  background-color: #fff;
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: uppercase;
  transition: all .3s;
}

.white-button a:hover {
  opacity: 0.9;
}

.text-button a {
  font-size: 14px;
  font-weight: 500;
  color: #f26526;
  text-decoration: underline !important;
  transition: all .3s;
}

.text-button a:hover {
  opacity: 0.75;
}
#contact-section {
  padding-top: 20px;
}

.section-heading {
  position: relative;
  z-index: 2;
  padding-top: 20px;
  margin-top: 0px;
  text-align: center;
  margin-bottom: 60px;
}

.section-heading h6 {
  font-size: 13px;
  text-transform: uppercase;
  color: #7a7a7a;
  font-weight: 600;
}

.section-heading h4 {
  margin-top: 10px;
  line-height: 40px;
  font-size: 28px;
  font-weight: 900;
  text-transform: capitalize;
  color: #111;
}

/* 
---------------------------------------------
muda os destaques de texto
--------------------------------------------- 
*/

.section-heading h4 em {
  font-style: normal;
  color: #f26526;
}

.section-heading p {
  margin-top: 30px;
}


/* 
---------------------------------------------
header
--------------------------------------------- 
*/
.background-header {
  background: linear-gradient(
    90deg,
    #184154 0%,
    #e0581e 50%,
    #1c4d63 100%
  ) !important;

  height: 80px !important;
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.15) !important;
}

.header-area {
  background-image: url(../images/header-bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 110px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  -webkit-transition: all .5s ease 0s;
  -moz-transition: all .5s ease 0s;
  -o-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
}

.header-area .main-nav {
  min-height: 80px;
  background: transparent;
}

.header-area .main-nav .logo {
  line-height: 100px;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  float: left;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.background-header .main-nav .logo {
  line-height: 75px;
}

.background-header .nav {
  margin-top: 20px !important;
}

.header-area .main-nav .nav {
  float: right;
  margin-top: 35px;
  margin-right: 0px;
  background-color: transparent;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
  z-index: 999;
}

.header-area .main-nav .nav li {
  padding-left: 30px;
  padding-right: 30px;
}

.header-area .main-nav .nav li:last-child {
  padding-right: 0px;
}

.header-area .main-nav .nav li a {
  display: block;
  font-weight: 400;
  font-size: 14px;
  text-transform: capitalize;
  color: #fff;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  height: 40px;
  line-height: 40px;
  border: transparent;
  letter-spacing: 1px;
}

.header-area .main-nav .nav li:hover a,
.header-area .main-nav .nav li a.active {
  color: #fff!important;
  opacity: 0.75;
}

.background-header .main-nav .nav li:hover a,
.background-header .main-nav .nav li a.active {
  color: #fff!important;
  opacity: 1;
}

.header-area .main-nav .nav li.has-sub {
  position: relative;
  padding-right: 15px;
}

.header-area .main-nav .nav li.has-sub:after {
  font-family: FontAwesome;
  content: "\f107";
  font-size: 12px;
  color: #fff;
  position: absolute;
  right: 5px;
  top: 12px;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu {
  position: absolute;
  width: 140px;
  box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
  overflow: hidden;
  top: 40px;
  border-radius: 5px;
  opacity: 0;
  transition: all .3s;
  transform: translateY(+2em);
  visibility: hidden;
  z-index: -1;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li {
  margin-left: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li a {
  opacity: 1;
  display: block;
  background: #f7f7f7;
  color: #2a2a2a!important;
  padding-left: 20px;
  height: 40px;
  line-height: 40px;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
  font-size: 12px;
  font-weight: 400;
  border-bottom: 1px solid #eee;
}

.header-area .main-nav .nav li.has-sub ul li a:hover {
  background: #fff;
  color: #ff6b28!important;
  padding-left: 25px;
}

.header-area .main-nav .nav li.has-sub ul li a:hover:before {
  width: 3px;
}

.header-area .main-nav .nav li.has-sub:hover ul.sub-menu {
  visibility: visible;
  opacity: 1;
  z-index: 1;
  transform: translateY(0%);
  transition-delay: 0s, 0s, 0.3s;
}

.header-area .main-nav .menu-trigger {
  cursor: pointer;
  display: block;
  position: absolute;
  top: 33px;
  width: 32px;
  height: 40px;
  text-indent: -9999em;
  z-index: 99;
  right: 40px;
  display: none;
}

.background-header .main-nav .menu-trigger {
  top: 23px;
}

.header-area .main-nav .menu-trigger span,
.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #fff;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
}

.background-header .main-nav .menu-trigger span,
.background-header .main-nav .menu-trigger span:before,
.background-header .main-nav .menu-trigger span:after {
  background-color: #fff;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #fff;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
  width: 75%;
}

.background-header .main-nav .menu-trigger span:before,
.background-header .main-nav .menu-trigger span:after {
  background-color: #fff;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  content: "";
}

.header-area .main-nav .menu-trigger span {
  top: 16px;
}

.header-area .main-nav .menu-trigger span:before {
  -moz-transform-origin: 33% 100%;
  -ms-transform-origin: 33% 100%;
  -webkit-transform-origin: 33% 100%;
  transform-origin: 33% 100%;
  top: -10px;
  z-index: 10;
}

.header-area .main-nav .menu-trigger span:after {
  -moz-transform-origin: 33% 0;
  -ms-transform-origin: 33% 0;
  -webkit-transform-origin: 33% 0;
  transform-origin: 33% 0;
  top: 10px;
}

.header-area .main-nav .menu-trigger.active span,
.header-area .main-nav .menu-trigger.active span:before,
.header-area .main-nav .menu-trigger.active span:after {
  background-color: transparent;
  width: 100%;
}

.header-area .main-nav .menu-trigger.active span:before {
  -moz-transform: translateY(6px) translateX(1px) rotate(45deg);
  -ms-transform: translateY(6px) translateX(1px) rotate(45deg);
  -webkit-transform: translateY(6px) translateX(1px) rotate(45deg);
  transform: translateY(6px) translateX(1px) rotate(45deg);
  background-color: #fff;
}

.background-header .main-nav .menu-trigger.active span:before {
  background-color: #fff;
}

.header-area .main-nav .menu-trigger.active span:after {
  -moz-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -ms-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -webkit-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  transform: translateY(-6px) translateX(1px) rotate(-45deg);
  background-color: #fff;
}

.background-header .main-nav .menu-trigger.active span:after {
  background-color: #fff;
}

.header-area.header-sticky {
  min-height: 80px;
}

.header-area .nav {
  margin-top: 30px;
}

.header-area.header-sticky .nav li a.active {
  color: #ff6b28;
}

@media (max-width: 1200px) {
  .header-area .main-nav .nav li {
    padding-left: 7px;
    padding-right: 7px;
  }
  .header-area .main-nav:before {
    display: none;
  }
}

@media (max-width: 767px) {
  .header-area .main-nav .logo {
    color: #1e1e1e;
  }
  .header-area.header-sticky .nav li a:hover,
  .header-area.header-sticky .nav li a.active {
    color: #ff6b28!important;
    opacity: 1;
  }
  .header-area.header-sticky .nav li.search-icon a {
    width: 100%;
  }
  .header-area {
    background-color: #f7f7f7;
    padding: 0px 15px;
    height: 100px;
    box-shadow: none;
    text-align: center;
  }
  .header-area .container {
    padding: 0px;
  }
  .header-area .logo {
    margin-left: 30px;
  }
  .header-area .menu-trigger {
    display: block !important;
  }
  .header-area .main-nav {
    overflow: hidden;
  }
  .header-area .main-nav .nav {
    float: none;
    width: 100%;
    display: none;
    -webkit-transition: all 0s ease 0s;
    -moz-transition: all 0s ease 0s;
    -o-transition: all 0s ease 0s;
    transition: all 0s ease 0s;
    margin-left: 0px;
  }
  .header-area .main-nav .nav li:first-child {
    border-top: 1px solid #eee;
  }
  .header-area .main-nav .nav li {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #eee;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .header-area .main-nav .nav li a {
    height: 50px !important;
    line-height: 50px !important;
    padding: 0px !important;
    border: none !important;
    background: #f7f7f7 !important;
    color: #191a20 !important;
  }
  .header-area .main-nav .nav li a:hover {
    background: #eee !important;
    color: #ff6b28!important;
  }
  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    position: relative;
    visibility: inherit;
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    top: 0px;
    width: 100%;
    box-shadow: none;
    height: 0px;
    transition: all 0s;
  }
  .header-area .main-nav .nav li.submenu ul li a {
    font-size: 12px;
    font-weight: 400;
  }
  .header-area .main-nav .nav li.submenu ul li a:hover:before {
    width: 0px;
  }
  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    height: auto;
  }
  .header-area .main-nav .nav li.has-sub:after {
    color: #3B566E;
    right: 30px;
    font-size: 14px;
    top: 15px;
  }
  .header-area .main-nav .nav li.submenu:hover ul, .header-area .main-nav .nav li.submenu:focus ul {
    height: 0px;
  }
}

@media (min-width: 767px) {
  .header-area .main-nav .nav {
    display: flex !important;
  }
}


/* 
---------------------------------------------
banner
--------------------------------------------- 
*/

section.main-banner {
  margin-top: 0px;
}

.main-banner {
  padding-top: 180px;
}

.main-banner .right-image {
  margin-left: 120px;
  position: relative;
  z-index: 2;
}

.main-banner .right-image img {
  position: relative;
  z-index: 2;
}

.main-banner .right-image::after {
  position: absolute;
  background-image: url(../images/banner-right-dec.png);
  width: 378px;
  height: 378px;
  content: '';
  right: -25%;
  z-index: 1;
}

.main-banner .header-text::after {
  position: absolute;
  background-image: url(../images/banner-left-dec.png);
  width: 214px;
  height: 429px;
  content: '';
  left: 0;
  bottom: -240px;
  z-index: 1;
}

.main-banner .header-text h6 {
  position: relative;
  z-index: 2;
  font-size: 17px;
  font-weight: 500;
  text-transform: capitalize;
  color: #777777;;
}

.main-banner .header-text h2 {
  position: relative;
  z-index: 2;
  margin-top: 20px;
  font-size: 64px;
  color: #111111;
  font-weight: 900;
  line-height: 74px;
  margin-bottom: 40px;
}

.main-banner .header-text h2 em {
  font-style: normal;
  color: #ff6b28;
}

.main-banner .main-button-gradient {
  position: relative;
  z-index: 2;
}


/*
---------------------------------------------
services
---------------------------------------------
*/ 

.services .item {
  border-radius: 15px;
  text-align: center;
  padding: 50px 30px;
  margin: 15px;
  transition: all .3s;
}

.services .item:hover {
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
}

.services .item .icon {
  max-width: 75px;
  margin: 0 auto;
  min-height: 80px;
  line-height: 80px;
  vertical-align: middle;
}

.services .item h4 {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 800;
}

.services .owl-dots {
  text-align: center;
  margin-top: 30px;
}

.services .owl-dots .owl-dot {
  width: 10px;
  height: 10px;
  background-color: #ddd;
  border-radius: 50%;
  margin: 0px 4px;
}

.services .owl-dots .active {
  background-color: #ff6b28;
}


/*
---------------------------------------------
Dores
---------------------------------------------
*/

.pain-points-section {
  padding: 90px 0;
}

.pain-title {
  font-size: 36px;
  font-weight: 700;
  color: #ff6b28;
}

.pain-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 30px 24px;
  height: 100%;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  transition: all 0.25s ease;
}

.pain-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #4b5563;
}

.pain-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.pain-icon {
  width: 52px;
  height: 52px;
  background: rgba(255, 122, 0, 0.1); /* pode ajustar pro verde GentzHub */
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px auto;
}

.pain-icon i {
  font-size: 22px;
  color: #ff7a00; /* ajuste conforme identidade */
}

.pain-title {
  font-family: 'Open Sans', sans-serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #ff6b28;
}


/*
---------------------------------------------
our courses
---------------------------------------------
*/

section.our-courses {
  position: relative;
}

section.our-courses .section-heading p {
  padding: 0px 60px;
}

section.our-courses:before {
  position: absolute;
  content: '';
  background-image: url(../images/our-courses-left-dec.png);
  left: 45px;
  top: -140px;
  width: 291px;
  height: 231px;
  z-index: 1;
}

section.our-courses:after {
  position: absolute;
  content: '';
  background-image: url(../images/our-courses-right-dec.png);
  right: 45px;
  top: -140px;
  width: 291px;
  height: 231px;
  z-index: 1;
}

section.our-courses .naccs {
  position: relative;
}

section.our-courses .naccs .menu div {
  padding: 15px 30px;
  text-align: center;
  border-radius: 5px !important;
  margin-bottom: 40px;
  font-size: 20px;
  color: #111;
  background-color: #fff;
  cursor: pointer;
  vertical-align: middle;
  font-weight: 900;
  transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
  border: 3px solid #ff6b28;
}

section.our-courses .naccs .menu div.active {
  color: #f0550c;
  border: 3px solid #0aaecb;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
}

section.our-courses ul.nacc {
  margin-left: 100px !important;
  position: relative;
  min-height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  transition: 0.5s all cubic-bezier(0.075, 0.82, 0.165, 1);
}

section.our-courses ul.nacc li {
  background-color: #fff;
  overflow: hidden;
  opacity: 0;
  transform: translateX(50px);
  position: absolute;
  list-style: none;
  transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
  border-radius: 15px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  padding-right: 50px;
}

section.our-courses ul.nacc li .left-image {
  position: absolute;
  margin-right: 50px;
  top: 50%;
  transform: translateY(-50%);
}

section.our-courses ul.nacc li .left-image img {
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
}

section.our-courses ul.nacc li .left-image .price h6 {
  position: absolute;
  background: rgb(219,138,222);
  background: linear-gradient(-145deg, rgba(219,138,222,1) 0%, rgba(246,191,159,1) 100%);
  color: #fff;
  top: 20px;
  left: 20px;
  font-size: 20px;
  font-weight: 700;
  width: 50px;
  height: 50px;
  border-radius: 3px;
  display: inline-block;
  text-align: center;
  line-height: 50px;
}

section.our-courses ul.nacc li .right-content {
  padding: 40px 0px;
  margin-left: 350px;
}

section.our-courses ul.nacc li .right-content h4 {
  font-size: 20px;
  color: #111;
  margin-bottom: 25px;
  font-weight: 800;
}

section.our-courses ul.nacc li .right-content ul {
  margin-top: 20px;
  margin-bottom: 20px;
}

section.our-courses ul.nacc li .right-content span {
  font-size: 14px;
  font-weight: 600;
  margin-right: 30px;
  padding-right: 30px;
  border-right: 2px solid #111;
}

section.our-courses ul.nacc li .right-content .last-span {
  margin-right: 0px;
  padding-right: 0px;
  border-right: none;
}

section.our-courses ul.nacc li .right-content p {
  margin-bottom: 20px;
}

section.our-courses ul.nacc li .right-content .text-button {
  margin-top: 20px;
}

section.our-courses ul.nacc li.active {
  position: relative;
  transition-delay: 0.3s;
  z-index: 2;
  opacity: 1;
  transform: translateX(0px);
}

section.our-courses ul.nacc li p {
  margin: 0;
}


/*
---------------------------------------------
cta
---------------------------------------------
*/

section.simple-cta {
  background-image: url(../images/cta-bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 100%;
  padding: 180px 0px 180px 0px;
}

section.simple-cta .left-image {
  margin-right: 45px;
}

section.simple-cta h6 {
  font-size: 17px;
  color: #fff;
}

section.simple-cta h4 {
  font-size: 62px;
  font-weight: 900;
  color: #fff;
  line-height: 74px;
  margin-top: 20px;
}

section.simple-cta p {
  color: #fff;
  margin-top: 30px;
  margin-bottom: 40px;
}


/* 
---------------------------------------------
testimonials
--------------------------------------------- 
*/

section.testimonials {
  position: relative;
}

section.testimonials:before {
  position: absolute;
  content: '';
  background-image: url(../images/testimonials-left-dec.png);
  left: 0px;
  top: -140px;
  width: 593px;
  height: 352px;
  z-index: 1;
}

section.testimonials:after {
  position: absolute;
  content: '';
  background-image: url(../images/testimonials-right-dec.png);
  right: 0px;
  bottom: -140px;
  width: 632px;
  height: 352px;
  z-index: 1;
}

.testimonials .item {
  border-radius: 15px;
  padding: 30px;
  background-color: #fff;
  margin: 15px;
  transition: all .3s;
  position: relative;
  z-index: 2;
}

.testimonials .item:hover {
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
}

.testimonials .item p {
  font-size: 16px;
  font-style: italic;
}

.testimonials .item h4 {
  margin-top: 30px;
  font-size: 20px;
  font-weight: 900;
  position: relative;
}

.testimonials .item span {
  font-size: 13px;
  font-weight: 700;
  color: #ff6b28;
}

.testimonials .item img {
  max-width: 44px;
  z-index: 2;
  position: absolute;
  right: 30px;
  bottom: 30px
}

.testimonials .owl-dots {
  text-align: center;
  margin-top: 30px;
}

.testimonials .owl-dots .owl-dot {
  width: 10px;
  height: 10px;
  background-color: #ddd;
  border-radius: 50%;
  margin: 0px 4px;
}

.testimonials .owl-dots .active {
  background-color: #ff6b28;
}



/* 
---------------------------------------------
contact us
--------------------------------------------- 
*/

.contact-card {
  min-width: auto;
  width: auto;
  padding: 12px 16px;
}

.contact-card {
  display: inline-flex !important;
  align-items: center;
}

.contact-card {
  white-space: nowrap;
}

.contact-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  cursor: pointer;
  transition: all 0.25s ease;
}

.contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

/* Ícones */
.contact-card i {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
}

/* WhatsApp */
.contact-card.whatsapp i {
  background: linear-gradient(135deg, #25D366, #1EBE5D);
}

/* Email */
.contact-card.email i {
  background: linear-gradient(135deg, #ff6b28, #f6bf9f);
}

/* Texto */
.contact-card .info {
  display: flex;
  flex-direction: column;
}

.contact-card .label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #6b7280;
  line-height: 1.2;
}

.contact-card .action {
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

/* Hover refinado no texto */
.contact-card:hover .action {
  color: #ff6b28;
}

.contact-channels {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 16px;
  width: max-content;          /* 🔥 ISSO resolve */
  max-width: none;
}

section.contact-us #contact {
  background: #ffffff;
  border-radius: 24px;
  padding: 50px;
  box-shadow: 0 40px 80px rgba(0,0,0,0.08);
  margin-left: 0;
}

section.contact-us {
  background: linear-gradient(135deg, #f7f9fb 0%, #eef3f6 100%);
  padding: 140px 0 100px 0;
  position: relative;
}

section.contact-us #contact input,
section.contact-us #contact textarea {
  background: #f4f6f9;
  border-radius: 12px;
  height: 52px;
  padding: 0 18px;
  font-size: 15px;
  transition: all 0.3s ease;
}

section.contact-us #contact button {
  width: 100%;
  height: 54px;
  border-radius: 14px;
  font-weight: 700;
  background: linear-gradient(135deg, #ff6b28 0%, #ff8f5a 100%);
  box-shadow: 0 20px 40px rgba(255,107,44,0.25);
}

section.contact-us #contact button:hover {
  transform: translateY(-3px);
  box-shadow: 0 25px 50px rgba(255,107,44,0.35);
}



section.contact-us #contact textarea {
  min-height: 140px;
  padding: 18px;
}

section.contact-us #contact input:focus,
section.contact-us #contact textarea:focus {
  background: #ffffff;
  box-shadow: 0 0 0 2px rgba(255,107,44,0.2);
}

section.contact-us:after {
  position: absolute;
  content: '';
  background-image: url(../images/footer-left-dec.png);
  left: 0px;
  top: 60px;
  width: 267px;
  height: 396px;
  z-index: 1;
}

section.contact-us .contact-info {
  background-color: #fff;
  margin-top: -30px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  border-radius: 15px;
  z-index: 5;
  position: relative;
  padding: 20px;
}

section.contact-us .contact-info .icon i {
  float: left;
  margin-right: 15px;
  width: 50px;
  height: 50px;
  display: inline-block;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  background: rgb(219,138,222);
  background: linear-gradient(-145deg, rgba(219,138,222,1) 0%, rgba(246,191,159,1) 100%);
  color: #fff;
}

section.contact-us .contact-info h4 {
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
}

section.contact-us .contact-info span {
  font-size: 15px;
  color: #ff6b28;
  font-weight: 700;
}

section.contact-us .section-heading {
  text-align: left;
  margin-bottom: 40px;
}

section.contact-us #contact {
  margin-left: -100px;
  position: relative;
  z-index: 5;
  background-color: #fff;
  margin-top: 40px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  border-radius: 15px;
  padding: 40px;
}

section.contact-us #contact input {
  width: 100%;
  height: 40px;
  border-radius: 5px;
  background-color: #f4f7fb;
  outline: none;
  border: none;
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
  color: #7a7a7a;
  padding: 0px 15px;
  margin-bottom: 30px;
}

section.contact-us #contact textarea {
  width: 100%;
  min-height: 140px;
  max-height: 180px;
  border-radius: 5px;
  background-color: #f4f7fb;
  outline: none;
  border: none;
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
  color: #7a7a7a;
  padding: 15px;
  margin-bottom: 30px;
}

section.contact-us #contact button {
  float: right;
  font-size: 13px;
  color: #fff;
  background: #2499af;
  background: linear-gradient(-145deg, #ff6b28 0%, rgba(246,191,159,1) 100%);
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: uppercase;
  transition: all .3s;
  transition: all .3s;
  border: none;
  outline: none;
}

section.contact-us #contact button:hover {
  opacity: 0.9;
}

section.contact-us ul.social-icons li {
  display: inline-block;
  margin: 0px 5px;
}

section.contact-us ul.social-icons {
  text-align: center;
  margin-top: 70px;
}

section.contact-us ul.social-icons li a {
  width: 44px;
  height: 44px;
  display: inline-block;
  text-align: center;
  line-height: 44px;
  background-color: #fff;
  color: #2499af;
  border-radius: 50%;
  transition: all .5s;
}

section.contact-us ul.social-icons li a:hover {
  background-color: #2499af;
  color: #fff;
}

p.copyright {
  text-align: center;
  color: #fff;
  margin: 40px 0px;
}

p.copyright a {
  font-weight: 700;
  color: #fff;
}

/*
---------------------------------------------
heading page
---------------------------------------------
*/

section.page-heading {
  margin-top: 190px;
  text-align: center;
}

section.page-heading .header-text {
  border-bottom: 3px solid #eee;
  padding-bottom: 80px;
}

section.page-heading .header-text h4 {
  font-size: 17px;
  text-transform: capitalize;
  color: #7a7a7a;
}

section.page-heading .header-text h1 {
  font-size: 62px;
  font-weight: 900;
  color: #111;
  margin-top: 10px;
}


/*
---------------------------------------------
about us page
---------------------------------------------
*/

section.get-info .left-image {
  margin-right: 30px;
}

section.get-info .section-heading {
  text-align: left;
}

section.get-info .info-item {
  border-radius: 15px;
  text-align: left;
  padding: 60px 30px 30px 30px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
  position: relative;
}

section.get-info .info-item .icon {
  position: absolute;
  left: 30px;
  top: -30px;
  width: 80px;
  height: 80px;
  display: inline-block;
  border-radius: 15px;
  text-align: center;
  line-height: 80px;
  background-color: #fff;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
}

section.get-info .info-item .icon img {
  max-width: 60%;
}

section.get-info .info-item h4 {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 800;
}

section.our-team {
  position: relative;
}

section.our-team .section-heading p {
  padding: 0px 60px;
}

section.our-team:before {
  position: absolute;
  content: '';
  background-image: url(../images/our-courses-left-dec.png);
  left: 45px;
  top: -140px;
  width: 291px;
  height: 231px;
  z-index: 1;
}

section.our-team:after {
  position: absolute;
  content: '';
  background-image: url(../images/our-courses-right-dec.png);
  right: 45px;
  top: -140px;
  width: 291px;
  height: 231px;
  z-index: 1;
}

section.our-team .naccs {
  position: relative;
  text-align: center;
}

section.our-team .naccs .menu {
  position: relative;
  display: inline-block;
}

section.our-team .naccs .menu div {
  margin: 0px 15px;
  text-align: center;
  display: inline-block;
  width: 15%;
  text-align: center;
  font-size: 20px;
  color: #111;
  background-color: #fff;
  cursor: pointer;
  vertical-align: middle;
  font-weight: 900;
}

section.our-team .naccs .menu div img {
  border-radius: 50%;
  max-width: 120px;
}

section.our-team .naccs .menu div h4 {
  font-size: 15px;
  font-weight: 900;
  margin-top: 15px;
  margin-bottom: 5px;
}

section.our-team .naccs .menu div span {
  font-size: 12px;
  text-transform: uppercase;
  color: #2499af;
  font-weight: 700;
  display: block;
}

section.our-team .naccs .menu div.active h4 {
  color: #2499af;
}

section.our-team ul.nacc {
  margin-top: 40px !important;
  position: relative;
  min-height: 100%;
  height: 100% !important;
  list-style: none;
  margin: 0;
  padding: 0;
}

section.our-team ul.nacc li {
  z-index: -1;
  opacity: 0;
  transform: translateX(50px);
  background-color: #fff;
  position: absolute;
  list-style: none;
  transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
  border-radius: 15px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  padding: 40px;
}

section.our-team ul.nacc li.active {
  position: relative !important;
  overflow: hidden;
}

section.our-team ul.nacc li .right-image {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

section.our-team ul.nacc li .right-image img {
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}

section.our-team ul.nacc li .left-content {
  text-align: left;
  margin-right: 380px;
}

section.our-team ul.nacc li .left-content h4 {
  font-size: 20px;
  color: #111;
  margin-bottom: 25px;
  font-weight: 800;
}

section.our-team ul.nacc li .left-content span a {
  font-size: 14px;
  font-weight: 600;
  margin-right: 30px;
  padding-right: 30px;
  color: #111;
  border-right: 2px solid #111;
  transition: all .3s;
}

section.our-team ul.nacc li .left-content span a:hover {
  color: #dc8cdb;
}

section.our-team ul.nacc li .left-content .last-span a {
  margin-right: 0px;
  padding-right: 0px;
  border-right: none;
}

section.our-team ul.nacc li .left-content p {
  margin-bottom: 30px;
}

section.our-team ul.nacc li .left-content .text-button {
  margin-top: 30px;
}

section.our-team ul.nacc li.active {
  transition-delay: 0.3s;
  z-index: 2;
  opacity: 1;
  transform: translateX(0px);
}

section.our-team ul.nacc li p {
  margin: 0;
}

section.our-office .left-info {
  margin-right: 0px;
  position: relative;
  z-index: 5;
  background-color: #fff;
  margin-top: 40px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  border-radius: 15px;
  padding: 40px;
}

section.our-office .left-info p {
  margin-bottom: 40px;
}

section.our-office .left-info ul li {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #4a4a4a;
  font-style: italic;
  margin-bottom: 20px;
}

section.our-office .left-info ul li:last-child {
  margin-bottom: 0px;
}

section.our-office .left-info .main-button-gradient {
  margin-top: 40px;
}

section.our-office #video {
  margin-left: -70px;
}

section.our-office #video .thumb {
  position: relative;
}

section.our-office #video .thumb .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
}

section.our-office #video .thumb .play-button a {
  width: 80px;
  height: 80px;
  display: inline-block;
  text-align: center;
  line-height: 80px;
  border-radius: 50%;
  transform: translate(-40px, -40px);
  color: #fff;
  font-size: 22px;
  background: rgb(219,138,222);
  background: linear-gradient(-145deg, rgba(219,138,222,1) 0%, rgba(246,191,159,1) 100%);
}

section.our-office #video img {
  border-radius: 20px;
}



/*
---------------------------------------------
our services page
---------------------------------------------
*/

section.featured-product {
  position: relative;
}

section.featured-product:before {
  position: absolute;
  content: '';
  background-image: url(../images/testimonials-left-dec.png);
  left: 0px;
  top: -140px;
  width: 593px;
  height: 352px;
  z-index: 1;
}

section.featured-product:after {
  position: absolute;
  content: '';
  background-image: url(../images/testimonials-right-dec.png);
  right: 0px;
  bottom: -140px;
  width: 632px;
  height: 352px;
  z-index: 1;
}

section.featured-product .info-item {
  border-radius: 15px;
  text-align: left;
  padding: 60px 30px 30px 30px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
  position: relative;
  margin-bottom: 90px;
}

section.featured-product .last-info {
  margin-bottom: 0px;
}

section.featured-product .left-info .info-item .icon {
  right: 30px;
  top: -30px;
}

section.featured-product .left-info .info-item {
  text-align: right;
}

section.featured-product .right-info .info-item .icon {
  left: 30px;
  top: -30px;
}

section.featured-product .info-item .icon {
  position: absolute;
  width: 80px;
  height: 80px;
  display: inline-block;
  border-radius: 15px;
  text-align: center;
  line-height: 80px;
  background-color: #fff;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
}

section.featured-product .info-item .icon img {
  max-width: 60%;
}

section.featured-product .info-item h4 {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 800;
}

section.featured-product .product-image {
  margin: 0px 60px;
}


/*
---------------------------------------------
contact us page
---------------------------------------------
*/

section.more-info .section-heading {
  margin-bottom: 40px;
  text-align: left;
}

section.more-info p {
  margin-bottom: 40px;
}

section.more-info ul li {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #4a4a4a;
  font-style: italic;
  margin-bottom: 20px;
}

section.more-info ul li:last-child {
  margin-bottom: 0px;
}

section.more-info .count-area-content {
  margin-bottom: 20px;
  margin-top: 20px;
}

section.more-info .count-area-content .count-digit {
  background-color: #fff;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  border-radius: 15px;
  text-align: center;
  display: inline-block;
  margin-left: 50%;
  transform: translateX(-40px);
  width: 80px;
  height: 80px;
  line-height: 80px;
  font-size: 28px;
  color: #dc8cdb;
  font-weight: 900;
  margin-bottom: -40px;
  position: relative;
  z-index: 2;
}

section.more-info .count-area-content .count-title {
  background-color: #fff;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  border-radius: 15px;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  color: #111;
  padding: 50px 30px 30px 30px;
  position: relative;
  z-index: 1;
}


/* 
---------------------------------------------
responsive
--------------------------------------------- 
*/


body {
  overflow-x: hidden;
}

@media (max-width: 1330px) {
  .services .owl-nav .owl-next{
    right: -30px;
  }
  .services .owl-nav .owl-prev{
    left: -25px;
  }
  .our-courses .owl-nav .owl-next{
    right: -30px;
  }
  .our-courses .owl-nav .owl-prev{
    left: -25px;
  }
}

@media (max-width: 1200px) {
  .main-banner .right-image {
    margin-left: 60px;
  }
  .main-banner .header-text h2 {
    font-size: 62px;
  }
  .header-area {
    background: #2499af !important;
    background: linear-gradient(-145deg, #2499af 0%, #ffb795 100%) !important;
  }
  .services .owl-nav .owl-next{
    right: -70px;
  }
  .services .owl-nav .owl-prev{
    left: -65px;
  }
  .our-courses .owl-nav .owl-next{
    right: -70px;
  }
  .our-courses .owl-nav .owl-prev{
    left: -65px;
  }
}

@media (max-width: 1085px) {
  .services .owl-nav .owl-next{
    right: -30px;
  }
  .services .owl-nav .owl-prev{
    left: -25px;
  }
  .our-courses .owl-nav .owl-next{
    right: -30px;
  }
  .our-courses .owl-nav .owl-prev{
    left: -25px;
  }
}

@media (max-width: 1005px) {
  .services .owl-nav .owl-next{
    display: none;
  }
  .services .owl-nav .owl-prev{
    display: none;
  }
  .our-courses .owl-nav .owl-next{
    display: none;
  }
  .our-courses .owl-nav .owl-prev{
    display: none;
  }
}

@media (max-width: 992px) {

  .main-banner .header-text {
    text-align: center;
    margin-bottom: 60px;
  }
  .main-banner .right-image {
    margin-left: 0px;
  }
  section.our-courses ul.nacc {
    margin-left: 0px !important;
  }
  section.simple-cta {
    margin-top: 0px;
  }
  section.simple-cta .left-image {
    margin-right: 0px;
    margin-bottom: 45px;
  }
  section.contact-us .contact-info {
    margin-top: 15px;
  }
  section.contact-us #contact {
    margin-left: 0px;
  }
  section.contact-us #contact button {
    float: none;
  }
  section.get-info .left-image {
    margin-right: 0px;
    margin-bottom: 30px;
  }
  section.get-info .info-item {
    margin-top: 60px;
  }
  section.our-office #video {
    margin-left: 0px;
    margin-top: 30px;
  }
  section.featured-product .left-info .info-item,
  section.featured-product .right-info .info-item {
    text-align: center;
    background-color: #fff;
    position: relative;
    z-index: 2;
  }
  section.featured-product .left-info .info-item .icon {
    right: 50%;
    transform: translateX(40px);
  }
  section.featured-product .right-info .info-item .icon {
    left: 50%;
    transform: translateX(-40px);
  }
  section.featured-product .product-image {
    margin: 60px
  }
  section.our-team ul.nacc li .left-content span a,
  section.our-courses ul.nacc li .right-content span {
    margin-right: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 767px) {
  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    display: none;
  }
  section.our-courses ul.nacc li .left-image,
  section.our-team ul.nacc li .right-image {
    position: relative;
    margin-right: 0px;
    margin-left: 0px;
    transform: translateY(-0%);
  }
  section.our-courses ul.nacc li .left-image img,
  section.our-team ul.nacc li .right-image img {
    border-radius: 15px;
  }
  section.our-courses ul.nacc li,
  section.our-team ul.nacc li {
    padding: 0px;
  }
  section.our-courses ul.nacc li .right-content {
    margin-left: 0px;
    padding: 30px;
  }
  section.our-team ul.nacc li .left-content {
    margin-right: 0px;
    padding: 30px;
  }
  section.our-team .naccs .menu div {
    width: 14%;
    margin: 0px 5px;
  }
  section.our-team .naccs .menu div.active img {
    border: 3px solid #2499af;
  }
  section.our-team .naccs .menu div h4,
  section.our-team .naccs .menu div span {
    display: none;
  }
  section.more-info .count-area-content .count-title {
    font-size: 22px;
  }
}


.right-content {
  background: #fff;
  padding: 60px;
  border-radius: 20px;
  min-height: 500px; /* aumenta altura vertical */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.left-image img {
  height: 400px;
  object-fit: cover;
}

.right-content {
  padding: 80px 60px;
}

.simple-cta .left-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* ===== Login Premium Gentz - Correção de Alinhamento ===== */

.main-nav .nav .login-btn {
  display: flex;
  align-items: center;
}

.main-nav .nav .login-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 42px;              /* força altura controlada */
  padding: 0 26px;           /* remove padding vertical */

  background: #ff6b2c;
  color: #ffffff !important;

  border-radius: 10px;
  font-weight: 700;
  line-height: normal;       /* remove line-height herdado */

  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255, 107, 44, 0.25);
}

/* Hover */
.main-nav .nav .login-btn a:hover {
  background: #ff824f;
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(255, 107, 44, 0.35);
}

/* ===== Corrige capitalização do banner ===== */

.main-banner .header-text h2,
.main-banner .header-text h6 {
  text-transform: none !important;
}

* {
  text-transform: none !important;
}

/* =========================
   AJUSTE DE FONTES SECUNDÁRIAS
   ========================= */

/* Texto padrão do site */
p {
  font-size: 16px;
  line-height: 28px;
}

/* Subtítulos cinza das seções */
.section-heading h6 {
  font-size: 16px;
  line-height: 26px;
}

/* Parágrafos das seções */
.section-heading p {
  font-size: 17px;
  line-height: 28px;
}

/* Textos dos cards de serviços */
.services .item p {
  font-size: 16px;
  line-height: 26px;
}

/* Textos dos pain points */
.pain-card h6 {
  font-size: 17px;
  line-height: 26px;
}

/* Conteúdo das abas (Estratégia, Performance etc.) */
section.our-courses ul.nacc li .right-content p {
  font-size: 16px;
  line-height: 28px;
}

/* Subtítulo do banner */
.main-banner .header-text h6 {
  font-size: 19px;
  line-height: 28px;
}

/* CTA final */
section.simple-cta p {
  font-size: 17px;
  line-height: 28px;
}

/* Inputs do formulário */
section.contact-us #contact input,
section.contact-us #contact textarea {
  font-size: 15px;
}

/* Texto pequeno de segurança do formulário */
section.contact-us p {
  font-size: 14px;
}

/* =========================
   AJUSTE DE CORES DE TEXTO
   ========================= */

/* Texto padrão (parágrafos gerais) */
p {
  color: #2f2f2f;
}

/* Subtítulos cinza das seções */
.section-heading h6 {
  color: #4f4f4f;
}

/* Subtítulo do banner */
.main-banner .header-text h6 {
  color: #3f3f3f;
}

/* Texto dos serviços */
.services .item p {
  color: #3a3a3a;
}

/* Textos dos pain cards */
.pain-card h6 {
  color: #2b2b2b;
}

/* Texto das abas (Estratégia, Performance etc.) */
section.our-courses ul.nacc li .right-content p {
  color: #333333;
}

/* CTA */
section.simple-cta p {
  color: rgba(255,255,255,0.92);
}

/* Inputs */
section.contact-us #contact input,
section.contact-us #contact textarea {
  color: #333333;
}

/* ===== Services Icons - Quadrado Moderno ===== */

.services .item .icon {
  width: 64px;
  height: 64px;
  background: rgba(255, 107, 44, 0.12);
  border-radius: 12px; /* menos arredondado */
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px auto;
  transition: all 0.3s ease;
}

.services .item .icon i {
  font-size: 26px;
  color: #ff6b2c;
}

/* Hover elegante */
.services .item:hover .icon {
  background: #ff6b2c;
}

.services .item:hover .icon i {
  color: #ffffff;
}

/* ===== Ajuste tamanho da logo ===== */

.header-area .main-nav .logo img {
  height: 48px;   /* ajuste aqui */
  width: auto;
}

.text-button a {
  display: inline-block;
  padding: 12px 26px;
  border-radius: 12px;
  background-color: #ff7a2f; /* mesmo laranja do login */
  color: #ffffff;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.text-button a:hover {
  background-color: #e7661f; /* laranja mais escuro no hover */
  transform: translateY(-2px);
}

.text-button a {
  text-decoration: none !important;
}

.white-button a {
  display: inline-block;
  padding: 12px 26px;
  border-radius: 12px;
  background-color: #ff7a2f; /* mesmo laranja do login */
  color: #ffffff;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.white-button a:hover {
  background-color: #e7661f; /* tom mais escuro no hover */
  transform: translateY(-2px);
}

section.simple-cta {
  padding: 90px 0;
}

#contact-section .col-lg-8,
#contact-section .col-lg-4 {
  padding-top: 60px;
  padding-bottom: 0px;
}

/* =============================
   FOOTER NOVO - FULL WIDTH
============================= */

.main-footer {
  width: 100%;
  background: linear-gradient(
    135deg,
    #0f172a 0%,
    #115561 60%,
    #0f172a 100%
  );
  color: #ffffff;
  padding: 100px 8% 40px 8%;
}

/* Centralização controlada */
.footer-inner {
  max-width: 1400px;
  margin: 0 auto;
}

/* Grid moderno */
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 60px;
  align-items: flex-start;
}

/* Marca */
.footer-brand img {
  height: 55px;
  width: auto;
  margin-bottom: 20px;
}

.footer-brand p {
  font-size: 15px;
  line-height: 26px;
  color: rgba(255,255,255,0.85);
  max-width: 320px;
}

/* Colunas */
.footer-col h6 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #ff7a2f;
  transform: translateX(4px);
}

.footer-col a {
  display: block;
  font-size: 15px;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  margin-bottom: 12px;
  transition: 0.3s ease;
}

.footer-col a:hover {
  color: #ffffff;
  transform: translateX(4px);
}

/* Redes sociais */
.footer-social {
  display: flex;
  gap: 15px;
}

.footer-social a {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.15);
  color: #ffffff;
  transition: all 0.3s ease;
  background: rgba(255,255,255,0.08);
}

.footer-social a:hover {
  background: #ff7a2f;
  color: #fff;
  transform: translateY(-3px);
}

/* Linha inferior */
.footer-bottom {
  margin-top: 60px;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,0.2);
  text-align: center;
  font-size: 14px;
  color: rgba(255,255,255,0.8);
}

section.contact-us #contact button {
  width: 100%;
  height: 54px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 14px;
  background: #ff7a2f;        /* mesmo laranja do hero */
  color: #ffffff;
  border: none;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255,122,47,0.25);
}

/* =========================
   LGPD CHECKBOX
========================= */

.lgpd-field {
  margin-bottom: 20px;
}

.lgpd-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  line-height: 20px;
  color: #555;
  cursor: pointer;
}

.lgpd-checkbox input {
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: #ff7a2f;
  cursor: pointer;
}

.lgpd-checkbox a {
  color: #ff7a2f;
  font-weight: 600;
  text-decoration: none;
}

.lgpd-checkbox a:hover {
  text-decoration: underline;
}

.lgpd-checkbox input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 25px !important;
  height: 25px !important;
  transform: scale(1) !important;
}

.solution-text {
  margin-top: 15px;
  line-height: 1.6;
}

.solution-title {
  font-weight: 700;
}

.solution-title {
  font-weight: 700;
}

.form-message {
  display: none;
  padding: 14px 16px;
  border-radius: 10px;
  font-size: 14px;
  margin-bottom: 15px;
  font-weight: 500;
  animation: fadeIn 0.3s ease;
}

.form-message.success {
  background: #e9f9f1;
  color: #1e7e5a;
}

.form-message.error {
  background: #fdecea;
  color: #b42318;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

.whatsapp-float {
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #25D366, #1ebe5d);
  color: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  z-index: 9999;
  transition: all 0.3s ease;
  text-decoration: none;
}

.whatsapp-float:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 18px 40px rgba(0,0,0,0.3);
}

/* efeito pulse leve */
.whatsapp-float::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: rgba(37, 211, 102, 0.4);
  animation: pulse 2s infinite;
  z-index: -1;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  70% {
    transform: scale(1.4);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.whatsapp-box {
  position: fixed;
  bottom: 25px;
  right: 25px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
  padding: 12px 16px;
  border-radius: 14px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.15);
  text-decoration: none;
  z-index: 9999;
  transition: all 0.3s ease;
  max-width: 280px;
}

.whatsapp-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}

/* TEXTO */
.whatsapp-text {
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.4;
}

/* ÍCONE */
.whatsapp-icon {
  min-width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #25D366, #1ebe5d);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
}

/* RESPONSIVO (mobile) */
@media (max-width: 768px) {
  .whatsapp-box {
    padding: 10px;
    max-width: 60px;
  }

  .whatsapp-text {
    display: none;
  }
}

.whatsapp-chat {
  position: fixed;
  bottom: 25px;
  right: 25px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  z-index: 9999;
}

/* bolha de texto */
.chat-bubble {
  background: #ffffff;
  color: #1f2937;
  padding: 10px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  white-space: nowrap;
  transition: all 0.3s ease;
}

/* ícone */
.chat-icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #25D366, #1ebe5d);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 26px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}

/* hover */
.whatsapp-chat:hover .chat-icon {
  transform: scale(1.08);
}

.whatsapp-chat:hover .chat-bubble {
  transform: translateX(-3px);
}

/* mobile */
@media (max-width: 768px) {
  .chat-bubble {
    display: none;
  }
}

.team-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 30px 25px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
}

.team-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.1);
}

/* imagem */
.team-card img {
  margin-bottom: 20px;
}

/* nome */
.team-card h5 {
  margin-bottom: 15px;
}

/* texto */
.team-card .solution-text {
  font-size: 14px;
  line-height: 24px;
}

/* espaço entre parágrafos */
.team-card .solution-text br {
  margin-bottom: 10px;
}

/* botão sempre no final */
.team-card .main-button-gradient {
  margin-top: 20px;
}

.demo-card {
  background: #ffffff;
  padding: 30px 25px;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.demo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 70px rgba(0,0,0,0.12);
}

.demo-card input,
.demo-card textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  font-size: 14px;
}

.demo-card textarea {
  min-height: 100px;
  resize: none;
}

.demo-card button {
  width: 100%;
  margin-top: 10px;
}

.demo-item {
  background: #ffffff;
  padding: 25px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  height: 100%;
}

.demo-item h5 {
  margin-bottom: 10px;
}

.demo-card {
  background: #ffffff;
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.demo-card input,
.demo-card textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
}

.demo-card button {
  width: 100%;
  margin-top: 10px;
}

.demo-info-card {
  background: #ffffff;
  padding: 25px;
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  height: 100%;
}

.demo-info-card h6 {
  margin-bottom: 10px;
  font-weight: 700;
}

.demo-info-card ul {
  padding-left: 0;
  list-style: none;
}

.demo-info-card ul li {
  margin-bottom: 8px;
}

/* CARDS DE FEATURE */
.demo-feature-card {
  background: #ffffff;
  padding: 25px;
  border-radius: 14px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
  height: 100%;
}

.demo-feature-card .icon {
  width: 50px;
  height: 50px;
  background: #f5e6dc;
  color: #ff6b2c;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  font-size: 18px;
}

.demo-feature-card.active {
  transform: scale(1.03);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.demo-feature-card:hover {
  transform: translateY(-5px);
}

.demo-text-block h5 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
}

.demo-list {
  list-style: none;
  padding-left: 0;
  margin-top: 15px;
}

.demo-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  color: #444;
}

/* bolinha personalizada */
.demo-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background-color: #ff6b2c;
  border-radius: 50%;
}

.challenge-card {
  background: #ffffff;
  padding: 30px 20px;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  transition: 0.3s;
  height: 100%;
}

.challenge-card:hover {
  transform: translateY(-6px);
}

.challenge-card .icon {
  width: 55px;
  height: 55px;
  background: #f5e6dc;
  color: #ff6b2c;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  font-size: 18px;
}

.cta-image {
  width: 100%;
  max-width: 520px;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

.cta-content h2 {
  margin-bottom: 10px;
}

.cta-content a {
  display: inline-block;
  margin-top: 10px;
}

.cta-button {
  display: inline-block;
  background: #ff6b2c;
  color: #fff;
  padding: 12px 26px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s;
}

.cta-button:hover {
  background: #e85a1f;
  color: #fff;
}

/* =========================
   RESPONSIVO REAL (SEM QUEBRAR)
========================= */

@media (max-width: 768px) {

  /* ===== BANNER ===== */
  .main-banner {
    margin-bottom: 60px !important;
    padding-top: 120px;
    text-align: center;
  }

  .main-banner .header-text h2 {
    font-size: 28px;
    line-height: 1.3;
  }

  .main-banner .header-text h6 {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .main-banner .right-image img {
    max-width: 90%;
    margin-top: 30px;
  }

  /* ===== SERVICES ===== */
  .services .section-heading h4 {
    font-size: 22px;
    line-height: 1.3;
  }

  /* ===== PAIN POINTS ===== */
  .pain-card {
    padding: 20px;
  }

  /* ===== COURSES ===== */
  .our-courses .menu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .our-courses .menu div {
    width: 100%;
    text-align: center;
  }

  .our-courses .left-image img {
    width: 100%;
    margin-bottom: 20px;
  }

  /* ===== CTA ===== */
  .simple-cta .row {
    flex-direction: column-reverse;
    text-align: center;
  }

  .simple-cta .left-image img {
    max-width: 90%;
    margin-bottom: 20px;
  }

  .simple-cta h4 {
    font-size: 24px;
  }

  /* ===== CONTATO ===== */
  #map img {
    height: 300px !important;
  }

  .contact-card {
    position: relative !important;
    margin-top: 10px;
  }

  /* ===== FORM ===== */
  #contact {
    margin-top: 30px;
  }

  /* ===== FOOTER ===== */
  .footer-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
    text-align: center;
  }

  /* ===== WHATSAPP ===== */
  .chat-bubble {
    display: none; /* remove texto no mobile */
  }
}

/* =========================
   AJUSTE MOBILE LIMPO (SEM QUEBRAR TEMPLATE)
========================= */

@media (max-width: 768px) {

  /* HERO */
  .main-banner {
    padding-top: 140px !important;
  }

  .main-banner .header-text h2 {
    font-size: 32px !important;
    line-height: 1.3 !important;
  }

  .main-banner .header-text h6 {
    font-size: 15px;
    padding: 0 10px;
  }

  /* IMAGEM */
  .main-banner .right-image {
    margin-top: 30px !important;
    text-align: center;
  }

  .main-banner .right-image img {
    max-width: 90%;
  }

  /* BOTÃO LARANJA */
  .main-button-gradient a {
    background: #ff6a00 !important;
    border-radius: 8px;
  }

  /* HEADER MAIS LIMPO */
  .header-area {
    background: #ffffff !important;
  }

  /* =========================
    HEADER COM DEGRADÊ (SEM BUG)
  ========================= */

  .header-area {
    background: linear-gradient(120deg, #ff6a00, #0f9b8e) !important;
  }

  /* mantém o menu legível */
  .header-area .main-nav .nav li a {
    color: #fff !important;
  }

  /* logo não sumir */
  .header-area .logo img {
    filter: none;
  }

}

/* =========================
   MENU MOBILE (HAMBURGUER)
========================= */

.menu-trigger {
  display: none;
}

@media (max-width: 768px) {

  .menu-trigger {
    display: block;
    position: absolute;
    right: 20px;
    top: 25px;
    font-size: 26px;
    cursor: pointer;
    color: #fff;
    z-index: 999;
  }

}

@media (max-width: 768px) {

  /* HEADER mais fino + cores ajustadas */
  .header-area {
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    padding-top: 30px !important;
    padding-bottom: 8px !important;
    background: linear-gradient(
      90deg,
      #102e3a 0%,
      #8c330d 50%,
      #143847 100%
    ) !important;
  }

  /* CONTAINER INTERNO */
  .header-area .main-nav {
    min-height: 60px !important;
  }

  /* LOGO */
  .header-area .logo img {
    max-height: 24px !important;
  }

  .header-area .logo {
    display: flex;
    align-items: center;
  }

  /* MENU HAMBURGUER */
  .menu-trigger {
    top: 50% !important;
    transform: translateY(-50%);
  }

   .header-area .logo {
    padding-left: 9px;
  }

  .header-area .logo img {
    max-height: 28px !important;
  }

    .main-banner .right-image {
    margin-top: -80px !important;
  }

  .main-banner .right-image img {
    max-width: 92%;
  }

  @media (max-width: 768px) {

  .main-banner .right-image::after {
    display: none !important;
  }

}

@media (max-width: 768px) {

  /* FUNDO RETO (remove curva do template) */
  .simple-cta {
    background: #11a1b8 !important;
    padding: 40px 20px !important;
    text-align: center;
    border-radius: 0 !important;
  }

  /* REMOVE decoração curva */
  .simple-cta::before,
  .simple-cta::after {
    display: none !important;
  }

  /* AJUSTA GRID */
  .simple-cta .row {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .simple-cta .col-lg-5,
  .simple-cta .offset-lg-1 {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* IMAGEM (pequena e organizada) */
  .simple-cta .left-image {
    display: block;
    margin-bottom: 20px;
    text-align: center;
  }

  .simple-cta .left-image img {
    max-width: 180px;
    width: 100%;
    border-radius: 12px;
  }

  /* SUBTÍTULO */
  .simple-cta h6 {
    font-size: 13px;
    margin-bottom: 8px;
    color: rgba(255,255,255,0.8);
  }

  /* TÍTULO (CORREÇÃO DO ESPAÇO) */
  .simple-cta h4 {
    font-size: 24px !important;
    line-height: 1.2;
    margin-bottom: 12px;

    /* ESSA LINHA resolve o espaço estranho */
    letter-spacing: -0.3px;
  }

  /* TEXTO */
  .simple-cta p {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: rgba(255,255,255,0.9);
  }

  /* BOTÃO */
  .white-button a {
    display: inline-block;
    padding: 14px 22px;
    font-size: 14px;
    border-radius: 10px;
  }

}

@media (max-width: 768px) {

  /* IMAGEM CENTRALIZADA */
  .simple-cta .left-image {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
  }

  .simple-cta .left-image img {
    max-width: 180px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }

  /* SUBTÍTULO */
  .simple-cta h6 {
    margin-bottom: 8px;
  }

  /* TÍTULO - AJUSTE DE ESPAÇAMENTO */
  .simple-cta h4 {
    font-size: 24px !important;
    line-height: 1.15;       /* mais compacto */
    margin-bottom: 15px;
  }

  /* REMOVE QUEBRA ESTRANHA ENTRE LINHAS */
  .simple-cta h4 br {
    display: none;
  }

}

@media (max-width: 768px) {

  /* TÍTULO PRINCIPAL */
  .simple-cta h4 {
    font-size: 24px !important;
    line-height: 1.1 !important;   /* bem mais compacto */
    margin: 0 0 12px 0 !important; /* remove espaçamento estranho */
  }

  /* REMOVE espaçamento herdado */
  .simple-cta h4 span,
  .simple-cta h4 strong {
    display: inline;
  }

  /* REMOVE qualquer quebra forçada */
  .simple-cta h4 br {
    display: none !important;
  }

  /* GARANTE que não tem padding escondido */
  .simple-cta h4 {
    padding: 0 !important;
  }

}

@media (max-width: 768px) {

  @media (max-width: 768px) {

  /* REMOVE QUALQUER IMAGEM GRANDE DESSA SEÇÃO */
  .contact-us img {
    display: none !important;
  }

}

  /* FORÇA layout em coluna */
  .contact-us .row {
    display: flex !important;
    flex-direction: column !important;
  }

  /* REMOVE IMAGEM COMPLETAMENTE */
  .contact-us .left-image {
    display: none !important;
  }

  /* FORMULÁRIO PRIMEIRO */
  .contact-us form {
    order: 1 !important;
    width: 100% !important;
  }

  /* CARDS DE CONTATO DEPOIS */
  .contact-us .col-lg-4,
  .contact-us .col-lg-5,
  .contact-us .contact-info {
    order: 2 !important;
    width: 100% !important;
  }

  /* ORGANIZA CARDS */
  .contact-us .contact-info,
  .contact-us .col-lg-4 {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
  }

}

@media (max-width: 768px) {

  /* REMOVE WhatsApp e Email */
  .contact-info,
  .contact-card {
    display: none !important;
  }

}

@media (max-width: 768px) {

  /* REMOVE espaçamento padrão entre seções */
  section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* AJUSTA ESSE BLOCO AZUL */
  .simple-cta {
    padding: 20px 15px !important;
    margin-bottom: 0 !important;
  }

  /* REMOVE espaço extra antes do formulário */
  .contact-us {
    padding-top: 0px !important;
    margin-top: 0 !important;
  }

  /* CARD DO FORM */
  .contact-us #contact {
    margin-top: 0 !important;
  }

}

}

@media (max-width: 768px) {

  /* remove espaço grande entre os botões */
  .naccs .menu div {
    margin-bottom: 10px !important;
  }

  /* se tiver padding interno muito alto */
  .naccs .menu div {
    padding: 12px !important;
  }

}

@media (max-width: 768px) {

  /* REMOVE espaçamento superior da seção inteira */
  .contact-us {
    padding-top: 0 !important;
  }

  /* REMOVE espaço interno do container */
  .contact-us .container {
    padding-top: 0 !important;
  }

  /* REMOVE espaço da row */
  .contact-us .row {
    margin-top: 0 !important;
  }

  /* FORÇA o formulário subir */
  .contact-us #contact {
    margin-top: -120px !important;
    margin-bottom: -95px !important;
  }

}

@media (max-width: 768px) {

  /* CENTRALIZA TUDO */
  footer,
  footer * {
    text-align: center !important;
  }

  /* TRANSFORMA COLUNAS EM BLOCO */
  footer .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* ESPAÇO ENTRE BLOCOS */
  footer .row > div {
    margin-bottom: 25px;
    width: 100%;
  }

  /* TEXTO PRINCIPAL */
  footer p {
    max-width: 300px;
    margin: 0 auto 25px auto;
  }

  /* TÍTULOS (Empresa / Soluções / Conecte-se) */
  footer h6 {
    margin-bottom: 10px;
  }

  /* LINKS */
  footer a {
    display: block;
    margin-bottom: 8px;
  }

  /* REDES SOCIAIS CENTRALIZADAS */
  .footer-social {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 10px;
  }

}

@media (max-width: 768px) {

  /* CENTRALIZA CONTAINER */
  footer .container {
    text-align: center !important;
  }

  /* FORÇA TODAS AS COLUNAS */
  footer .row > div {
    text-align: center !important;
    margin-bottom: 25px !important;
  }

  /* TÍTULOS */
  footer h6 {
    text-align: center !important;
  }

  /* LINKS */
  footer ul {
    padding: 0 !important;
  }

  footer ul li {
    list-style: none;
    text-align: center !important;
    margin-bottom: 8px;
  }

  /* TEXTO PRINCIPAL */
  footer p {
    max-width: 320px;
    margin: 0 auto 25px auto;
    line-height: 1.6;
  }

  /* REDES SOCIAIS */
  .footer-social {
    display: flex !important;
    justify-content: center !important;
    gap: 12px;
    margin-top: 10px;
  }

}

@media (max-width: 768px) {

  /* CENTRALIZA TUDO */
  footer {
    text-align: center !important;
  }

  /* REMOVE INDENTAÇÃO DO UL */
  footer ul {
    padding-left: 0 !important;
    margin: 0 auto !important;
  }

  /* REMOVE BULLET E CENTRALIZA */
  footer ul li {
    list-style: none !important;
    text-align: center !important;
  }

  /* LINKS */
  footer ul li a {
    display: block;
    text-align: center !important;
    margin-bottom: 8px;
  }

  /* TÍTULOS */
  footer h6 {
    text-align: center !important;
    margin-bottom: 10px;
  }

  /* TEXTO PRINCIPAL */
  footer p {
    text-align: center !important;
    max-width: 300px;
    margin: 0 auto 25px auto;
  }

  /* REDES SOCIAIS */
  .footer-social {
    display: flex !important;
    justify-content: center !important;
    gap: 12px;
    margin-top: 10px;
  }

}

@media (max-width: 768px) {

  /* CENTRALIZA A ESTRUTURA TODA */
  footer .row {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
  }

  /* FAZ CADA BLOCO TER LARGURA CONTROLADA */
  footer .row > div {
    width: 100%;
    max-width: 280px; /* 👈 isso resolve o desalinhamento */
    text-align: center;
    margin-bottom: 25px;
  }

  /* REMOVE RECUO DO UL */
  footer ul {
    padding: 0;
    margin: 0;
  }

  /* CENTRALIZA LISTA DE VERDADE */
  footer ul li {
    list-style: none;
    text-align: center;
    margin-bottom: 8px;
  }

  /* TEXTO */
  footer p {
    max-width: 280px;
    margin: 0 auto 25px auto;
    text-align: center;
  }

  /* REDES SOCIAIS */
  .footer-social {
    display: flex;
    justify-content: center;
    gap: 12px;
  }

}
@media (max-width: 768px) {

  .footer-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 35px;
  }

  .footer-brand,
  .footer-col {
    width: 100%;
    max-width: 280px;
    text-align: center;
  }

  .footer-brand img {
    margin: 0 auto 15px auto;
  }

  .footer-brand p {
    margin: 0 auto;
  }

  .footer-col h6 {
    margin-bottom: 12px;
  }

  .footer-col a {
    margin-bottom: 10px;
  }

  .footer-social {
    justify-content: center;
  }

  .footer-bottom {
    margin-top: 40px;
    font-size: 13px;
  }

}

@media (max-width: 768px) {

  .main-banner .header-text {
    margin-top: -40px;
  }

}

@media (max-width: 768px) {

  .main-footer {
    padding-top: 20px !important;
  }

}

@media (max-width: 768px) {

  /* FUNDO DO MENU */
  .header-area .main-nav .nav {
    background: #102e3a !important;
  }

  /* LINKS */
  .header-area .main-nav .nav li a {
    color: #ffffff !important;
    font-size: 16px;
    text-align: center;
    padding: 15px 0;
  }

  /* DIVISÓRIAS */
  .header-area .main-nav .nav li {
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  /* REMOVE FUNDO BRANCO BUGADO */
  .background-header .nav,
  .header-area.header-sticky .nav {
    background-color: #102e3a !important;
  }

}

@media (max-width: 768px) {

  .header-area .main-nav .nav {
    background: #102e3a !important;
  }

  .header-area .main-nav .nav li {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  .header-area .main-nav .nav li a {
    background: transparent !important;
    color: #ffffff !important;
    font-size: 16px;
    text-align: center;
  }

  .header-area.header-sticky .nav {
    margin-top: 60px !important;
  }

  .header-area {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

}

@media (max-width: 768px) {

  .header-area .main-nav .nav {
    position: fixed;
    top: 60px; /* altura do header */
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    background: #102e3a;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    padding-top: 20px;
  }

  .main-banner {
  margin-top: 80px; /* altura do header */
  }

}

@media (max-width: 768px) {

  .login-btn {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 15px;
  }

  .login-btn a {
    width: 80%;
    text-align: center;
  }

  .header-area .main-nav .nav li {
  width: 100%;
  text-align: center;
  padding: 12px 0;
  }

}

@media (max-width: 768px) {

  .header-area .main-nav .nav {
    z-index: 9999;
  }

  body.menu-open {
    overflow: hidden;
  }

}

@media (max-width: 768px) {

  .header-area .main-nav .nav {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;

    height: auto; /* 👈 remove altura gigante */
    padding: 10px 0 20px 0;

    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
  }

}

@media (max-width: 768px) {

  .header-area {
    background: linear-gradient(
      90deg,
      #102e3a 0%,
      #c94f1a 50%,
      #143847 100%
    ) !important;
  }

  .header-area .main-nav .nav {
    margin-top: 0 !important;
  }

  .header-area .main-nav .nav li {
  padding: 14px 0;
  }

}



@media (max-width: 768px) {

  /* FUNDO DO MENU (mais vivo e alinhado com site) */
  .header-area .main-nav .nav {
    background: linear-gradient(
      180deg,
      #0f2f3a 0%,
      #154b57 100%
    ) !important;

    padding: 20px 0 25px 0;
    border: none;
  }

  /* REMOVE LINHAS */
  .header-area .main-nav .nav li {
    border: none !important;
    padding: 16px 0;
  }

  /* REMOVE LINHA BRANCA SUPERIOR */
  .header-area .main-nav .nav::before {
    display: none !important;
  }

  /* LINKS */
  .header-area .main-nav .nav li a {
    color: #ffffff !important;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.5px;
  }

  /* HOVER (leve, moderno) */
  .header-area .main-nav .nav li a:hover {
    color: #ff6b1a !important;
  }

  /* BOTÃO LOGIN (AGORA BONITO) */
  .header-area .main-nav .nav li:last-child a {
    background: #ff6b1a;
    color: #fff !important;

    border-radius: 10px;
    width: 80%;
    margin: 15px auto 0 auto;
    padding: 12px;

    box-shadow: none !important; /* remove sombra feia */
  }

  /* ESPAÇAMENTO GERAL */
  .header-area .main-nav .nav {
    gap: 5px;
  }

}

@media (max-width: 768px) {

  /* MENU MAIS COMPACTO */
  .header-area .main-nav .nav {
    padding: 10px 0 20px 0;
  }

  /* MENOS ESPAÇO ENTRE ITENS */
  .header-area .main-nav .nav li {
    padding: 10px 0;
  }

  /* TEXTO MAIS AJUSTADO */
  .header-area .main-nav .nav li a {
    font-size: 16px;
  }

  /* BOTÃO LOGIN (AGORA DE VERDADE) */
  .header-area .main-nav .nav li:last-child a {
    background: linear-gradient(
      135deg,
      #ff6b1a,
      #ff8c42
    );

    border-radius: 12px;
    width: 75%;
    margin: 10px auto 0 auto;
    padding: 12px;

    font-weight: 600;
    letter-spacing: 0.5px;

    box-shadow: 0 8px 20px rgba(255,107,26,0.25);
  }

}

@media (max-width: 768px) {

  /* REMOVE o estilo padrão quebrado do template */
  .header-area .main-nav .nav li a {
    background: transparent !important;
    color: #fff !important;
  }

  /* BOTÃO LOGIN (AGORA FUNCIONA DE VERDADE) */
  .header-area .main-nav .nav li.login-btn {
    margin-top: 8px;
    padding: 0;
  }

  .header-area .main-nav .nav li.login-btn a {
    background: linear-gradient(135deg, #ff6b1a, #ff8c42) !important;
    color: #fff !important;

    border-radius: 12px;
    width: 75%;
    margin: 0 auto;
    padding: 12px 0 !important;

    display: flex;
    align-items: center;
    justify-content: center;

    font-weight: 600;
    letter-spacing: 0.5px;

    box-shadow: 0 8px 20px rgba(255,107,26,0.25);
  }

}

@media (max-width: 768px) {

  .header-area .main-nav .nav {
    display: none !important;
  }

  .header-area .main-nav .nav.active {
    display: flex !important;
  }

}

@media (max-width: 768px) {

  .header-area .main-nav .nav {
    display: flex !important; /* mantém no fluxo pra animar */

    opacity: 0;
    transform: translateY(-10px) scale(0.98);
    pointer-events: none;

    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .header-area .main-nav .nav.active {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

}

@media (max-width: 768px) {

  .solution-row {
    margin-top: -1 !important;
  }

}

@media (max-width: 768px) {

  .solution-row {
    margin-top: -50px !important;
  }

}

@media (max-width: 768px) {

  .solution-row {
    display: flex;
    flex-direction: column;
  }

  /* PADRÃO: texto primeiro, imagem depois */
  .solution-row .col-lg-6:first-child {
    order: 1;
  }

  .solution-row .col-lg-6:last-child {
    order: 2;
  }

  /* NAS LINHAS INVERTIDAS (imagem + texto no desktop) */
  .solution-row.reverse .col-lg-6:first-child {
    order: 2;
  }

  .solution-row.reverse .col-lg-6:last-child {
    order: 1;
  }

}

@media (max-width: 768px) {

  /* ESPAÇO ENTRE IMAGEM E TEXTO */
  .solution-row img {
    margin-bottom: 20px;
  }

  /* TÍTULO */
  .solution-title {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  /* TEXTO */
  .solution-text {
    margin-bottom: 20px;
    line-height: 1.6;
  }

  /* ESPAÇO ENTRE CADA BLOCO (seções) */
  .solution-row {
    margin-bottom: 30px;
  }

}

@media (max-width: 768px) {

  .solution-row {
    padding-left: 15px;
    padding-right: 15px;
  }

}

@media (max-width: 768px) {

  /* ESPAÇO ENTRE TEXTO E IMAGEM */
  .solution-row .col-lg-6:first-child {
    margin-bottom: 25px;
  }

}

@media (max-width: 768px) {

  .main-button-gradient {
    margin-top: 10px !important;
  }

  .main-banner .row:last-child {
    margin-top: 10px !important;
  }

  .section-spacing {
    margin-top: 0 !important;
    padding-top: 30px !important;
  }

}

@media (max-width: 768px) {

  /* remove o espaço entre as seções */
  .main-banner {
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
  }

  .section-spacing {
    padding-top: 5px !important;
  }

}

.demo-text-block {
  padding-right: 25px;
}

@media (max-width: 768px) {
  .demo-text-block {
    padding-right: 0;
    margin-bottom: 20px;
  }
}

@media (max-width: 768px) {

  /* DIMINUI espaço antes da primeira imagem */
  .section-spacing .row:first-of-type {
    margin-top: 10px !important;
  }

  .section-spacing img {
    margin-top: 10px !important;
  }

}

@media (max-width: 768px) {

  .simple-cta {
    text-align: center;
  }

  /* TEXTO */
  .simple-cta h4 {
    text-align: center;
    margin-bottom: 15px;
  }

  .simple-cta p {
    text-align: center;
    margin: 0 auto 20px auto;
    max-width: 90%;
  }

  /* BOTÃO CENTRALIZADO */
  .simple-cta .white-button,
  .simple-cta .main-button-gradient {
    display: flex;
    justify-content: center;
  }

  .simple-cta a {
    margin: 0 auto;
  }

  /* IMAGEM CENTRALIZADA */
  .simple-cta img {
    display: block;
    max-width: 95%;
  }

}

@media (max-width: 768px) {

  .cta-content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

}

@media (max-width: 768px) {

  /* remove espaço entre botão e imagem */
  .cta-content a {
    margin-bottom: 15px !important;
  }

  /* controla o espaçamento da imagem */
  .cta-image {
    margin-top: 20px !important;
    margin-bottom: -70px !important;
  }

  /* remove espaço da coluna */
  .row.align-items-center {
    margin-top: 0 !important;
  }

  .col-lg-6.text-center {
    margin-top: 0 !important;
    padding-top: -20px !important;
  }

}

@media (max-width: 768px) {

  .demo-ajuste {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

}

@media (max-width: 768px) {

  /* DASHBOARD (primeira imagem) */
  .bloco-dashboard {
    margin-top: 30px !important;
  }

  .bloco-dashboard img {
    margin-top: 10px;
    margin-bottom: 60px;
  }

  /* MEETING (segunda imagem) */
  .bloco-meeting {
    margin-top: 70px !important;
  }

  .bloco-meeting img {
    margin-top: 15px;
    margin-bottom: 40px;
  }

}

@media (max-width: 768px) {
  .cta-title {
    margin-top: 20px;
  }
}