/*----------------------------------------------------
@File: Default Styles (Optimized Version with Vibrant Accents)
@Author: Colorlib
@URL:https://colorlib.com

This file contains the styling for the actual theme.
This version has been refactored to be more efficient and maintainable
by centralizing variables, removing duplicates, and cleaning up unused code.

--- Outline ---
	1. Variables & Global Styles
	2. General Elements (Body, Titles, Buttons)
	3. Header
	4. Slider & Banners
    5. Sections (Builder, About, Offer, etc.)
    6. Footer
    7. Responsive Media Queries
----------------------------------------------------*/

/*--------------------------------------------------*/
/* 1. VARIABLES & GLOBAL STYLES
/*--------------------------------------------------*/
@import url("https://fonts.googleapis.com/css?family=Oswald:300,400,700|Roboto:300,300i,400,400i,500,500i,700,700i");

/* Root variables for easy theme changes */
:root {
    --primary-color: #d7a75f;
	--primary-color-selection: #d7a75f;
    --dark-text: #2f2d2e;
    --body-text: #000000;
    --light-text: #ffffff;
    --header-bg: #2f2d2e;
    --footer-bg: #2f2d2e;
    --section-bg-light: #d5bf86;
    --section-bg-dark: #41292c;
    --accent-dark: #41292c;
    --border-light: #d5bf86;
    --border-medium: #65361f;

    /* NOVAS CORES VIBRANTES PARA DESTAQUE */
    --accent-vibrant: #c06722;
    --accent-vibrant-hover: #da8c37;

    --font-family-base: "Aptos", sans-serif; /* << FONTE ALTERADA AQUI */
    --font-family-heading: "Oswald", sans-serif;
    
    --font-weight-normal: 400;
    --font-weight-bold: 700;

    --font-size-base: 14px;
    --font-size-large: 18px;
    
    --line-height-base: 26px;
    --transition-speed: 0.3s;
}

::selection {
  background-color: var(--primary-color-selection);
  color: var(--dark-text); /* Alterado para melhor contraste na seleção */
}

body {
  font-family: var(--font-family-base);
  background-color: #fdfdfc; /* Fundo base levemente off-white */
}

body h1, body h2, body h3, body h4, body h5, body h6 {
  margin: 0;
  color: var(--dark-text);
}

body p {
  font-family: var(--font-family-base);
  line-height: var(--line-height-base);
  color: var(--dark-text);
  margin: 0;
}

/* Unified transitions and focus styles */
a, .btn, button {
  outline: none;
  transition: all var(--transition-speed) linear;
}

a:before, a:after, .btn:before, .btn:after, button:before, button:after {
  transition: all var(--transition-speed) linear;
}

a:focus, a:hover, .btn:focus, .btn:hover, button:focus, button:hover {
  outline: none;
  text-decoration: none;
}

/* Utility Classes */
.m0 { margin: 0; }
.p0 { padding: 0; }

body section.row, body header.row, body footer.row {
  margin: 0;
}

/* Preloader */
.preloader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  background: var(--light-text) url(../images/preloader.gif) center center no-repeat;
}


/*--------------------------------------------------*/
/* 2. GENERAL ELEMENTS (Body, Titles, Buttons)
/*--------------------------------------------------*/

/* Universal Button Style */
.button_all {
    position: relative;
    font: var(--font-weight-bold) var(--font-size-large)/59px var(--font-family-base);
    width: 250px;
    text-align: center;
    background: var(--accent-vibrant); /* << COR ALTERADA AQUI */
    display: block;
    border: 0;
    color: var(--light-text); /* << COR DO TEXTO ALTERADA PARA MELHOR CONTRASTE */
    text-transform: uppercase;
    z-index: 0;
    padding: 0;
    border-radius: 8px;
    margin: 0 auto;
}

.button_all:before {
    content: "";
    position: absolute;
    z-index: -1;
    background: var(--dark-text);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transform: scaleY(0);
    transform-origin: 50%;
    transition: transform var(--transition-speed) ease-out;
    border-radius: 8px;
}

.button_all:hover, .button_all:focus {
    color: var(--light-text) !important;
}

.button_all:hover:before, .button_all:focus:before {
    transform: scaleY(1);
}

/* Section Title */
.tittle {
  text-align: center;
  text-transform: uppercase;
}

.tittle h2 {
  font: var(--font-weight-normal) 24px var(--font-family-heading);
  color: var(--dark-text);
  padding-top: 20px;
  position: relative;
}


.tittle h2:after {
  content: "";
  position: absolute;
  background: var(--accent-vibrant); /* << COR ALTERADA AQUI */
  height: 5px;
  width: 60px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -30px;
}

.tittle h3, .tittle h4 {
  font: var(--font-weight-normal) var(--font-size-base) var(--font-family-base);
  color: var(--body-text);
  padding-top: 20px;
}

/* Subtitle */
.subtittle h1, .subtittle h2 {
  font: var(--font-weight-bold) 36px var(--font-family-base);
  color: var(--dark-text);
  text-transform: uppercase;
  position: relative;
  margin-bottom: 20px;
}

.subtittle h2:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  background: var(--dark-text);
  left: 0;
  bottom: -22px;
}

.subtittle h5 {
  font: var(--font-weight-normal) var(--font-size-base) var(--font-family-base);
  color: var(--body-text);
  padding-top: 22px;
}


/*--------------------------------------------------*/
/* 3. HEADER
/*--------------------------------------------------*/
/* Top header */
.top_header_area {
  background: var(--header-bg);
}

.top_header_area .top_nav li a {
  font: var(--font-weight-normal) var(--font-size-base)/50px var(--font-family-base);
  color: var(--light-text);
  padding: 0 0 0 30px;
}

.top_header_area .top_nav li a i {
  color: var(--primary-color);
  font-size: var(--font-size-large);
  padding-right: 10px;
}

.top_header_area .top_nav li a:hover,
.top_header_area .top_nav li a:focus {
  background-color: transparent;
  color: var(--primary-color);
}

.top_header_area .top_nav li:first-child a {
  padding: 0;
}

.top_header_area .social_nav {
  margin: 0;
  padding-top: 12px;
}

.top_header_area .social_nav li a {
  font-size: var(--font-size-base);
  color: var(--light-text);
  text-align: center;
  height: 24px;
  width: 24px;
  border-radius: 50%;
  margin-left: 10px;
  padding: 0;
}

.top_header_area .social_nav li a i {
  line-height: 24px;
}

.top_header_area .social_nav li a:hover,
.top_header_area .social_nav li a:focus {
  background: var(--primary-color);
  color: var(--header-bg);
}

/* Header Area */
.header_aera {
  background: var(--light-text);
  border-radius: 0;
  border: 0;
  margin: 0;
  width: 100%;
  z-index: 9999;
  top: 0;
  box-shadow: 0 0 20px 0 rgba(21, 47, 95, 0.2);
}

.header_aera .navbar-header .navbar-brand {
  padding-top: 19px;
}

