@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

:root {
  /* Cores */
  --fTema: #f6f5f2;
  --fTema2: #cc4400;
  --fTema3: #E84E0F;
  --fTema4: #E84E0F;

  /* Tipografia */
  --font-base: 'Outfit', sans-serif;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-md: 20px;
  --fs-lg: 28px;
  --fs-xl: 40px;
  --lh-text: 1.6;

  /* Espaçamento (8pt grid) */
  --sp-1: 8px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-5: 48px;
  --sp-6: 64px;
  --sp-7: 96px;

  /* Visual */
  --radius: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.07);
  --shadow-md: 0 6px 24px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.13);
  --transition: all 0.2s ease;
}

@font-face {
  font-family: "fChampagner";
  src: url("../fonts/Champagne & Limousines.ttf");
}

* {
  box-sizing: border-box;
}

:focus {
  outline: none;
}

/* force scrollbar */
html {
  overflow-y: scroll;
}

body {
  background: var(--fTema);
  font-family: var(--font-base);
  font-size: var(--fs-base);
  font-weight: 300;
  line-height: var(--lh-text);
  color: #3a3a3a;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-base);
  font-weight: 600;
  line-height: 1.25;
  color: #1a1a1a;
  margin-top: 0;
}

h1 {
  font-size: var(--fs-xl);
}

h2 {
  font-size: var(--fs-lg);
}

h3 {
  font-size: var(--fs-md);
}

h4 {
  font-size: var(--fs-base);
}

p {
  color: #5a5a5a;
  line-height: var(--lh-text);
  margin-bottom: var(--sp-2);
}

a {
  text-decoration: none;
  transition: var(--transition);
}

.fMontserrat {
  font-family: 'Montserrat', sans-serif;
}

/* Quebras */
.quebra {
  clear: both;
}

.quebra10 {
  clear: both;
  height: 10px;
}

.quebra15 {
  clear: both;
  height: 15px;
}

.quebra20 {
  clear: both;
  height: 20px;
}

.quebra30 {
  clear: both;
  height: 30px;
}

.quebra50 {
  clear: both;
  height: 50px;
}

.quebra70 {
  clear: both;
  height: 70px;
}

.quebra80 {
  clear: both;
  height: 80px;
}

.quebra100 {
  clear: both;
  height: 100px;
}

.quebraPalavra {
  word-wrap: break-word;
}

/* Display */
.cp {
  cursor: pointer;
}

.cn {
  cursor: text;
}

.db {
  display: block;
}

.dn {
  display: none;
}

.di {
  display: inline;
}

.dib {
  display: inline-block;
}

.dif {
  display: inline-flex;
}

.dtc {
  display: table-cell;
}

.dt {
  display: table;
}

.df {
  display: flex;
}

.alCenter {
  align-items: center;
}

.ovf {
  overflow: hidden;
}

.pa {
  position: absolute;
}

.pf {
  position: fixed;
}

.pr {
  position: relative;
}

.float {
  float: left;
  position: relative;
}

.floatD {
  float: right;
  position: relative;
}

.floatF {
  float: left;
  position: relative;
  width: 100%;
}

.floatN {
  float: none;
}

/* Espaçamento (Margin e Padding) */
.ml0 {
  margin-left: 0;
}

.ml5 {
  margin-left: 5px;
}

.ml10 {
  margin-left: 10px;
}

.ml15 {
  margin-left: 15px;
}

.ml20 {
  margin-left: 20px;
}

.ml25 {
  margin-left: 30px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml40 {
  margin-left: 40px;
}

.ml45 {
  margin-left: 45px;
}

.ml50 {
  margin-left: 50px;
}

.ml55 {
  margin-left: 55px;
}

.ml60 {
  margin-left: 60px;
}

.ml65 {
  margin-left: 65px;
}

.ml70 {
  margin-left: 70px;
}

.ml75 {
  margin-left: 75px;
}

.ml80 {
  margin-left: 80px;
}

.ml85 {
  margin-left: 85px;
}

.ml90 {
  margin-left: 90px;
}

.ml95 {
  margin-left: 95px;
}

.ml100 {
  margin-left: 100px;
}

.mr0 {
  margin-right: 0;
}

.mr5 {
  margin-right: 5px;
}

.mr10 {
  margin-right: 10px;
}

.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 30px;
}

.mr30 {
  margin-right: 30px;
}

.mr35 {
  margin-right: 35px;
}

.mr40 {
  margin-right: 40px;
}

.mr45 {
  margin-right: 45px;
}

.mr50 {
  margin-right: 50px;
}

.mr55 {
  margin-right: 55px;
}

.mr60 {
  margin-right: 60px;
}

.mr65 {
  margin-right: 65px;
}

.mr70 {
  margin-right: 70px;
}

.mr75 {
  margin-right: 75px;
}

.mr80 {
  margin-right: 80px;
}

.mr85 {
  margin-right: 85px;
}

.mr90 {
  margin-right: 90px;
}

.mr95 {
  margin-right: 95px;
}

.mr100 {
  margin-right: 100px;
}

