/*
Author       : Theme_Ocean.
Template Name: Hilux - Real Estate HTML Template 
Version      : 1.0
*/
/*=============================================================
    CSS INDEX
    =============================
    01. GENERAL STYLE (body, link color, section-title, preloader btn, overlay, section-padding etc)
    02. START BOOTSTRAP NAVIGATION OVERRIDES
    03. START HOME DESIGN
    04. START PROPERTY DESIGN
    05. START ABOUT US DESIGN
    06. START HOW IT WORKS DESIGN
    07. START TEAM DESIGN
    08. START OUR AGENTS DESIGN
    09. START PORTFOLIO DESIGN
    10. START TESTIMONIAL DESIGN
    11. START BLOG DESIGN
    12. START 404 PAGE
    13. START NEWSLETTER DESIGN
    14. START FAQ DESIGN
    15. START LOGIN AND REGISTER PAGE DESIGN
    16. START CONTACT FORM DESIGN
    17. START FOOTER TOP DESIGN
    18. START FOOTER DESIGN
    19. START SECTION TOP DESIGN
  =============================================================*/
/*
* ----------------------------------------------------------------------------------------
* 01.GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/
body {
color: #444;
font-family: 'Exo', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 28px;
background:#fff;
overflow-x:hidden;
}
html,
body { height: 100% }
h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0px;
  margin-top: 0px;
  font-family: 'Exo', sans-serif;
  color: #1d293e;
  font-weight: 400;
}
a {
font-family: 'Exo', sans-serif;
text-decoration: none;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
}
a:hover {
    color: #fff;
    text-decoration: none;
}
a:focus {
    outline: none;
    text-decoration: none;
}
p {
    margin-bottom: 0;
}
ul,
li {
    margin: 0;
    padding: 0;
}
fieldset {
    border: 0 none;
    margin: 0 auto;
    padding: 0;
}
/*START PRELOADER DESIGN*/
.preloader {
    position: fixed;
    inset: 0;
    background: #fff;
    z-index: 99999;

    display: flex;
    justify-content: center;
    align-items: center;

    transition: opacity .8s ease;
}

.loader-container {
    width: 320px;
    height: 8px;
    background: #eee;
    border-radius: 20px;
    overflow: hidden;
}

.loader-bar {
    width: 0%;
    height: 100%;
    background: #C2121D;
    border-radius: 20px;
    transition: width .8s ease;
}
/*END SECTION TITLE DESIGN*/
/*START SCROLL TO TOP*/
.topcontrol {
background: #C2121D none repeat scroll 0 0;
border-radius: 5px;
bottom: 5px;
-webkit-box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
color: #fff;
cursor: pointer;
font-size: 22px;
height: 35px;
line-height: 33px;
opacity: 1;
position: fixed;
right: 5px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 35px;
}
.topcontrol:hover {
    background: #222;
    color: #fff;
}
/*END SCROLL TO TOP*/
/*
* ----------------------------------------------------------------------------------------
* 01.END GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 02.START BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/

.navbar-default {
    background: #fff;
    border: medium none;
    border-radius: 0;
    margin-bottom: 0;
    padding: 20px 0;
    -webkit-transition: all 0.2s ease-in-out 0s;
            -o-transition: all 0.2s ease-in-out 0s;
            transition: all 0.2s ease-in-out 0s;
    width: 100%;
}
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:focus {
    color: #C2121D !important;
    background-color: transparent;
}
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus {
    color: #C2121D !important;
    background-color: transparent;
}
.navbar-brand { padding: 0px }
.navbar-brand img { width: 150px;}

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
  border-color: #fff;
}
.menu-top li a {
    color: #1d293e  !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}
.menu-top li a:hover { color: #C2121D!important }
.navbar-default.menu-shrink {
    background-color: #fff;
    -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.1);
            box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.1);
    padding: 10px 0;
    width: 100%;
}
/*START DROPDOWN MENU*/
.menu_dropdown  ul { list-style-type: none }
.menu_dropdown  li ul.sub-menu,
.menu_dropdown  ul li ul.sub-menu li ul.sub-menu {
    background: #fff;
    left: 10px;
    opacity: 0;
    filter: alpha(opacity=0);
    padding: 15px;
    position: absolute;
	-webkit-box-shadow:10px 15px 18px rgba(23, 23, 36, 0.15);
	        box-shadow:10px 15px 18px rgba(23, 23, 36, 0.15);
    top: 115%;
    -webkit-transition: all 0.3s ease 0s;
            -o-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
    visibility: hidden;
    width: 200px;
    z-index: -99;
}
.menu_dropdown  ul li ul.sub-menu li ul.sub-menu {
    top: 0;
    left: 100%;
    -webkit-transition: all 0.5s ease 0s;
            -o-transition: all 0.5s ease 0s;
            transition: all 0.5s ease 0s;
}
.menu_dropdown  ul li ul.sub-menu li {
    padding: 0;
    width: 100%;
}
.menu_dropdown  ul li:hover ul.sub-menu {
    top: 100%;
    opacity: 1;
    filter: alpha(opacity=100);
    z-index: 999;
    visibility: visible;
}
.menu_dropdown  ul.nav > li ul li:hover ul.sub-menu {
    opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
}
.menu_dropdown  ul li ul.sub-menu li a {
border-bottom: 1px solid #eee;
color: #1d293e !important;
cursor: pointer;
display: block;
font-size: 14px;
font-weight: 600;
padding: 13px 10px 12px;
text-transform: uppercase;
}
.menu_dropdown  ul li ul.sub-menu li:last-child a{border-bottom:none;}
.menu_dropdown  ul li:hover ul.sub-menu li a:hover {
    color: #C2121D!important;
    text-decoration: none;
}
/*END DROPDOWN MENU*/
.navbar-default.menu-shrink li a { color: #282828 !important }
.navbar-default.menu-shrink li a:hover { color: #C2121D !important }
.navbar-default .navbar-toggle { background: #fff none repeat scroll 0 0 }
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background-color: #fff }
.navbar-default .navbar-toggle .icon-bar { background-color: #C2121D }
/*
* ----------------------------------------------------------------------------------------
* 02.END BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 03.START HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
.home_bg {
    height: 700px;
    position: relative;
}
.home_bg:before {
    background: rgba(0, 0, 0, 0.6);
    content: "";
    height: 100%;
    filter: alpha(opacity=80);
    position: absolute;
    width: 100%;
}
.hero-text h2 {
	color: #FFFFFF;
	font-size: 60px;
	font-weight: 700;
	line-height: 70px;
	padding-top: 250px;
	text-transform: capitalize;
}
.hero-text p {
	color: #EAEAEA;
	width: 80%;
	margin: auto;
}
.home_btn{
margin-top: 30px;
}
.home_btn a {
	background: transparent none repeat scroll 0 0;
	border: 2px solid #FFFFFF;
	border-radius: 2px;
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	margin: 0 10px 15px;
	padding: 9px 30px;
	text-transform: capitalize;
	transition: all 0.3s ease 0s;
}

/* SOBRE NÓS */
.home_btn_color_one{
    background: #C2121D !important;
    border: 2px solid #C2121D !important;
    color: #FFFFFF !important;
}

.home_btn_color_one:hover{
    background: #C2121D !important;
    border: 2px solid #C2121D !important;
    color: #FFFFFF !important;
}

/* OUR LISTING */
.home_btn_color_two{
	background: #C2121D;
	border: 2px solid #C2121D;
	color: #FFFFFF;
}

.home_btn_color_two:hover{
	background: #5A1FC0;
	color:#FFFFFF;
	border: 2px solid #5A1FC0;
}

.home_map iframe{
	width:100%;
	height:650px;
}

/*START HOME SLIDER DESIGN*/
.flexslider .slides > li:first-child {
	display: block; 
}
.flexslider.loading .slides > li:first-child {
	opacity: 1 !important;
} 
.flexslider{
	position: relative;	
	margin: 0;
	padding: 0;
	border: none;
	-webkit-box-shadow: none;
	        box-shadow: none;
	border-radius: 0;
	overflow: hidden;
	background: none;
}
#home-slider .slides li{
	height: 700px;
	background-size: cover!important;
	 position: relative;
}
#home-slider .slides li:after {
    position: absolute;
    background:rgba(0, 0, 0, 0.5);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -1;
}
.flex-control-nav {
  width: 20px;
  bottom: auto;
  z-index: 20;
  top: 40%;
  right: 20px; 
 }

.flex-control-nav li {
  display: block;
  margin: 0 0 6px 0; 
 }

.flex-control-paging li a {
  background: transparent;
  border: 2px solid #FFF;
  border-radius: 100%;
  -webkit-box-shadow: none;
          box-shadow: none; 
 }
.flex-control-paging li a.flex-active,
.flex-control-paging li a:hover {
  background: #FFF;
  border-color: #FFF; 
}
#home-slider.flexslider.loading {
  position: relative; 
}
#home-slider.flexslider.loading:after {
    content: ' ';
    position: absolute;
    width: 30px;
    height: 30px;
    right: 20px;
    top: 40%;
    margin: 0 0 0 -15px;
    border: 4px solid #3cd2ad;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite; 
}
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

/*END HOME SLIDER DESIGN*/
/*
* ----------------------------------------------------------------------------------------
* 03.END HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
.search_bar{}
.single_search{}
.single_search select {
	background: #e0eff4;
	border: 1px solid #e0eff4;
	margin-bottom: 20px;
	padding: 0 25px;
	width: 260px;
	height: 52px;
}
@media only screen and (max-width:768px) { 
.single_search select {width: 100%;}
}
.single_search select option{
 padding: 10px;
}
.search_btn{margin-top: 30px;}
.btn-serach-bg {
	background: #C2121D none repeat scroll 0 0;
	border: 1px solid #C2121D;
	-webkit-box-shadow: 0 1px 20px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 1px 20px rgba(0, 0, 0, 0.2);
	color: #fff;
	font-size: 16px;
	padding: 10px 40px;
	text-transform: capitalize;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.btn-serach-bg:hover,
.btn-serach-bg:focus {
    background: #1d293e;
    border: 1px solid #1d293e;
    color: #fff;
}
/*
* ----------------------------------------------------------------------------------------
* 04.START PROPERTY DESIGN
* ----------------------------------------------------------------------------------------
*/

.single_property{
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transition: all 0.4s ease;
}

/* hover do card */
.single_property:hover{
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

/* imagem zoom premium */
.single_property img{
    width: 100%;
    transition: transform 0.6s ease;
}

.single_property:hover img{
    transform: scale(1.12);
}

/* botão premium */
.view-image{
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255,0,0,0.9);
    color: #fff;
    padding: 8px 14px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-10px);
    transition: 0.3s ease;
    z-index: 3;
    backdrop-filter: blur(5px);
}

.single_property:hover .view-image{
    opacity: 1;
    transform: translateY(0);
}

/* badge destaque */
.single_property_price span{
    background: #C2121D;
    color: #fff;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 8px;
}