.navbar-brand img {
  max-width: 100%;
  height: auto;
  margin-bottom: 25px;
  margin-left: 5px;
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li a {
  font: var(--font-weight-bold) var(--font-size-base)/100px var(--font-family-base);
  color: var(--dark-text);
  text-transform: uppercase;
  padding: 0 0 0 30px;
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li a:hover,
.header_aera .navbar-collapse .navbar-nav.navbar-right li a:focus {
  color: var(--primary-color);
}

/* Submenu */
@media (min-width: 768px) {
  .header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu .other_dropdwn {
    margin-right: -122px;
  }
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul {
  border: none;
  box-shadow: none;
  border-radius: 0;
  min-width: 190px;
  transition: all 500ms ease-in-out;
  background: var(--primary-color);
}

@media (min-width: 768px) {
  .header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul {
    margin-right: -150px;
    display: block;
    transform: rotateX(-90deg);
    transform-origin: top;
  }
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul li {
  display: block;
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul li a {
  line-height: normal;
  font: var(--font-weight-bold) var(--font-size-base)/normal var(--font-family-base);
  padding: 12px 8px;
  display: block;
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul:before,
.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul:after {
    content: "";
    width: 100%;
    height: 5px;
    background: var(--dark-text);
    position: absolute;
    transform: translateZ(0) scaleX(0);
    backface-visibility: hidden;
    transition: all 800ms ease-in-out;
}

.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul:before {
    top: 0;
    transform-origin: 0 50%;
}
.header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul:after {
    bottom: 0;
    transform-origin: 100% 50%;
}

@media (min-width: 768px) {
  .header_aera .navbar-collapse .navbar-nav.navbar-right li:hover.submenu ul {
    transform: rotateX(0deg);
  }
  .header_aera .navbar-collapse .navbar-nav.navbar-right li:hover.submenu ul:before,
  .header_aera .navbar-collapse .navbar-nav.navbar-right li:hover.submenu ul:after {
    transform: scaleX(1);
  }
}

/* Search Form */
.header_aera .searchForm {
  height: 0;
  overflow: hidden;
  transition: all 300ms linear 0s;
}
.header_aera .show {
  height: 80px;
  border-bottom: 1px solid transparent;
}
.header_aera .searchForm .form-control,
.header_aera .navbar-collapse .navbar-nav.navbar-right li .nav_searchFrom {
  background: var(--primary-color);
  color: var(--light-text);
}
.header_aera .navbar-collapse .navbar-nav.navbar-right li .nav_searchFrom {
    width: 100px;
    padding: 0;
    text-align: center;
    margin-left: 15px;
}
.header_aera .navbar-collapse .navbar-nav.navbar-right li .nav_searchFrom:hover,
.header_aera .navbar-collapse .navbar-nav.navbar-right li .nav_searchFrom:focus {
    color: var(--dark-text);
}


/*--------------------------------------------------*/
/* 4. SLIDER & BANNERS
/*--------------------------------------------------*/

/* Slider Area */
.slider_area .slider_inner .camera_caption div {
  background: transparent;
  position: absolute;
  width: 100%;
  text-align: center;
  z-index: 1;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  text-transform: uppercase;
  text-shadow: none;
}

.slider_area .slider_inner .camera_caption div h5 {
  color: var(--light-text);
  font: var(--font-weight-bold) 24px var(--font-family-base);
  text-shadow: 2px 2px 8px #000;
}

.slider_area .slider_inner .camera_caption div h3 {
  color: var(--light-text);
  font: var(--font-weight-bold) 30px var(--font-family-base);
  padding-top: 27px;
  text-shadow: 2px 2px 8px #000;
}

.slider_area .slider_inner .camera_caption div p {
  padding-top: 60px;
  color: var(--light-text);
  font: var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family-base);
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 90px;
  text-shadow: 2px 2px 8px #000;
}

.slider_area .slider_inner .camera_caption div a {
  font: var(--font-weight-bold) 18px/59px var(--font-family-base);
  width: 180px;
  text-align: center;
  background: var(--primary-color);
  display: block;
  text-shadow: none;
  margin: 0 auto;
  outline: none !important;
  box-shadow: none;
  border: 0;
  color: var(--dark-text);
  position: relative;
  z-index: 2;
  padding: 0;
}

.slider_area .slider_inner .camera_caption div a:before {
  content: "";
  position: absolute;
  z-index: -1;
  background: var(--light-text);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scaleY(0);
  transform-origin: 50%;
  transition: transform var(--transition-speed) ease-out;
}

.slider_area .slider_inner .camera_caption div a:hover:before,
.slider_area .slider_inner .camera_caption div a:focus:before {
  transform: scaleY(1);
}

/* Banner Area */
.banner_area {
  background: url("../images/banner-bg.jpg") no-repeat fixed center;
  text-align: center;
  position: relative;
  z-index: 1;
}

.banner_area:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}


/*--------------------------------------------------*/
/* 5. SECTIONS
/*--------------------------------------------------*/

/* Professional Builder Section */
.professional_builder {
  background: var(--section-bg-light);
  padding: 80px 0 50px;
}

.professional_builder .builder_all .builder {
  text-align: center;
  padding-bottom: 25px;
}

.professional_builder .builder_all .builder i {
  font-size: 48px;
  color: var(--dark-text);
  padding-bottom: 35px;
}

.professional_builder .builder_all .builder h4 {
  font: var(--font-weight-bold) var(--font-size-large) var(--font-family-base);
  color: var(--dark-text);
  padding-bottom: 20px;
}

.professional_builder .builder_all .builder p {
  font: var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family-base);
  color: var(--body-text);
}

.professional_builder a {
	color: var(--dark-text);
}
.professional_builder a:hover {
	text-decoration:underline;
}


/* About Us Area */
.about_us_area {
  background: #fefefe;
  z-index: 1;
}
.about_us_area .about_row {
  padding: 70px 0;
}
.about_row p,
.about_us_area p {
  font: var(--font-weight-normal) 1.2em/var(--line-height-base) var(--font-family-base);
  color: var(--body-text);
  padding: 28px 0 54px;
}
.about_us_area .about_row .about_client {
  padding-top: 7px;
}
.about_us_area .about_row .about_client img {
  max-width: 100%;
}

/* Skills section */
.about_us_area .about_row .our_skill_inner .single_skill h3 {
  font: var(--font-weight-bold) var(--font-size-large) var(--font-family-base);
  color: var(--dark-text);
  padding-bottom: 8px;
}
.about_us_area .about_row .our_skill_inner .single_skill .progress {
  background: var(--section-bg-light);
  box-shadow: none;
  height: 8px;
  overflow: visible;
  border-radius: 0;
  position: relative;
  margin-bottom: 40px;
}
.about_us_area .about_row .our_skill_inner .single_skill .progress .progress-bar {
  background: var(--accent-vibrant); /* << COR ALTERADA AQUI */
  box-shadow: none;
}
.about_us_area .about_row .our_skill_inner .single_skill .progress .progress-bar .progress_parcent {
  font: var(--font-weight-bold) var(--font-size-large) var(--font-family-base);
  color: var(--dark-text);
  position: absolute;
  right: 0;
  top: -30px;
}
.about_us_area .single_skill li {
	list-style: none;
}
.about_us_area .single_skill li a {
	font: var(--font-weight-bold) var(--font-size-base)/28px var(--font-family-base);
  	color: var(--dark-text);
  	position: relative;
  	padding-left: 30px;
	text-decoration:none;
}

.about_us_area .single_skill li a i {
	font-size: var(--font-size-base);
	color: var(--primary-color);
  	padding-right: 20px;
  	position: absolute;
  	left: 0;
  	bottom: 0;
  	transition: all var(--transition-speed) linear;
}


/* What We Offer Area */
.what_we_area {
  background: var(--primary-color);
}
.what_we_area .tittle h2:after {
  background: var(--light-text);
}
.what_we_area .tittle h4 {
  color: var(--accent-dark);
}
.what_we_area .construction_iner {
  padding: 60px 0 70px;
}
.what_we_area .construction_iner .construction {
  text-align: center;
  padding-bottom: 30px;
  cursor: move;
}
.what_we_area .construction_iner .construction .cns-img img {
  max-width: 100%;
}
.what_we_area .construction_iner .construction .cns-content {
  background: var(--light-text);
  padding: 0 30px 20px;
  margin-top: -30px;
}
.what_we_area .construction_iner .construction .cns-content i {
  color: var(--light-text);
  font-size: 24px;
  background: var(--accent-dark);
  line-height: 60px;
  width: 60px;
  display: block;
  margin: 0 auto;
  transition: all var(--transition-speed) linear;
  position: relative;
}
.what_we_area .construction_iner .construction .cns-content a {
  font: var(--font-weight-bold) var(--font-size-large) var(--font-family-base);
  text-transform: uppercase;
  color: var(--dark-text);
  padding-top: 17px;
  display: block;
}
.what_we_area .construction_iner .construction .cns-content p {
  font: var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family-base);
  color: var(--body-text);
  padding-top: 20px;
}
.what_we_area .construction_iner .construction:hover a,
.what_we_area .construction_iner .construction:focus a {
  color: var(--dark-text);
  opacity: 0.8;
}
.what_we_area .construction_iner .construction:hover i,
.what_we_area .construction_iner .construction:focus i {
  font-size: 35px;
}

/* Our Feature Area */
.our_feature_area {
  padding-bottom: 90px;
  background: #fefefe;
}
.our_feature_area .feature_row {
  padding-top: 70px;
}
.our_feature_area .feature_row .feature_img {
  padding-top: 10px;
}
.our_feature_area .feature_row .feature_img img {
  max-width: 100%;
}
.our_feature_area .feature_row .feature_content .subtittle {
  padding-bottom: 40px;
}
.our_feature_area .feature_row .feature_content .media {
  padding-bottom: 15px;
}
.our_feature_area .feature_row .feature_content .media .media-left {
  padding-right: 30px;
}
.our_feature_area .feature_row .feature_content .media .media-left a i {
  font-size: 24px;
  color: var(--accent-vibrant); /* << COR ALTERADA AQUI */
  line-height: 50px;
  width: 60px;
  text-align: center;
  background: var(--accent-dark);
  border: 5px solid var(--accent-vibrant); /* << COR ALTERADA AQUI */
}
.our_feature_area .feature_row .feature_content .media .media-body a {
  font: var(--font-weight-bold) var(--font-size-large) var(--font-family-base);
  color: var(--dark-text);
  text-transform: uppercase;
}
.our_feature_area .feature_row .feature_content .media .media-body a:hover,
.our_feature_area .feature_row .feature_content .media .media-body a:focus {
  color: var(--primary-color);
}
.our_feature_area .feature_row .feature_content .media .media-body p {
  font: var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family-base);
  color: var(--body-text);
  padding-top: 20px;
}
.our_feature_area .tittle h2:after {
  background: var(--primary-color);
}
.our_feature_area .tittle h4 {
  color: var(--accent-dark);
}


/* Our Services Area / Portfolio */
.our_services_area {
  background: var(--section-bg-dark);
  padding-bottom: 100px;
}
.our_services_area .tittle h2 {
  color: var(--light-text);
}
.our_services_area .tittle h4 {
  color: #fefefe;
}
.our_services_area .portfolio_inner_area {
  padding-top: 60px;
}
.our_services_area .portfolio_inner_area .portfolio_filter {
  padding-bottom: 55px;
  text-align: center;
}
.our_services_area .portfolio_inner_area .portfolio_filter ul {
  margin: 0;
  padding: 0;
}
.our_services_area .portfolio_inner_area .portfolio_filter ul li {
  list-style: none;
  display: inline-block;
  padding-left: 30px;
}
.our_services_area .portfolio_inner_area .portfolio_filter ul li:first-child {
  padding: 0;
}
.our_services_area .portfolio_inner_area .portfolio_filter ul li a {
  font: var(--font-weight-normal) var(--font-size-base) var(--font-family-heading);
  text-transform: uppercase;
  color: var(--section-bg-light);
}
.our_services_area .portfolio_inner_area .portfolio_filter ul li:hover a,
.our_services_area .portfolio_inner_area .portfolio_filter ul li:focus a,
.our_services_area .portfolio_inner_area .portfolio_filter ul li.active a {
  color: var(--primary-color);
}

.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner {
  position: relative;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner img {
  max-width: 100%;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover {
  background-color: rgba(215, 167, 95, 0.85);
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  overflow: hidden;
  text-align: center;
  padding-top: calc(50% - 70px);
  cursor: pointer;
  opacity: 0;
  transition: all var(--transition-speed) linear;
}

.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover h4 {
  color: var(--light-text);
  font: var(--font-weight-bold) var(--font-size-base) var(--font-family-base);
  padding-bottom: 30px;
  text-transform: uppercase;
  position: relative;
  left: -65%;
  transition: all var(--transition-speed) linear;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover ul {
  padding: 0;
  margin: 0;
  position: relative;
  right: -67%;
  transition: all var(--transition-speed) linear;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover ul li {
  list-style: none;
  display: inline-block;
  padding-left: 17px;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover ul li:first-child {
  padding: 0;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover ul li a {
  font-size: var(--font-size-base);
  color: var(--light-text);
  line-height: 45px;
  width: 45px;
  border-radius: 50%;
  border: 1px solid var(--light-text);
  display: block;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover ul li a:hover,
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner .gallery_hover ul li a:focus {
  color: var(--primary-color);
  background: var(--light-text);
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner:hover .gallery_hover {
  opacity: 1;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner:hover .gallery_hover h4 {
  left: 0;
}
.our_services_area .portfolio_inner_area .portfolio_item .single_facilities .single_facilities_inner:hover .gallery_hover ul {
  right: 0;
}
.grid-sizer {
  width: 33.33333333%;
}


/* Our Team Area */
.our_team_area {
  padding-bottom: 50px;
  background: var(--section-bg-light);
}
.our_team_area .team_row {
  padding-top: 50px;
}
.our_team_area .team_row .team_membar {
  height: 378px;
  display: block;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}
.our_team_area .team_row .team_membar img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.our_team_area .team_row .team_membar .team_content {
   background: var(--accent-dark);
  text-align: center;
  padding: 20px 0 30px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.our_team_area .team_row .team_membar .team_content ul {
  padding: 0;
  margin: 0;
  height: 0;
  overflow: hidden;
  transition: all var(--transition-speed) linear;
}
.our_team_area .team_row .team_membar .team_content ul li {
  list-style: none;
  padding-left: 20px;
  display: inline-block;
}
.our_team_area .team_row .team_membar .team_content ul li:first-child {
  padding: 0;
}
.our_team_area .team_row .team_membar .team_content ul li a {
  font-size: var(--font-size-base);
  color: var(--light-text);
  line-height: 43px;
  width: 45px;
  text-align: center;
  border-radius: 50%;
  border: 1px solid var(--light-text);
  display: block;
}
.our_team_area .team_row .team_membar .team_content ul li a:hover,
.our_team_area .team_row .team_membar .team_content ul li a:focus {
  color: var(--primary-color);
  background: var(--light-text);
}
.our_team_area .team_row .team_membar .team_content .name {
  font: var(--font-weight-bold) var(--font-size-base) var(--font-family-base);
  color: var(--light-text);
  display: block;
  text-transform: uppercase;
  padding-top: 10px;
}
.our_team_area .team_row .team_membar .team_content h6 {
  font: var(--font-weight-normal) var(--font-size-base) var(--font-family-base);
  color: var(--light-text);
  padding-top: 5px;
}
.our_team_area .team_row .team_membar:hover .team_content ul {
  height: 50px;
}


/* Achievements Area */
.our_achievments_area {
  background: url("../images/achievments_bg.jpg") no-repeat fixed center;
  text-align: center;
  position: relative;
  z-index: 1;
  padding-bottom: 100px;
}
.our_achievments_area:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(47, 45, 46, 0.8);
  z-index: -1;
}
.our_achievments_area .tittle h2,
.our_achievments_area .tittle h4 {
  color: var(--light-text);
}
.our_achievments_area .achievments_row {
  padding-top: 60px;
}
.our_achievments_area .achievments_row .completed {
  text-align: center;
  border-right: 3px solid var(--light-text);
}
.our_achievments_area .achievments_row .completed:last-child {
  border: 0;
}
.our_achievments_area .achievments_area .achievments_row .completed i {
  font-size: 30px;
  color: var(--light-text);
  display: block;
  padding-top: 10px;
}
.our_achievments_area .achievments_row .completed .counter {
  font: var(--font-weight-bold) 40px var(--font-family-base);
  color: var(--accent-vibrant); /* << COR ALTERADA AQUI */
  display: block;
  padding-top: 23px;
}
.our_achievments_area .achievments_row .completed h6 {
  font: var(--font-weight-normal) var(--font-size-base) var(--font-family-base);
  color: var(--light-text);
  padding-top: 20px;
  text-transform: uppercase;
  padding-bottom: 5px;
}


/* Testimonial Area */
.testimonial_area {
  padding-bottom: 90px;
  background: #fefefe;
}
.testimonial_area .testimonial_carosel {
  padding-top: 60px;
}
.testimonial_area .testimonial_carosel .item p {
  font: var(--font-weight-normal) italic var(--font-size-base)/var(--line-height-base) var(--font-family-base);
  color: var(--accent-vibrant); /* << COR ALTERADA AQUI */
  max-width: 945px;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 50px;
}
.testimonial_area .testimonial_carosel .item p i {
  color: var(--body-text);
  font-size: var(--font-size-large);
  display: block;
}
.testimonial_area .testimonial_carosel .owl-controls {
  text-align: center;
}
.testimonial_area .testimonial_carosel .owl-controls .owl-dots .owl-dot {
  height: 10px;
  width: 10px;
  border: 2px solid var(--body-text);
  margin-left: 15px;
  display: inline-block;
  transition: all var(--transition-speed) linear;
  border-radius: 50%;
}
.testimonial_area .testimonial_carosel .owl-controls .owl-dots .owl-dot:hover,
.testimonial_area .testimonial_carosel .owl-controls .owl-dots .owl-dot:focus,
.testimonial_area .testimonial_carosel .owl-controls .owl-dots .owl-dot.active {
  background: var(--primary-color);
  border-color: var(--primary-color);
}


/* Call to Action Area */
.call_min_area {
  background: var(--primary-color);
  text-align: center;
  padding: 85px 0 100px;
}
.call_min_area h2 {
  font: var(--font-weight-normal) 60px var(--font-family-base);
  color: var(--dark-text);
}
.call_min_area P {
  font: var(--font-weight-normal) 30px/36px var(--font-family-base);
  color: var(--dark-text);
  text-transform: uppercase;
  max-width: 900px;
  margin: 0 auto;
  padding: 8px 0 20px;
}


/* Contact Area */
.contact_map iframe {
  height: 495px;
  width: 100%;
}
.all_contact_info .contact_row {
  padding: 100px 0;
}
.all_contact_info .contact_row .contact_info h2 {
  font: var(--font-weight-bold) 26px/1 var(--font-family-base);
  color: var(--dark-text);
  padding-bottom: 30px;
  position: relative;
}
.all_contact_info .contact_row .contact_info h2:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  background: var(--accent-dark);
  left: 0;
  bottom: 0;
}
.all_contact_info .contact_row .contact_info p {
  font: var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family-base);
  color: var(--body-text);
  padding-top: 30px;
}
.all_contact_info .contact_row .contact_info .location a {
  font: var(--font-weight-normal) var(--font-size-base)/28px var(--font-family-base);
  color: var(--body-text);
  display: block;
}
.all_contact_info .contact_row .contact_info .location a:hover,
.all_contact_info .contact_row .contact_info .location a:focus {
  color: var(--primary-color);
}
.all_contact_info .contact_row .send_message .contact_box .input_box {
  border: 1px solid var(--border-light);
  border-radius: 0;
  box-shadow: none;
  height: 50px;
  padding-left: 15px;
  width: 100%;
  color: var(--dark-text);
  margin-bottom: 20px;
  background-color: var(--light-text);
}
.all_contact_info .contact_row .send_message .contact_box textarea.input_box {
  height: 120px !important;
  resize: none;
}
.all_contact_info .contact_row .send_message .contact_box button {
  font: var(--font-weight-normal) var(--font-size-base)/40px var(--font-family-base);
  background: var(--primary-color);
  width: 140px;
  color: var(--dark-text);
  border: 0;
  border-radius: 0;
  text-transform: uppercase;
}
.all_contact_info .contact_row .send_message .contact_box button:hover,
.all_contact_info .contact_row .send_message .contact_box button:focus {
  color: var(--light-text);
  background: var(--dark-text);
}


/*--------------------------------------------------*/
/* 6. FOOTER
/*--------------------------------------------------*/
.footer_area {
  background: url("../images/footer.jpg") no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 1;
}
.footer_area:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(47, 45, 46, 0.9);
  z-index: -1;
}
.footer_area .footer_row {
  padding: 95px 0 50px;
}
.footer_area .footer_row .footer_about {
  padding-bottom: 50px;
}
.footer_area .footer_row .footer_about h2 {
  font: var(--font-weight-normal) var(--font-size-large) var(--font-family-heading);
  text-transform: uppercase;
  color: var(--light-text);
  padding-bottom: 25px;
}
.footer_area .footer_row .footer_about p {
  font: var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family-heading);
  color: var(--light-text);
  padding-top: 22px;
}
.footer_area .footer_row .footer_about .socail_icon {
  padding: 25px 0 0;
  margin: 0;
}
.footer_area .footer_row .footer_about .socail_icon li {
  display: inline-block;
  list-style: none;
  padding-left: 8px;
}
.footer_area .footer_row .footer_about .socail_icon li:first-child {
  padding: 0;
}
.footer_area .footer_row .footer_about .socail_icon li a {
  border: 2px solid var(--primary-color);
  display: block;
  line-height: 26px;
  width: 30px;
  text-align: center;
  position: relative;
  z-index: 1;
}
.footer_area .footer_row .footer_about .socail_icon li a:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: var(--primary-color);
  z-index: -1;
  transform: scaleY(0);
  transform-origin: 50%;
  transition: transform var(--transition-speed) ease-out;
}
.footer_area .footer_row .footer_about .socail_icon li a i {
  font-size: var(--font-size-base);
  color: var(--light-text);
  padding-top: 7px;
}
.footer_area .footer_row .footer_about .socail_icon li a:hover:after,
.footer_area .footer_row .footer_about .socail_icon li a:focus:after {
  transform: scaleY(1);
}
.footer_area .footer_row .footer_about .quick_link {
  padding: 0;
  margin: 0;
}
.footer_area .footer_row .footer_about .quick_link li {
  list-style: none;
}
.footer_area .footer_row .footer_about .quick_link li a {
  font: var(--font-weight-normal) var(--font-size-base)/28px var(--font-family-base);
  color: var(--light-text);
  position: relative;
  padding-left: 30px;
}
.footer_area .footer_row .footer_about .quick_link li a i {
  font-size: var(--font-size-base);
  color: var(--primary-color);








  padding-right: 20px;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all var(--transition-speed) linear;
}
.footer_area .footer_row .footer_about .quick_link li a:hover,
.footer_area .footer_row .footer_about .quick_link li a:focus {
  color: var(--primary-color);
}
.footer_area .footer_row .footer_about .quick_link li a:hover i,
.footer_area .footer_row .footer_about .quick_link li a:focus i {
  left: 8px;
}
.footer_area .footer_row .footer_about address .my_address li a {
  font: var(--font-weight-normal) var(--font-size-base)/28px var(--font-family-base);
  color: var(--light-text);
}
.footer_area .footer_row .footer_about address .my_address li a i {
  color: var(--primary-color);
  padding-right: 20px;
  font-size: var(--font-size-base);
}
.footer_area .footer_row .footer_about address .my_address li a:hover,
.footer_area .footer_row .footer_about address .my_address li a:focus {
  color: var(--primary-color);
}
.footer_area .copyright_area {
  background: var(--footer-bg);
  font: var(--font-weight-normal) var(--font-size-base)/100px var(--font-family-base);
  color: var(--light-text);
  text-align: center;
}
.footer_area .copyright_area a {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  text-transform: uppercase;
  color: var(--primary-color);
}
.footer_area .copyright_area a:hover,
.footer_area .copyright_area a:focus {
  color: #fefefe;
}

/*--------------------------------------------------*/
/* 7. RESPONSIVE MEDIA QUERIES
/*--------------------------------------------------*/

@media (max-width: 1700px) {
  .slider_area .slider_inner .camera_next::after {
    right: 105px;
  }
  .slider_area .slider_inner .camera_prev::after {
    left: 105px;
  }
}
@media (max-width: 1199px) {
  .slider_area .slider_inner .camera_next::after,
  .slider_area .slider_inner .camera_prev::after {
    right: 0;
    left: 0;
  }
  .our_team_area .team_row .team_membar img {
    height: 330px;
  }
}
@media (max-width: 991px) {
  .top_header_area .top_nav li a,
  .header_aera .navbar-collapse .navbar-nav.navbar-right li a {
    padding-left: 20px;
  }
  .our_feature_area .feature_row .feature_img {
    padding-bottom: 20px;
  }
  .our_achievments_area .achievments_row .completed {
    padding-bottom: 30px;
  }
  .our_achievments_area .achievments_row .completed:nth-child(2) {
    border: 0;
  }
  .footer_about.quick {
    padding-bottom: 70px !important;
  }
  .our_skill_inner {
    padding-top: 30px;
  }
}
@media (max-width: 767px) {
  .navbar-default .navbar-collapse,
  .navbar-default .navbar-form {
      background: var(--light-text);
  }
  .header_aera .navbar-collapse .navbar-nav.navbar-right li a {
      line-height: 45px;
  }
  .header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul {
      padding-left: 30px;
      background-color: transparent;
  }
  .header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul li a:hover,
  .header_aera .navbar-collapse .navbar-nav.navbar-right li.submenu ul li a:focus {
      color: var(--primary-color);
  }
  .slider_inner.camera_wrap {
    height: 500px !important;
  }
  .about_us_area .about_row .about_client {
    padding-top: 20px;
  }
  .what_we_area .construction_iner .construction,
  .our_team_area .team_row .team_membar,
  .latest_blog_area .latest_blog .blog_content {
    max-width: 360px;
    margin: 0 auto 30px;
  }
  .our_achievments_area .achievments_row .completed {
    border: 0;
  }
  .footer_area .footer_row {
    padding-bottom: 0;
  }
  .widget_area {
    padding-top: 60px;
  }
  .contact_info.send_message {
    padding-top: 40px;
  }
}

/* --- ESTILOS DEFINITIVOS PARA O NOVO MENU (VERSÃO FINAL COM AJUSTES) --- */

/* Wrapper que une o header e o banner para controle de layout */
.header-banner-wrapper {
    position: relative;
    background-color: white; /* Garante o fundo branco */
    padding-top: 20px; /* Reduzido para menos espaço vertical */
    padding-bottom: 20px; /* Adicionado para dar um respiro abaixo do menu */
}

/* --- Container Geral do Header --- */
.header-container {
    position: relative;
    width: 100%;
    z-index: 100;
}

.header {
    width: 100%;
}

/*
  Aplica 'display: flex' e 'align-items: center' ao container do menu.
  A remoção de 'justify-content' permite que o 'margin-left: auto' funcione.
*/
.navbar {
    display: flex;
    align-items: center; /* Essencial para o alinhamento vertical */
    position: relative;
    padding: 0 2rem;
    max-width: 1440px; /* Limita a largura máxima em telas grandes */
    margin: 0 auto; /* Centraliza a barra de navegação */
    min-height: 80px;
}

/*
  Remove margens e paddings que podem interferir no alinhamento do logo
*/
.navbar-brand-wrapper, .navbar-brand {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

/*
  Controla o tamanho do logo diretamente pelo CSS.
*/
  .navbar-brand img {
    height: 65px !important;
    width: auto !important;
}


/* --- Lógica do Menu Mobile --- */
#nav-toggle {
    display: none;
}

.nav-toggle-label {
    cursor: pointer;
    display: none;
    margin-left: 1rem;
}

@media (max-width: 1023px) {
    .navbar {
        padding: 0 1rem;
    }
    .nav-toggle-label {
        display: flex;
    }
}

#hide-button { display: none; }
#nav-toggle:checked + .nav-toggle-label #show-button { display: none; }
#nav-toggle:checked + .nav-toggle-label #hide-button { display: block; }
#nav-toggle:checked ~ #nav-menu {
     display: block; 
}


/* --- Itens de Navegação (ul) --- */
/*
  A adição de 'margin-left: auto' empurra o menu para a direita,
  criando um espaço flexível entre o logo e o menu.
*/
.navbar-nav {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: auto; /* <-- A SOLUÇÃO DEFINITIVA */
}

@media (max-width: 1023px) {
    #nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 50%;
        margin: 1rem auto; /* Zera a margem esquerda para o modo mobile */
        flex-direction: column;
        background-color: white;
        border: 1px solid #eee;
        border-radius: 1rem;
        padding: 0.75rem;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }
}

/* --- Links Individuais (a) --- */
.nav-link {
    display: block;
    padding: 0.5rem 1rem;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-base);
    color: var(--body-text);
    transition: color 0.3s;
    text-decoration: none;
    background-color: transparent;
    border-radius: 0.75rem;
    cursor: pointer;
    font-size: 16px;
}

.nav-link:hover {
    color: var(--accent-vibrant);
}

@media (max-width: 1023px) {
    .nav-link:hover {
        background-color: rgba(192, 103, 34, 0.1);
    }
}

/*
  Ajusta o botão "Agende sua Consulta" para ficar mais proporcional.
*/
.nav-item-button .button_all {
    height: 40px;
    line-height: 40px;
    width: auto;
    padding: 0 25px;
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}


/* --- Dropdown --- */
.nav-item.nav-dropdown {
    position: relative;
}

.nav-dropdown .nav-link {
    display: inline-flex;
    align-items: center;
}

.nav-dropdown-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    min-width: 250px;
    padding: 0.5rem;
    background-color: white;
    border: 1px solid #eee;
    border-bottom: 2px solid var(--accent-vibrant);
    border-radius: 1rem;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.08);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.nav-dropdown:hover .nav-dropdown-list {
    display: block;
    opacity: 1;
    visibility: visible;
}

@media (max-width: 1023px) {
    .nav-dropdown-list {
        position: static;
        box-shadow: none;
        border: none;
        border-top: 1px solid #eee;
        margin: 0.5rem 1.25rem 0;
        padding-left: 1rem;
        width: auto;
        opacity: 1;
        visibility: visible;
    }
}

.nav-dropdown-link {
    display: block;
    padding: 0.75rem 1.25rem;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-base);
    color: var(--body-text);
    transition: all 0.3s;
    border-radius: 0.75rem;
    white-space: nowrap;
    font-size: 15px;
}