.mt0 {
  margin-top: 0;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 30px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mt95 {
  margin-top: 95px;
}

.mt100 {
  margin-top: 100px;
}

.mb0 {
  margin-bottom: 0;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb150 {
  margin-bottom: 150px;
}

.mb200 {
  margin-bottom: 200px;
}

.mb250 {
  margin-bottom: 250px;
}

.mbN20 {
  margin-bottom: -20px
}

.mtb25 {
  margin-bottom: 30px;
  margin-top: 30px;
}

.p0 {
  padding: 0px;
}

.p5 {
  padding: 5px;
}

.p10 {
  padding: 10px;
}

.p15 {
  padding: 15px;
}

.p20 {
  padding: 20px;
}

.p25 {
  padding: 30px;
}

.p30 {
  padding: 30px;
}

.p35 {
  padding: 35px;
}

.p40 {
  padding: 40px;
}

.p45 {
  padding: 45px;
}

.p50 {
  padding: 50px;
}

.p55 {
  padding: 55px;
}

.p60 {
  padding: 60px;
}

.p65 {
  padding: 65px;
}

.p70 {
  padding: 70px;
}

.p75 {
  padding: 75px;
}

.p80 {
  padding: 80px;
}

.p85 {
  padding: 85px;
}

.p90 {
  padding: 90px;
}

.p95 {
  padding: 95px;
}

.p100 {
  padding: 100px;
}

.pl0 {
  padding-left: 0;
}

.pl5 {
  padding-left: 5px;
}

.pl10 {
  padding-left: 10px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 30px;
}

.pl30 {
  padding-left: 30px;
}

.pl35 {
  padding-left: 35px;
}

.pl40 {
  padding-left: 40px;
}

.pl45 {
  padding-left: 45px;
}

.pl50 {
  padding-left: 50px;
}

.pl55 {
  padding-left: 55px;
}

.pl60 {
  padding-left: 60px;
}

.pl65 {
  padding-left: 65px;
}

.pl70 {
  padding-left: 70px;
}

.pl75 {
  padding-left: 75px;
}

.pl80 {
  padding-left: 80px;
}

.pl85 {
  padding-left: 85px;
}

.pl90 {
  padding-left: 90px;
}

.pl95 {
  padding-left: 95px;
}

.pl100 {
  padding-left: 100px;
}

.pr0 {
  padding-right: 0;
}

.pr5 {
  padding-right: 5px;
}

.pr10 {
  padding-right: 10px;
}

.pr15 {
  padding-right: 15px;
}

.pr20 {
  padding-right: 20px;
}

.pr25 {
  padding-right: 30px;
}

.pr30 {
  padding-right: 30px;
}

.pr35 {
  padding-right: 35px;
}

.pr40 {
  padding-right: 40px;
}

.pr45 {
  padding-right: 45px;
}

.pr50 {
  padding-right: 50px;
}

.pr55 {
  padding-right: 55px;
}

.pr60 {
  padding-right: 60px;
}

.pr65 {
  padding-right: 65px;
}

.pr70 {
  padding-right: 70px;
}

.pr75 {
  padding-right: 75px;
}

.pr80 {
  padding-right: 80px;
}

.pr85 {
  padding-right: 85px;
}

.pr90 {
  padding-right: 90px;
}

.pr95 {
  padding-right: 95px;
}

.pr100 {
  padding-right: 100px;
}

.pt0 {
  padding-top: 0;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 30px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt90 {
  padding-top: 90px;
}

.pt95 {
  padding-top: 95px;
}

.pt100 {
  padding-top: 100px;
}

.pb0 {
  padding-bottom: 0;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 30px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb95 {
  padding-bottom: 95px;
}

.pb100 {
  padding-bottom: 100px;
}

.pb200 {
  padding-bottom: 200px;
}

.pb250 {
  padding-bottom: 250px;
}

.ptb5 {
  padding-top: 5px;
  padding-bottom: 5px;
}

.ptb10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.ptb15 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.ptb20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.ptb25 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.ptb30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.ptb35 {
  padding-top: 35px;
  padding-bottom: 35px;
}

.ptb40 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.ptb45 {
  padding-top: 45px;
  padding-bottom: 45px;
}

.ptb50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.ptb55 {
  padding-top: 55px;
  padding-bottom: 55px;
}

.ptb60 {
  padding-top: 60px;
  padding-bottom: 60px;
}

.ptb65 {
  padding-top: 65px;
  padding-bottom: 65px;
}

.ptb70 {
  padding-top: 70px;
  padding-bottom: 70px;
}

.ptb75 {
  padding-top: 75px;
  padding-bottom: 75px;
}

.ptb80 {
  padding-top: 80px;
  padding-bottom: 80px;
}

.ptb85 {
  padding-top: 85px;
  padding-bottom: 85px;
}

.ptb90 {
  padding-top: 90px;
  padding-bottom: 90px;
}

.ptb95 {
  padding-top: 95px;
  padding-bottom: 95px;
}

.ptb100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.mtN10 {
  margin-top: -10px;
}

.mtN20 {
  margin-top: -20px;
}

.mtN40 {
  margin-top: -40px;
}

.resetMargin,
p,
h1,
h2,
h3,
h4,
h5,
h6,
span {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}

.mAuto {
  margin: auto;
}

.mLRAuto {
  margin-left: auto;
  margin-right: auto;
}

/* Fonte */
.e6 {
  font-size: 0.375em;
}

.e8 {
  font-size: 0.500em;
}

.e10 {
  font-size: 0.625em;
}

.e12 {
  font-size: 0.750em;
}

.e14 {
  font-size: 0.875em;
}

.e16 {
  font-size: 1.000em;
}

.e18 {
  font-size: 1.125em;
}

.e20 {
  font-size: 1.250em;
}

.e22 {
  font-size: 1.375em;
}

.e24 {
  font-size: 1.500em;
}

.e26 {
  font-size: 1.625em;
}

.e28 {
  font-size: 1.175em;
}

.e30 {
  font-size: 1.875em;
}

.e32 {
  font-size: 2.000em;
}

.e36 {
  font-size: 2.250em;
}

.e40 {
  font-size: 2.500em;
}

.e50 {
  font-size: 3.125em;
}

.e60 {
  font-size: 3.750em;
}

.e70 {
  font-size: 4.375em;
}

.e80 {
  font-size: 5.000em;
}

.e90 {
  font-size: 5.625em;
}

.fFluida {
  font-size: calc(48px + (60 - 48) * ((100vw - 280px) / (1600 - 280)))
}

.fFluidaP {
  font-size: calc(30px + (40 - 30) * ((100vw - 280px) / (1600 - 280)))
}

.fSpace {
  font-family: monospace;
}

.ff {
  font-family: Roboto, sans-serif;
}

.fTimes {
  font-family: "Times New Roman", Times, serif;
}

.fb {
  font-weight: bold;
}

.fn {
  font-weight: normal;
}

.fFina {
  font-weight: lighter;
}

.fFina2 {
  font-weight: 300;
}

.fi {
  font-style: italic;
}

.fMax {
  text-transform: uppercase;
}

.fMin {
  text-transform: lowercase;
}

.tdn {
  text-decoration: none;
}

.tdu {
  text-decoration: underline;
}

.lSpace5 {
  letter-spacing: 5px;
}

.fBranco {
  color: #fff;
}

.fCinza {
  color: #666666;
}

.fPreto {
  color: #000;
}

.fVermelho {
  color: red;
}

.fTema {
  color: var(--fTema);
}

.fTema2 {
  color: var(--fTema2);
}

.fTema3 {
  color: var(--fTema3);
}

.fTema4 {
  color: var(--fTema4);
}

/* Tamanho */
.lhn {
  line-height: normal;
}

.lh24 {
  line-height: 1.500em;
}

.lh26 {
  line-height: 1.625em;
}

.lh30 {
  line-height: 1.875em;
}

.h0 {
  min-height: 0px;
}

.w25 {
  width: 25%;
}

.wf40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.full {
  width: 100%;
}

.wAuto {
  width: auto;
}

.wFit {
  width: fit-content;
}

/* Alinhamento */
.txtCenter {
  text-align: center;
}

.txtLeft {
  text-align: left;
}

.txtRight {
  text-align: right;
}

.txtCappitalize {
  text-transform: capitalize;
}

.jcSpaceBetween {
  justify-content: space-between;
}

.jcCenter {
  justify-content: center;
}

.jcEnd {
  justify-content: end;
}

.vat {
  vertical-align: top;
}

/* Bordas */
.b0 {
  border: 0px;
}

.bb {
  border-bottom: 1px solid #fff;
}

.bTop40 {
  border-radius: 40px 40px 0px 0px;
  -webkit-border-radius: 40px 40px 0px 0px;
  -moz-border-radius: 40px 40px 0px 0px;
  -ms-border-radius: 40px 40px 0px 0px;
  -o-border-radius: 40px 40px 0px 0px;
}

.bdR3 {
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}

.bdR5 {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.bdR10 {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.bdR15 {
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
}

.bdR20 {
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

.bdR40 {
  border-radius: 40px;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  -ms-border-radius: 40px;
  -o-border-radius: 40px;
}

/* Backgrounds */
.bgBranco {
  background: #FFF;
}

.bgTema {
  background: var(--fTema);
}

.bgTema2 {
  background: var(--fTema2);
}

.bgTema3 {
  background: var(--fTema3);
}

.bgTema4 {
  background: var(--fTema4);
}

.bgCinza {
  background: #D7DFE5;
}

/* Centralizar */
.divCenter {
  margin: 0 auto;
  flex: auto;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.divCentro {
  float: none;
  margin: 0 auto;
}

.centerCol {
  display: inline-flex;
  float: none;
  text-align: left;
  margin-right: -4px;
}

.centerRow {
  text-align: center;
}

/* divisao */
.dd::after {
  height: 50px;
  width: 2px;
  background: #f10b0b;
  margin-left: 20px;
  margin-right: 20px;
}

.topMenu {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  background: rgb(232, 78, 15);
  background: linear-gradient(158deg, rgba(200, 60, 0, 1) 40%, rgba(232, 78, 15, 1) 100%);
  color: #fff;
  font-size: .9em;
  letter-spacing: .01em;
}

.topMenu .container .row .divisao {
  border-right: 1px solid rgba(105, 105, 105, 0.05);
}

.iconesmenu {
  color: var(--corTema3);
}

.linkTopo:hover {
  color: var(--corTema3);
}

.menuLinha {
  padding: 0 3%
}

.menuFlex ul {
  margin: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 60px;
}

.menuFlex ul li {
  list-style: none;
}

.menuFlex ul li a {
  border-bottom: 3px solid transparent;
  padding: 10px 20px;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fTema4);
  transition: all 500ms ease-in-out 0s;
  text-decoration: none;
}

.menuFlex ul li a:hover,
.menuFlex ul li .atual {
  border-bottom: 1px solid var(--fTema4);
  color: var(--fTema4)
}

.menuFlex .subMenus {
  z-index: 999;
  display: none;
  position: absolute;
  top: 80px;
  background-color: #fff;
  height: max-content;
  padding: 0px;
  border-top: 2px solid var(--fTema4);
  border-radius: 15px;
}

.menuFlex .subMenus li {
  width: 100%;
  border-bottom: 3px solid transparent;
}

.menuFlex .subMenus li a {
  padding: 10px 50px;
  width: 100%;
  display: block;
  transition: all 500ms ease-in-out 0s;
}

.menuFlex .subMenus li:hover {
  border-bottom: 3px solid var(--fTema4);
  background-color: var(--fTema4);
}

.menuFlex ul li:hover .subMenus {
  display: block;
}

.menuDestaque {
  width: 50%;
  margin: 0 auto;
  padding: 10px;
}

/* Fim do novo menu */


/* ============================================================ MENU MOBILE */

/* Barra superior */
.mm-bar {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 500;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 0 20px;
  height: 64px;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
}

.mm-bar-logo img {
  height: 38px;
  width: auto;
  object-fit: contain;
}

/* Botão hamburguer */
.mm-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 42px;
  height: 42px;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 6px;
  border-radius: 8px;
  transition: background 0.2s;
}

.mm-toggle:hover {
  background: rgba(232, 78, 15, 0.08);
}

.mm-toggle span {
  display: block;
  height: 2px;
  background: #1a1a1a;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease, width 0.3s ease;
}

.mm-toggle span:nth-child(2) {
  width: 70%;
}

.mm-aberto .mm-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.mm-aberto .mm-toggle span:nth-child(2) {
  opacity: 0;
  transform: translateX(8px);
}

.mm-aberto .mm-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Backdrop */
.mm-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(3px);
  z-index: 501;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.mm-backdrop.mm-visivel {
  opacity: 1;
}

/* Drawer */
.mm-drawer {
  position: fixed;
  top: 0;
  right: -340px;
  width: 320px;
  height: 100%;
  background: #0d0d0d;
  z-index: 502;
  transition: right 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.mm-drawer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #E84E0F, #F05C20, transparent);
}

.mm-aberto .mm-drawer {
  right: 0;
}

/* Header do drawer */
.mm-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.mm-drawer-header img {
  height: 36px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* Botão fechar (X) */
.mm-close {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  cursor: pointer;
  border-radius: 6px;
  position: relative;
  transition: border-color 0.2s, background 0.2s;
  flex-shrink: 0;
}

.mm-close:hover {
  border-color: #E84E0F;
  background: rgba(232, 78, 15, 0.1);
}

.mm-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 16px;
  height: 1.5px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 2px;
}

.mm-close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.mm-close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Nav items */
.mm-nav {
  list-style: none;
  padding: 24px 0;
  margin: 0;
  flex: 1;
}

.mm-nav li {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.3s ease calc(var(--i) * 0.07s + 0.1s),
    transform 0.3s ease calc(var(--i) * 0.07s + 0.1s);
}

.mm-aberto .mm-nav li {
  opacity: 1;
  transform: translateX(0);
}

.mm-nav li a {
  display: flex;
  align-items: center;
  padding: 16px 28px;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color 0.25s, border-color 0.25s, padding-left 0.25s, background 0.25s;
}

.mm-nav li a:hover,
.mm-nav li a.mm-ativo {
  color: #fff;
  border-left-color: #E84E0F;
  padding-left: 36px;
  background: rgba(232, 78, 15, 0.06);
}

/* Footer do drawer */
.mm-drawer-footer {
  padding: 20px 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.mm-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px 20px;
  background: #25D366;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.25s, box-shadow 0.25s;
}

.mm-whatsapp:hover {
  background: #128C7E;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3);
  color: #fff;
}

.mm-whatsapp i {
  font-size: 18px;
}

/* Exibe apenas em mobile */
@media (max-width: 991px) {
  .mm-bar {
    display: flex;
  }

  .menuLinha {
    display: none !important;
  }

  body {
    padding-top: 64px;
  }
}

/* Compatibilidade com classes antigas (não remover) */
.menuMobileContainer {
  display: none !important;
}

.mobile-menu {
  display: none !important;
}

/* Formulário */

.form-group {
  position: relative;
  min-height: 60px;
  border: 1px solid #c6d2d9;
  margin-bottom: 30px;
  background: #f7f7f7;
  border-radius: 30px;
}

.form-group label {
  position: absolute;
  top: 0;
  left: 30px;
  color: var(--fTema4);
  font-size: 16px;
  font-weight: 500;
  font-family: 'Montserrat', sans-serif;
  line-height: 60px;
  transition: 0.2s ease;
}

.form-group input,
.form-group textarea {
  position: absolute;
  top: 20px;
  left: 20px;
  display: block;
  width: 90%;
  padding: 2px 12px;
  font-size: 20px;
  line-height: 1.42857143;
  color: var(--fTema4);
  font-weight: 500;
  background-color: unset;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-group.inputDesabilitado {
  background: #414141;
  cursor: not-allowed;
}

.form-group.inputDesabilitado input {
  color: #6b6b6b;
  cursor: not-allowed;
}

.form-group.inputDesabilitado label {
  cursor: not-allowed;
}

#formContato button {
  border-radius: 0px;
  border: none;
  width: 100%;
  font-size: 1em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  background: var(--fTema4);
  padding: 15px 0px;
  color: #fff;
  transition: all 0.3s linear;
  border-radius: 30px;
  margin-top: 20px;
}

#formContato button:hover {
  background: var(--fTema4);
  color: var(--fTema);
}

.form-group.active {
  border: 1px solid var(--fTema);
}

.form-group.active label {
  color: var(--fTema4);
  transform: translate(-12%, -30%) scale(0.75);
}

.form-group.active textarea {
  position: initial;
  margin-left: 20px;
  margin-top: 20px;
}

input {
  border-width: 0;
}

textarea {
  min-width: 100%;
  max-width: 100%;
  min-height: 60px;
  border: none;
  resize: none;
}

#formContato .form-control-feedback {
  top: 15px;
  right: -5px;
}

#formContato .help-block {
  position: absolute;
  bottom: -30px;
}

#contatoMensagem {
  position: inherit;
  margin-bottom: 30px;
}

/* Fim Formulário */

/* Links */
a img {
  background: none;
  border-width: 0;
  text-decoration: none;
}

a {
  color: unset;
}

a:focus {
  outline: none;
  outline: none;
  outline-offset: 0px;
}

a:focus,
a:hover {
  color: inherit;
  text-decoration: none;
}

a.lRodape:link {
  color: #fff;
  text-decoration: none;
}

a.lRodape:hover {
  color: var(--fTema2)
}

/* Sombras, Houver */
.bxShadow {
  box-shadow: 0px 20px 28px 10px rgb(0 0 0 / 0.05);
}

/* WhatsRodape */
.whatsAppRodape {
  position: fixed;
  bottom: 0px;
  padding: 12px 15px 10px;
  width: 100%;
  background: #089c4c;
  color: #fff;
  z-index: 999999;
}

.faixaTopo {
  position: fixed;
  top: 0px;
  z-index: 1;
}

#topoFixo {
  transition: all .5s;
  top: 0;
  z-index: 999
}

a.lPaginacao:link,
a.lPaginacao:visited,
a.lPaginacao:active {
  padding: 10px 14px;
  background: #83718b;
  color: #ffffff;
  text-decoration: none;
}

a.lPaginacao:hover {
  background: #E84E0F;
}

.hBC,
.hBC:hover {
  -webkit-transition: background 0.2s, color 0.2s;
  -moz-transition: background 0.2s, color 0.2s;
  -o-transition: background 0.2s, color 0.2s;
  -ms-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}

.paginacaoAtual {
  padding: 9px 13px;
  border: 1px solid #E84E0F;
  color: #E84E0F;
}

.lh27 {
  line-height: 27.2px;
}

.postDescricao img {
  max-width: 100%;
  width: 80%;
  border-radius: 5px;
}

.bCinza {
  border: 1px solid #d4d4d4;
}


.whatsAppRodape {
  position: fixed;
  bottom: 0px;
  padding: 12px 15px 10px;
  width: 100%;
  background: #089c4c;
  color: #fff;
  z-index: 9;
}

.faixaTopo {
  position: fixed;
  top: 0px;
  z-index: 1;
}

#topoFixo {
  transition: all .5s;
  top: 0;
}