/*ABOUT SLIDER*/
/*
* ----------------------------------------------------------------------------------------
* 04.END PROPERTY DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 05.START ABOUT US DESIGN
* ----------------------------------------------------------------------------------------
*/
.about-us-content h2 {
	font-size: 40px;
	margin: 0 0 25px;
	text-transform: capitalize;
	font-weight: 600;
}
@media only screen and (max-width:320px) { 
    .about-us-content h2 { font-size: 40px }
}
.about-us-content p { margin-bottom: 25px }
.about-us-content ul{list-style: outside none none;
margin-bottom: 30px;}
.about-us-content ul li {line-height: 36px;}
.about-us-content ul li i{color:#C2121D;margin-right:10px}
@media only screen and (max-width:768px) { 
    .about_img { margin-top: 30px }
}

.about-us-content a {
	background: #C2121D;
	border: 1px solid #C2121D;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	overflow: hidden;
	padding: 12px 40px;
	font-weight: 600;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
}
.about-us-content a:hover {
	background: #C2121D;
	border: 1px solid #C2121D;
    color: #fff;
	-webkit-box-shadow: none;
	        box-shadow: none;
}
/*
* ----------------------------------------------------------------------------------------
* 05.END ABOUT US DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 06.START HOW IT WORKS DESIGN
* ----------------------------------------------------------------------------------------
*/
.about_video {
padding-bottom: 120px;
padding-top: 100px;
position: relative;
}
.about_video::before {
	background: #020928;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.6;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	position: absolute;
	top: 0;
	width: 100%;
}
.our_video h1 {
	color: #fff;
	font-weight: 600;
	margin-bottom: 0;
	margin-top: 80px;
	margin-bottom: 30px;
	font-size: 50px;
}
@media only screen and (max-width:320px) { 
    .video-container h1 { font-size: 20px }
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  margin-top: 55px;
  max-width: 900px;
  width: 100%;
}
.our_video a  {
background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
border: 10px solid rgba(0, 0, 0, 0.05);
border-radius: 100px;
color: #C2121D;
display: block;
font-size: 24px;
height: 100px;
line-height: 85px;
margin-bottom: auto;
margin-left: auto;
margin-right: auto;
text-align: center;
width: 100px;
}
/*
* ----------------------------------------------------------------------------------------
* 06.END HOW IT WORKS DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 07.START OUR TEAM DESIGN
* ----------------------------------------------------------------------------------------
*/
.single_team {

    margin-top: 20px;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
  
    border: 1.5px solid rgba(214, 40, 40, 0.35);

    height: 420px; /* 🔥 FIXA TODOS OS CARDS IGUAIS */

    display: flex;
    flex-direction: column;

    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.06);

    transition: all 0.3s ease;
}

.single_team:hover {
    transform: translateY(-6px);
    border-color: #C2121D;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.15);
}

/* IMAGEM FIXA PARA TODOS */
.single_team img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center;
}

/* CONTEÚDO */
.single_team .content {
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

/* TÍTULO */
.single_team h3 {
    font-size: 17px;
    margin-bottom: 6px;
    color: #0f172a;
}

/* TEXTO */
.single_team p {
    font-size: 14px;
    margin-bottom: 4px;
    color: #64748b;
}

.single_team small {
    font-size: 12px;
    color: #94a3b8;
}

/* RESPONSIVO (mantém proporcional) */
@media (max-width: 768px) {
    .single_team {
        height: 400px;
    }

    .single_team img {
        height: 220px;
    }
}
 ----------------------------------------------------------------------------------------
*START OUR TEAM DESIGN
.our_team {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

/* TÍTULOS */
.our_team h2 {
    color: #111827;
      letter-spacing: 0.5px;
      margin-top: 10px;
    margin-bottom: 15px;
}



.our_team h3 {
    font-weight: 700;
    color: #111827;
}

/* CARD */
.single_team {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(214, 40, 40, 0.25);

    display: flex;
    flex-direction: column;

    height: 100%;
    min-height: 420px;

    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.06);
    transition: all 0.3s ease;

    margin-bottom: 25px;
}

.single_team:hover {
    transform: translateY(-7px);
    border-color: #C2121D;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.15);
}

/* IMAGEM */
.single_team img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* CONTEÚDO */
.single_team h3 {
    font-size: 18px;
    margin-top: 15px;
    margin-bottom: 8px;
    text-align: center;
}

.single_team p {
    font-size: 14px;
    color: #64748b;
    text-align: center;
    margin-bottom: 5px;
    padding: 0 15px;
}

/* TABLET */
@media (max-width: 991px) {
    .single_team {
        min-height: 400px;
    }

    .single_team img {
        height: 240px;
    }
}

/* TELEMÓVEL */
@media (max-width: 767px) {
    .single_team {
        min-height: auto;
    }

    .single_team img {
        height: 280px;
    }

    .single_team h3 {
        font-size: 17px;
    }

    .single_team p {
        font-size: 13px;
    }
}
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 08.START OUR AGENTS DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 08.START SCROLL TEAMS AGENTS DESIGN 



*/
.team-scroll {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 25px;
  padding: 20px 0;
  scroll-behavior: smooth;
}

/* CARD IGUAL AO DA LIDERANÇA */
.team-scroll .single_team {
  flex: 0 0 320px;
  background: #fff;
  border-radius: 12px;
  padding: 25px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.team-scroll .single_team:hover {
  transform: translateY(-5px);
}

/* IMAGEM estilo círculo igual ao da liderança */
.team-scroll .single_team img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #C2121D;
  margin-bottom: 15px;
}

/* TEXTO igual ao topo */
.team-scroll .single_team h3 {
  font-size: 18px;
  margin: 5px 0;
  font-weight: 600;
}

.team-scroll .single_team p {
  font-size: 14px;
  margin: 2px 0;
  color: #666;
  line-height: 1.3;
}


.team_grid figure {
    position: relative;
    overflow: hidden;
    text-align: center;
    cursor: pointer;
}
.team_grid figure img {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
    opacity: 0.99;
    filter: alpha(opacity=80);
}
.team_grid figure figcaption {
    padding: 20px;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.team_grid figure figcaption,
.team_grid figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.team_grid figure figcaption > a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
    filter: alpha(opacity=0);
}
.team_grid figure h4 {
    word-spacing: -0.15em;
    font-weight: 300;
}
.team_grid figure h4,
.team_grid figure p { margin: 0 }
.team_grid figure p {
    font-size: 16px;
    letter-spacing: 1px;
}
.team_grid figure p a {color: #fff;
letter-spacing: 0;}
figure.effect-sadie figcaption:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(28, 186, 200, 0)), color-stop(75%, rgba(28, 186, 200, 0.9)));
    background: -o-linear-gradient(top, rgba(28, 186, 200, 0) 0%, rgba(28, 186, 200, 0.9) 75%);
    background: linear-gradient(to bottom, rgba(28, 186, 200, 0) 0%, rgba(28, 186, 200, 0.9) 75%);
    content: '';
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: translate3d(0,50%,0);
    transform: translate3d(0,50%,0);
}
figure.effect-sadie h4 {
background: #fff none repeat scroll 0 0;
color: #222;
font-size: 14px;
left: 20%;
letter-spacing: 2px;
opacity: 0;
padding: 15px 0;
position: absolute;
top: 50%;
-webkit-transform: translate3d(0px, -50%, 0px);
        transform: translate3d(0px, -50%, 0px);
-webkit-transition: color 0.35s ease 0s, -webkit-transform 0.35s ease 0s;
transition: color 0.35s ease 0s, -webkit-transform 0.35s ease 0s;
-o-transition: transform 0.35s ease 0s, color 0.35s ease 0s;
transition: transform 0.35s ease 0s, color 0.35s ease 0s;
transition: transform 0.35s ease 0s, color 0.35s ease 0s, -webkit-transform 0.35s ease 0s;
width: 60%;
}
@media only screen and (max-width:768px) { 
    figure.effect-sadie h4 { font-size: 12px }
}
@media only screen and (max-width:480px) { 
    figure.effect-sadie h4 { font-size: 18px }
}
@media only screen and (max-width:320px) { 
    figure.effect-sadie h4 { font-size: 14px }
}
figure.effect-sadie figcaption:before,
figure.effect-sadie p {
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    -o-transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
}
figure.effect-sadie p {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 2em;
    width: 100%;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: translate3d(0,10px,0);
    transform: translate3d(0,10px,0);
}
figure.effect-sadie:hover h4 {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
    transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}