.nav-dropdown-link:hover {
    background-color: rgba(192, 103, 34, 0.05);
    color: var(--accent-vibrant);
}

.dropdown-arrow {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.25rem;
    fill: currentColor;
    transition: transform 0.3s;
}

.nav-dropdown:hover .dropdown-arrow {
    transform: rotate(180deg);
}

/* --- ESTILOS PARA SUB-MENU LATERAL (NESTED DROPDOWN) --- */

/* 1. Prepara o item pai do sub-menu lateral */
.nested-dropdown {
    position: relative;
}

/* Adiciona uma seta à direita para indicar que há um sub-menu. */
.nested-dropdown > .nav-dropdown-link::after {
    content: '›';
    font-size: 22px;
    font-weight: bold;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--body-text);
    transition: color 0.3s;
}

.nested-dropdown > .nav-dropdown-link:hover::after {
    color: var(--accent-vibrant);
}

/* 2. Estilo e posicionamento do sub-menu lateral (VISÃO DESKTOP) */
.nested-dropdown-list {
    display: none;
    position: absolute;
    left: 100%;
    top: -1px;
    z-index: 1001;
    min-width: 250px;
    padding: 0.5rem;
    background-color: white;
    border: 1px solid #eee;
    border-bottom: 2px solid var(--accent-vibrant);
    border-radius: 1rem;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

/* 3. Mostra o sub-menu lateral ao passar o mouse no item pai (VISÃO DESKTOP) */
.nested-dropdown:hover > .nested-dropdown-list {
    display: block;
    opacity: 1;
    visibility: visible;
}


/* 4. AJUSTES DE RESPONSIVIDADE (VISÃO MOBILE) */
@media (max-width: 1023px) {

    /* Remove a seta lateral no mobile. */
    .nested-dropdown > .nav-dropdown-link::after {
        display: none;
    }

    /* O sub-menu aninhado se comporta como um bloco normal, indentado. */
    .nested-dropdown-list {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        border: none;
        border-top: 1px solid rgba(0,0,0,0.05);
        margin: 0.5rem 0 0.5rem 1.5rem;
        padding: 0;
        background-color: transparent;
        border-radius: 0;
    }
}

/* --- ESTILOS PARA OS NOVOS ÍCONES SOCIAIS --- */

/* Primeiramente, garantimos que as duas listas fiquem lado a lado */
.top_header_area .container {
    display: flex;
    justify-content: space-between; /* Alinha uma lista à esquerda e outra à direita */
    align-items: center;
}

/* Agora, estilizamos especificamente a lista de ícones sociais */
.social-icons {
    display: flex; /* Coloca os ícones lado a lado */
    gap: 15px; /* Define um espaçamento consistente e moderno entre os ícones */
	font-size: 18px;
	/*color: #65361f; */
	color: #000000;
}

.social-icons a {
    /*color: #65361f;*/
	color: #2f2d2e;
}

.social-icons a:hover {
    /*color: #65361f;*/
	color: var(--primary-color);
}

/* Removemos o padding problemático que existia antes, apenas para os ícones */
.social-icons li a {
    padding: 0 !important; /* Remove qualquer padding antigo para evitar conflitos */
}

/* Correção das cores e estilos para os ícones sociais */

.social-icons li a {
    color: #FFC300; /* Cor dourada/amarela dos ícones */
    font-size: 18px; /* Tamanho dos ícones (ajuste se necessário) */
    transition: color 0.3s ease; /* Efeito de transição suave ao passar o mouse */
    /* Garante que o padding seja 0 ou um valor pequeno para aproximá-los */
    padding: 0 5px !important;
}

.social-icons li a:hover {
    color: #e0b000; /* Cor ao passar o mouse (um pouco mais escura que a original) */
}

/* Garante que a lista principal de navegação continue alinhada */
.top_header_area .top_nav {
    display: flex;
    align-items: center;
}

.top_header_area .top_nav li a {
    padding-left: 30px; /* Mantém o espaçamento para os links da navegação principal */
    color: #fff; /* Se os links principais também perderam a cor, isso os corrige */
    font-size: 14px; /* Tamanho da fonte dos links principais, se for necessário ajustar */
    transition: color 0.3s ease;
}

.top_header_area .top_nav li a:hover {
    color: #FFC300; /* Cor ao passar o mouse para os links principais */
}

/* --- OTIMIZAÇÃO DE ALTURA DO BANNER (ANÁLISE HOTJAR) --- */

/* 1. Mantém a altura EXATA de 350px e reduz o GAP para compensar o aumento das fontes. */
.banner_area {
    height: 250px;
    padding: 0 2rem;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px; /* Reduzido para acomodar fontes maiores */
}

/* 2. Remove todos os paddings verticais dos títulos, pois o flexbox agora controla o alinhamento. */
.banner_area h1,
.banner_area h2,
.banner_area h3 {
    padding: 0;
    color: #FFF;
}

/* 3. Ajusta o tamanho das fontes para caberem melhor no espaço reduzido. */
.banner_area h1 {
    font-size: 32px;
    line-height: 1.2;
}

.banner_area h2 {
    font-size: 1.4em; /* Aumentado */
    line-height: 1.4;
}

.banner_area h3 {
    font-size: 1.2em; /* Aumentado */
    line-height: 1.4;
    font-weight: 400; /* Deixa a fonte um pouco menos fina */
    max-width: 800px; /* Evita que o texto fique muito largo */
}

@media (max-width: 768px) {
	.banner_area h1 {
		font-size: 25px;
		padding-top: 35px;
	}
}



/* --- AJUSTE DE ESPAÇAMENTO PÓS-BANNER (HOTJAR) --- */

/*
A regra original '.tittle h2' tinha um 'padding-top: 90px', criando um grande
espaço em branco. Esta nova regra, mais específica, sobrepõe a original
apenas para a seção "about_us_area", reduzindo o espaço.
*/
.about_us_area .tittle h2 {
    padding-top: 20px; /* Reduzido de 90px para aproximar a seção do banner */
}

/* --- CORREÇÃO PARA EXIBIR A BARRA SUPERIOR NO MOBILE --- */
@media (max-width: 1023px) {
    .top_header_area {
        display: block; /* Garante que a barra superior esteja sempre visível */
    }
    
    .top_header_area .container {
        flex-direction: column; /* Empilha os links e os ícones */
        gap: 15px; /* Adiciona um espaço entre as duas listas */
        padding: 10px 0;
    }

    .top_header_area .top_nav {
        justify-content: center; /* Centraliza os links de texto */
        flex-wrap: wrap; /* Permite que os links quebrem a linha se necessário */
    }
    
    .top_header_area .top_nav li a {
        line-height: 1.5; /* Melhora a legibilidade */
        padding: 5px 10px; /* Ajusta o espaçamento */
    }
}

/* --- ESTILOS PARA CONTEÚDO DA SEÇÃO 'ABOUT US' --- */

/* --- Títulos Principais (h1, h2, h3) --- */

/* Controle para o H1 dentro da seção */
.about_us_area h1 {
    font-size: 28px;
    color: #2f2d2e; /* Exemplo: Cor escura */
    margin-bottom: 20px; /* Espaço abaixo do título */
}

/* Controle para os H2 dentro da seção */
.about_us_area h2 {
    font-size: 22px;
    color: var(--body-text);
	margin-top: 30px; /* Espaço acima do título */
    margin-bottom: 15px; /* Espaço abaixo do título */
    line-height: 1.4;
	font-weight:bold;
}

/* Controle para os H3 dentro da seção */
.about_us_area h3 {
    font-size: 18px;
    color: var(--accent-vibrant); /* Exemplo: Cor de destaque */
	color: #333333;
    margin-top: 25px;
    margin-bottom: 10px;
    font-weight: bold;
}

/* --- Parágrafos (p) --- */

/* Controle para TODOS os parágrafos dentro da seção */
.about_us_area p {
    font-size: 18px;
    line-height: 1.7; /* Aumenta o espaçamento entre as linhas para melhor leitura */
    color: #333333; /* Cor de texto um pouco mais suave */
    margin-bottom: 20px; /* Espaço padrão abaixo de cada parágrafo */
    padding: 0; /* Zera paddings para garantir consistência */
}

/* Controle para o texto em negrito (strong) dentro dos parágrafos */
.about_us_area p strong {
    color: #000000; /* Deixa o negrito com mais destaque */
}

/* --- Listas (ul) --- */

/* Controle para a lista de serviços */
.about_us_area ul {
    list-style: none;
    padding-left: 0; /* Remove o recuo padrão da lista */
    margin-bottom: 25px;
}

.about_us_area ul li {
    font-size: 18px;
    padding-bottom: 10px; /* Espaço entre os itens da lista */
    /*display: flex;*/
    align-items: center;
}

.about_us_area ul li span {
    margin-right: 10px; /* Espaço entre o ícone de check e o texto */
    color: var(--accent-vibrant); /* Cor do ícone de check */
}

/* -- Novo Controle */
/* Controle para o H1 dentro da seção */
.our_feature_area h1 {
    font-size: 28px;
    color: #2f2d2e; /* Exemplo: Cor escura */
    margin-bottom: 20px; /* Espaço abaixo do título */
}

/* Controle para os H2 dentro da seção */
.our_feature_area h2 {
    font-size: 22px;
    color: var(--body-text);
	margin-top: 30px; /* Espaço acima do título */
    margin-bottom: 15px; /* Espaço abaixo do título */
    line-height: 1.4;
	font-weight:bold;
}

/* Controle para os H3 dentro da seção */
.our_feature_area h3 {
    font-size: 18px;
    color: var(--accent-vibrant); /* Exemplo: Cor de destaque */
	color: #333333;
    margin-top: 25px;
    margin-bottom: 10px;
    font-weight: bold;
}

/* --- Parágrafos (p) --- */

/* Controle para TODOS os parágrafos dentro da seção */
.our_feature_area p {
    font-size: 18px;
    line-height: 1.7; /* Aumenta o espaçamento entre as linhas para melhor leitura */
    color: #333333; /* Cor de texto um pouco mais suave */
    margin-bottom: 20px; /* Espaço padrão abaixo de cada parágrafo */
    padding: 0; /* Zera paddings para garantir consistência */
}

/* Controle para o texto em negrito (strong) dentro dos parágrafos */
.our_feature_area p strong {
    color: #000000; /* Deixa o negrito com mais destaque */
}

/* --- Listas (ul) --- */

/* Controle para a lista de serviços */
.our_feature_area ul {
    list-style: none;
    padding-left: 0; /* Remove o recuo padrão da lista */
    margin-bottom: 25px;
}

.our_feature_area ul li {
    font-size: 18px;
    padding-bottom: 10px; /* Espaço entre os itens da lista */
    /*display: flex;*/
    align-items: center;
}

.our_feature_area ul li span {
    margin-right: 10px; /* Espaço entre o ícone de check e o texto */
    color: var(--accent-vibrant); /* Cor do ícone de check */
}






/* ===============================
   NAVBAR / DROPDOWNS (DESKTOP)
   =============================== */

/* Estrutura base de dropdown no desktop (abre por hover/focus) */
.navbar .nav-item.has-dropdown { position: relative; }
.navbar .nav-item.has-dropdown > .dropdown-menu,
.navbar .nav-item.has-dropdown > .mega-menu,
.navbar .nav-item.has-dropdown > .nav-dropdown-list {
  position: absolute;
  top: 100%; left: 0;
  display: none;
  opacity: 0; visibility: hidden;
  margin-top: 0;
  z-index: 3000;
}

/* Abre com hover e acessibilidade por teclado */
.navbar .nav-item.has-dropdown:hover   > .dropdown-menu,
.navbar .nav-item.has-dropdown:focus-within > .dropdown-menu,
.navbar .nav-item.has-dropdown:hover   > .mega-menu,
.navbar .nav-item.has-dropdown:focus-within > .mega-menu,
.navbar .nav-item.has-dropdown:hover   > .nav-dropdown-list,
.navbar .nav-item.has-dropdown:focus-within > .nav-dropdown-list {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* “Ponte” para não perder hover entre o link e o painel */
.navbar .nav-item.has-dropdown::after{
  content:"";
  position:absolute; left:0; right:0; top:100%;
  height:12px;
}

/* Header e banner seguros (sem corte de overflow) */
.header-wrapper,
.header-container,
.navbar{ position:relative; overflow:visible !important; z-index:10; }
.banner_area{ margin-top: var(--header-height, 120px); clear:both; }


/* ===============================
   OFF-CANVAS / MOBILE (<= 1023px)
   =============================== */
@media (max-width:1023px){

  /* Desativa hover no mobile; abertura é via JS (+ .is-open) */
  .navbar .nav-item.has-dropdown:hover   > .dropdown-menu,
  .navbar .nav-item.has-dropdown:focus-within > .dropdown-menu,
  .navbar .nav-item.has-dropdown:hover   > .mega-menu,
  .navbar .nav-item.has-dropdown:focus-within > .mega-menu,
  .navbar .nav-item.has-dropdown:hover   > .nav-dropdown-list,
  .navbar .nav-item.has-dropdown:focus-within > .nav-dropdown-list{
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  /* Botão hambúrguer visível no mobile */
  .mobile-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px; height: 44px;
    border: 0; background: transparent;
    cursor: pointer;
  }

  /* Menu lateral (off-canvas) */
  #nav-wrapper{
    position: fixed;
    top: 0; right: -100%;
    width: 84vw; max-width: 420px;
    height: 100vh;
    background: #fff;
    box-shadow: -2px 0 12px rgba(0,0,0,.18);
    padding: 1rem 1rem 2rem;
    overflow-y: auto;
    transition: right .28s ease;
    z-index: 2100;
    display: block;
  }
  #nav-wrapper.active{ right: 0; }

  /* Overlay */
  .overlay{
    position: fixed; inset: 0;
    background: rgba(0,0,0,.40);
    opacity: 0; visibility: hidden;
    transition: opacity .2s ease;
    z-index: 2000;
  }
  .overlay.active{ opacity: 1; visibility: visible; }

  /* Navegação empilhada */
  .navbar-nav{ display:block; }
  .navbar-nav > .nav-item{
    display:block;
    border-bottom: 1px solid rgba(0,0,0,.06);
  }
  .navbar-nav > .nav-item > .nav-link{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 8px;
  }

  /* Painéis fechados por padrão no mobile */
  #nav-wrapper .nav-item.has-dropdown > .mega-menu,
  #nav-wrapper .nav-item.has-dropdown > .dropdown-menu,
  #nav-wrapper .nav-item.has-dropdown > .cities-menu,
  #nav-wrapper .nav-item.has-dropdown > .nav-dropdown-list{
    display:none !important;
    position:static !important;
    left:auto !important; right:auto !important; transform:none !important;
    width:100% !important; max-width:100% !important;
    margin:.5rem 0 0 !important;
    border:0 !important; border-radius:0 !important; box-shadow:none !important;
    background:#fff !important;
    opacity:1 !important; visibility:visible !important; /* evita “piscar” */
  }

  /* Abertos quando o JS adiciona .is-open OU quando o <li> está .active */
  #nav-wrapper .nav-item.has-dropdown.active > .mega-menu,
  #nav-wrapper .nav-item.has-dropdown > .mega-menu.is-open,
  #nav-wrapper .nav-item.has-dropdown.active > .dropdown-menu,
  #nav-wrapper .nav-item.has-dropdown > .dropdown-menu.is-open,
  #nav-wrapper .nav-item.has-dropdown.active > .cities-menu,
  #nav-wrapper .nav-item.has-dropdown > .cities-menu.is-open,
  #nav-wrapper .nav-item.has-dropdown.active > .nav-dropdown-list,
  #nav-wrapper .nav-item.has-dropdown > .nav-dropdown-list.is-open{
    display:block !important;
  }

  /* Tipografia/links internos nos painéis */
  #nav-wrapper .mega-menu .mega-column{ width:100%; padding:0; margin:0 0 .5rem; }
  #nav-wrapper .mega-menu a,
  #nav-wrapper .dropdown-menu a,
  #nav-wrapper .cities-menu a,
  #nav-wrapper .nav-dropdown-list a{
    color: var(--body-text, #111) !important;
    text-decoration: none;
    display: block;
    padding: .5rem 0;
  }

  /* Botão X (fechar) — só no mobile */
  #nav-wrapper .mobile-close{
    display: inline-flex;
    position: absolute; top:12px; right:12px;
    background: none; border:0;
    font-size: 1.8rem; line-height:1;
    color:#333; cursor:pointer; z-index:3002;
  }
}