.whatsBotaoRodape {
  width: 70px;
  background: #089c4c;
  min-width: 50px;
  display: block;
  position: fixed;
  right: 20px;
  bottom: 50px;
  z-index: 999;
  border-radius: 50%;
  overflow: hidden;
}

.whatsBotaoRodape a {
  padding-bottom: 100%;
  display: block;
}

.whatsBotaoRodape svg {
  width: 50%;
  fill: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

#containerCookie {
  position: fixed;
  z-index: 1080;
  bottom: 1px;
  display: block;
  width: 15%;
}

.bgFaixa {
  background: url('../img/layout/bg-faixa.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.faixaMascara {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background: #151515cc;
}

.botaoPadrao {
  position: relative;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: #1a1a1a;
  background: #e8eaed;
  cursor: pointer;
  transition: var(--transition);
  border: 1.5px solid #d8dce0;
  border-radius: var(--radius);
  font-family: var(--font-base);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: inherit;
}

.botaoTema {
  background: #25D366;
  color: #fff;
  border: 1.5px solid #25D366;
}

.botaoTema:hover {
  background: #128C7E;
  border-color: #128C7E;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
  color: #fff;
}

.botaoGrande {
  font-size: var(--fs-base);
  padding: 12px 28px;
}

.botaoPequeno {
  font-size: var(--fs-xs);
  padding: 8px 16px;
  font-weight: 400;
}

.botaoPadrao i {
  font-size: 16px;
  margin-left: 8px;
  color: #FFF;
}

.botaoInteiroModal,
.botaoInteiro {
  padding: 12px 16px;
  font-weight: 500;
  width: 100%;
  max-width: 275px;
}

.botaoPadrao:hover {
  background: #d0d4d8;
  border-color: #c0c4c8;
}

.botaoPadrao:active {
  transform: scale(0.97);
}

.quemsomosImagem img {
  border-radius: 15px;
}

.quemsomosTextos {
  margin-left: -50px;
  border: 2px solid var(--fTema3);
  padding: 20px 20px 30px 170px;
  margin: 30px 10px 30px -150px;
  font-size: 15px;
  border-radius: 15px;
}

.servicosContainer {
  background-color: #f7f7f7b9;
}

.servico {
  border: 1px solid transparent;
  padding: 10px;
  border-radius: 20px;
  font-size: 15px;
  transition: 500ms;
  margin-bottom: 20px;
}

.servico:hover {
  border: 1px solid rgba(0, 0, 0, 0.4);
  background-color: #fff;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.09);
}

.servico div a h3 {
  min-height: 70px;
}

.imagem-servico {
  border-radius: 15px;
}

.banner-fixo {
  background-image: url("../img/layout/faixa-fixo.jpg");
  background-attachment: fixed;
}

.banner-fixo h1 {
  padding: 100px 0 20px 0;
  font-size: 3em;
  color: #ffffff;
}

.banner-fixo p {
  padding: 0 0 100px 0;
  font-size: 1.2em;
  color: #ffffff;
}

.banner-fixo .botaoWhats {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 361px;
}

.tituloPadrao {
  border-left: 4px solid var(--fTema2);
  margin-bottom: 40px;
}

.tituloPadrao h1 {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #2e3033;
  padding-left: 15px;
  font-size: 32px;
}

.tituloPadrao p {
  font-family: "Poppins", sans-serif;
  color: #2e3033;
  padding-left: 30px;
}

/*  Classes especificas */

.containerGG {
  text-align: center;
  width: 70%;
  margin: 0 auto;
}

.cardImoveis {
  position: relative;
  padding: 0;
  border-radius: 12px;
  transition: box-shadow 0.35s ease, transform 0.35s ease;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  overflow: hidden;
}

.banner {
  height: 90vh;
  border-radius: 15px;
  background-image: url("../img/layout/banner-home.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bannerConteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: center;
  height: 80vh;
  width: 100%;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.68);
}

.bannerConteudo h1 {
  font-size: 2.5em;
  font-weight: 700;
  color: #fff;
  line-height: 1em;
  margin-bottom: 20px;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.68);
  text-transform: uppercase;
  width: 50%;
}