figure.effect-sadie:hover figcaption:before,
figure.effect-sadie:hover p {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
.portfolio_btn { padding-top: 50px }

/*project modal*/
.modal-dialog {
  margin: 80px auto 30px;
}
.modal-title {
  color: #1d293e;
  margin: 0;
  text-transform: uppercase;
}
.modal-content{
	padding: 10px 30px;
	border-radius: 0px;
}
.modal-body{
	margin-bottom: 15px;
}
.modal-body h4{}
.modal-body p{
	margin: 10px 0px 15px;
}

.template_agent{padding-top:60px;padding-bottom:30px;}
.agents_details_image{}
.agents_details_image img{
float: left;
margin-right: 20px;
width: 200px;
}
.agents_details_content{}
.agents_details_content h4{
text-transform: uppercase;
overflow: hidden;
}
.agents_details_content h5{
border-bottom: 1px solid #eee;
color: #C2121D;
margin-bottom: 20px;
overflow: hidden;
padding-bottom: 10px;
text-transform: uppercase;
}
.agents_details_content p{
overflow: hidden;
margin-top: 0px;
}
.agents_details_content i{margin-right:10px;color:#000;}
.agent_social ul li{display: inline-block;}
.agent_social ul li a {
	background: #e0eff4;
	border-radius: 30px;
	color: #1d293e;
	display: block;
	height: 40px;
	line-height: 40px;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	width: 40px;
	text-align: center;
	margin: 0 5px;
}
.agent_social ul li a i {
  margin-right: 0;
}
.agent_social ul li a:hover{background:#C2121D;color:#fff;}

/*End project modal*/

.template_agent{background:#e0eff4;}
.single_agent {
	background: #fff none repeat scroll 0 0;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	margin-bottom: 30px;
	overflow: hidden;
	padding: 40px;
}
.single_agent_image img{
float: left;
margin-right: 20px;
width: 270px;
}
.single_agent_content{

}
.agent_social {
  margin-top: 30px;
  overflow: hidden;
}
.single_agent_content h4{
text-transform: uppercase;
overflow: hidden;
font-weight: 600;
}
.single_agent_content h5 {
	border-bottom: 1px solid #eee;
	color: #C2121D;
	margin-bottom: 20px;
	overflow: hidden;
	padding-bottom: 10px;
	text-transform: capitalize;
	font-size: 14px;
	font-weight: 500;
}
.single_agent_content h6{
color: #777;
font-size: 16px;
line-height: 30px;
margin-bottom: 20px;
overflow: hidden;
}
.single_agent_content p{
line-height: 36px;
margin-top: 0;
overflow: hidden;
}
.single_agent_content i{margin-right:10px;color:#000;}
/*
* ----------------------------------------------------------------------------------------
* 08.END OUR AGENTS DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 09.START PORTFOLIO DESIGN
* ----------------------------------------------------------------------------------------
*/

/* FILTROS */
.portfolio-filters { 
	margin-bottom: 60px 
}

.portfolio-filters li {
	color: #1d293e;
	cursor: pointer;
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	margin-right: 5px;
	padding: 8px 30px;
	text-transform: capitalize;
	transition: all 0.4s ease;
	border-radius: 500px;
}

.portfolio-filters li.active {
	color: #fff;
	background: #C2121D;
}

.portfolio-filters li:hover {
	color: #fff;
	background: #C2121D;
}

/* GRID */
.portfolio-items-list .mix {
	opacity: 1;
}

.mix-hidden {
	display: none !important;
}

.grid {
	margin-bottom: 30px;
}

/* CARD PRINCIPAL */
.grid figure {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background: #000;
}

/* IMAGEM */
.grid figure img {
	width: 100%;
	transition: 0.5s ease;
	transform: scale(1);
	opacity: 0.95;
}

.grid figure:hover img {
	transform: scale(1.08);
	opacity: 0.85;
}

/* OVERLAY MODERNO */
.grid figure figcaption {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		to top,
		rgba(0,0,0,0.75),
		rgba(0,0,0,0.15)
	);
	opacity: 0;
	transition: 0.4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* HOVER SHOW */
.grid figure:hover figcaption {
	opacity: 1;
}

/* TEXTO INFERIOR (ANTES “APOLLO P”) */
.grid figure p {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	text-transform: capitalize;
	opacity: 0;
	transform: translateY(10px);
	transition: 0.4s ease;
}

.grid figure:hover p {
	opacity: 1;
	transform: translateY(0);
}

/* LINK */
.effect-apollo p a {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s;
}

.effect-apollo p a:hover {
	color: #C2121D;
}

/* GRELHA DESTACADA DO PORTFÓLIO (HOME) */
.home-portfolio-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 20px;
	height: 560px;
	margin-bottom: 25px;
}

.home-portfolio-grid .grid {
	margin-bottom: 0;
	height: 100%;
	min-height: 0;
}

.home-portfolio-grid .grid figure {
	height: 100%;
	margin: 0;
}

.home-portfolio-grid .grid figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-portfolio-item--big {
	grid-row: 1 / span 2;
}

@media (max-width: 991px) {
	.home-portfolio-grid {
		grid-template-columns: 1fr 1fr;
		height: 460px;
	}
}

@media (max-width: 575px) {
	.home-portfolio-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		height: auto;
	}

	.home-portfolio-grid .grid {
		height: 220px;
	}

	.home-portfolio-item--big {
		grid-row: auto;
		height: 280px;
	}
}

.home-portfolio-more {
	display: flex;
	justify-content: flex-end;
}

.home-portfolio-more a {
	color: #C2121D;
	font-weight: 600;
	text-decoration: none;
	transition: 0.3s;
}

.home-portfolio-more a:hover {
	color: #1d293e;
}

/* BOTÃO ZOOM */
.image_zoom {
	width: 55px;
	height: 55px;
	background: #C2121D;
	color: #fff !important;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	text-decoration: none;
	transition: 0.3s ease;
}

.image_zoom:hover {
	background: #fff;
	color: #1f2937 !important;
	transform: scale(1.1);
}

/* BOTÃO VER MAIS */
.portfolio_btn {
	padding-top: 50px;
}

.btn-portfolio-bg {
	background: #C2121D !important;
	border: 1px solid #C2121D;
	border-radius: 3px;
	box-shadow: none;
	color: #fff;
	font-size: 12px;
	padding: 12px 30px;
	text-transform: uppercase;
	transition: all 0.2s ease;
}

.btn-portfolio-bg:hover,
.btn-portfolio-bg:focus {
	background: #1d293e !important;
	border: 1px solid #1d293e !important;
	color: #fff;
}
* ----------------------------------------------------------------------------------------
*  PORTFOLIO DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
 * ----------------------------------------------------------------------------------------
 *10.START TESTIMONIAL DESIGN
 * ----------------------------------------------------------------------------------------
 */
.our_testimonial {
position: relative;
padding:120px 0;

}
.our_testimonial:before {
    background:#020928;
	opacity:0.7;
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}
.single-testimonial{}
.single-testimonial img {
	width: 100px;
	height: 100px;
	margin-bottom: 20px;
	border-radius: 100px;
	display: inline-block;
	border: 5px solid #fff;
}
.single-testimonial h4 {
color:#fff;
	font-weight: 600;
	margin-bottom: 5px;
}
.single-testimonial span {
color:#fff;
	font-weight: 600;
	margin-bottom: 15px;
	display:inline-block;
}
.single-testimonial p {
	color: #fff;
	font-size: 22px;
	line-height: 32px;
}
@media only screen and (max-width:480px) { 
.single-testimonial p {
	color: #fff;
	font-size: 18px;
	line-height:26px;
}
}
.testimonial1-carousel .prev {
	left: -150px;
}
.testimonial1-carousel .next {
	right: -150px;
}
.testimonial1-carousel .slick-arrow {
	height: 90px;
	width: 90px;
	line-height: 90px;
	border-radius: 100px;
	font-size: 20px;
	border: 1px solid #eee;
	color:#fff;
	text-align: center;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	    transform: translateY(-50%);
	cursor: pointer;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
}
@media only screen and (max-width: 812px){
.testimonial1-carousel .slick-arrow { display:none !important;}
}
@media only screen and (max-width: 768px){
.testimonial1-carousel .slick-arrow { display:none !important;}
}
@media only screen and (max-width: 667px){
.testimonial1-carousel .slick-arrow { display:none !important;}
}
.testimonial1-carousel .slick-arrow:hover{background:#fff;color:#1d293e;border: 1px solid #fff;}
.testimonial1-carousel .slick-dots {
	padding: 0;
	list-style: none;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	    transform: translateX(-50%);
	bottom: -70px;
}
.testimonial1-carousel .slick-dots li {
	display: inline-block;
	height: 12px;
	width: 12px;
	margin-right: 10px;
	display: none;
}
.testimonial1-carousel .slick-dots li.slick-active button {
	background: #fff;
}
.testimonial1-carousel .slick-dots li button {
	display: inline-block;
	padding: 0;
	height: 12px;
	width: 12px;
	border: 2px solid #fff;
	border-radius: 100px;
	background: transparent;
	color: transparent;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
}
/*
 * ----------------------------------------------------------------------------------------
 * 10.END TESTIMONIAL DESIGN
 * ----------------------------------------------------------------------------------------
 */
/*
 * ----------------------------------------------------------------------------------------
 * 11.START BLOG DESIGN
 * ----------------------------------------------------------------------------------------
/* =========================================
   FRESH NEWS
========================================= */

/* =========================================
   BLOG CARD
========================================= */
.single_blog{
	background: #fff;
	margin-bottom: 30px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* =========================================
   IMAGE
========================================= */
.blog_img{
	position: relative;
	overflow: hidden;

	width: 100%;
	height: 260px; /* TAMANHO PADRÃO */
}

/* TODAS AS IMAGENS IGUAIS */
.blog_img img{
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: all 0.4s ease;
}

/* HOVER */
.single_blog:hover .blog_img img{
	transform: scale(1.08);
}

/* =========================================
   DATE BOX
========================================= */
.post-date{
	position: absolute;

	top: 15px;
	right: 15px;

	background: #fff;

	padding: 8px 12px;

	border-radius: 6px;

	text-align: center;

	box-shadow: 0px 10px 20px rgba(0,0,0,.10);

	transition: all 0.4s ease;
}

/* HOVER DATE */
.single_blog:hover .post-date{
	background:#C2121D;
}

.single_blog:hover .post-date .date,
.single_blog:hover .post-date .month{
	color:#fff;
}

/* DATE */
.date{
	font-size: 24px;
	font-weight: 700;
	color: #1d293e;
	line-height: 1;
}

.month{
	display: block;
    

	font-size: 13px;
	font-weight: 500;

	color: #1d293e;

	margin-top: 3px;
}

/* =========================================
   CONTENT
========================================= */
.blog_content{
	padding: 20px;
}

.blog_content h3 a{
	font-size: 20px;
	font-weight: 600;

	line-height: 30px;

	margin-bottom: 10px;

	display: block;

	color: #1d293e;

	transition: all 0.3s ease;

}

.blog_content h3 a:hover{
	color:#C2121D;
}

/* =========================================
   BLOG PAGE
========================================= */
.blog-page{
	background:#e9eef3;
}

.single_blog_page{
	background: #fff;

	padding: 60px;

	border-bottom: 1px solid #ddd;
}

.single_blog_page h2 a{
	font-weight: 600;
	font-size: 38px;

	line-height: 50px;

	margin: 20px 0;

	color: #1d293e;

	display: block;

	transition: 0.3s;
}

.single_blog_page h2 a:hover{
	color:#C2121D;
}

.single_blog_page span a{
	color: #C2121D;

	display: inline-block;

	margin-right: 10px;
	margin-bottom: 10px;

	font-weight: 500;
}

.single_blog_page span a:hover{
	color:#1d293e;
}

.single_blog_page_btn{
	color: #C2121D;
}

.single_blog_page_btn:hover{
	color: #1d293e;
}

/* =========================================
   RESPONSIVO
========================================= */
@media(max-width:768px){

	.blog_img{
		height: 220px;
	}

	.blog_content h3 a{
		font-size: 18px;
		line-height: 28px;
	}

	.single_blog_page{
		padding: 30px;
	}

	.single_blog_page h2 a{
		font-size: 28px;
		line-height: 40px;
	}
}
/*START PAGINATION*/
#pagination {
	margin-top: 60px;
}
ul.blog_pagination li a {
	border: 1px solid #eee;
	border-radius: 0;
	color: #1d293e;
	display: block;
	font-size: 16px;
	font-weight: 500;
	background: #fff;
	height: 45px;
	line-height: 45px;
	margin: 5px;
	text-align: center;
	width: 45px;
}
ul.blog_pagination li a:hover {
    color: #fff;
    background: #C2121D;
    border: 1px solid #C2121D;
}



/*END PAGINATION*/
/*START BLOG SIDEBAR DESIGN*/
.contact_form_blog{padding-top:0px!important;}
.blog_sidebar_title {
border-bottom: 1px solid #eee;
color: #1d293e;
font-size: 13px;
font-weight: 600;
letter-spacing: 1px;
margin-bottom: 15px;
margin-top: 0;
padding-bottom: 10px;
text-transform: uppercase;
}
.blog_search, .latest_blog, .advertisement_post, .video_post, .categories, .tag, .upcoming_event {
	margin-bottom: 30px;
	background: #fff;
	padding: 30px 30px;
	border-radius: 3px;
	border-top: 3px solid #C2121D;
	-webkit-box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.06);
	        box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.06);
}
.tag{overflow: hidden;}
@media only screen and (max-width:768px) { 
    .blog_search { margin-top: 60px }
}
.blog_search input {
background: #f5f8fa none repeat scroll 0 0;
border: 1px solid #eee;
border-radius: 0;
color: #282828;
-webkit-transition: all 0.3s ease 0s;
-o-transition: all 0.3s ease 0s;
transition: all 0.3s ease 0s;
height: 50px;
}
.blog_search input:focus{border: 1px solid #C2121D;}
.single_latest_blog {
	overflow: hidden;
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
	margin-bottom: 20px;
}
.single_latest_blog h4 {
	color: #666;
	font-size: 15px;
	font-weight: 500;
	line-height: 28px;
	margin: 0;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.single_latest_blog:hover h4 { color: #C2121D }
.single_latest_blog span { color: #161616 }
.single_upcoming_event {margin-bottom: 20px;}
.single_upcoming_event h4 {
	color: #1d293e;
	font-size: 17px;
	font-weight: 600;
	line-height: 28px;
	margin: 10px 0 0;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.single_upcoming_event:hover h4 { color: #C2121D }
.single_upcoming_event span i{margin-right:5px;color: #C2121D }
.single_upcoming_event span { color: #777 }
.categories ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.categories ul li { }
.categories ul li a {
	color: #1d293e;
	display: block;
	font-size: 14px;
	font-weight: 500;
	padding: 5px 0;
}
.categories ul li a:hover { color: #C2121D }
.categories ul li a i { margin-right: 10px }
.video_post iframe {
    width: 100%;
    height: 100%;
    border: medium none;
}
.tag a {
	border: 2px solid #C2121D;
	border-radius: 30px;
	color: #1d293e;
	display: block;
	float: left;
	font-size: 14px;
	font-weight: 600;
	margin: 6px 4px;
	padding: 5px 16px;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.tag a:hover {
    background: #C2121D;
    color: #fff;
    border: 2px solid #C2121D;
}
/*END BLOG SIDEBAR DESIGN*/
/*START BLOG SINGLE PAGE DESIGN*/
.blog_post {
    background: #e0eff4;
}

/* ===== GRID ORGANIZADO ===== */
.blog_post .row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* CARD PADRÃO */
.single_blog_post {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* ===== IMAGEM PADRÃO UNIFORME ===== */
.single_blog_post img {
    width: 100%;
    height: 220px; /* 🔥 FORÇA TODAS IGUAIS */
    object-fit: cover; /* corta e ajusta sem distorcer */
    display: block;
}

/* TEXTO */
.blog_post_text {
    padding: 20px;
}

/* TÍTULO */
.blog_post_text h4 {
    margin: 15px 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

/* DATA / BADGE (22 Maio etc) */
.single_blog_post .date-box {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #fff;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 700;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* RESPONSIVO */
@media (max-width: 768px) {
    .single_blog_post img {
        height: 180px;
    }
}

/*END BLOG SINGLE PAGE DESIGN*/
/*
 * ----------------------------------------------------------------------------------------
 * 11.END BLOG DESIGN
 * ----------------------------------------------------------------------------------------
 */
 /*
 * ----------------------------------------------------------------------------------------
 * 12.START 404 PAGE
 * ----------------------------------------------------------------------------------------
 */
.search { margin-bottom: 30px }
.error_page h1 {
    font-size: 200px;
    text-shadow: 0 4px 0 #dcdcdc;
}
.form-control-feedback {
    color: #1d293e;
    line-height: 40px !important;
    width: 60px;
}
.error_page h2 {
	font-size:18px;
    line-height: 30px;
    margin-bottom: 30px;
}
.search-input input{border:1px solid #e8e8e9;margin-bottom:20px;}
.error-page{background:#f1f1f1;}
.error_page h1 {
    color: #1d293e;
    font-size: 200px;
    margin: 0;
    text-shadow: 0 4px 0 #dcdcdc;
}
.error_page h1 span { color: #C2121D }

.form-control-feedback {
    color: #1d293e;
    line-height: 50px !important;
}
.error_page h2 {
    color: #1d293e;
    font-size: 18px;
    margin-bottom: 30px;
    margin-top: 10px;
}
.error_page input {
    background:#fff;
    border: medium none;
    color: #1d293e;
    font-size: 16px;
    margin-bottom: 40px;
}
.error_page input:hover,
.error_page input:focus { border: none }

 /*
 * ----------------------------------------------------------------------------------------
 * 12.END 404 PAGE
 * ----------------------------------------------------------------------------------------
 */
/*





* ----------------------------------------------------------------------------------------
* 13.START NEWSLETTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*START TRABLHOS FEITOS*/
/* CARD */
.counter-box{
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.1);

	border-radius: 14px;

	padding: 30px 20px;

	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);

	transition: all .3s ease;

	position: relative;
	overflow: hidden;

	height: 100%;
	width: 100%;
}

/* detalhe premium */
.counter-box::before{
	content: "";
	position: absolute;

	top: 0;
	left: 50%;

	transform: translateX(-50%);

	width: 38px;
	height: 2px;

	background: #f4c067; /* dourado suave */
	border-radius: 50px;
}

/* hover */
.counter-box:hover{
	transform: translateY(-4px);

	border-color: rgba(244,192,103,0.3);

	background: rgba(255,255,255,0.11);
}

/* ÍCONE */
.counter-box .icon{
	width: 56px;
	height: 56px;

	margin: 0 auto 16px;

	border-radius: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.1);

	transition: .3s;
}

/* hover ícone */
.counter-box:hover .icon{
	background: rgba(255,209,102,0.18);
}

/* COR DOS ÍCONES */
.counter-box .icon i {
	font-size: 22px;
	color: #ffd166; /* dourado suave */
}

/* NÚMERO */
.counter-number{
	font-size: 32px;
	font-weight: 700;

	color: #fff;

	line-height: 1;
	margin-bottom: 8px;
}

/* TEXTO */
.counter-box p{
	color: rgba(255,255,255,0.85);

	font-size: 12px;
	font-weight: 500;

	letter-spacing: .4px;
	text-transform: uppercase;

	line-height: 1.4;

	margin: 0;
}

/* MOBILE */
@media(max-width:768px){

	.counter-box{
		padding: 22px 14px;
	}

	.counter-number{
		font-size: 26px;
	}

	.counter-box .icon{
		width: 46px;
		height: 46px;
	}

	.counter-box .icon i {
		font-size: 18px;
	}
}
/*END NUMEROS DE TRABLHOS FEITOS*/

/* CARD FUNDO TRABALHOS FEITOS*/
.newsletter {
	background: #C2121D;
}
/*END PARTNER LOGO DESIGN*/
.signup_form h3 {
color: #fff;
font-size: 36px;
letter-spacing: 1px;
margin-bottom: 30px;
margin-top: 0;
text-transform: capitalize;
}
.signup_form input {
	background:#fff;
	border-color: #C2121D;
	border-style: none none solid;
	border-width: 0 0 1px;
	border-radius: 0;
	box-shadow: none;
	color: #1d293e;
	margin-bottom: 30px;
}

.signup_form input:focus{
	box-shadow: none;
	border-color: #1f2937;
}

/* BOTÃO PRINCIPAL */
/* BOTÕES ESTILO TRANSPARENTE COM BORDA BRANCA */
.signup_form button {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
	border-radius: 6px;
	font-size: 13px;
	padding: 12px 28px;
	text-transform: uppercase;
	font-weight: 600;
	transition: all 0.3s ease;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	gap: 0px;
	cursor: pointer;
}

/* HOVER */
.signup_form button:hover {
	background: #fff;
	color: #C2121D;
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(255,255,255,0.18);
}

/* ÍCONE OPCIONAL */
.signup_form button i {
	font-size: 14px;
}

/* TÍTULO */
.signup_form h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
}

/* TEXTO */
.signup_form p {
	font-size: 14px;
	color: #d1d5db;
}
/*
* ----------------------------------------------------------------------------------------
* 13.END NEWSLETTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
 * ----------------------------------------------------------------------------------------
 * 14.START FAQ DESIGN
 * ----------------------------------------------------------------------------------------
 */
.template_faq{background: #e0eff4 none repeat scroll 0 0;padding-top:60px;padding-bottom:50px;}
.faq_desc { 
background: #fff none repeat scroll 0 0;
margin-bottom: 30px;
padding: 40px;
-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}
.question { 
color: #1d293e;
font-weight: 700;
margin-bottom: 15px;
font-size:22px;
}
.question span {
    background: #1d293e none repeat scroll 0 0;
    color: #fff;
    margin-right: 10px;
    padding: 4px 10px;
}
.ans span {
    background: #C2121D none repeat scroll 0 0;
    color: #fff;
    margin-right: 10px;
    padding: 4px 10px;
}
/*
 * ----------------------------------------------------------------------------------------
 * 14.END FAQ DESIGN
 * ----------------------------------------------------------------------------------------
 */
/*
* ----------------------------------------------------------------------------------------
* 15.START LOGIN AND REGISTER PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
.login_register {
  background: #e0eff4 none repeat scroll 0 0;
}
.login_register_title {
	margin-bottom: 20px;
	margin-top: 0;
	text-align: center;
	text-transform: capitalize;
	font-weight: 600;
}
.login{
background: #fff none repeat scroll 0 0;
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
overflow: hidden;
padding: 60px;
}
.register{
background: #fff none repeat scroll 0 0;
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
overflow: hidden;
padding: 60px;
}
/*
* ----------------------------------------------------------------------------------------
* 15.END LOGIN AND REGISTER PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/


/*
* ----------------------------------------------------------------------------------------
* 16.START CONTACT FORM DESIGN
* ----------------------------------------------------------------------------------------
*/
.contact-area{background:#e0eff4;}
.single_contact_two{

}
.contact {
background:#fff;
padding:60px;
-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}
.form-control {
background: #f5f8fa none repeat scroll 0 0;
border: 1px solid #f5f8fa;
border-radius: 0;
-webkit-box-shadow: none;
        box-shadow: none;
color: #1d293e;
height: 50px;
padding-left: 10px;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
}
.form-control:focus {
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: 0 none;
	border:1px solid #C2121D;
}
.mbnone { margin-bottom: 0px }
.actions {
    margin-top: 30px;
}
.btn-contact-bg {
	background: #C2121D;
	border: 1px solid #C2121D;
	border-radius: 30px;
	color: #fff;
	font-size: 16px;
	padding: 12px 40px;
	text-transform: capitalize;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
}
.btn-contact-bg:hover,
.btn-contact-bg:focus {
    background: #C2121D;
    border: 1px solid #C2121D;
    color: #fff;
	-webkit-box-shadow:none;
	        box-shadow:none;
}
.success {
    background: #fff none repeat scroll 0 0;
    color: #379bbc;
    font-weight: 700;
    padding: 20px;
    text-align: center;
}
.single_address {
	background: #fff none repeat scroll 0 0;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	overflow: hidden;
	padding: 43px 20px;
	border-bottom: 1px solid #eee;
}

.single_address i{
background: #C2121D none repeat scroll 0 0;
border-radius: 100px;
color: #fff;
float: left;
font-size: 22px;
height: 60px;
line-height: 60px;
margin-right: 20px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 60px;
}
.single_address h4{
text-transform: capitalize;
font-weight: 500;
}
.single_address p{overflow: hidden;}
.single_address_mbnone{margin-bottom: 0px;}
.map iframe{height:400px;width:100%;}
.map-pro iframe{height:400px;width:100%;}
/*
* ----------------------------------------------------------------------------------------
* 16.END CONTACT FORM DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 17.START FOOTER TOP DESIGN
* ----------------------------------------------------------------------------------------
*/

	.footer-area {
    position: relative;
    background: #3A465E;
    padding: 160px 0px 60px;
    margin-top: 10px;
}

/*START FOOTER SOCIAL*/
 .footer_social {
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
padding: 40px 0;
 }
.footer_social ul {
    list-style: outside none none;
    margin: 0;
    padding: 0;
}
.footer_social ul li {
    margin: 2px;
    display: inline-block;
}
.footer_social ul li a {
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 30px;
color: #fff;
display: block;
font-size: 16px;
height: 45px;
line-height: 45px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 45px;
}
.footer_social ul li a:hover {background:#fff; color: #C2121D ;border: 1px solid #fff;}
.footer_social ul li a:hover i {
    -webkit-animation: toLeftFromRight 0.4s forwards;
    animation: toLeftFromRight 0.4s forwards;
}
/*END FOOTER SOCIAL*/
.footer-padding{padding:60px 0;}

.single_footer{}
.single_footer h4 {
	color: #fff;
	margin: 0 0 35px;
	text-transform: uppercase;
	font-weight: 600;
}
/*START FOOTER CONTACT*/
.footer_contact ul li {
    color: #fff;
    overflow: hidden;
    margin-bottom: 15px;
}
.footer_contact ul li span {
color: #fff;
display: block;
font-family: montserrat,sans-serif;
padding-top: 8px;
font-size: 15px;
}
.footer_contact ul li  i {
color: #fff;
float: left;
font-size: 16px;
line-height: 40px;
margin-right: 15px;
text-align: center;
}
/*END FOOTER CONTACT*/
.single_footer ul{}
.single_footer ul li{}
.single_footer ul li a {
	color: #fff;
	font-size: 16px;
	text-transform: capitalize;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.single_footer ul li a:hover{color:#C2121D ;}
/*
* ----------------------------------------------------------------------------------------
* 17.START FOOTER TOP DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 18.START FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
.footer {
    background-color: #1f1f1f;
    padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer_copyright {
	color: #fff;
	margin: 0;
	text-transform: capitalize;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 60px;
}
/*
* ----------------------------------------------------------------------------------------
* 18.END FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
 * ----------------------------------------------------------------------------------------
 * 19.START SECTION TOP DESIGN BARRA DE CIMA
 * ----------------------------------------------------------------------------------------
 */ 
/*
 * ----------------------------------------------------------------------------------------

 * ----------------------------------------------------------------------------------------
 */ 

 
.section-top {
	background:#C2121D;
	padding-bottom: 120px;
	padding-top: 200px;
	position: relative;
}
.section-top-map{padding:50px;background:#321949;}
.section-top-title h1 {
    margin: 0;
	color:#fff;
	font-weight:600;
    text-transform: uppercase;
}
.breadcrumb {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    margin-bottom: 0;
}
.breadcrumb > .active {
  color: #fff;
}
.section-top-title ol li a {
color: #fff !important;
 }
.section-top-title ol li a:hover { color: #C2121D!important }
/*
 * ----------------------------------------------------------------------------------------
 * 19.END SECTION TOP DESIGN BARRA DE CIMA
 * ----------------------------------------------------------------------------------------
*/
.home_btn_color_one,
.home_btn_color_two{
    background: #C2121D;
    color: #fff;
    border: 2px solid #ffffff; /* borda branca */
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
}

/* Hover Effect */
.home_btn_color_one:hover,
.home_btn_color_two:hover{
    background: #C2121D; /* vermelho mais escuro */
    color: #fff;
    border: 2px solid #ffffff; /* mantém branca */
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

/* Clique */
.home_btn_color_one:active,
.home_btn_color_two:active{
    transform: scale(0.96);
}


.single_property{
    position: relative;
    overflow: hidden;
}

/* botão ver imagem */
.view-image{
    position: absolute;
    top: 15px;
    right: 15px;
    background: #C2121D;
    color: #fff;
    padding: 8px 12px;
    border-radius: 50px;
    font-size: 12px;
    cursor: pointer;
    opacity: 0;
    transition: 0.3s ease;
    z-index: 2;
}

.single_property:hover .view-image{
    opacity: 1;
}




.team-scroll {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;

  overflow-x: auto;      /* ESSENCIAL */
  overflow-y: hidden;

  padding: 10px 10px;

  scroll-behavior: smooth;

  -webkit-overflow-scrolling: touch; /* mobile */
}

/* cards não podem encolher */
.team-scroll .single_team {
  flex: 0 0 auto;
  width: 280px;
}

/* MOSTRAR barra de scroll */
.team-scroll::-webkit-scrollbar {
  height: 8px;
}

.team-scroll::-webkit-scrollbar-thumb {
  background: #C2121D;
  border-radius: 10px;
}

.team-scroll::-webkit-scrollbar-track {
  background: #f1f1f1;
}



.d-flex.justify-content-center.flex-wrap {
    gap: 30px !important;
}

/* fallback caso o gap falhe em alguns browsers/temas */
.d-flex.justify-content-center.flex-wrap button{
    margin: 10px 10px !important;
}
.signup_form h1{
    color: #ffffff !important;
}

.footer-brand h2,
.footer-brand p {
    color: #ffffff !important;
}
.footer_features .feature-item span,
.footer_features .feature-item i {
    color: #ffffff !important;
}

.blog-text{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.7;
    min-height: 80px;
}

.read-more{
    display: inline-block;
    margin-top: 10px;
    color: #C2121D;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
}

.read-more:hover{
    color: #000;
    text-decoration: underline;
}

/* ÁREA DOS PARCEIROS */
.partner{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    align-items: center;
    gap: 15px;
}

/* CARD DO PARCEIRO */
.partner a{
    display: flex;
    align-items: center;
    justify-content: center;

    height: 100px;
    padding: 12px;


  
    border-radius: 8px;

    overflow: hidden;

    transition: all 0.3s ease;
}

/* IMAGEM */
.partner img{
    width: 100%;
    height: 70px;

    object-fit: contain;

    transition: all 0.3s ease;
}

/* HOVER */
.partner a:hover{
    transform: translateY(-3px);
    border-color: #C2121D;

    box-shadow: 0 5px 15px rgba(0,0,0,0.06);
}

.partner a:hover img{
    transform: scale(1.03);
}


/* PROJECT SECTION */
/* =========================
   ELITE DESIGN STYLE
========================= */

.contact-compact .single_address{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px; /* reduzido */
}

.contact-compact .single_address i{
    font-size: 18px;
    margin-top: 3px;
}

.contact-compact .single_address h4{
    margin: 0;
    font-size: 15px;
}

.contact-compact .single_address p{
    margin: 2px 0 0;
    font-size: 14px;
}

.color-three{
    color: #25D366;
    font-size: 26px;
}




.btn-contact-bg {
    background: linear-gradient(135deg, #C2121D, #C2121D);
    border: none;
    padding: 14px 38px;
    border-radius: 12px;
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 12px 30px rgba(239,68,68,0.25);
    position: relative;
    overflow: hidden;
}

/* efeito hover premium */
.btn-contact-bg:hover {
    transform: translateY(-3px);
    background: linear-gradient(135deg, #C2121D, #7f1d1d);
    box-shadow: 0 18px 40px rgba(239,68,68,0.35);
}

/* efeito de brilho animado (luxo / conversão) */
.btn-contact-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: rgba(255,255,255,0.25);
    transform: skewX(-25deg);
    transition: 0.5s;
}

.btn-contact-bg:hover::before {
    left: 130%;
}

.whatsapp-icon {
    color: #25D366;
    font-size: 20px;
    margin-right: 8px;
    animation: pulse 1.8s infinite;
}

.project-main-image img{
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
}

.project-gallery{
    display: flex;
    gap: 8px; /* diminui a distância entre as imagens */
}

.project-gallery-item{
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    flex: 1;
}

.project-gallery-item img{
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    transition: transform .5s ease;
    display: block;
}

.project-gallery-item:hover img{
    transform: scale(1.08);
}


.project-main-image{
    margin-bottom: 12px !important;
}

.project-main-image img{
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.project-gallery-item{
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    height: 100%;
}

.project-gallery-item img{
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    transition: transform .4s ease;
}

.project-gallery-item:hover img{
    transform: scale(1.08);
}

/* Tablet */
@media (max-width: 991px){

    .project-main-image img{
        height: 420px;
    }

    .project-gallery-item img{
        height: 150px;
    }
}

/* Mobile */
@media (max-width: 576px){

    .project-main-image img{
        height: 300px;
    }



    .project-gallery-item img{
    height: 180px;
}
}



.testimonials-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.4) transparent;
}

.testimonial-card {
    background: linear-gradient(135deg, #C2121D, #C2121D);
    border-radius: 14px;
    padding: 22px;
    color: white;
    height: 100%;
    box-shadow: 0 8px 25px rgba(0,0,0,.20);
    transition: all .3s ease;
    position: relative;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,.30);
}

.quote {
    font-size: 2rem;
    opacity: .25;
    display: block;
    margin-bottom: 10px;
}

.client-info {
    border-top: 1px solid rgba(255,255,255,.2);
    padding-top: 12px;
    font-size: .9rem;
}

.testimonials-scroll::-webkit-scrollbar {
    height: 6px;
}

.testimonials-scroll::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.3);
    border-radius: 20px;
}

/* Modal cor */

.premium-modal{
    background: linear-gradient(
        135deg,
        #C2121d 0%,
        #C2121d 60%,
        #9c1010 100%
    );

    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,.35);
}

.modal-header{
    padding: 20px 22px 5px;
}

.modal-body{
    padding: 15px 22px 25px;
}

.premium-badge{
    color: #ffd4d4;
    font-size: .9rem;
    letter-spacing: 2px;
}

.modal-title{
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
}

.premium-input{
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.15);
    color: #fff;
    border-radius: 10px;
    padding: 12px 14px;
}

.premium-input:focus{
    background: rgba(255,255,255,.15);
    border-color: #C2121D;
    color: #fff;
    box-shadow: 0 0 0 .15rem rgba(255,87,87,.25);
}

.premium-input::placeholder{
    color: rgba(255,255,255,.65);
}

.premium-input option{
    color: #000;
}

.premium-btn{
    background: linear-gradient(
        135deg,
        #C2121D,
        #C2121D
    );

    color: #fff;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    padding: 10px 30px;
    min-width: 200px;

    transition: all .3s ease;
}

.premium-btn:hover{
    background: linear-gradient(
        135deg,
        #C2121D,
        #C2121D
    );

    color: #fff;
    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(193,18,31,.35);
}

.premium-close{
    width: 35px;
    height: 35px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #ffb3b3;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;

    transition: .3s ease;
}

.premium-close:hover{
    background: #C2121D;
    color: #fff;
}

.modal-backdrop.show{
    opacity: .7;
}

@media (max-width: 768px){

    .modal-dialog{
        margin: 10px;
    }

    .modal-header{
        padding: 18px 18px 5px;
    }

    .modal-body{
        padding: 15px 18px 20px;
    }

    .modal-title{
        font-size: 1.1rem;
    }

    .premium-btn{
        width: 100%;
        min-width: auto;
    }
}

/* Formulario orcamento */

/* CARD PRINCIPAL */
.premium-form-card{
    background: linear-gradient(
        135deg,
        #C2121D 0%,
        #C2121D 60%,
        #C2121D 100%
    );

    padding: 40px;
    border-radius: 24px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.20),
        0 5px 15px rgba(156,16,16,.15);

    position: relative;
    overflow: hidden;
}

/* EFEITO PREMIUM */
.premium-form-card::before{
    content: "";

    position: absolute;
    top: -120px;
    right: -120px;

    width: 250px;
    height: 250px;

    background: rgba(255,255,255,.05);

    border-radius: 50%;
}

.premium-form-card::after{
    content: "";

    position: absolute;
    bottom: -100px;
    left: -100px;

    width: 200px;
    height: 200px;

    background: rgba(255,255,255,.04);

    border-radius: 50%;
}

/* INPUTS */
.premium-form-card .form-control{
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);

    color: #fff;

    border-radius: 12px;

    padding: 14px 16px;

    height: auto;

    transition: .3s ease;
}

/* PLACEHOLDER */
.premium-form-card .form-control::placeholder{
    color: rgba(255,255,255,.70);
}

/* SELECT */
.premium-form-card select.form-control{
    color: #fff;
}

.premium-form-card select option{
    color: #000;
}

/* FOCUS */
.premium-form-card .form-control:focus{
    background: rgba(255,255,255,.18);

    border-color: #C2121D;

    box-shadow:
        0 0 0 .2rem rgba(255,123,123,.15);

    color: #fff;
}

/* TEXTAREA */
.premium-form-card textarea{
    resize: none;
}

/* BOTÃO */
.premium-form-card .btn-contact-bg{
    background: linear-gradient(
        135deg,
        #C2121D,
        #C2121D
    );

    border: none;

    color: #fff;

    font-weight: 600;

    padding: 14px 35px;

    border-radius: 50px;

    transition: all .3s ease;
}

.premium-form-card .btn-contact-bg:hover{
    transform: translateY(-3px);

    color: #fff;

    box-shadow:
        0 10px 25px rgba(193,18,31,.35);
}

/* WHATSAPP */
.whatsapp-btn{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    background: #25D366;

    color: #fff !important;

    padding: 12px 25px;

    border-radius: 50px;

    text-decoration: none;

    font-weight: 600;

    transition: .3s;
}

.whatsapp-btn:hover{
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(37,211,102,.35);
}

.whatsapp-icon{
    font-size: 20px;
}

.whatsapp-text{
    color: #d9d9d9;
    font-size: 14px;
}




.team-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    cursor: pointer;
}

/* hover elegante */
.team-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

/* IMAGEM */
.team-image {
    width: 100%;
    height: 340px;
    overflow: hidden;
}

.team-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.team-card:hover .team-image img {
    transform: scale(1.08);
}

/* TEXTO */
.team-info {
    padding: 18px;
    text-align: center;
}

.team-info h3 {
    font-size: 20px;
    font-weight: 600;
    color: #111;
    margin-bottom: 6px;
}

.team-info .role {
    font-size: 15px;
    color: #666;
    margin: 0;
}

/* ========================= */
/* RESPONSIVO               */
/* ========================= */

/* tablets */
@media (max-width: 992px) {
    .team-image {
        height: 300px;
    }

    .team-info h3 {
        font-size: 18px;
    }
}

/* mobile */
@media (max-width: 768px) {
    .team-image {
        height: 260px;
    }

    .team-info {
        padding: 14px;
    }

    .team-info h3 {
        font-size: 17px;
    }

    .team-info .role {
        font-size: 14px;
    }
}

/* pequenos telemóveis */
@media (max-width: 480px) {
    .team-image {
        height: 220px;
    }

    .team-card {
        border-radius: 14px;
    }
}

.team-image img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

/* MARQUEE - EQUIPA TÉCNICA (HOME) */
.team-scroll .team-scroll-item {
    flex: 0 0 280px;
    width: 280px;
}

.team-scroll .team-image {
    height: 280px;
}



* servico

.single_property {
    background: #b83131;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: all .3s ease;
    position: relative;
}

/* efeito hover no card */
.single_property:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

/* container da imagem (IMPORTANTE para o zoom funcionar bem) */
.single_property a {
    display: block;
    overflow: hidden;
}

/* IMAGEM */
.project-img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;

    /* base do zoom */
    transform: scale(1);
    transition: transform 0.6s ease;
}

/* 🔥 ZOOM IN AO PASSAR O CURSOR NA IMAGEM */
.single_property a:hover .project-img {
    transform: scale(1.12);
}

/* CONTEÚDO */
.single_property_content {
    padding: 20px;
}

.single_property_content h4 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 12px;
}

.single_property_content h6 {
    font-size: 14px;
    margin-bottom: 6px;
    color: #666;
}

/* TEXTO INFERIOR */
.single_property_price {
    padding: 0 20px 20px;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
}

/* BOTÃO */
.read-more {
    display: inline-block;
    margin-top: 12px;
    color: #C2121D;
    font-weight: 600;
    text-decoration: none;
    transition: .3s;
}

.read-more:hover {
    color: #C2121D;
}

/* RESPONSIVO */
@media (max-width: 768px) {
    .project-img {
        height: 260px;
    }
}
.project-img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;

    transition: transform 0.6s ease !important;
}

.single_property a {
    display: block;
    overflow: hidden;
}

/* 🔥 HOVER DIRETO NA IMAGEM (mais fiável) */
.project-img:hover {
    transform: scale(1.12) !important;
}

.gallery-row {
    display: flex;
    flex-wrap: nowrap; /* 🔥 força uma única linha */
    gap: 10px;
    justify-content: space-between;
}

/* cada item ocupa 20% */
.gallery-row .single_property {
    flex: 0 0 20%;
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

/* imagem */
.project-img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}

/* zoom hover */
.single_property a:hover .project-img {
    transform: scale(1.12);
}

/* hover card */
.single_property:hover {
    transform: translateY(-5px);
    transition: .3s;
}









.hero-slider {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

/* SLIDES */
.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    background-size: cover;
    background-position: center;
}

.slide.active {
    opacity: 1;
    z-index: 1;
}

/* OVERLAY */
.overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 2;
}

/* TEXTO CENTRAL */
.hero-content {
    position: absolute;
    z-index: 3;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    text-align: center;
    color: #fff;
}

.hero-content h2 {
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 20px;
      color: #fff;
}

.hero-content p {
    font-size: 20px;
    margin-bottom: 30px;
      color: #fff;
}

/* BARRA INFERIOR DO HERO (alinhada com o mesmo .container do resto do site) */
.hero-bottom-bar {
    position: absolute;
    inset: 0;
    z-index: 5;
}

/* BOTÃO ESQUERDO (Banco de talentos) */
.home_btn {
    position: absolute;
    bottom: 25px;
    left: 0;

    display: flex;
    flex-direction: column;
    gap: 12px;

    z-index: 5;
}

.home_btn_color_one {
    padding: 12px 22px;
    border: 2px solid #fff;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    transition: 0.3s;
}

.home_btn_color_one:hover {
    background: #fff;
    color: #000;
}

/* BOTÕES DIREITA (MODERNOS / LINKS LEVES) */
.home_btn_right {
    position: absolute;
    bottom: 25px;
    right: 0;

    display: flex;
    flex-direction: row; /* <-- mesma linha */
    gap: 18px;

    z-index: 5;
    align-items: center;
}

.home_btn_color_two {
    padding: 0;
    border: none;
    background: transparent;

    color: #fff;
    text-decoration: none;

    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;

    opacity: 0.75;
    transition: all 0.25s ease;

    position: relative;
}

/* linha animada */
.home_btn_color_two::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;

    width: 0%;
    height: 1px;
    background: #C2121D;

    transition: 0.3s ease;
}

/* hover moderno */
.home_btn_color_two:hover {
    color: #f7f7f9;
    opacity: 1;
}

.home_btn_color_two:hover::after {
    width: 100%;
}

/* SETAS */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    width: 55px;
    height: 55px;

    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    color: #fff;
    font-size: 26px;
    cursor: pointer;
    transition: .3s;
}

.prev { left: 25px; }
.next { right: 25px; }

.slider-btn:hover {
    background: #C2121D;
}



















.eds-section {
  padding: 3rem 0 2.5rem;
  background: #fff;
  font-family: 'Inter', sans-serif;
}

/* Título SERVIÇOS */
.eds-heading {
  font-size: 1.9rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #111;
  margin-bottom: 2rem;
}

/* Grid de 5 colunas iguais */
.eds-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.1rem;
}

/* Card */
.eds-card {
  display: flex;
  flex-direction: column;
}

/* Contentor da imagem — RETRATO, proporção ~3:4, cantos arredondados */
.eds-card__img-wrap {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 18px;
  background: #d8d8d8;
  flex-shrink: 0;
}

.eds-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
  will-change: transform;
}

/* Zoom ao hover */
.eds-card__img-wrap:hover .eds-card__img {
  transform: scale(1.1);
}

/* Área de texto */
.eds-card__body {
  padding: 0.7rem 0 0;
}

/* Linha cinza fina acima do título */
.eds-card__line {
  width: 100%;
  height: 1px;
  background: #c8c8c8;
  margin-bottom: 0.55rem;
}

.eds-card__title {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #111;
  text-transform: uppercase;
  line-height: 1.35;
  margin: 0 0 0.35rem;
}

/* "Mais informações" + ícone ⓘ */
.eds-card__more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.92rem;
  font-weight: 500;
  color: #555;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  transition: color 0.2s;
  text-decoration: none;
}

.eds-card__more:hover {
  color: #111;
}

.eds-card__more svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

/* ---- Rodapé ---- */
.eds-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding-top: 2.5rem;
}

.eds-footer__link {
  font-size: 0.82rem;
  font-weight: 500;
  color: #111;
  text-decoration: none;
  position: relative;
}

.eds-footer__link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background: #111;
}

.eds-footer__link:hover {
  color: #444;
}

.eds-footer__btn {
  margin-left: auto;
  background: #C2121D;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 0.55rem 1.4rem;
  font-size: 0.82rem;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background 0.2s;
}

.eds-footer__btn:hover {
  background: #C2121D;
  color: #fff;
}

/* ---- Responsivo ---- */
@media (max-width: 991px) {
  .eds-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 575px) {
  .eds-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .eds-footer__btn {
    margin-left: 0;
    width: 100%;
    justify-content: center;
  }
}



.footer-link-custom {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-link-custom:hover {
    color: #C2121D;
}






/*footer novo



.ed-footer *,
.ed-footer *::before,
.ed-footer *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ---------- VARIÁVEIS ---------- */
:root {
  --ed-red      : #C2121D;
  --ed-red-dark : #C2121D;
  --ed-dark     : #0d0d0d;
  --ed-mid      : #161616;
  --ed-line     : rgba(255,255,255,.08);
  --ed-muted    : #888;
  --ed-white    : #fff;
  --ed-font     : 'Barlow', 'Inter', system-ui, sans-serif;
  --ed-radius   : 8px;
  --ed-ease     : .25s ease;
}

/* ============================================================
   WRAPPER
============================================================ */
.ed-footer {
  font-family : var(--ed-font);
  background  : var(--ed-dark);
  color       : var(--ed-muted);
  font-size   : .875rem;
  line-height : 1.6;
}

/* container-fluid com padding lateral controlado */
.ed-footer .ed-wrap {
  width   : 100%;
  padding : 0 60px;
}

/* ============================================================
   FAIXA TOPO VERMELHA
============================================================ */
.ed-footer__topbar {
  background : var(--ed-red);
  padding    : 18px 0;
}

.ed-footer__topbar-inner {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  flex-wrap       : wrap;
  gap             : 14px;
}

.ed-footer__topbar-text {
  color       : rgba(255,255,255,.92);
  font-size   : .85rem;
  font-weight : 400;
  display     : flex;
  align-items : center;
  gap         : 10px;
}
.ed-footer__topbar-text strong { color: #fff; font-weight: 700; }
.ed-footer__topbar-text svg    { flex-shrink: 0; }

.ed-footer__topbar-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Botões faixa */
.ed-btn-top {
  display         : inline-flex;
  align-items     : center;
  gap             : 8px;
  padding         : 10px 24px;
  border-radius   : 50px;
  font-size       : .82rem;
  font-weight     : 600;
  font-family     : var(--ed-font);
  cursor          : pointer;
  transition      : all var(--ed-ease);
  text-decoration : none;
  white-space     : nowrap;
  border          : none;
  letter-spacing  : .2px;
}

.ed-btn-top--white {
  background : var(--ed-white);
  color      : var(--ed-red);
}
.ed-btn-top--white:hover {
  background : #f0f0f0;
  color      : var(--ed-red-dark);
  transform  : translateY(-2px);
}

.ed-btn-top--outline {
  background : transparent;
  color      : var(--ed-white);
  border     : 1.5px solid rgba(255,255,255,.75);
}
.ed-btn-top--outline:hover {
  background : rgba(255,255,255,.15);
  transform  : translateY(-2px);
}

/* ============================================================
   CORPO PRINCIPAL
============================================================ */
.ed-footer__body {
  padding        : 64px 0 52px;
  border-bottom  : none;
}

.ed-footer__grid {
  display               : grid;
  grid-template-columns : 1.8fr 1fr 1fr 1fr 1.4fr;
  gap                   : 52px;
  align-items           : start;
}

/* ── COLUNA BRAND ── */
.ed-footer__brand {}

/* Link wrapper do logo */
.ed-footer__logo-link {
  display         : inline-block;
  text-decoration : none;
  margin-bottom   : 22px;
}

/* Imagem do logotipo */
.ed-footer__logo-img {
  height     : 64px;
  width      : auto;
  display    : block;
  transition : opacity .25s;
}
.ed-footer__logo-link:hover .ed-footer__logo-img { opacity: .8; }

.ed-footer__desc {
  font-size     : .85rem;
  color         : #999;
  line-height   : 1.8;
  margin-bottom : 26px;
  max-width     : 270px;
}

/* Redes sociais */
.ed-footer__socials {
  display       : flex;
  gap           : 10px;
  margin-bottom : 0;
}

.ed-social {
  width           : 40px;
  height          : 40px;
  border          : 1px solid rgba(255,255,255,.14);
  border-radius   : 50%;
  display         : flex;
  align-items     : center;
  justify-content : center;
  color           : #777;
  text-decoration : none;
  transition      : all var(--ed-ease);
}
.ed-social svg { width: 16px; height: 16px; fill: currentColor; }
.ed-social:hover {
  border-color : var(--ed-red);
  background   : var(--ed-red);
  color        : var(--ed-white);
  transform    : translateY(-3px);
}

/* ── COLUNAS DE LINKS ── */
.ed-footer__col {}

.ed-footer__col-title {
  font-size     : .73rem;
  font-weight   : 700;
  text-transform: uppercase;
  letter-spacing: .7px;
  color         : var(--ed-white);
  margin-bottom : 22px;
  position      : relative;
  padding-bottom: 14px;
}
.ed-footer__col-title::after {
  content    : '';
  position   : absolute;
  bottom     : 0; left: 0;
  width      : 28px; height: 2px;
  background : var(--ed-red);
}

.ed-footer__links { list-style: none; display: flex; flex-direction: column; gap: 12px; }

.ed-footer__links a {
  color           : #999;
  text-decoration : none;
  font-size       : .85rem;
  display         : inline-flex;
  align-items     : center;
  gap             : 0;
  transition      : color var(--ed-ease), padding-left var(--ed-ease);
}
.ed-footer__links a:hover {
  color        : var(--ed-white);
  padding-left : 10px;
}
/* seta ao hover */
.ed-footer__links a::before {
  content    : '';
  display    : inline-block;
  width      : 0; height: 1.5px;
  background : var(--ed-red);
  margin-right: 0;
  transition : width var(--ed-ease), margin-right var(--ed-ease);
  flex-shrink: 0;
}
.ed-footer__links a:hover::before { width: 12px; margin-right: 8px; }

/* Tag badge */
.ed-tag {
  display       : inline-block;
  background    : var(--ed-red);
  color         : #fff;
  font-size     : .58rem;
  font-weight   : 700;
  padding       : 2px 7px;
  border-radius : 4px;
  letter-spacing: .3px;
  text-transform: uppercase;
  margin-left   : 6px;
  vertical-align: middle;
}

/* ── COLUNA CONTACTO ── */
.ed-footer__contact-item {
  display     : flex;
  align-items : flex-start;
  gap         : 14px;
  margin-bottom: 20px;
}

.ed-footer__contact-icon {
  width           : 38px; height: 38px;
  background      : rgba(255,255,255,.06);
  border          : 1px solid rgba(255,255,255,.08);
  border-radius   : 50%;
  display         : flex;
  align-items     : center;
  justify-content : center;
  flex-shrink     : 0;
  margin-top      : 2px;
}
.ed-footer__contact-icon svg { width: 15px; height: 15px; fill: none; stroke: var(--ed-red); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.ed-footer__contact-label {
  font-size     : .68rem;
  color         : #555;
  display       : block;
  margin-bottom : 4px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.ed-footer__contact-value { font-size: .85rem; color: #ccc; }
.ed-footer__contact-value a { color: #ccc; text-decoration: none; transition: color var(--ed-ease); }
.ed-footer__contact-value a:hover { color: var(--ed-white); }

/* ── NEWSLETTER ── */
.ed-footer__newsletter { margin-top: 28px; }

.ed-footer__newsletter-label {
  font-size     : .73rem;
  font-weight   : 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color         : var(--ed-white);
  margin-bottom : 14px;
  display       : block;
}

.ed-footer__nl-form {
  display    : flex;
  gap        : 0;
  overflow   : hidden;
  border     : 1px solid rgba(255,255,255,.12);
  border-radius: var(--ed-radius);
  background : rgba(255,255,255,.05);
}

.ed-footer__nl-input {
  flex       : 1;
  background : transparent;
  border     : none;
  outline    : none;
  padding    : 12px 16px;
  font-size  : .82rem;
  color      : var(--ed-white);
  font-family: var(--ed-font);
  min-width  : 0;
}
.ed-footer__nl-input::placeholder { color: #555; }

.ed-footer__nl-btn {
  background    : var(--ed-red);
  color         : var(--ed-white);
  border        : none;
  padding       : 12px 20px;
  font-size     : .8rem;
  font-weight   : 600;
  font-family   : var(--ed-font);
  cursor        : pointer;
  transition    : background var(--ed-ease);
  white-space   : nowrap;
  letter-spacing: .2px;
  flex-shrink   : 0;
}
.ed-footer__nl-btn:hover { background: var(--ed-red-dark); }

/* ============================================================
   BOTTOM BAR
============================================================ */
.ed-footer__bottom { padding: 22px 0; }

.ed-footer__bottom-inner {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  flex-wrap       : wrap;
  gap             : 12px;
}

.ed-footer__copy { font-size: .75rem; color: #444; }
.ed-footer__copy a { color: #666; text-decoration: none; transition: color var(--ed-ease); }
.ed-footer__copy a:hover { color: var(--ed-white); }

.ed-footer__bottom-links { display: flex; gap: 28px; flex-wrap: wrap; }
.ed-footer__bottom-links a { font-size: .75rem; color: #444; text-decoration: none; transition: color var(--ed-ease); }
.ed-footer__bottom-links a:hover { color: var(--ed-white); }

.ed-footer__made { font-size: .72rem; color: #333; display: flex; align-items: center; gap: 5px; }
.ed-footer__made span { color: var(--ed-red); font-size: .9rem; }

/* ============================================================
   RESPONSIVO
============================================================ */
@media (max-width: 1199px) {
  .ed-footer .ed-wrap { padding: 0 36px; }
  .ed-footer__grid    { grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; }
  /* Contacto fica full-width em baixo */
  .ed-footer__col:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; }
  .ed-footer__newsletter { margin-top: 0; }
}

@media (max-width: 900px) {
  .ed-footer .ed-wrap { padding: 0 24px; }
  .ed-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .ed-footer__brand { grid-column: 1 / -1; }
  .ed-footer__col:last-child { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .ed-footer__topbar-inner { flex-direction: column; text-align: center; }
  .ed-footer__topbar-actions { justify-content: center; }
}

@media (max-width: 560px) {
  .ed-footer .ed-wrap { padding: 0 16px; }
  .ed-footer__grid { grid-template-columns: 1fr; }
  .ed-footer__col:last-child { grid-template-columns: 1fr; }
  .ed-footer__desc { max-width: 100%; }
  .ed-footer__body { padding: 44px 0 36px; }
  .ed-footer__bottom-inner { flex-direction: column; text-align: center; }
  .ed-footer__bottom-links { justify-content: center; }
  .ed-btn-top { width: 100%; justify-content: center; }
}


/* PADRÃO DE ESPAÇAMENTO ENTRE SECÇÕES (usado em todas as páginas) */
.section-padding {
    padding: 70px 0;
}

/* CONTAINER MAIS FLUIDO/ABERTO — SÓ NA HOME */
@media (min-width: 1200px) {
    .home-page .container {
        max-width: 1320px;
    }

    .home-page .ed-wrap {
        max-width: 1320px;
        margin: 0 auto;
    }
}

@media (min-width: 1600px) {
    .home-page .container {
        max-width: 1500px;
    }

    .home-page .ed-wrap {
        max-width: 1500px;
    }
}

.section-title {
    font-size: 38px;
    font-weight: 600;
    text-transform: uppercase;
    color: #000;
    margin-top: 0;
    margin-bottom: 16px;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 1px;
}

/* TRAÇO DECORATIVO ABAIXO DO TÍTULO */
.section-title > div {
    width: 60px;
    height: 3px;
    background: #C2121D;
    margin: 0 0 34px;
}

.section-title.text-center > div {
    margin: 0 auto 34px;
}
.login_register{
    background-color: #f8f9fa; /* branco suave */
}

/* BANNER DE TÍTULO DAS PÁGINAS INTERNAS */
/* .page-banner-wrap: invólucro SEM fundo, só com padding-top para empurrar
   o banner para baixo do menu (.site-navbar é position:absolute e não
   empurra o conteúdo). Usa padding (não margin) para não colapsar com a
   margem do body e mexer na posição do próprio menu. O fundo vermelho vive
   só no .page-banner interno, então nunca pinta atrás do menu. */
.page-banner-wrap {
    padding-top: 92px;
}

.page-banner {
    background: linear-gradient(120deg, #C2121D 0%, #7a0c11 100%);
    padding: 50px 0;
    text-align: center;
}

.page-banner-title {
    color: #fff;
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

@media (max-width: 767px) {
    .page-banner-wrap {
        padding-top: 110px;
    }
    .page-banner {
        padding: 30px 0;
    }
    .page-banner-title {
        font-size: 1.5rem;
    }
}


.ed-pf {
  padding    : 64px 60px 56px;
  background : #fff;
}

/* ── CABEÇALHO ── */
.ed-pf__header {
  display         : flex;
  align-items     : baseline;
  justify-content : space-between;
  margin-bottom   : 28px;
}

.ed-pf__title {
  font-size      : 1.6rem;
  font-weight    : 900;
  text-transform : uppercase;
  letter-spacing : -.3px;
  color          : #111;
  font-family    : 'Barlow', 'Inter', system-ui, sans-serif;
  margin         : 0;
}

.ed-pf__all-link {
  font-size      : .75rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : .6px;
  color          : #111;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition     : color .2s;
  white-space    : nowrap;
  font-family    : 'Barlow', 'Inter', system-ui, sans-serif;
}
.ed-pf__all-link:hover { color: #C2121D; }

/* ── GRID ── */
.ed-pf__grid {
  display               : grid;
  grid-template-columns : 1.55fr 1fr 1fr;
  grid-template-rows    : 245px 245px;
  gap                   : 10px;
}

/* Item grande ocupa as 2 linhas na coluna 1 */
.ed-pf__item:first-child {
  grid-row : 1 / 3;
}

/* ── ITEM ── */
.ed-pf__item {
  position      : relative;
  overflow      : hidden;
  border-radius : 10px;
  cursor        : pointer;
}

.ed-pf__item img {
  width      : 100%;
  height     : 100%;
  object-fit : cover;
  display    : block;
  transition : transform .55s cubic-bezier(.25,.8,.25,1);
}

.ed-pf__item:hover img {
  transform : scale(1.07);
}

/* ── OVERLAY HOVER ── */
.ed-pf__overlay {
  position        : absolute;
  inset           : 0;
  background      : rgba(0, 0, 0, .42);
  display         : flex;
  align-items     : center;
  justify-content : center;
  opacity         : 0;
  transition      : opacity .3s;
}

.ed-pf__item:hover .ed-pf__overlay {
  opacity : 1;
}

.ed-pf__overlay span {
  color          : #fff;
  font-size      : .82rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : .8px;
  font-family    : 'Barlow', 'Inter', system-ui, sans-serif;
  border         : 1.5px solid rgba(255,255,255,.75);
  padding        : 8px 20px;
  border-radius  : 50px;
}

/* ── RESPONSIVO ── */
@media (max-width: 1000px) {
  .ed-pf { padding: 48px 36px 44px; }
  .ed-pf__grid {
    grid-template-columns : 1.4fr 1fr 1fr;
    grid-template-rows    : 200px 200px;
  }
}

@media (max-width: 768px) {
  .ed-pf { padding: 40px 24px; }
  .ed-pf__grid {
    grid-template-columns : 1fr 1fr;
    grid-template-rows    : 180px 180px 180px;
  }
  .ed-pf__item:first-child {
    grid-column : 1 / 3;
    grid-row    : 1 / 2;
  }
}

@media (max-width: 480px) {
  .ed-pf { padding: 32px 16px; }
  .ed-pf__grid {
    grid-template-columns : 1fr;
    grid-template-rows    : repeat(5, 200px);
  }
  .ed-pf__item:first-child {
    grid-column : 1;
    grid-row    : 1;
  }
}


/* ── NOVO CARDDDDDDDDD ── */
.testimonial-card {
    background: #8B0000; /* vermelho escuro */
    color: #fff;
    border-radius: 12px;
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;

    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

.testimonial-text {
    color: #fff;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    line-height: 1.6;
}



.pagination {
    gap: 6px;
}

/* links normais */
.pagination .page-link {
    color: #b91c1c; /* vermelho elegante */
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 8px 14px;
    transition: all .3s ease;
    background: #fff;
}

/* hover */
.pagination .page-link:hover {
    background: #b91c1c;
    color: #fff;
    border-color: #b91c1c;
    transform: translateY(-2px);
}

/* ativo */
.pagination .active .page-link {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
    font-weight: 600;
}

/* disabled */
.pagination .disabled .page-link {
    opacity: .5;
}

/* wrapper */
.pagination-wrapper {
    margin-top: 30px;
}














/* IMAGEM PADRONIZADA */
.property_img {
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.property_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}











.login_register {
    background: #fafafa;
    min-height: 100vh;
}

.login_register .card {
    border-radius: 15px;
}

.login_register .form-control {
    height: 50px;
    border-radius: 8px;
}

.login_register .btn-contact-bg {
    height: 50px;
    border-radius: 8px;
}









/* LADO ESQUERDO */

/* faz o texto do hero alinhar com o mesmo .container usado nas secções abaixo,
   em vez de se posicionar em relação à largura total do ecrã */
.hero-slider .container {
    position: relative;
    height: 100%;
}

.hero-content {
    text-align: left !important;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    max-width: 600px;
}



/* ICONES MENU */
.home_btn {
    align-items: flex-start;
    text-align: left;
}

.home_btn_color_one {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;
    min-width: 183px;
    height: 35px;
    padding: 0 14px;
    white-space: nowrap;

    text-align: center;
    text-decoration: none;

    background: #d10f1a;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
}

.home_socials {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}

.social_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #fff;
    text-decoration: none;

    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.social_icon i {
    font-size: 22px;
    line-height: 1;
}

.social_icon:hover {
    color: #d10f1a;
}





.timeA {
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
}

.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    text-decoration: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible;
}

.social-icon svg {
    width: 15px;
    height: 15px;
    display: block;
    color: #ffffff !important;
    fill: currentColor;
    transition: 0.3s ease;
}

.social-icon--fb {
    position: relative;
    left: 10px;
}

.social-icon:hover svg {
    opacity: 0.8;
    transform: scale(1.1);
}




@media (max-width: 768px) {

    .slide {
        background-position: center center;
        background-size: cover;
    }

    .container {
        padding: 0 20px;
    }

     .hero-content {
        max-width: 100%;
        width: 100%;
        margin-top: 40px; /* antes 80px */
        text-align: center !important;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .hero-content h2 {
        font-size: 2rem;
        line-height: 1.1;
        margin-bottom: 12px;
    }

    .hero-content p {
        font-size: 0.95rem;
        line-height: 1.6;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    /* Botão + links centralizados e empilhados de forma organizada */
    .hero-bottom-bar {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
        gap: 14px;
        padding: 0 20px 30px;
    }

    .home_btn {
        position: static;
        align-items: center;
        text-align: center;
        width: 100%;
    }

    .home_btn_color_one {
        box-sizing: border-box;
        width: 100%;
        max-width: 260px;
        height: 42px;
        margin: 0 auto;
        padding: 0 14px;
        white-space: nowrap;
        font-size: 16px;
    }

    /* Ícones sociais abaixo do botão */
    .timeA {
        margin-top: 2px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .social-icon svg {
        width: 15px;
        height: 15px;
    }

    .home_btn_right {
        position: static;
        right: auto;
        bottom: auto;

        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 16px;
        width: 100%;
    }

    .home_btn_right a {
        font-size: 13px;
        white-space: nowrap;
    }

    .slider-btn {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
}









.home_btn_right a {
    color: #C2121d;
    position: relative;
    transition: 0.3s ease;
    text-decoration: none;
}

/* linha animada vermelha */
.home_btn_right a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0%;
    height: 2px;
    background: #C2121d;
    transition: 0.3s ease;
}

.home_btn_right a:hover {
    color: #ff3b3b;
}

.home_btn_right a:hover::after {
    width: 100%;
}











.service-card img {
    width: 100%;
    height: 300px; /* ajuste conforme desejar */
    object-fit: cover;
    display: block;
}








.ceo-section{
    position: relative;
    overflow: hidden;
}

.ceo-section::before{
    content: "";
    position: absolute;
    top: -140px;
    right: -140px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(194,18,29,0.08) 0%, rgba(194,18,29,0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.ceo-section::after{
    content: "";
    position: absolute;
    bottom: -120px;
    left: -120px;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(194,18,29,0.06) 0%, rgba(194,18,29,0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.ceo-photo-card{
    position:relative;
    background:#fff;
    padding:10px;
    border-radius:20px;
    border:2px solid #C2121D;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition: transform .35s ease, box-shadow .35s ease;
}

.ceo-photo-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0,0,0,.15);
}

.ceo-photo{
    width:100%;
    height:480px;
    object-fit:cover;
    object-position:center top;
    border-radius:15px;
}

.ceo-badge{
    position:absolute;
    bottom:25px;
    left:25px;
    background:#dc3545;
    color:#fff;
    padding:8px 15px;
    border-radius:30px;
    font-size:13px;
}

.ceo-profile-card,
.info-card{
    background:#fff;
    padding:30px;
    border-radius:14px;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.ceo-profile-card:hover,
.info-card:hover{
    transform: translateY(-6px);
    border-color: rgba(194,18,29,.25);
    box-shadow: 0 18px 40px rgba(17,17,17,.1);
}

.ceo-profile-card h2{
    font-weight: 700;
    color: #1a1a1a;
}

.ceo-role{
    display: inline-block;
    color: #C2121D;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding-bottom: 16px;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(0,0,0,.08);
    width: 100%;
}

.info-card h4{
    font-weight: 700;
    color: #C2121D;
    font-size: 1.05rem;
}


.info-card__accent{
    width: 30px;
    height: 3px;
    background: #C2121D;
    border-radius: 2px;
    margin-bottom: 16px;
}

.info-card h4{
    margin-bottom:15px;
}

.info-card ul{
    padding-left:18px;
}

@media(max-width:768px){
    .ceo-photo{
        height:380px;
    }
}

/* TEXTO LIMITADO (BIOGRAFIA / CARDS DA CEO) */
.ceo-clamp-text {
    line-height: 1.7;
}

.ceo-clamp-text--sm {
    line-height: 1.6;
}

/* SOBRE A EMPRESA, PORTFÓLIO, PROJECTOS, PROJECTO (detalhe), SERVIÇO
   (detalhe) e NOTICIAS agora começam com o .page-banner, que já compensa
   o menu absoluto — por isso essas secções voltam ao padding-top padrão
   do .section-padding. */

.project-content{
    height: 100%;
}

.project-btn .btn-contact-bg{
    margin: 0;
}

.sidebar-btn.project-btn .btn-contact-bg{
    width: 100%;
}

.about-us-cntent .eds-heading{
    margin-bottom: 14px;
}

.about-us-cntent .info-card__accent{
    margin-bottom: 22px;
}

.about-us-cntent p{
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.85;
    color: #555;
}

.about_img{
    position: relative;
    margin-top: 40px;
}

.about_img img{
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
    transition: transform .35s ease, box-shadow .35s ease;
}

.about_img:hover img{
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0,0,0,.18);
}






.preview-image{
    width:100%;
    height:220px;
    background:#f8f9fa;
    border:2px dashed #dee2e6;
    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#6c757d;
    font-weight:500;
}

.ceo-avatar{
    width:90px;
    height:90px;

    border-radius:50%;

    background:#f8f9fa;
    border:2px dashed #dee2e6;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:12px;
    color:#6c757d;
    flex-shrink:0;
}




.visao_missao{
    background:#C2121D;
}

.vm-card{
   background:#C2121D;
    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,0.15);
    border-radius:14px;

    padding:30px 20px;

    text-align:center;

    height:100%;

    transition:.3s ease;
}

.vm-card:hover{
    transform:translateY(-8px);
    background:rgba(255,255,255,0.12);
}

.vm-icon{
    width:56px;
    height:56px;

    margin:0 auto 16px;

    border-radius:50%;

    background:rgba(255,255,255,0.12);

    display:flex;
    align-items:center;
    justify-content:center;
}

.vm-icon i{
    font-size:22px;
    color:#ffd166;
}

.vm-card h3{
    color:#fff;
    font-size:20px;
    font-weight:700;
    margin-bottom:14px;
}

.vm-card p{
    color:#fff;
    line-height:1.7;
    font-size:14px;

    text-align:justify;
    text-justify:inter-word;

    margin-bottom:0;
}

/* Mobile */
@media(max-width:768px){

    .vm-card{
        padding:22px 14px;
    }

    .vm-card h3{
        font-size:18px;
    }

    .vm-card p{
        font-size:13px;
    }

}