/* Garante que o X não apareça no desktop */
@media (min-width:1024px){
  #nav-wrapper .mobile-close{ display:none !important; }
}


/* ===============================
   CTA “FALE CONOSCO”
   =============================== */

/* Estilo base permanece o do tema; aqui só controlamos layout/posição */
.header-cta{
  position: static;
  width: auto;
  display: inline-flex;
  align-items: center;
}
.header-cta .btn-header-cta{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  text-decoration: none;
}

/* Mobile: barra fixa, larga e sempre visível */
@media (max-width:1023px){
  /* evitar corte por overflow em headers/topbars */
  header, .site-header, .header, .topbar { overflow: visible !important; }

  .header-cta{
    position: fixed !important;
    left: 12px !important; right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    z-index: 3001 !important;
    display: block !important;
    width: auto !important;
    pointer-events: none; /* wrapper não captura clique */
    transition: opacity .15s ease;
  }
  .header-cta .btn-header-cta{
    width: 100% !important;
    justify-content: center;
    border-radius: 9999px;
    padding: 14px 18px;
    pointer-events: auto; /* o botão é clicável */
  }

  /* Espaço para o CTA não cobrir o fim da página */
  body{ padding-bottom: 76px; }

  /* Opcional: esconder CTA quando menu estiver aberto (se o JS usar body.menu-open) */
  body.menu-open .header-cta{ opacity:0; pointer-events:none; }
}

/* Desktop/Notebook: fixo no rodapé, CENTRALIZADO e MAIOR (conforme pedido) */
@media (min-width:1024px){
  .header-cta{
    position: fixed !important;
    bottom: 24px;
    left: 50% !important;
    transform: translateX(-50%);
    z-index: 3001 !important;
    display: block !important;
    width: auto !important;
    pointer-events: none;
    text-align: center;
  }
  .header-cta .btn-header-cta{
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: 18px 48px; /* maior no notebook */
    font-size: 1.3rem;   /* maior no notebook */
    border-radius: 9999px;
    font-weight: 600;
  }
}

/* Espaçamento entre o X e a primeira opção do menu (MOBILE) */
@media (max-width:1023px){
  :root { --mobile-menu-top-gap: 64px; } /* ajuste fino: 56–72px */

  /* Empurra a lista do menu para baixo, criando “respiro” abaixo do X */
  #nav-wrapper{
    padding-top: var(--mobile-menu-top-gap) !important;
  }

  /* Mantém o X posicionado confortavelmente no topo direito */
  #nav-wrapper .mobile-close{
    top: 16px !important;   /* antes 12px; pode deixar 12px se preferir */
    right: 12px !important;
  }
}

.nav-item {
	font-weight: 500;
}