.bannerConteudo p {
  font-size: 1.6em;
  font-weight: 400;
  color: #fff;
  line-height: 1em;
}

.topoPagina {
  border-radius: 15px;
  background-image: url("../img/layout/banner-home.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* .topoPaginaConteudo{display: flex; flex-direction: column; align-items: left; justify-content: center; height: 24vh; width: 50%; margin: 0 auto; text-shadow: 0px 3px 4px rgba(0,0,0,0.68);} */
.topoPaginaConteudo h1 {
  font-size: 2.5em;
  font-weight: 500;
  color: #fff;
  line-height: 1em;
  margin-bottom: 20px;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.4);
  text-transform: uppercase;
}

.topoPaginaConteudo p {
  font-size: 1.5em;
  font-weight: 300;
  color: #fff;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.4);
}

.cardImoveisImg img {
  border-radius: 0;
  transition: transform 0.5s ease;
  height: 220px;
  width: 100%;
  object-fit: cover;
  cursor: pointer;
  display: block;
}

.labelEntrega {
  position: absolute;
  background-color: var(--fTema2);
  color: #fff;
  padding: 5px 12px;
  border-radius: 0 0 0 10px;
  font-size: .72em;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  right: 0;
  top: 0;
  z-index: 99;
}

.cardImoveisTags {
  display: flex;
  flex-wrap: wrap;
  padding: 14px 16px 6px 16px;
  gap: 5px;
}

.cardImoveisTags .tag {
  padding: 3px 10px;
  border-radius: 4px;
  background-color: #f0f2f4;
  color: #555;
  font-size: .68em;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cardImoveisTitulo {
  padding: 6px 16px 2px 16px;
  min-height: 64px;
}

.cardImoveisTitulo h3 {
  cursor: pointer;
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.3;
  color: #1a1a1a;
}

.cardImoveisLocal p {
  font-size: .8em;
  color: #888;
  margin-bottom: 10px;
  padding: 0 16px;
}

.cardImoveisCaract {
  display: flex;
  justify-content: flex-start;
  gap: 4px;
  padding: 8px 16px;
  border-top: 1px solid #f0f0f0;
  flex-wrap: wrap;
}

.cardImoveisCaract p {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: .82em;
  color: #444;
}

.cardImoveisCaract p i {
  font-size: 16px;
  color: var(--fTema2);
  padding: 4px;
}

.cardImoveisBtn {
  padding: 12px 16px 16px 16px;
}

.cardImoveisPreco {
  margin-top: 4px;
  padding: 0 16px;
}

.cardImoveisPreco p {
  font-size: 1.15em;
  font-weight: 700;
  color: #1a1a1a;
}

.cardImoveisPreco p span {
  font-size: .58em;
  font-weight: 400;
  color: #888;
}

.cardImoveisBtn .botaoSaibaMais {
  position: relative;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: var(--fTema2);
  background: transparent;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  border: 1.5px solid var(--fTema2);
  border-radius: 8px;
  font-family: "Outfit", Helvetica, Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: inherit;
}

.cardImoveisBtn .botaoGrande {
  width: 100%;
  text-align: center;
  padding: 10px 0;
}

.cardImoveisBtn .botaoSaibaMais:hover {
  background: var(--fTema2);
  color: #fff;
  border-color: var(--fTema2);
}

.cardImoveisBtn .botaoSaibaMais:active {
  transform: scale(0.97);
}

.bannerFaixa {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
    url("../img/layout/fundo-banner-faixa.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bannerFaixa .row {
  padding: var(--sp-7) 0;
}

.bannerFaixa .row h3 {
  font-size: var(--fs-lg);
  font-weight: 700;
  color: #fff;
  margin-bottom: var(--sp-2);
}

.bannerFaixa .row p {
  font-size: var(--fs-base);
  color: rgba(255, 255, 255, 0.85);
  line-height: var(--lh-text);
}

.bannerDescricao {
  margin: 0 auto;
}

.cardImoveisImg {
  width: 100%;
  overflow: hidden;
  border-radius: 0;
}

.cardImoveis:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
  border-color: rgba(232, 78, 15, 0.2);
}

.cardImoveis:hover .cardImoveisImg img {
  transform: scale(1.06);
}

.parceiroImg {
  filter: grayscale(100%);
  opacity: 0.6;
  transition: var(--transition);
  border-radius: var(--radius);
  max-height: 50px;
  width: auto;
}

.parceiroImg:hover {
  filter: grayscale(0%);
  opacity: 1;
}

.coluna20 {
  width: 20%;
}

/* .depoimentosContainer{background: linear-gradient(135deg, #1a8ecd 25%, transparent 25%) -31px 0/ 62px 62px, linear-gradient(225deg, rgba(26,142,205,0.5) 25%, transparent 25%) -31px 0/ 62px 62px, linear-gradient(315deg, #1a8ecd 25%, transparent 25%) 0 0/ 62px 62px, linear-gradient(45deg, rgba(26,142,205,0.5) 25%, #027fc1 25%) 0 0/ 62px 62px; */
.depoimentosContainer {
  background-image: url("../img/layout/texture-fh.png");
}

.owlDepoimentos {
  margin: 0 auto;
}

.depoimentoTxt {
  font-size: var(--fs-base);
  line-height: var(--lh-text);
  color: #303030;
  background-color: rgba(255, 255, 255, .85);
  padding: var(--sp-4) var(--sp-5);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.depoimentoNome {
  text-align: right;
  font-weight: 600;
  margin-top: 20px;
}

.depoimentosDestaque {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  margin: 50px;
}


#modalBtnFechar {
  position: absolute;
  right: -10px;
  top: -10px;
  z-index: 667;
  background-color: #eeeeee;
  border-radius: 50px;
  cursor: pointer;
}

.modalBtnFechar {
  font-size: 30px;
  color: rgba(255, 0, 0, 0.8);
}

.destaque {
  padding: 30px 15px;
  background-color: rgb(255, 255, 255);
  border-radius: 10px;
  height: 300px;
  margin-top: 20px;
}

.destaque h4 {
  text-align: center;
  color: var(--fTema4);
  margin-bottom: 15px;
}

.destaque .destaqueTexto {
  color: var(--fTema4);
}

.destaqueIcone {
  text-align: center;
  font-size: 60px;
  color: var(--fTema4);
  margin-bottom: 20px;
}

.quemSomosImgContainer {
  padding-top: 220px;
  padding-left: 50px;
}

.quemSomosContainer .quemSomosTxt {
  padding: 150px 0;
}

.quemSomosContainer .quemSomosTxt h6 {
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 4px;
  color: #303030;
}

.quemSomosContainer .quemSomosTxt h1 {
  font-weight: 600;
}

.quemSomosContainer .quemSomosTxt p {
  color: #2e3033;
}

/* .quemSomosContainer .quemSomosImg {max-height: 380px; width: auto; margin-top: 27px;} */
.quemSomosContainer .quemSomosImg {
  max-height: 555px;
  width: auto;
  margin-top: -100px;
}

.blogContainer .blogTxt h6 {
  text-transform: uppercase;
  font-weight: 600;
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  color: var(--fTema3);
  margin-bottom: var(--sp-1);
}

.blogContainer .blogTxt h1,
.blogContainer .blogTxt h2 {
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.25;
  margin-bottom: var(--sp-2);
}

.blogContainer .blogTxt h2 {
  font-size: var(--fs-lg);
}

.blogContainer .blogTxt h3 {
  font-size: var(--fs-md);
}

.blogContainer .blogTxt p {
  color: #3a3a3a;
  margin-bottom: var(--sp-3);
  font-size: var(--fs-base);
  line-height: var(--lh-text);
}

.blogContainer .blogTxt img {
  margin-bottom: var(--sp-4);
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}

.blogContainer .blogTxt .conteudo {
  margin-top: var(--sp-4);
}

.blogCard {
  position: relative;
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(0, 0, 0, 0.07);
  overflow: hidden;
  transition: var(--transition);
}

.blogCard:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: rgba(232, 78, 15, 0.15);
}

.blogLabelCategoria {
  position: absolute;
  background-color: var(--fTema2);
  color: #fff;
  padding: 4px 12px;
  border-radius: 0 0 0 var(--radius);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  right: 0;
  top: 0;
  z-index: 99;
}

.blogCardTags {
  display: flex;
  flex-wrap: wrap;
  padding: 12px 16px 4px 16px;
  gap: 4px;
}

.blogCardTags .blogTag {
  padding: 3px 10px;
  border-radius: 4px;
  background: #f0f2f4;
  color: #666;
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.blogCardTitulo {
  padding: 8px 16px 4px 16px;
}

.blogCardTitulo h5 {
  cursor: pointer;
  font-size: var(--fs-base);
  font-weight: 700;
  line-height: 1.35;
  color: #1a1a1a;
  margin: 0;
}

.blogCardTitulo h5 a {
  color: inherit;
  text-decoration: none;
}

.blogCardTitulo h5 a:hover {
  color: var(--fTema3);
}

.blogCardDescricao {
  padding: 0 16px;
}

.blogCardDescricao p {
  font-size: var(--fs-sm);
  color: #777;
  line-height: var(--lh-text);
  margin-bottom: 0;
}

.blogCardBtn {
  padding: 12px 16px 16px 16px;
}

.blogCardBtn .botaoSaibaMais {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: var(--fTema3);
  background: transparent;
  cursor: pointer;
  transition: var(--transition);
  border: 1.5px solid var(--fTema3);
  border-radius: var(--radius);
  font-family: var(--font-base);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blogCardBtn .botaoGrande {
  width: 100%;
  text-align: center;
  padding: 10px 0;
}

.blogCardBtn .botaoSaibaMais:hover {
  background: var(--fTema3);
  color: #fff;
}

.blogCardBtn .botaoSaibaMais:active {
  transform: scale(0.97);
}

.blogCardImg img {
  border-radius: 0;
  transition: transform 0.3s ease;
  height: 200px;
  width: 100%;
  object-fit: cover;
  cursor: pointer;
  display: block;
}

.blogCard:hover .blogCardImg img {
  transform: scale(1.05);
}

.labelEntrega {
  position: absolute;
  background-color: var(--fTema2);
  color: #fff;
  padding: 5px 8px;
  border-radius: 0 10px 0 10px;
  font-size: .8em;
  right: -5px;
  z-index: 99;
}

mb60 .blogCatergoria {
  list-style-type: none;
  padding: 0;
}

.blogCatergoria li {
  background-color: #fff;
  margin: var(--sp-1) 0;
  padding: 12px 16px;
  border-radius: var(--radius);
  border: 1px solid rgba(0, 0, 0, 0.07);
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.blogCatergoria li a {
  color: #3a3a3a;
  font-size: var(--fs-sm);
  font-weight: 500;
}

.blogCatergoria li:hover {
  background-color: var(--fTema4);
  border-color: var(--fTema4);
  transform: translateX(4px);
}

.blogCatergoria li:hover a {
  color: #fff;
}

.blogCatergoria .ativo {
  background-color: var(--fTema4);
  border-color: var(--fTema4);
}

.blogCatergoria .ativo a {
  color: #fff;
}

.page-link {
  color: var(--fTema4) !important;
}


.bgRodape {
  background: #111;
  position: relative;
}

.bgRodape::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--fTema3), transparent);
}

.rodapeColuna {
  padding-top: var(--sp-2);
}

.rodapeColuna h4 {
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: var(--sp-3);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rodapeColuna ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.rodapeColuna ul li {
  margin-bottom: var(--sp-2);
}

.rodapeColuna ul li.fBranco {
  color: rgba(255, 255, 255, 0.45);
  font-size: var(--fs-sm);
}

.rodapeColuna ul li a {
  color: rgba(255, 255, 255, 0.55);
  font-size: var(--fs-sm);
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rodapeColuna ul li a:hover {
  color: var(--fTema3);
  padding-left: 4px;
}

.rodapeColuna ul li a i {
  font-size: 14px;
  color: var(--fTema3);
  flex-shrink: 0;
}

.rodapeAssinatura {
  background-color: #0a0a0a;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.rodapeAssinatura .fBranco {
  color: rgba(255, 255, 255, 0.3) !important;
  font-size: var(--fs-xs);
  letter-spacing: 0.04em;
}

.rodapeAssinatura a {
  color: var(--fTema3);
}

.logoRodape {
  max-width: 220px;
  filter: brightness(0) invert(1);
  opacity: 0.9;
  margin-bottom: var(--sp-3);
}

/* pagina de imoveis */

/* ── hero destaque ── */
.imovelHeroWrap {
  width: 100%;
  overflow: hidden;
  position: relative;
  background: #111;
  max-height: 550px;
  line-height: 0;
}

.imovelHeroLink {
  display: block;
  width: 100%;
  position: relative;
}

.imovelHeroImg {
  width: 100%;
  height: 620px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}

.imovelHeroLink:hover .imovelHeroImg {
  transform: scale(1.02);
}

.imovelHeroOverlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(0, 0, 0, 0);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}

.imovelHeroLink:hover .imovelHeroOverlay {
  background: rgba(0, 0, 0, 0.38);
  opacity: 1;
  visibility: visible;
}

.imovelHeroZoomIcon {
  display: block;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}

.imovelHeroZoomLabel {
  color: #fff;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

/* ── gallery grid ── */
.imovelGalleryGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.imovelGalleryItem {
  position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #e8e8e8;
}

.imovelGalleryItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.imovelGalleryItem:hover img {
  transform: scale(1.06);
}

.imovelGalleryItem .overlayImg {
  border-radius: 8px;
}

.containerImoveisPadrao {
  background-color: #fff;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 30px 40px;
  -webkit-box-shadow: 0 2px 9px 0 rgba(158, 184, 209, .41);
  box-shadow: 0 2px 9px 0 rgba(158, 184, 209, .41);
  z-index: 55;
}

.containerImoveisPadrao h2 {
  color: var(--fTema4);
}

.cardImoveisCaractPagina {
  display: flex;
  flex-direction: row;
}

.cardImoveisCaractPagina .caract {
  text-align: center;
  margin-left: 30px;
}

.cardImoveisCaractPagina p {
  display: flex;
  align-items: center;
  font-weight: 400;
}

.cardImoveisCaractPagina p i {
  font-size: 30px;
  color: #3a3a3a;
  padding: 5px;
}

.cardImoveisCaract .metroQuadrado {
  font-size: .8em;
}

.imoveisDetalhesContainer {
  display: flex;
  flex-wrap: wrap;
}

.imovelDetalhe {
  font-size: 20px;
  font-weight: 500;
  color: #3a3a3a;
  margin-bottom: 20px;
  padding: 5px 16px;
  background: #dfdfdf;
  margin-right: 20px;
  font-size: 1.1em;
  border-radius: 50px;
  color: #525252;
  border: 3px solid transparent;
  transition: all 500ms;
  cursor: pointer;
}

.imovelDetalhe:hover {
  border: 3px solid #c9c9c9;
}

.owl-stage-outer {
  border-radius: 10px;
}

.owl-prev span,
.owl-next span {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9) !important;
  color: #000 !important;
  width: 50px;
  height: 58px;
  border-radius: 20% !important;
  font-size: 2.1em !important;
  z-index: 66;
}

.owl-prev span {
  top: 40% !important;
  left: 10px !important;
}

.owl-next span {
  top: 40% !important;
  right: 10px !important;
}

.cifraoValor {
  color: #686868;
}

.valorImovel {
  font-size: 2.1em;
  font-weight: 600;
}

.valorstick {
  position: sticky;
  top: 20px;
}

#load-more svg {
  animation: dash 1.5s ease-in-out infinite;
}

.loader {
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

.loader-path {
  stroke-dasharray: 100;
  stroke-dashoffset: 0;
  animation: dash 1.5s ease-in-out infinite;
}

.overlayImg {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.5);
  transition: .5s ease all;
}

.item:hover .overlayImg {
  opacity: 1;
  visibility: visible;
  cursor: pointer;
}

.blogCategoriasIndex .catItem {
  background-color: #D7DFE5;
  padding: 4px 15px;
  color: #3d3d3d;
  border-radius: 20px;
  text-wrap: nowrap;
  transition: all 500ms;
  border: none;
}

.blogCategoriasIndex .catItem:hover {
  background-color: #9baebd;
}

.blogCategoriasIndex .catItem.ativo {
  background-color: var(--fTema4);
  padding: 4px 15px;
  color: #fff;
  border-radius: 20px;
}

.card-skeleton {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  width: 300px;
  margin-left: 20px;
}

.skeleton {
  background-color: #e0e0e0;
  background-image: linear-gradient(90deg, #e0e0e0, #f0f0f0, #e0e0e0);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

.image {
  height: 220px;
  width: 100%;
}

.content {
  padding: 16px;
}

.title {
  height: 20px;
  width: 60%;
  margin-bottom: 12px;
}

.description {
  height: 15px;
  width: 100%;
  margin-bottom: 8px;
}

.button {
  height: 30px;
  width: 100%;
  margin-top: 20px;
  border-radius: 4px;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
    stroke-dashoffset: 100;
  }

  50% {
    stroke-dashoffset: 40;
  }

  100% {
    stroke-dashoffset: 100;
  }
}

/*MEDIA QUERIES --------------------*/

@media all and (max-width: 767px) {
  .containerGG {
    width: 90%;
  }

  .menuMobileContainer {
    display: block;
  }

  .menuLinha,
  .topMenu {
    display: none;
  }

  .bannerConteudo {
    width: 100%;
  }

  .bannerConteudo h1 {
    font-size: 30px;
    width: 100%;
  }

  .banner {
    margin-top: 100px;
  }

  .topoPagina {
    margin-top: 100px;
  }

  .coluna20 {
    width: 50%;
  }

  .bannerFaixa {
    background-size: cover;
  }

  .bannerFaixa h3 {
    margin-bottom: 30px;
  }

  .quemSomosContainer .quemSomosImg {
    max-width: 250px;
  }

  .quemSomosImgContainer {
    padding: 0;
  }

  .menuMobileContainer .logoMenu {
    height: 35px;
  }

  .parceiroImg {
    max-height: 32px;
  }

  .destaque .destaqueTexto {
    text-align: center;
  }

  /* .quemSomosContainer .quemSomosTxt{padding: 50px 0; } */
  .mobile-menu {
    width: 280px;
  }

  #imovelModalConteudo .container-fluid {
    --bs-gutter-x: 0.5rem;
  }

  .containerImoveisPadrao {
    padding: 25px 15px;
  }

  .containerImoveisPadrao p.e18 {
    font-size: .9em;
  }

  .cardImoveisCaractPagina {
    flex-direction: column;
  }

  .imoveisDetalhesContainer .imovelDetalhe {
    margin-bottom: 10px;
    margin-right: 10px;
    font-size: 0.6em;
  }

  .valorImovel {
    font-size: 1.8em;
  }

  .containerImoveisPadrao h2.fMax.e30.mb5 {
    font-size: 1.4em;
  }

  .botaoInteiro {
    width: 80%;
  }

  #containerCookie {
    width: 85%;
  }

  .imovelHeroImg {
    height: 240px;
  }

  .imovelGalleryGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .topoPaginaConteudo p {
    font-size: 1em;
  }

  .w60.bannerDescricao {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .containerGG {
    width: 100%;
  }

  .menuMobileContainer {
    display: block;
  }

  .menuLinha,
  .topMenu {
    display: none;
  }

  .bannerConteudo {
    width: 100%;
  }

  .bannerConteudo h1 {
    font-size: 22px;
    width: 100%;
    line-height: 28px;
  }

  .bannerConteudo p {
    font-size: 1.1em;
    font-weight: 400;
    color: #fff;
    line-height: 1em;
  }

  .banner {
    margin-top: 100px;
  }

  .topoPagina {
    margin-top: 100px;
  }

  .coluna20 {
    width: 50%;
  }

  .bannerFaixa {
    background-size: cover;
  }

  .bannerFaixa .row h3 {
    margin-bottom: 30px;
    font-size: 2.3em;
  }

  .bannerFaixa .row .col-md-12 .w60 {
    width: 100%;
  }

  .quemSomosContainer .quemSomosImg {
    max-width: 250px;
    margin-bottom: 20px;
  }

  .quemSomosImgContainer {
    padding: 0;
  }

  .cardImoveisCaractPagina .caract {
    margin-left: 8px;
    margin-bottom: 15px;
  }

  .menuMobileContainer .logoMenu {
    height: 35px;
  }

  .parceiroImg {
    max-height: 32px;
  }

  .destaque .destaqueTexto {
    text-align: center;
  }

  .quemSomosContainer .quemSomosTxt {
    padding: 20px 10px;
  }

  .mobile-menu {
    width: 280px;
  }

  #imovelModalConteudo .container-fluid {
    --bs-gutter-x: 0.5rem;
  }

  .containerImoveisPadrao {
    padding: 25px 15px;
  }

  .containerImoveisPadrao p.e18 {
    font-size: .9em;
  }

  .cardImoveisCaractPagina {
    flex-direction: column;
  }

  .imoveisDetalhesContainer .imovelDetalhe {
    margin-bottom: 10px;
    margin-right: 10px;
    font-size: 0.6em;
  }

  .valorImovel {
    font-size: 1.8em;
  }

  .containerImoveisPadrao h2.fMax.e30.mb5 {
    font-size: 1.4em;
  }

  .botaoInteiro {
    width: 180px;
  }

  .botaoInteiroModal {
    width: 180px;
  }

  #containerCookie {
    width: 85%;
  }

  .imovelHeroImg {
    height: 320px;
  }

  .imovelGalleryGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .logoRodape {
    max-width: 220px;
  }
}

@media (max-width: 300px) {
  .containerGG {
    width: 100%;
  }

  .menuMobileContainer {
    display: block;
  }

  .menuLinha,
  .topMenu {
    display: none;
  }

  .bannerConteudo {
    width: 100%;
  }

  .bannerConteudo h1 {
    font-size: 30px;
    width: 100%;
  }

  .banner {
    margin-top: 100px;
  }

  .topoPagina {
    margin-top: 100px;
  }

  .coluna20 {
    width: 50%;
  }

  .bannerFaixa {
    background-size: cover;
  }

  .bannerFaixa h3 {
    margin-bottom: 30px;
  }

  .quemSomosContainer .quemSomosImg {
    max-width: 250px;
  }

  .quemSomosImgContainer {
    padding: 0;
  }

  .cardImoveisCaractPagina .caract {
    margin-left: 8px;
  }

  .menuMobileContainer .logoMenu {
    height: 35px;
  }

  .parceiroImg {
    max-height: 32px;
  }

  .destaque .destaqueTexto {
    text-align: center;
  }

  .quemSomosContainer .quemSomosTxt {
    padding: 50px 0;
  }

  .mobile-menu {
    width: 280px;
  }

  #imovelModalConteudo .container-fluid {
    --bs-gutter-x: 0.5rem;
  }

  .containerImoveisPadrao {
    padding: 25px 15px;
  }

  .containerImoveisPadrao p.e18 {
    font-size: .9em;
  }

  .cardImoveisCaractPagina {
    flex-direction: column;
  }

  .imoveisDetalhesContainer .imovelDetalhe {
    margin-bottom: 10px;
    margin-right: 10px;
    font-size: 0.6em;
  }

  .valorImovel {
    font-size: 1.8em;
  }

  .containerImoveisPadrao h2.fMax.e30.mb5 {
    font-size: 1.4em;
  }

  .botaoInteiro {
    width: 180px;
  }

  .botaoInteiroModal {
    width: 180px;
  }

  #containerCookie {
    width: 85%;
  }

  .imovelHeroImg {
    height: 420px;
  }

  .imovelGalleryGrid {
    grid-template-columns: repeat(3, 1fr);
  }

  .logoRodape {
    max-width: 244px;
  }

  .quemSomosTxt {
    padding: 25px;
  }
}

@media (min-width: 381px) and (max-width: 480px) {
  .menuMobileContainer {
    display: block;
  }

  .menuLinha,
  .topMenu {
    display: none;
  }

  .bannerConteudo {
    width: 100%;
  }

  .bannerConteudo h1 {
    font-size: 30px;
    width: 100%;
  }

  .banner {
    margin-top: 100px;
  }

  .topoPagina {
    margin-top: 100px;
  }

  .coluna20 {
    width: 50%;
  }

  .bannerFaixa {
    background-size: cover;
  }

  .quemSomosContainer .quemSomosImg {
    max-width: 250px;
  }

  .quemSomosImgContainer {
    padding: 0;
    text-align: center;
  }

  .cardImoveisCaractPagina .caract {
    margin-left: 8px;
  }

  .cardImoveisCaractPagina .caract p {
    line-height: 1.1em;
  }

  .logoRodape {
    max-width: 220px;
  }

}

@media (min-width: 481px) and (max-width:767px) {
  .menuMobileContainer {
    display: block;
  }

  .menuLinha,
  .topMenu {
    display: none;
  }

  .bannerConteudo {
    width: 100%;
  }

  .banner {
    margin-top: 100px;
  }

  .topoPagina {
    margin-top: 100px;
  }

  .coluna20 {
    width: 50%;
  }

  .bannerFaixa {
    background-size: cover;
  }

  .cardImoveisTitulo {
    height: 75px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .containerGG {
    width: 100%;
  }

  .botaoInteiro {
    width: 160px;
  }

  .botaoInteiroModal {
    width: 160px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .containerGG {
    width: 100%;
  }

  .menuMobileContainer {
    display: block;
  }

  .menuLinha,
  .topMenu {
    display: none;
  }

  .bannerFaixa {
    background-size: cover;
  }

  .imovelHeroImg {
    height: 500px;
  }

  .cardImoveisTitulo {
    height: 75px;
  }

  .botaoInteiro {
    width: 180px;
  }

  .botaoInteiroModal {
    width: 160px;
  }
}

/* pc da vanessa */
@media (min-width: 1200px) and (max-width: 1599px) {
  .cardImoveisTitulo {
    height: 75px;
  }

  .bannerConteudo h1 {
    width: 68%;
  }

  .containerGG {
    width: 100%;
  }
}

@media (min-width: 1600px) {
  .bannerConteudo h1 {
    font-size: 3.5em;
  }

  .bannerConteudo p {
    font-size: 1.6em;
    font-weight: 400;
    color: #fff;
    line-height: 1em;
  }

  .botaoInteiro {
    width: 320px;
  }
}