/* GOOGLE FONTS */
@import url("https://fonts.googleapis.com/css?family=Playfair+Display|Poppins:300,400,600,800&display=swap&subset=latin-ext");

/* =============================================
   THEME SYSTEM — CSS Custom Properties
   Default: dark | Toggle adds [data-theme="light"]
   ============================================= */
:root {
  --theme-bg:        #111214;
  --theme-bg-alt:    #181818;
  --theme-bg-card:   #1e2124;
  --theme-bg-input:  #1e2124;
  --theme-text:      #f0f0f0;
  --theme-text-soft: rgba(255,255,255,0.75);
  --theme-text-muted:#aaaaaa;
  --theme-border:    rgba(255,255,255,0.08);
  --theme-border-solid: #2e3135;
  --theme-shadow:    rgba(0,0,0,0.5);
  --theme-logo-filter: brightness(0) invert(1);
}
[data-theme="light"] {
  --theme-bg:        #ffffff;
  --theme-bg-alt:    #f5f5f5;
  --theme-bg-card:   #ffffff;
  --theme-bg-input:  #ffffff;
  --theme-text:      #26282b;
  --theme-text-soft: #555555;
  --theme-text-muted:#888888;
  --theme-border:    rgba(38,40,43,0.10);
  --theme-border-solid: #e0e0e0;
  --theme-shadow:    rgba(0,0,0,0.10);
  --theme-logo-filter: brightness(0);
}

/* =============================================
   THEME TOGGLE BUTTON
   ============================================= */
.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1.5px solid rgba(255,255,255,0.65);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  color: rgba(255,255,255,0.9);
  font-size: 15px;
  margin-left: 10px;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
  flex-shrink: 0;
}
.theme-toggle:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255,255,255,0.1);
}
.theme-toggle .icon-sun  { display: none; }
.theme-toggle .icon-moon { display: inline; }
[data-theme="light"] .theme-toggle {
  border-color: rgba(255,255,255,0.65);
  color: rgba(255,255,255,0.9);
}
[data-theme="light"] .theme-toggle:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255,255,255,0.1);
}
[data-theme="light"] .theme-toggle .icon-sun  { display: inline; }
[data-theme="light"] .theme-toggle .icon-moon { display: none; }

/* ── Logo da linha em títulos e heroes ── */

/* Logo no page-header hero (sobre fundo escuro — sempre branca) */
.page-header .linha-logo-hero {
  height: 64px;
  width: auto;
  display: block;
  margin-bottom: 14px;
  filter: brightness(0) invert(1);
}

/* Logo inline em h2 (ex: "[Logo] em evolução") */
.line-logo-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  margin: inherit;
}
.line-logo-heading .linha-logo-inline {
  height: auto;
  max-width: 240px;
  max-height: 120px;
  display: block;
}

/* Logo no eyebrow (substitui texto "Linha X") */
.eyebrow-logo {
  display: block;
  margin-bottom: 12px;
}
.eyebrow-logo img {
  height: 30px;
  width: auto;
  display: block;
}

/* Modo claro: logos ficam pretas (brightness(0) força preto puro, igual ao card) */
[data-theme="light"] .line-logo-heading .linha-logo-inline,
[data-theme="light"] .eyebrow-logo img {
  filter: brightness(0);
}
/* Modo escuro: logos ficam brancas */
html:not([data-theme="light"]) .line-logo-heading .linha-logo-inline,
html:not([data-theme="light"]) .eyebrow-logo img {
  filter: brightness(0) invert(1);
}

/* Logo da linha no canto do card */
.portfolio-card .body,
.line-card .body,
.reserve-card .body {
  position: relative;
}

.logo-linha {
  position: absolute;
  top: 28px;
  right: 28px;
  height: auto;
  width: 100px;
  max-width: 100%;
  object-fit: contain;
  object-position: right top;
  margin-bottom: 0;
  opacity: 0.85;
  filter: brightness(0);
  z-index: 2;
}

.portfolio-card-horizontal .body .logo-linha,
.line-card-horizontal .body .logo-linha,
.reserve-card-horizontal .body .logo-linha {
  top: 50px;
  right: 45px;
}

@media (max-width: 991px) {
  .portfolio-card-horizontal .body .logo-linha,
  .line-card-horizontal .body .logo-linha,
  .reserve-card-horizontal .body .logo-linha {
    top: 32px;
    right: 28px;
  }
}
/* TAG LINHA NOS CARDS */
.tag-linha {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 10;
  background: #26282b;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 6px 18px 5px 18px;
  border-radius: 18px;
  letter-spacing: 1px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  opacity: 0.95;
}
.tag-heritage { background: #666666; }
.tag-setai { background: #26282b; }
.tag-reserve { background: #4f7c4f; }
.card-logo-overlay[src*="aurus/LOGO BRANCA_PNG.webp"],
.card-logo-overlay[src*="sailor/LOGO BRANCA_PNGpng.webp"],
.card-logo-overlay[src*="aquamaris/LOGO hranca.webp"] {
  width: 90px !important;
  height: 90px !important;
  object-fit: contain !important;
  background: rgba(38, 40, 43, 0.85);
  border-radius: 50%;
  padding: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
  display: block !important;
  left: 20px;
  bottom: 20px;
  top: auto;
  right: auto;
  position: absolute;
}
#linhas-ativas .inner {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
}
#linhas-ativas .inner .col-md-4 {
  display: flex !important;
  align-items: stretch !important;
  height: 200px !important;
  min-height: 200px !important;
  flex: 1 1 0 !important;
}
#linhas-ativas .line-logo-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box;
}
#linhas-ativas .line-logo-card img {
  max-height: 70px !important;
  min-height: 50px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
}
#linhas-ativas .inner .wow {
  height: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  animation: none !important;
  opacity: 1 !important;
}
#linhas-ativas .line-logo-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 180px;
  min-height: 180px;
  box-sizing: border-box;
}
#linhas-ativas .line-logo-card img {
  max-height: 70px;
  min-height: 50px;
  width: auto;
  height: auto;
  margin: 0 auto;
  display: block;
}
/* Corrige possíveis efeitos de animação WOW que possam interferir */
#linhas-ativas .inner .wow {
  height: 100% !important;
  display: flex !important;
  align-items: stretch !important;
}
/* HERITAGE ONE - Diferenciais cards */
.diferenciais-heritage-one .row.text-center {
  justify-content: center;
}
.diferenciais-heritage-one .col-md-4 {
  display: flex;
  align-items: stretch;
}
.diferenciais-heritage-one .col-md-4 > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 320px;
}
.diferenciais-heritage-one svg {
  display: block;
  margin: 0 auto 12px auto;
}
.diferenciais-heritage-one h5 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.diferenciais-heritage-one p {
  font-size: 1rem;
  color: #444;
}
.diferenciais-heritage-one {
  background: #f9f9f9 !important;
  padding-top: 60px;
  padding-bottom: 40px;
}
/*
	01.	GOOGLE FONTS
	02.	BODY
	03.	CUSTOM CLASSES
	04. FORM ELEMENTS
	05.	SECTIONS
	06.	HTML TAGS
	07.	LINKS
	08.	MODAL
	09.	PAGINATION
	10. PRELOADER
	11.	TRANSITION OVERLAY
	12.	SANDWICH BUTTON
	13.	SCROLL DOWN
	14.	NAVIGATION MENU
	15.	HEADER
	16.	SOCIAL MEDIA
	17.	NAVBAR
	18.	SLIDER
	19.	PAGE HEADER
	20.	VIDEO BG
	21.	WORKS
	22.	FEATURES CONTENT
	23.	LISTING CONTENT
	24.	FULL MEDIA CONTENT
	25.	INTRODUCTION
	26. OUR TEAM
	27.	NEWS
	28.	SAY HELLO
	29.	LOGOS
	30.	FOOTER
	31.	RESPONSIVE TABLET FIXES
	32. REPSONSIVE MOBILE FIXES



*/
/* BODY */
* {
  outline: none !important;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Poppins", sans-serif;
  color: var(--theme-text);
  background-color: var(--theme-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
}

/* HTML ELEMENT */
img {
  max-width: 100%;
}

/* CUSTOM CLASSES */
.overflow {
  overflow: hidden;
}

/* LINKS */
a {
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  color: #26282b;
}

a:hover {
  text-decoration: underline;
}

/* CUSTOM CONTAINER */
.container {
  max-width: 1280px;
}

/* FORM ELEMENTS */
input[type=text],
input[type=email] {
  width: 100%;
  height: 54px;
  border: 1px solid #eee;
  padding: 0 20px;
}

textarea {
  width: 100%;
  height: 160px;
  border: 1px solid #eee;
  padding: 15px 20px;
}

button[type=submit] {
  height: 54px;
  border: none;
  background: #26282b;
  color: #fff;
  padding: 0 30px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}

/* ODOMETER */
.odometer {
  line-height: 1;
  font-variant-numeric: proportional-nums;
  font-feature-settings: "pnum";
}

.odometer.odometer-auto-theme, .odometer.odometer-theme-car {
  padding: 0;
}

.odometer.odometer-auto-theme .odometer-digit, .odometer.odometer-theme-car .odometer-digit {
  padding: 0;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner, .odometer.odometer-theme-car .odometer-digit .odometer-digit-inner {
  left: 0;
}

/* ACCORDION */
.accordion {
  width: 100%;
  float: left;
  background: #fff;
  padding: 0;
}
.accordion .card {
  background: none;
  border-radius: 0;
  margin-top: -1px;
  border: 1px solid #eaebee;
}
.accordion .card .card-header {
  background: none;
  padding: 0;
  border-bottom: none;
}
.accordion .card .card-header a {
  width: 100%;
  float: left;
  font-weight: 500;
  padding: 20px 25px;
  color: #26282b;
  font-weight: 600;
}
.accordion .card .card-header a:before {
  content: "+";
  float: left;
  text-align: center;
  margin-right: 8px;
  color: #26282b;
  font-weight: 600;
}
.accordion .card .card-header a:hover {
  color: #444;
  text-decoration: none;
}
.accordion .card .card-body {
  width: 100%;
  border-top: 1px solid #eee;
  line-height: 26px;
}
.accordion .card [aria-expanded=true] {
  color: #666666 !important;
}
.accordion .card [aria-expanded=true]:before {
  content: "-" !important;
  color: #666666 !important;
}

/* PAGINATION */
.pagination {
  display: flex;
}
.pagination .page-item {
  display: inline-block;
  margin-right: 6px;
}
.pagination .page-item.active .page-link {
  background: #26282b;
  color: #fff;
  border-color: transparent;
  position: relative;
  z-index: 2;
}
.pagination .page-item.active .page-link:hover {
  background: #444;
  border-color: transparent;
  color: #fff;
}
.pagination .page-item .page-link {
  display: inline-block;
  border-radius: 0 !important;
  padding: 15px 20px;
  color: #26282b;
  font-weight: 600;
  font-size: 13px;
  border: 1px solid #dee2e6;
  line-height: 1;
}
.pagination .page-item .page-link:hover {
  background: none;
  border-color: #dee2e6;
  color: #26282b;
}

/* GALLERY SLIDER*/
.gallery-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  position: relative;
  text-align: center;
  margin: 30px 0;
  background: #26282b;
}
.gallery-container .swiper-wrapper {
  width: 100%;
  float: left;
  position: relative;
}
.gallery-container .swiper-slide {
  width: 80%;
  margin: 0;
  opacity: 0.6;
}
.gallery-container .swiper-slide.swiper-slide-active {
  width: 80%;
  opacity: 1;
}
.gallery-container .swiper-slide img {
  width: 100%;
}
.gallery-container .gallery-pagination {
  bottom: 20px;
  position: absolute;
  z-index: 2;
}
.gallery-container .gallery-pagination .swiper-pagination-bullet {
  background: #fff;
  opacity: 0.5;
}
.gallery-container .gallery-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #cccccc;
  opacity: 1;
}

/* VIDEO BG */
.video-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  pointer-events: none;
  background: #26282b;
}
.video-bg video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
  opacity: 0.15;
}

/* NAV PILLS */
.nav-pills {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.nav-pills .nav-item {
  display: inline-block;
  margin-right: 30px;
}
.nav-pills .nav-item:last-child {
  margin-right: 0;
}
.nav-pills .nav-item .nav-link {
  background: none;
  color: #26282b;
  border-bottom: 2px solid transparent;
  padding: 4px 0;
  border-radius: 0;
  font-weight: 600;
  font-size: 14px;
}
.nav-pills .nav-item .nav-link.active {
  border-bottom: 2px solid #26282b;
}

/* BREADCRUMB */
.breadcrumb {
  width: 100%;
  padding: 0;
  border-radius: 0;
  background: none;
  flex-wrap: nowrap;
  overflow: hidden;
}
.breadcrumb .breadcrumb-item {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
  vertical-align: middle;
}
.breadcrumb .breadcrumb-item:first-child:before {
  display: none;
}
.breadcrumb .breadcrumb-item:before {
  content: "\00BB";
  color: #26282b;
  font-weight: 400;
  padding: 0 20px;
}
.breadcrumb .breadcrumb-item.active {
  color: #26282b;
}
.breadcrumb .breadcrumb-item a {
  color: #26282b;
}
.breadcrumb .breadcrumb-item a:hover {
  color: #000;
}

/* HAMBURGER */
.hamburger {
  position: relative;
  z-index: 15;
  cursor: pointer;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
.hamburger span {
  display: block;
  height: 2px;
  width: 30px;
  background: #fff;
  opacity: 1;
  position: absolute;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  top: 9px;
}
.hamburger span:nth-child(3) {
  width: 10px;
  top: 19px;
}
.hamburger span:nth-child(4) {
  width: 6px;
  top: 19px;
  left: 15px;
}
.hamburger.open {
  margin: 0;
}
.hamburger.open span:nth-child(1) {
  top: 9px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}
.hamburger.open span:nth-child(2) {
  opacity: 0;
  left: 20px;
}
.hamburger.open span:nth-child(3) {
  width: 30px;
  top: 9px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.hamburger.open span:nth-child(4) {
  opacity: 0;
  left: 20px;
}
.hamburger:hover span:nth-child(4) {
  width: 20px;
  left: 10px;
}

/* PRELAODER */
.preloader {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 12;
  background: #333;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transition-duration: 700ms;
  -webkit-transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.95s;
  overflow: hidden;
}
.preloader * {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transition-duration: 700ms;
  -webkit-transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
.preloader .layer {
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  background: #333;
  transition-delay: 0.3s;
}
.preloader .inner {
  display: inline-block;
  text-align: center;
  position: relative;
  z-index: 2;
}
.preloader .inner figure {
  display: block;
  margin-bottom: 10px;
  transition-delay: 0.1s;
}
.preloader .inner figure img {
  height: 60px;
}
.preloader .inner p {
  font-weight: 600;
  color: #fff;
  font-size: 13px;
  display: block;
}

/* TRANSITION OVERLAY */
.transition-overlay {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: -100%;
  top: 0;
  z-index: 12;
  background: #333;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transition-duration: 700ms;
  -webkit-transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  overflow: hidden;
}
.transition-overlay .layer {
  width: 100%;
  height: 100vh;
  position: absolute;
  right: -100%;
  top: 0;
  background: #333;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transition-duration: 700ms;
  -webkit-transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.6s;
}
.transition-overlay.active {
  left: 0;
}
.transition-overlay.active .layer {
  right: 0;
}

/* PAGE LOADED */
.page-loaded .preloader {
  right: -100%;
}

.page-loaded .preloader .inner figure {
  opacity: 0;
  transform: scale(1.5);
}

.page-loaded .preloader .inner p {
  transform: translateY(20px);
  opacity: 0;
}

.page-loaded .preloader .layer {
  left: -100%;
}

.page-loaded .navbar {
  transform: translateY(0);
}

.page-loaded .slider .slider-container {
  transform: scale(1);
  opacity: 1;
}

/* SIDE NAVIGATION */
.side-navigation {
  width: 400px;
  max-width: 100%;
  height: 100vh;
  min-height: 400px;
  position: fixed;
  left: -100%;
  top: 0;
  background: #333;
  z-index: 10;
  box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 14px;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transition-duration: 700ms;
  -webkit-transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
/* Home page: glassmorphism on product line cards */
body.home-page .get-consultation {
  padding-top: 80px;
  margin-bottom: 0;
}
body.home-page .get-consultation .content-box {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: solid 1px rgba(0, 0, 0, 0.2);
  color: #26282b;
  padding: 50px 36px;
  margin-bottom: 0;
}
body.home-page .get-consultation .content-box:after {
  display: none;
}
body.home-page .get-consultation .content-box figure img {
  filter: brightness(0);
}
body.home-page .get-consultation .content-box a.link {
  color: #fff;
  border-color: transparent;
}
body.home-page .get-consultation .content-box a.link:hover {
  color: #fff;
  background: #26282b;
  border-color: transparent;
}
.side-navigation .menu {
  display: none;
  margin-bottom: 20px;
}
.side-navigation .menu ul {
  width: 100%;
  margin: 0;
  padding: 0;
}
.side-navigation .menu ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  position: relative;
}
.side-navigation .menu ul li ul {
  width: 100%;
  display: none;
  padding-left: 20px;
  margin-bottom: 10px;
}
.side-navigation .menu ul li ul li {
  display: block;
}
.side-navigation .menu ul li ul li a {
  font-size: 2vw;
}
.side-navigation .menu ul li a {
  display: inline-block;
  color: #fff;
  font-size: 3vw;
  font-weight: 600;
}
.side-navigation .menu ul li a:hover {
  color: #cccccc;
  text-decoration: none;
}
.side-navigation .side-content {
  width: 100%;
  display: block;
}
.side-navigation figure {
  display: block;
  margin-bottom: 30px;
}
.side-navigation figure img {
  height: 40px;
}
.side-navigation address {
  display: block;
  margin-bottom: 20px;
}
.side-navigation h6 {
  font-weight: 600;
  font-size: 20px;
}
.side-navigation p {
  display: block;
  margin-bottom: 30px;
}
.side-navigation p a {
  color: #fff;
}
.side-navigation .gallery {
  margin-bottom: 20px;
  padding: 0;
  margin-left: -5px;
  margin-right: -5px;
}
.side-navigation .gallery li {
  width: 33.33333%;
  float: left;
  margin: 0;
  padding: 0 5px;
  list-style: none;
}
.side-navigation .gallery li img {
  width: 100%;
}
.side-navigation .social-media {
  width: 100%;
  float: left;
  margin: 0;
  margin-bottom: 20px;
  padding: 0;
}
.side-navigation .social-media li {
  float: left;
  margin-left: 5px;
  padding: 0;
  list-style: none;
}
.side-navigation .social-media li a {
  width: 40px;
  height: 40px;
  float: left;
  text-align: center;
  line-height: 42px;
  font-size: 13px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}
.side-navigation .social-media li a:hover {
  color: #26282b;
  background: #cccccc;
}
.side-navigation.active {
  left: 0;
}

/* NAVBAR */
.navbar {
  width: 100%;
  padding: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  transform: translateY(-120px);
  -webkit-transition: transform 700ms cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 700ms cubic-bezier(0.86, 0, 0.07, 1), background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  transition-delay: 1.2s;
}

.navbar-scrolled .navbar {
  position: fixed;
  background: rgba(30, 33, 36, 0.82) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: solid 1px rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.22);
  transition-delay: 0s;
}

[data-theme="light"] .navbar-scrolled .navbar {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2) !important;
  color: #26282b !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .navbar-scrolled .navbar .logo img {
	filter: brightness(0);
}
[data-theme="light"] .navbar-scrolled .navbar .container .menu ul li a,
[data-theme="light"] .navbar-scrolled .lang-toggle,
[data-theme="light"] .navbar-scrolled .theme-toggle {
  color: #26282b;
}

[data-theme="light"] .navbar-scrolled .navbar .container .menu ul li a:hover {
  color: #666666;
  border-top-color: #666666;
}

[data-theme="light"] .navbar-scrolled .theme-toggle {
  border-color: rgba(38, 40, 43, 0.35);
}
.navbar .container {
  display: grid !important;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 0 8px;
  padding-top: 18px;
  padding-bottom: 18px;
}
.navbar .container .logo {
  margin: 0;
}
.navbar .container .logo img {
  height: 48px;
  display: block;
}
.navbar .container .hamburger {
  display: none;
}
/* LANGUAGE GLOBE TOGGLE */
.lang-toggle {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 0;
  -webkit-user-select: none;
  user-select: none;
}
.lang-toggle > i {
  font-size: 15px;
}
.lang-toggle .lang-arrow {
  font-size: 9px;
  transition: transform 0.2s;
}
.lang-toggle.open .lang-arrow {
  transform: rotate(180deg);
}
.lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  background: #26282b;
  min-width: 70px;
  padding: 8px 0;
  margin: 0;
  list-style: none;
  z-index: 10;
}
.lang-toggle.open .lang-dropdown {
  display: block;
}
.lang-dropdown li a {
  display: block;
  padding: 7px 20px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.lang-dropdown li.active a,
.lang-dropdown li a:hover {
  color: #cccccc;
  text-decoration: none;
}
.navbar .container .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.navbar .container .menu ul {
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.navbar .container .menu ul li {
  margin: 0;
  margin-left: 40px;
  padding: 0;
  list-style: none;
  position: relative;
}
.navbar .container .menu ul li:hover ul {
  top: 100%;
  opacity: 1;
  visibility: visible;
}
.navbar .container .menu ul li ul {
  min-width: 220px;
  position: absolute;
  left: -35px;
  top: 120%;
  background: #26282b;
  margin: 0;
  padding: 25px 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.navbar .container .menu ul li ul:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #26282b transparent;
  position: absolute;
  left: 35px;
  top: -10px;
}
.navbar .container .menu ul li ul li {
  margin: 0;
  padding: 0 35px;
  white-space: nowrap;
}
.navbar .container .menu ul li ul li a {
  padding: 8px 0;
}
.navbar .container .menu ul li ul li a:hover {
  border-color: transparent;
}
.navbar .container .menu ul li a {
  color: #fff;
  display: inline-block;
  font-weight: 600;
  padding: 25px 0;
  border-top: 1px solid transparent;
}
.navbar .container .menu ul li a:hover {
  text-decoration: none;
  color: #cccccc;
  border-top: 1px solid #cccccc;
}

/* SLIDER */
.slider {
  width: 100%;
  height: 100vh;
  min-height: 600px;
  display: flex;
  flex-wrap: wrap;
  background: #26282b;
  overflow: hidden;
}
.slider .slider-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
  transition-duration: 700ms;
  -webkit-transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transform: scale(1.3);
  transition-delay: 1.25s;
  opacity: 0;
}
.slider .slider-container .swiper-slide {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.slider .slider-container .swiper-slide:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #26282b;
  opacity: 0.65;
}
.slider .slider-container .swiper-slide .container {
  position: relative;
  z-index: 9;
  padding-left: 100px;
}
.slider .slider-container .swiper-slide .container h1 {
  font-size: 5vw;
  color: #fff;
  font-family: "Playfair Display", serif;
  color: #cccccc;
  margin-bottom: 20px;
}
.slider .slider-container .swiper-slide .container .slide-logo {
  display: block;
  max-height: 90px;
  width: auto;
  max-width: 380px;
  margin-bottom: 20px;
  object-fit: contain;
}
.slider .slider-container .swiper-slide .container h1 span {
  display: inline-block;
  position: relative;
}
.slider .slider-container .swiper-slide .container h2 {
  font-weight: 600;
  color: #fff;
  margin-bottom: 50px;
}
.slider .slider-container .swiper-slide .container a {
  height: 48px;
  line-height: 48px;
  float: left;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  position: relative;
  background: #26282b;
  border: none;
  padding: 0 28px;
  box-shadow: none;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.slider .slider-container .swiper-slide .container a i {
  margin-left: 10px;
}
.slider .slider-container .swiper-slide .container a:hover {
  text-decoration: none;
  background: #26282b;
  color: #fff;
}
.slider .slider-container .swiper-slide .container figure {
  float: left;
  margin-left: 40px;
  margin-bottom: 0;
}
.slider .slider-container .swiper-slide .container figure img {
  height: 60px;
}
.slider .slider-container .inner-elements {
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
}
.slider .slider-container .inner-elements .container {
  position: static;
  height: 100vh;
}
.slider .slider-container .inner-elements .container .social-media {
  width: 20px;
  position: absolute;
  left: 20px;
  top: calc(50% + 60px);
  transform: translateY(-50%);
  z-index: 4;
  text-align: center;
}
.slider .slider-container .inner-elements .container .social-media h6 {
  width: 120px;
  color: #fff;
  transform: rotate(90deg);
  transform-origin: left;
  margin-left: 9px;
  font-weight: 600;
  margin-bottom: 120px;
  font-size: 14px;
}
.slider .slider-container .inner-elements .container .social-media ul {
  margin: 0;
  padding: 0;
}
.slider .slider-container .inner-elements .container .social-media ul:before {
  content: "";
  width: 1px;
  height: 42px;
  background: #fff;
  display: inline-block;
  margin-bottom: 15px;
  margin-top: 10px;
}
.slider .slider-container .inner-elements .container .social-media ul li {
  margin: 0;
  padding: 3px 0;
  list-style: none;
}
.slider .slider-container .inner-elements .container .social-media ul li a {
  color: #fff;
  font-size: 12px;
}
.slider .slider-container .inner-elements .container .social-media ul li a:hover {
  color: #cccccc;
}
.slider .slider-container .inner-elements .container .pagination {
  width: auto;
  position: absolute;
  left: auto;
  right: 20px;
  bottom: 20px;
  z-index: 4;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 50px;
}
.slider .slider-container .inner-elements .container .pagination .swiper-pagination-current {
  font-size: 40px;
  font-weight: 800;
  margin-right: 5px;
}
.slider .slider-container .inner-elements .container .pagination .swiper-pagination-total {
  font-size: 20px;
  margin-left: 5px;
}
.slider .slider-container .inner-elements .container .button-prev {
  width: 40px;
  position: absolute;
  right: 20px;
  top: calc(50% + 60px);
  z-index: 4;
  transform: rotate(90deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  transform-origin: bottom;
  margin-top: -60px;
  font-weight: 600;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.slider .slider-container .inner-elements .container .button-prev:hover {
  color: #cccccc;
}
.slider .slider-container .inner-elements .container .button-prev:after {
  content: "";
  width: 42px;
  height: 1px;
  background: #fff;
  position: absolute;
  right: calc(-100% - 20px);
  top: 5px;
}
.slider .slider-container .inner-elements .container .button-next {
  width: 40px;
  position: absolute;
  right: 20px;
  top: calc(50% + 60px);
  z-index: 4;
  transform: rotate(90deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  transform-origin: bottom;
  margin-top: 60px;
  font-weight: 600;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.slider .slider-container .inner-elements .container .button-next:hover {
  color: #cccccc;
}

/* PAGE HEADER */
.page-header {
  width: 100%;
  height: 500px;
  display: flex;
  flex-wrap: wrap;
  padding-top: 200px;
  background-color: #26282b;
  background-position: 0% 0%;
  background-repeat: no-repeat;
  background-size: cover;
  animation: pageHeaderBackgroundMove 32s ease-in-out infinite alternate;
  position: relative;
  margin-bottom: 30px;
}

@keyframes pageHeaderBackgroundMove {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 0% 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-header {
    animation: none;
  }
}
/* Espaçamento entre logos no mobile em empreendimentos */
@media (max-width: 767px) {
  #linhas-ativas .inner .col-md-4 {
    margin-bottom: 24px !important;
  }
  #linhas-ativas .inner {
    flex-direction: column !important;
    gap: 0;
  }
}

/* Logo Reserve preta em empreendimentos — só no light mode */
[data-theme="light"] #linhas-ativas .line-logo-card img[alt="Linha Reserve"] {
  filter: grayscale(1) brightness(0) !important;
}

/* Alinhamento vertical e altura igual para os cards de logo */
#linhas-ativas .inner {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
}
#linhas-ativas .inner .col-md-4 {
  display: flex !important;
  align-items: stretch !important;
}
#linhas-ativas .line-logo-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 180px;
  min-height: 180px;
  box-sizing: border-box;
}
#linhas-ativas .line-logo-card img {
  max-height: 70px;
  width: auto;
  height: auto;
  margin: 0 auto;
}
/* Oculta o mapa no mobile para evitar espaço vazio */
@media only screen and (max-width: 767px) {
  .contact-map-only {
    display: none !important;
  }
}
/* Ícones sociais preto e branco na página de contatos */
.contact-social .social-item .si-icon.ig,
.contact-social .social-item .si-icon.fb,
.contact-social .social-item .si-icon.wa,
.contact-social .social-item .si-icon.yt,
.contact-social .social-item .si-icon.li {
  background: #fff !important;
  color: #222 !important;
  filter: grayscale(1);
  border: 1px solid #e8e2d8;
}
.page-header:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #26282b;
  background: -moz-linear-gradient(161deg, #26282b 0%, #26282b 49%, #666666 100%);
  background: -webkit-linear-gradient(161deg, #26282b 0%, #26282b 49%, #666666 100%);
  background: linear-gradient(161deg, #26282b 0%, #26282b 49%, #666666 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#26282b",endColorstr="#666666",GradientType=1);
  opacity: 0.65;
}
.page-header .container {
  position: relative;
  z-index: 2;
}
.page-header .container h1 {
  font-size: 5vw;
  color: #fff;
  font-family: "Playfair Display", serif;
  margin-bottom: 20px;
}
.page-header .container p {
  display: block;
  color: #fff;
  font-size: 20px;
  margin: 0;
}
.page-header .container .breadcrumb {
  position: absolute;
  left: 15px;
  bottom: -30px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: none;
  width: 100%;
  padding: 40px 30px;
  padding-right: 60px;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* INTRO */
.intro {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
  padding-top: 50px;
  padding-bottom: 80px;
}
.intro figure {
  display: inline-block;
  margin-bottom: 0;
  margin-top: -20px;
  background: rgba(0, 0, 0, 0.2);
  position: relative;
}
.intro figure .pattern-bg {
  width: 120%;
  height: 100%;
  position: absolute;
  left: 5%;
  top: -5%;
  background: url(../images/side-pattern-bg.webp);
  background-size: contain;
}
.intro figure .holder {
  position: relative;
  width: 100%;
  float: left;
  display: block !important;
  transform: translate(85px, -65px);
}
.intro figure .holder img {
  box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.2);
  width: 525px;
}
.intro figure .holder-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  transform: translate(85px, -65px);
  box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.2);
  width: 525px;
}
.intro figure .holder-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* Botão play do vídeo */
.video-play-btn {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 70px;
  height: 70px;
  margin: auto;
  background: rgba(255,255,255,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  pointer-events: none;
  z-index: 2;
  color: #26282b;
  font-size: 22px;
}
.video-play-btn i {
  margin-left: 4px;
  color: #26282b;
}
.intro .content-box {
  display: block;
  padding-left: 10%;
}
.intro .content-box b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.intro .content-box h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.intro .content-box h4 span {
  color: #666666;
}
.intro .content-box h3 {
  font-weight: 600;
  margin-bottom: 30px;
}
.intro .content-box p {
  display: block;
  padding-right: 40%;
  margin-bottom: 30px;
}
.intro .content-box a {
  display: inline-block;
  color: #26282b;
  font-weight: 600;
}
.intro .content-box a img {
  height: 46px;
  margin-right: 15px;
}
.intro .content-box a:hover {
  color: #666666;
  text-decoration: none;
}

/* LOGOS */
.logos {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 100px 0;
}
.logos * {
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.logos .col-lg-2 {
  border-right: 1px dashed #eee;
}
.logos .col-lg-2:last-child {
  border-right: none;
}
.logos figure {
  width: 100%;
  margin: 0;
  position: relative;
}
.logos figure:hover img {
  opacity: 0;
  transform: scale(1.2);
}
.logos figure:hover h6 {
  opacity: 1;
  transform: scale(1);
}
.logos figure img {
  width: 100%;
}
.logos figure h6 {
  width: 100%;
  height: 20px;
  line-height: 20px;
  margin: 0;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  text-align: center;
  opacity: 0;
  font-weight: 800;
  font-size: 13px;
  transform: scale(1.1);
}

/* BENEFITS */
.benefits {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
  background: #f9f9f9;
  text-align: center;
}
.benefits .col {
  border-right: 1px solid #eee;
  padding-top: 20px;
  padding-bottom: 20px;
}
.benefits .col:nth-child(odd) {
  margin-top: 50px;
}
.benefits .col:hover figure:after {
  opacity: 1;
}
.benefits .col:last-child {
  border-right: none;
}
.benefits b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.benefits h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.benefits h4 span {
  color: #666666;
}
.benefits h3 {
  font-weight: 600;
  margin-bottom: 50px;
}
.benefits figure {
  display: block;
  margin-bottom: 20px;
  position: relative;
}
.benefits figure:after {
  content: "";
  width: 70px;
  height: 70px;
  position: absolute;
  left: 50%;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  opacity: 0;
  z-index: 0;
  margin-left: -35px;
}
.benefits figure img {
  height: 70px;
  position: relative;
  z-index: 2;
}
.benefits h6 {
  font-weight: 600;
  font-size: 14px;
}
.benefits .odometer {
  font-size: 50px;
  line-height: 1;
  font-weight: 800;
}
.benefits .extra {
  font-size: 18px;
  font-weight: 600;
  display: inline-block;
  transform: translateY(10px);
}

/* RECENT GALLERY */
.recent-gallery {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.recent-gallery b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.recent-gallery h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.recent-gallery h4 span {
  color: #666666;
}
.recent-gallery h3 {
  font-weight: 600;
  padding-right: 40%;
  margin-bottom: 30px;
}
.recent-gallery .link {
  display: inline-block;
  color: #26282b;
  font-weight: 600;
  font-size: 14px;
  position: relative;
  padding-bottom: 10px;
}
.recent-gallery .link i {
  margin-left: 10px;
}
.recent-gallery .link:hover {
  text-decoration: none;
}
.recent-gallery .link:hover:before {
  width: 100%;
}
.recent-gallery .link:before {
  content: "";
  width: 60px;
  height: 2px;
  background: #26282b;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.recent-gallery figure {
  display: block !important;
  margin: 0;
  position: relative;
}
.recent-gallery .col-md-4:nth-child(1) {
  margin-top: 100px;
}
.recent-gallery .col-md-4:nth-child(2) {
  margin-top: 0;
}
.recent-gallery .col-md-4:nth-child(3) {
  margin-top: 80px;
}

/* PROPERTY CALCULATOR */
.property-calculator {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 150px;
  margin-top: 100px;
  position: relative;
}
.property-calculator figure {
  display: inline-block;
  margin-bottom: 0;
  margin-top: -20px;
  background: #cccccc;
  position: relative;
}
.property-calculator figure:before {
  content: "";
  width: 50vw;
  height: 100%;
  background: #cccccc;
  position: absolute;
  left: -50vw;
  top: 0;
}
.property-calculator figure .pattern-bg {
  width: 120%;
  height: 100%;
  position: absolute;
  left: 5%;
  top: -5%;
  background: url(../images/side-pattern-bg.webp);
  background-size: contain;
}
.property-calculator figure .holder {
  position: relative;
  width: 100%;
  float: left;
  display: block !important;
  transform: translate(85px, -35px);
}
.property-calculator figure .holder img {
  box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.2);
  width: 525px;
}
.property-calculator .content-box {
  display: block;
  padding-left: 10%;
}
.property-calculator .content-box b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.property-calculator .content-box h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.property-calculator .content-box h4 span {
  color: #666666;
}
.property-calculator .content-box h3 {
  font-weight: 600;
  margin-bottom: 30px;
}
.property-calculator .content-box ul {
  display: block;
  margin-bottom: 60px;
  padding: 0;
}
.property-calculator .content-box ul li {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.property-calculator .content-box ul li:nth-child(1) {
  margin-right: 30px;
}
.property-calculator .content-box ul li img {
  height: 35px;
}
.property-calculator .content-box p {
  display: block;
  padding-right: 40%;
  margin-bottom: 30px;
}
.property-calculator .content-box a {
  display: inline-block;
  color: #26282b;
  font-weight: 600;
}
.property-calculator .content-box a img {
  height: 46px;
  margin-right: 10px;
}
.property-calculator .content-box a:hover {
  color: #666666;
  text-decoration: none;
}

/* PROPERTY PLANS */
.property-plans {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 150px;
}
.property-plans b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.property-plans h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.property-plans h4 span {
  color: #666666;
}
.property-plans h3 {
  font-weight: 600;
  margin-bottom: 30px;
}
.property-plans p {
  display: block;
  padding-right: 40%;
  margin-bottom: 30px;
}
.property-plans table {
  display: table;
  margin-bottom: 30px;
  font-size: 15px;
}
.property-plans table tr td {
  padding: 5px 0;
}
.property-plans table tr td:first-child {
  color: #666666;
  width: 120px;
  font-weight: 600;
}
.property-plans .tab-nav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.property-plans .tab-nav li {
  display: inline-block;
  margin: 0;
  margin-right: 10px;
  padding: 0;
  list-style: none;
}
.property-plans .tab-nav li a {
  color: #26282b;
  font-weight: 600;
}
/* Ocultar imagens de planta/tipologia */
.property-plans .nav-pills,
.property-plans .tab-content {
  display: none;
}
.property-plans .col-lg-6:last-child {
  display: none;
}
.property-plans .col-lg-6:first-child {
  flex: 0 0 100%;
  max-width: 100%;
}
.property-plans p {
  padding-right: 0;
}

/* GET CONSULTATION */
.get-consultation {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-top: 150px;
  margin-bottom: 100px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #e5e4df;
}
.get-consultation .content-box {
  width: 500px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  padding: 80px 50px;
  margin-bottom: -100px;
  color: #fff;
  background: #666666;
  position: relative;
  overflow: hidden;
}
.get-consultation .content-box:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 200px 100vh 0;
  border-color: transparent #cccccc transparent transparent;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0.15;
  pointer-events: none;
}
.get-consultation .content-box > * {
  position: relative;
  z-index: 1;
}
.get-consultation b {
  width: 100%;
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.get-consultation h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.get-consultation h4 span {
  color: #cccccc;
}
.get-consultation h3 {
  font-weight: 600;
  margin-bottom: 30px;
}
.get-consultation p {
  display: block;
  padding-right: 20%;
  margin-bottom: 40px;
}
.get-consultation a {
  height: 60px;
  line-height: 60px;
  float: none;
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding-bottom: 10px;
  position: relative;
  z-index: 2;
  background: #26282b;
  padding: 0 40px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  margin: auto auto 0;
}
.get-consultation a i {
  margin-left: 10px;
}
.get-consultation a:hover {
  text-decoration: none;
  background: #fff;
  color: #666666;
}

/* RECENT POSTS */
.recent-posts {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.recent-posts b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.recent-posts h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.recent-posts h4 span {
  color: #666666;
}
.recent-posts small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
  opacity: 0.5;
}
.recent-posts small:after {
  content: "";
  width: 50px;
  height: 1px;
  background: #26282b;
  display: inline-block;
  margin-left: 5px;
  margin-bottom: 4px;
  opacity: 0.5;
}
.recent-posts .post-box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.recent-posts .post-box figure {
  display: block;
  margin-bottom: 20px;
}
.recent-posts .post-box h6 {
  display: block;
  font-size: 20px;
  font-weight: 600;
}
.recent-posts .post-box h6 a {
  display: inline-block;
}
.recent-posts .post-box h6 a:hover {
  color: #666666;
  text-decoration: none;
}
.recent-posts .post-box p {
  display: block;
  margin: 0;
}
.recent-posts .post-box span {
  width: 100%;
  display: block;
  font-size: 13px;
  opacity: 0.5;
  margin-bottom: 10px;
}

/* PROPERTY CUSTOMIZATION */
.property-customization {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
  background: #26282b;
  color: #fff;
  position: relative;
}
.property-customization b {
  width: 100%;
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.property-customization h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.property-customization h4 span {
  color: #cccccc;
}
.property-customization h3 {
  font-weight: 600;
  margin-bottom: 30px;
}
.property-customization figure {
  width: 100%;
  display: flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 15px 10px;
  margin: 15px 0;
}
.property-customization figure img {
  height: 40px;
  float: left;
  margin-right: 15px;
}
.property-customization figure i {
  font-size: 28px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  color: #666666;
  margin-right: 15px;
  flex-shrink: 0;
}
.property-customization figure figcaption {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

/* APARTMENTS */
.apartment {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.apartment h2 {
  font-size: 4vw;
  font-family: "Playfair Display", serif;
  margin-bottom: 20px;
}
.apartment h2 span {
  color: #666666;
}
.apartment h6 {
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 20px;
}
.apartment h5 {
  margin-bottom: 70px;
  font-weight: 600;
  opacity: 0.5;
}
.apartment h4 {
  margin-bottom: 20px;
  font-weight: 600;
}
.apartment p {
  line-height: 1.7;
  margin-bottom: 20px;
}
.apartment p strong {
  font-weight: 600;
}
.apartment ul {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  padding-left: 20px;
}
.apartment ul li {
  margin: 0;
  padding: 4px 0;
}
.apartment blockquote {
  display: inline-block;
  padding: 30px;
  background: #cccccc;
  margin-bottom: 40px;
}
.apartment blockquote p {
  margin: 0;
}
.apartment blockquote strong {
  font-size: 20px;
}
.apartment figure {
  width: 100%;
  display: block;
  margin-bottom: 70px;
  margin-top: 50px;
}
.apartment .gallery-slider {
  width: 80%;
  margin-top: 50px;
  margin-bottom: 70px;
}
.apartment .gallery-slider .gallery-container {
  margin: 0;
}
.apartment .property-plan {
  display: inline-block;
}
.apartment .property-infos {
  background: #666666;
  color: #fff;
  padding: 50px;
  margin-bottom: 50px;
  float: left;
  margin-right: 100px;
}
.apartment .property-infos .odometer {
  font-size: 60px;
  font-weight: 800;
  position: relative;
  display: inline-flex;
}
.apartment .property-infos .odometer:after {
  content: attr(data-text);
  font-size: 30px;
  font-weight: 600;
  margin-top: 10px;
  margin-left: 5px;
  opacity: 0.5;
}
.apartment .property-infos p:last-child {
  margin-bottom: 0;
}

/* ABOUT CONTENT */
.about-content {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.about-content h2 {
  font-size: 4vw;
  font-family: "Playfair Display", serif;
  margin-bottom: 20px;
}
.about-content h2 span {
  color: #666666;
}
.about-content h6 {
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 20px;
}
.about-content h5 {
  margin-bottom: 40px;
  font-weight: 600;
  opacity: 0.5;
}
.about-content h4 {
  margin-bottom: 20px;
  font-weight: 600;
}
.about-content p {
  line-height: 1.7;
  margin-bottom: 20px;
}
.about-content p strong {
  font-weight: 600;
}
.about-content ul {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  padding-left: 20px;
}
.about-content ul li {
  margin: 0;
  padding: 4px 0;
}
.about-content blockquote {
  display: inline-block;
  padding: 30px;
  background: #cccccc;
  margin-bottom: 40px;
}
.about-content blockquote p {
  margin: 0;
}
.about-content blockquote strong {
  font-size: 20px;
}
.about-content .video-content {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
  margin-top: 30px;
}
.about-content .video-content video {
  width: 100%;
  height: 100%;
  float: left;
}
.about-content .gallery-container {
  margin-bottom: 50px;
}

/* CERTIFICATES */
.certificates {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.certificates b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.certificates h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.certificates h4 span {
  color: #666666;
}
.certificates small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
  opacity: 0.5;
}
.certificates small:after {
  content: "";
  width: 50px;
  height: 1px;
  background: #26282b;
  display: inline-block;
  margin-left: 5px;
  margin-bottom: 4px;
  opacity: 0.5;
}
.certificates figure {
  display: block;
  margin: 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.certificates figure img {
  width: 100%;
}

/* FACILITIES */
.facilities {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 135px 0;
}
.facilities b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.facilities h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.facilities h4 span {
  color: #666666;
}
.facilities small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
  opacity: 0.5;
}
.facilities small:after {
  content: "";
  width: 50px;
  height: 1px;
  background: #26282b;
  display: inline-block;
  margin-left: 5px;
  margin-bottom: 4px;
  opacity: 0.5;
}
.facilities figure {
  width: 100%;
  float: left;
  margin: 15px 0;
  padding: 50px 30px;
  box-shadow: 0 0 20px rgba(235, 207, 167, 0.4);
}
.facilities figure img {
  height: 70px;
  float: left;
}
.facilities figure figcaption {
  width: calc(100% - 90px);
  float: right;
}
.facilities figure figcaption h5 {
  font-weight: 600;
  font-size: 16px;
}
.facilities figure figcaption p {
  font-size: 14px;
  opacity: 0.5;
  margin: 0;
}

/* FAQ */
.faq {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.faq .sidebox {
  width: calc(100% - 70px);
  float: left;
  margin-left: 70px;
  padding: 40px 30px;
  text-align: center;
  background: #666666;
  color: #fff;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0;
}
.faq .sidebox i {
  font-size: 100px;
  margin-bottom: 20px;
  display: inline-block;
}
.faq .sidebox h3 {
  display: block;
  font-family: "Playfair Display", serif;
  margin-bottom: 20px;
}
.faq .sidebox p {
  color: #fff;
}

/* SALES OFFICES */
.sales-offices {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 135px 0;
}
.sales-offices .office-box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 30px;
  margin: 15px 0;
  border: 1px solid #eee;
}
.sales-offices .office-box h5 {
  font-family: "Playfair Display", serif;
  margin-bottom: 20px;
  font-size: 26px;
}
.sales-offices .office-box address {
  margin-bottom: 25px;
}
.sales-offices .office-box a {
  height: 44px;
  line-height: 44px;
  display: inline-block;
  padding: 0 20px;
  background: #26282b;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}
.sales-offices .office-box a i {
  margin-right: 7px;
}
.sales-offices .office-box a:hover {
  text-decoration: none;
}

/* INTRO VIDEO */
.intro-video {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
  text-align: center;
}
.intro-video b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.intro-video h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.intro-video h4 span {
  color: #666666;
}
.intro-video h3 {
  font-weight: 600;
  margin-bottom: 50px;
}
.intro-video .video-container {
  width: 100%;
  float: left;
  margin: 0;
  padding: 5px;
  background: #cccccc;
}
.intro-video .video-container video {
  width: 100%;
  float: left;
}

/* PRESS RELEASES */
.press-relases {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 135px 0;
}
.press-relases figure {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 15px 0;
  border: 1px solid #eee;
}
.press-relases figure a {
  width: 40%;
}
.press-relases figure a img {
  width: 100%;
}
.press-relases figure figcaption {
  width: 60%;
  padding-left: 20px;
}
.press-relases figure figcaption h5 {
  display: block;
  font-size: 22px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.press-relases figure figcaption p {
  font-size: 14px;
}
.press-relases figure figcaption small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0;
  opacity: 0.5;
}

/* PHOTO GALLERY */
.photo-gallery {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.photo-gallery .gallery-filter {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
  padding: 0;
}
.photo-gallery .gallery-filter li {
  display: inline-block;
  margin-right: 25px;
  padding: 0;
  list-style: none;
}
.photo-gallery .gallery-filter li a {
  font-weight: 600;
  border-bottom: 2px solid transparent;
}
.photo-gallery .gallery-filter li a.current {
  border-bottom: 2px solid #cccccc;
}
.photo-gallery .gallery-filter li a:hover {
  color: #666666;
  text-decoration: none;
}
.photo-gallery .gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  margin-left: -4px;
  margin-right: -4px;
  padding: 0;
}
.photo-gallery .gallery li {
  width: 25%;
  margin: 0;
  padding: 4px;
  list-style: none;
}
.photo-gallery .gallery li img {
  width: 100%;
  float: left;
}

/* SWIPER PHOTO GALLERY – detail pages */
.photo-gallery-swiper {
  padding: 60px 0 40px;
}
.gallery-swiper-wrap {
  width: 100%;
}
.gallery-main {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background: #111;
}
.gallery-main .swiper-slide {
  height: 520px;
}
.gallery-main .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: zoom-in;
}
.gallery-main .swiper-button-prev,
.gallery-main .swiper-button-next {
  color: #fff;
  background: rgba(0,0,0,0.38);
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.gallery-main .swiper-button-prev:after,
.gallery-main .swiper-button-next:after {
  font-size: 16px;
}
.gallery-counter {
  position: absolute;
  bottom: 14px;
  right: 16px;
  background: rgba(0,0,0,0.52);
  color: #fff;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 13px;
  z-index: 10;
  pointer-events: none;
}
.gallery-thumbs {
  margin-top: 12px;
  padding-bottom: 10px;
}
.gallery-thumbs .swiper-slide {
  width: 108px !important;
  height: 72px;
  cursor: pointer;
  opacity: 0.52;
  transition: opacity 0.2s;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}
.gallery-thumbs .swiper-slide-thumb-active {
  opacity: 1;
  box-shadow: 0 0 0 2px #666666;
}
.gallery-thumbs .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gallery-thumbs .swiper-scrollbar {
  bottom: 0;
  height: 3px;
  background: rgba(0,0,0,0.1);
}
.gallery-thumbs .swiper-scrollbar-drag {
  background: #666666;
}
@media (max-width: 767px) {
  .gallery-main .swiper-slide { height: 260px; }
  .gallery-thumbs .swiper-slide { width: 72px !important; height: 48px; }
}

/* SALES TEAM */
.sales-team {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.sales-team figure {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid #eee;
  margin: 15px 0;
}
.sales-team figure img {
  width: 50%;
  display: inline-block;
}
.sales-team figure figcaption {
  display: inline-block;
}
.sales-team figure figcaption h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.sales-team figure figcaption h4 span {
  color: #666666;
}
.sales-team figure figcaption small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
  opacity: 0.5;
}
.sales-team figure figcaption small:after {
  content: "";
  width: 50px;
  height: 1px;
  background: #26282b;
  display: inline-block;
  margin-left: 10px;
  margin-bottom: 4px;
  opacity: 0.5;
}
.sales-team figure figcaption ul {
  display: block;
  margin: 0;
  padding: 0;
}
.sales-team figure figcaption ul li {
  display: inline-block;
  margin: 0;
  margin-right: 15px;
  padding: 0;
  list-style: none;
}
.sales-team figure figcaption ul li a {
  font-size: 14px;
  font-weight: 600;
}
.sales-team figure figcaption ul li a i {
  margin-right: 6px;
  font-size: 12px;
  font-weight: 400;
}
.sales-team figure figcaption ul li a:hover {
  text-decoration: none;
  color: #666666;
}

/* ERROR 404*/
.error404 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
  text-align: center;
}
.error404 figure {
  display: block;
  margin-bottom: 60px;
  padding: 0 10%;
}
.error404 figure img {
  width: 100%;
}
.error404 h2 {
  font-size: 50px;
  font-weight: 800;
  color: #666666;
}
.error404 p {
  display: block;
  margin-bottom: 40px;
}
.error404 a {
  height: 60px;
  line-height: 56px;
  display: inline-block;
  color: #666666;
  font-size: 14px;
  font-weight: 600;
  padding-bottom: 10px;
  position: relative;
  border: 2px solid #cccccc;
  padding: 0 40px;
  box-shadow: 0 0 20px rgba(235, 207, 167, 0.4);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.error404 a:hover {
  text-decoration: none;
  color: #fff;
  background: #666666;
  border-color: #666666;
}

/* BLOG */
.blog {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 150px 0;
}
.blog .post {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 100px;
}
.blog .post .post-image {
  width: 100%;
  float: left;
  margin-bottom: 0;
}
.blog .post .post-image img {
  width: 100%;
}
.blog .post .post-content {
  width: calc(100% - 60px);
  float: left;
  background: #fff;
  margin: 0 30px;
  margin-top: -100px;
  padding: 30px;
}
.blog .post .post-content.single {
  width: 100%;
  margin: 0;
  margin-top: 50px;
  padding: 0;
}
.blog .post .post-content .post-title {
  font-weight: 800;
  margin-bottom: 20px;
}
.blog .post .post-content .post-title a {
  color: #26282b;
}
.blog .post .post-content .post-title a:hover {
  color: #444;
  text-decoration: none;
}
.blog .post .post-content .post-tags {
  width: 100%;
  float: left;
}
.blog .post .post-content .post-tags i {
  font-size: 19px;
  float: left;
  margin-right: 10px;
  color: #666666;
  margin-top: 4px;
}
.blog .post .post-content .post-tags ul {
  display: block;
  margin: 0;
  padding: 0;
}
.blog .post .post-content .post-tags ul li {
  float: left;
  margin-right: 10px;
  padding: 0;
  list-style: none;
}
.blog .post .post-content .post-tags ul li a {
  color: #26282b;
  text-decoration: underline;
}
.blog .post .post-content ul {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  padding-left: 20px;
}
.blog .post .post-content ul li {
  margin: 0;
  padding: 4px 0;
}
.blog .post .post-content blockquote {
  display: inline-block;
  padding: 30px;
  background: #cccccc;
  margin-bottom: 40px;
}
.blog .post .post-content blockquote p {
  margin: 0;
}
.blog .post .post-content blockquote strong {
  font-size: 20px;
}
.blog .post .post-content .post-intro {
  width: 100%;
  float: left;
  margin-bottom: 30px;
  font-size: 19px;
  line-height: 1.6;
}
.blog .post .post-content .post-author {
  width: 100%;
  float: left;
  line-height: 60px;
  margin-bottom: 20px;
}
.blog .post .post-content .post-author img {
  width: 60px;
  float: left;
  border-radius: 50%;
  margin-right: 10px;
}
.blog .post .post-content .post-author span {
  float: left;
  opacity: 0.5;
  margin-right: 5px;
}
.blog .post .post-content .post-author a {
  color: #26282b;
}
.blog .sidebar {
  width: calc(100% - 50px);
  display: flex;
  flex-wrap: wrap;
  margin-left: 50px;
  border-left: 1px solid #eee;
  padding-left: 50px;
}
.blog .sidebar .widget {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
}
.blog .sidebar .widget:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.blog .sidebar .widget .title {
  width: 100%;
  display: block;
  font-family: "Playfair Display", serif;
  margin-bottom: 20px;
}
.blog .sidebar .widget .categories {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
.blog .sidebar .widget .categories li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 2px 0;
  list-style: none;
}
.blog .sidebar .widget .categories li:before {
  content: "»";
  margin-right: 9px;
  color: #666666;
}
.blog .sidebar .widget .categories li span {
  float: right;
  color: #666666;
}
.blog .sidebar .widget .categories li a {
  color: #26282b;
}
.blog .sidebar .widget .categories li a:hover {
  color: #666666;
}
.blog .sidebar .widget form {
  width: 100%;
  display: block;
}
.blog .sidebar .widget form input[type=text] {
  width: calc(100% - 50px);
  float: left;
  border: 1px solid #cccccc;
  border-right: none;
}
.blog .sidebar .widget form button[type=submit] {
  width: 50px;
  padding: 0;
}
.blog .sidebar .widget .tags {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
.blog .sidebar .widget .tags li {
  float: left;
  margin-right: 8px;
  margin-bottom: 6px;
  padding: 0;
  list-style: none;
}
.blog .sidebar .widget .tags li a {
  height: 30px;
  line-height: 30px;
  float: left;
  border: 1px solid #cccccc;
  padding: 0 10px;
  font-size: 13px;
  color: #666666;
  font-weight: 600;
}
.blog .sidebar .widget .tags li a:hover {
  background: #666666;
  color: #fff;
  border-color: #666666;
  text-decoration: none;
}
.blog .sidebar .widget .side-gallery {
  margin-left: -3px;
  margin-right: -3px;
  padding: 0;
}
.blog .sidebar .widget .side-gallery li {
  width: 33.33333%;
  float: left;
  margin: 0;
  padding: 3px;
  list-style: none;
}
.blog .sidebar .widget .side-gallery li a {
  width: 100%;
  float: left;
  background: #26282b;
}
.blog .sidebar .widget .side-gallery li a:hover img {
  opacity: 1;
}
.blog .sidebar .widget .side-gallery li a img {
  opacity: 0.5;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

/* CONTACT */
.contact {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
.contact b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.contact h4 {
  display: block;
  font-size: 30px;
  font-family: "Playfair Display", serif;
  margin-bottom: 15px;
}
.contact h4 span {
  color: #666666;
}
.contact small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 50px;
  opacity: 0.5;
}
.contact small:after {
  content: "";
  width: 50px;
  height: 1px;
  background: #26282b;
  display: inline-block;
  margin-left: 5px;
  margin-bottom: 4px;
  opacity: 0.5;
}
.contact address {
  display: block;
  margin-bottom: 50px;
}
.contact address strong {
  font-weight: 600;
  display: block;
  margin-bottom: 10px;
}
.contact address p {
  display: block;
  margin: 0;
}
.contact .map {
  display: inline-block;
  margin-bottom: 0;
  margin-top: 100px;
  background: rgba(0,0,0,0.2);
  position: relative;
}
.contact .map:before {
  content: "";
  width: 50vw;
  height: 100%;
  background: rgba(0,0,0,0.2);
  position: absolute;
  left: -50vw;
  top: 0;
}
.contact .map .pattern-bg {
  width: 120%;
  height: 100%;
  position: absolute;
  left: 5%;
  top: -5%;
  background: url(../images/side-pattern-bg.webp);
  background-size: contain;
}
.contact .map .holder {
  position: relative;
  width: 100%;
  float: left;
  display: block !important;
  transform: translate(85px, -35px);
}
.contact .map .holder iframe,
.contact .map .holder #contact-map {
  box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.2);
  width: 525px;
  height: 657px;
  border: none;
}
.contact .contact-form {
  width: 100%;
  display: block;
  padding-left: 10%;
}
.contact .contact-form h5 {
  margin-bottom: 40px;
}
.contact .contact-form #contact {
  display: block;
}
.contact .contact-form #contact .form-group {
  display: block;
  position: relative;
  margin-bottom: 35px;
}
.contact .contact-form #contact .form-group span {
  width: 100%;
  line-height: 54px;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0 20px;
  z-index: 0;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.contact .contact-form #contact .form-group span.label-up {
  font-size: 13px;
  line-height: 16px;
  top: -20px;
  font-weight: 600;
}
.contact .contact-form #contact .form-group input[type=text],
.contact .contact-form #contact .form-group input[type=email] {
  background: none;
  position: relative;
  z-index: 2;
}
.contact .contact-form #contact .form-group input:focus + span {
  font-size: 13px;
  line-height: 16px;
  top: -20px;
  font-weight: 600;
}
.contact .contact-form #contact .form-group textarea {
  background: none;
  position: relative;
  z-index: 2;
}
.contact .contact-form #contact .form-group textarea:focus + span {
  font-size: 13px;
  line-height: 16px;
  top: -20px;
  font-weight: 600;
}
.contact .contact-form #contact .form-group label.error {
  color: red;
  margin-top: 5px;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 13px;
}
.contact .contact-form #success, .contact .contact-form #error {
  display: none;
  float: left;
}
.contact .contact-form #error {
  background: red;
  color: #fff;
}
.contact .contact-form #success {
  background: green;
  color: #fff;
}
.contact .contact-form .alert {
  border: none;
  border-radius: 0;
  padding: 20px 30px;
}

/* FOOTER BAR */
.footer-bar {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 120px;
  margin-bottom: -80px;
}
.footer-bar .inner {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: solid 1px rgba(0, 0, 0, 0.2);
  padding: 60px 30px;
  color: #26282b;
}
.footer-bar .inner figure {
  margin-bottom: 20px;
  float: left;
  margin-right: 30px;
}
.footer-bar .inner figure img {
  height: 70px;
  filter: brightness(0);
}
.footer-bar .inner h3 {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  margin-bottom: 15px;
}
.footer-bar .inner p {
  font-size: 16px;
  margin: 0;
}
.footer-bar .inner strong {
  font-weight: 600;
  text-decoration: none;
}

/* LINE CARD — Linha Heritage / Reserve */
.line-simple {
  padding: 90px 0 40px;
}
.line-simple .intro-copy {
  max-width: 100%;
  margin-bottom: 42px;
}
.line-simple .intro-copy h2 {
  font-family: "Playfair Display", serif;
  font-size: 40px;
  margin: 0 0 16px;
}
.line-simple .intro-copy h2 span {
  color: #666666;
}
.line-simple .intro-copy p {
  line-height: 1.8;
  margin: 0;
}
.line-simple .intro-copy .eyebrow {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #666666;
  margin-bottom: 18px;
}
.line-highlight-section {
  padding: 10px 0 90px;
}
.line-highlight-heading {
  margin-bottom: 36px;
}
.line-highlight-heading b {
  display: block;
  font-size: 30px;
  font-weight: 800;
  opacity: 0.2;
}
.line-highlight-heading h3 {
  font-family: "Playfair Display", serif;
  font-size: 34px;
  margin: 6px 0 0;
}
.line-highlight-heading p {
  max-width: 760px;
  margin: 12px 0 0;
  line-height: 1.8;
}
.line-card {
  background: #fff;
  border: 1px solid #ece7dc;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);
  height: 100%;
}
.line-card.line-card-horizontal {
  overflow: hidden;
}
/* Imagem padrão (cards verticais) */
.line-card img:not(.card-logo-overlay):not(.logo-linha):not(.card-name-logo){
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}
.line-card .body {
  padding: 28px;
}
.line-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  margin-bottom: 12px;
}
.line-card h3 span {
  color: #666666;
}
.line-card p {
  line-height: 1.8;
  margin-bottom: 22px;
}
.line-card .cta {
  display: inline-block;
  height: 48px;
  line-height: 48px;
  background: #26282b;
  color: #fff;
  text-decoration: none;
  padding: 0 24px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
}
.line-card .cta:hover {
  background: #666666;
  color: #fff;
  text-decoration: none;
}
.line-card .eyebrow {
  display: block;
  font-size: 13px;
  font-weight: 400;
  opacity: 0.6;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.line-card .meta {
  display: block;
  font-size: 12px;
  opacity: 0.5;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 16px;
}
.line-card .quick-meta {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
}
.line-card .quick-meta li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0;
  color: #4f4f4f;
  font-size: 14px;
  line-height: 1.6;
}
.line-card .quick-meta li i {
  width: 16px;
  color: #666666;
  text-align: center;
  margin-top: 3px;
}
.line-card .status {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #666666;
  margin-bottom: 14px;
}
/* Card horizontal — imagem ocupa altura total da coluna */
.line-card-horizontal .card-img-wrap {
  height: 100%;
  min-height: 400px;
}
.line-card-horizontal .card-img-wrap img:not(.card-logo-overlay):not(.logo-linha) {
  width: 100%;
  height: 100%;
  min-height: 400px;
  object-fit: cover;
  display: block;
}
.line-card.line-card-horizontal .body {
  padding: 50px 45px;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: center;
}
.line-card.line-card-horizontal h3 {
  font-size: 28px;
  margin-bottom: 6px;
}
@media (max-width: 991px) {
  .line-card-horizontal .card-img-wrap,
  .line-card-horizontal .card-img-wrap img:not(.card-logo-overlay):not(.logo-linha) {
    min-height: 280px;
  }
  .line-card.line-card-horizontal .body {
    padding: 32px 28px;
  }
}
@media (max-width: 767px) {
  .line-card .quick-meta {
    grid-template-columns: 1fr;
  }
  .line-card-horizontal .card-img-wrap,
  .line-card-horizontal .card-img-wrap img:not(.card-logo-overlay):not(.logo-linha) {
    min-height: 240px;
  }
}

/* CARD LOGO OVERLAY */
.card-img-wrap {
  position: relative;
  display: block;
  line-height: 0;
}
.card-img-wrap .card-logo-overlay {
  position: absolute;
  bottom: 16px;
  left: 20px;
  width: 90px !important;
  height: 90px !important;
  object-fit: contain !important;
  background: rgba(38, 40, 43, 0.85);
  border-radius: 50%;
  padding: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
  display: block !important;
}
.reserve-card-horizontal .card-img-wrap .card-logo-overlay,
.portfolio-card-horizontal .card-img-wrap .card-logo-overlay,
.line-card-horizontal .card-img-wrap .card-logo-overlay {
  top: auto;
  bottom: 20px;
  right: auto;
  left: 20px;
}

/* FOOTER */
.footer {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-top: 130px;
  padding-bottom: 30px;
  background: #26282b;
}
.footer p {
  color: #fff;
}
.footer .logo {
  height: 41px;
  margin-bottom: 15px;
}
.footer .logo img {
  height: 48px;
}
.footer .select-box {
  display: inline-block;
  position: relative;
  height: 50px;
  line-height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding-right: 15px;
  padding-left: 25px;
  margin-top: 20px;
}
.footer .select-box:hover {
  border: 1px solid rgba(255, 255, 255, 0.35);
}
.footer .select-box span {
  margin-right: 40px;
}
.footer .select-box .dropdown-toggle {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.footer .select-box .dropdown-toggle:hover {
  text-decoration: none;
}
.footer .select-box .dropdown-toggle img {
  width: 20px;
  margin-right: 5px;
}
.footer .select-box .dropdown-menu {
  width: 100%;
  background: #fff;
  border-radius: 0;
  border: none;
  margin-left: -25px;
  margin-top: 13px;
}
.footer .select-box .dropdown-menu li {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer .select-box .dropdown-menu li a {
  display: block;
  padding: 7px 25px;
  font-size: 14px;
  line-height: 1;
}
.footer .select-box .dropdown-menu li a:hover {
  background: none;
  color: #666666;
}
.footer .select-box .dropdown-menu li a img {
  width: 20px;
  margin-right: 5px;
}
.footer .footer-menu {
  display: block;
  margin: 0;
}
.footer .footer-menu li {
  width: 100%;
  float: left;
  margin: 0;
  padding: 4px 0;
  list-style: none;
}
.footer .footer-menu li a {
  float: left;
  color: #fff;
}
.footer .footer-menu li a:hover {
  color: #cccccc;
}
.footer .contact-box {
  float: right;
  color: #fff;
  text-align: right;
}
.footer .contact-box h5 {
  margin-bottom: 10px;
  font-size: 19px;
  font-family: "Playfair Display", serif;
}
.footer .contact-box h3 {
  font-weight: 600;
  margin: 0;
}
.footer .contact-box p {
  margin-bottom: 10px;
}
.footer .contact-box p a {
  color: #fff;
  opacity: 0.5;
}
.footer .contact-box ul {
  float: right;
  margin: 0;
  margin-top: 20px;
  padding: 0;
}
.footer .contact-box ul li {
  float: left;
  margin-left: 5px;
  padding: 0;
  list-style: none;
}
.footer .contact-box ul li a {
  width: 40px;
  height: 40px;
  float: left;
  text-align: center;
  line-height: 42px;
  font-size: 13px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}
.footer .contact-box ul li a:hover {
  color: #26282b;
  background: #cccccc;
}
.footer .col-12 {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 30px;
  margin-top: 80px;
  color: #fff;
  font-size: 13px;
}
.footer .col-12 .copyright {
  float: left;
}
.footer .col-12 .creation {
  float: right;
}
.footer .col-12 .creation a {
  color: #fff;
}

/* RESPONSIVE MEDIUM  FIXES */
@media only screen and (max-width: 1199px), only screen and (max-device-width: 1199px) {
  .intro figure .holder {
    transform: translate(65px, -65px);
  }

  .intro figure .holder img {
    width: 450px;
  }

  .property-calculator figure .holder {
    transform: translate(65px, -65px);
  }

  .property-calculator figure .holder img {
    width: 450px;
  }

  .footer-bar .inner p {
    font-size: 15px;
  }

  .footer-bar .inner p br {
    display: none;
  }
}
/* RESPONSIVE TABLET FIXES */
@media only screen and (max-width: 991px), only screen and (max-device-width: 991px) {
  .side-navigation .side-content {
    display: none;
  }

  .side-navigation .menu {
    display: block;
  }

  .navbar .container {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .navbar .container .logo {
    flex: 0 0 auto;
  }

  .navbar .container .menu {
    display: none;
  }

  .navbar .container .language {
    display: flex;
    flex: 0 0 auto;
  }

  .navbar .container .hamburger {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    cursor: pointer;
    margin-right: 50px;
    position: relative;
    z-index: 15;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  .page-header .container h1 {
    font-size: 8vw;
  }

  .intro figure {
    width: 100%;
    margin-bottom: 80px;
  }

  .intro figure .pattern-bg {
    width: 100%;
    left: 0;
  }

  .intro figure .holder {
    transform: translate(0, -45px);
    padding: 0 15%;
  }

  .intro figure .holder img {
    width: 100%;
  }

  .intro .content-box {
    padding-left: 0;
  }

  .logos figure img {
    padding: 0 10%;
  }

  .about-content {
    padding: 80px 0;
  }

  .sales-offices {
    padding: 80px 0;
  }

  .press-relases {
    padding: 80px 0;
  }

  .photo-gallery {
    padding: 80px 0;
  }

  .photo-gallery .gallery li {
    width: 33.33333%;
  }

  .intro-video {
    padding: 80px 0;
  }

  .faq .sidebox {
    width: 100%;
    margin-left: 0;
    margin-top: 50px;
  }

  .apartment {
    padding: 80px 0;
  }

  .apartment .property-infos {
    width: 100%;
    margin-right: 0;
  }

  .apartment .property-plan {
    margin: 50px 0;
  }

  .apartment .gallery-slider {
    width: 100%;
  }

  .facilities {
    padding: 80px 0;
  }

  .blog .sidebar {
    width: 100%;
    margin-left: 0;
    padding-left: 0;
    border-left: none;
  }

  .sales-team {
    padding: 80px 0;
  }

  .sales-team figure figcaption {
    width: 50%;
  }

  .sales-team figure figcaption h4 {
    font-size: 21px;
  }

  .sales-team figure figcaption small {
    margin-bottom: 20px;
  }

  .error404 {
    padding: 80px 0;
  }

  .recent-gallery {
    padding: 80px 0;
  }

  .recent-gallery h3 {
    padding-right: 0;
  }

  .recent-gallery .col-md-4 {
    margin-top: 0 !important;
  }

  .recent-gallery figure {
    margin-top: 80px;
  }

  .benefits {
    padding: 80px 0;
  }

  .property-calculator {
    padding-bottom: 80px;
    margin-top: 0;
  }

  .property-calculator .col-lg-6:nth-child(1) {
    order: 2;
  }

  .property-calculator .col-lg-6:nth-child(2) {
    order: 1;
  }

  .property-calculator figure {
    width: 100%;
  }

  .property-calculator figure:before {
    display: none;
  }

  .property-calculator figure .pattern-bg {
    width: 100%;
    left: 0;
  }

  .property-calculator figure .holder {
    transform: translate(0, -45px);
    padding: 0 15%;
  }

  .property-calculator figure .holder img {
    width: 100%;
  }

  .property-calculator .content-box {
    padding-left: 0;
    margin-bottom: 150px;
  }

  .property-plans {
    padding-bottom: 80px;
  }

  .property-plans .nav-pills {
    margin-top: 40px;
  }

  .recent-posts {
    padding: 80px 0;
  }

  .recent-posts .post-box {
    margin: 25px 0;
  }

  .property-customization {
    padding: 80px 0;
  }

  .video-bg video {
    float: right;
  }

  .certificates {
    padding: 80px 0;
  }

  .contact {
    padding: 80px 0;
  }

  .contact address p a {
    display: block;
  }

  .contact .contact-form {
    padding-left: 0;
    margin-top: 50px;
  }

  .blog {
    padding: 80px 0;
  }

  .footer-bar .inner {
    padding: 30px;
  }

  .footer-bar .inner .col-lg-4 {
    margin: 20px 0;
  }

  .footer-bar .inner figure {
    width: 70px;
    margin-right: 0;
  }

  .footer-bar .inner figure img {
    height: 50px;
  }

  .footer {
    padding-top: 150px;
  }

  .footer .select-box {
    margin-bottom: 80px;
  }

  .footer .footer-menu {
    padding: 0;
  }

  .footer .contact-box {
    float: left;
    text-align: left;
    margin-top: 80px;
  }

  .footer .contact-box ul {
    float: left;
  }
}
/* RESPONSIVE MOBILE FIXES */
@media only screen and (max-width: 767px), only screen and (max-device-width: 767px) {
  .side-navigation {
    width: 80vw;
  }

  .page-header .container h1 {
    font-size: 10vw;
  }

  .page-header .container .breadcrumb {
    width: calc(100% - 30px);
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .page-header .container .breadcrumb .breadcrumb-item {
    max-width: 120px;
    flex-shrink: 1;
    min-width: 0;
  }
  .page-header .container .breadcrumb .breadcrumb-item:first-child {
    flex-shrink: 0;
  }

  .navbar .container .language {
    display: none;
  }

  .slider .slider-container .inner-elements .container .social-media {
    display: none;
  }

  .slider .slider-container .swiper-slide .container {
    padding-left: 15px;
    padding-right: 40px;
  }

  .slider .slider-container .swiper-slide .container figure {
    width: 100%;
    margin-left: 0;
    margin-top: 30px;
  }

  .benefits .col {
    width: 50%;
    flex-basis: auto;
    border-right: none;
  }

  .benefits .col:nth-child(odd) {
    margin-top: 0;
  }

  .apartment h2 {
    font-size: 9vw;
  }

  .apartment figure {
    margin: 15px 0;
  }

  .apartment h4 {
    margin-top: 30px;
  }

  .about-content h2 {
    font-size: 10vw;
  }

  .blog .post .post-image {
    margin-bottom: 30px;
  }

  .blog .post .post-content {
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .contact .map .holder iframe,
  .contact .map .holder #contact-map {
    width: 100%;
    height: 450px;
  }

  .side-navigation .menu ul li a {
    font-size: 5vw;
  }

  .side-navigation .menu ul li ul li a {
    font-size: 4vw;
  }

  .certificates figure {
    margin: 15px 0;
  }

  .footer .col-12 .creation {
    float: left;
    margin-top: 5px;
  }
}



    .portfolio-download-btns {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
        margin-top: 40px;
        margin-bottom: 20px;
    }
    .portfolio-download-btns a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        height: 50px;
        line-height: 50px;
        background: #26282b;
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        padding: 0 32px;
        text-decoration: none;
        letter-spacing: 1px;
        transition: background 0.25s ease;
    }
    .portfolio-download-btns a:hover {
        background: #666666;
        color: #fff;
        text-decoration: none;
    }
    .diferenciais-empreendimento {
        background: #181818;
        padding: 80px 0 50px;
    }
    .diferenciais-empreendimento .section-heading {
        max-width: 820px;
        margin-bottom: 48px;
        color: #fff;
    }
    .diferenciais-empreendimento .section-heading span {
        display: block;
        margin-bottom: 12px;
        color: #666666;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 2.4px;
        text-transform: uppercase;
    }
    .diferenciais-empreendimento .section-heading h1 {
        font-family:'Playfair Display',serif;
        font-size: 46px;
        font-weight: 700;
        margin-bottom: 14px;
        color: #cccccc;
    }
    .diferenciais-empreendimento .section-heading h2 {
        font-family:'Playfair Display',serif;
        font-size: 22px;
        font-weight: 400;
        margin-bottom: 0;
        color: rgba(255,255,255,0.72);
    }
    .diferenciais-empreendimento .section-heading p {
        margin: 0;
        color: rgba(255,255,255,0.82);
        line-height: 1.9;
    }
    .feature-slice {
        margin-bottom: 28px;
        background: #fff;
        overflow: hidden;
        box-shadow: 0 16px 45px rgba(0,0,0,0.16);
    }
    .feature-slice .feature-media a {
        display: block;
        width: 100%;
        height: 100%;
    }
    .feature-slice .feature-media img {
        width: 100%;
        height: 100%;
        min-height: 360px;
        object-fit: cover;
        display: block;
    }
    .feature-slice .feature-copy {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 100%;
        padding: 52px 46px;
    }
    .feature-slice .feature-index {
        display: block;
        margin-bottom: 12px;
        color: #666666;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
    }
    .feature-slice h3 {
        font-family:'Playfair Display',serif;
        font-size: 34px;
        color: #26282b;
        margin-bottom: 14px;
    }
    .feature-slice p {
        margin: 0;
        color: #555;
        line-height: 1.9;
        font-size: 16px;
    }
    @media (min-width: 992px) {
        .diferenciais-empreendimento.scroll-story.is-scroll-story {
            min-height: var(--story-height, 500vh);
            padding: 0;
            overflow: visible;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story > .container {
            position: sticky;
            top: 0;
            min-height: 100vh;
            padding-top: 150px;
            padding-bottom: 40px;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story .section-heading {
            max-width: 760px;
            margin-bottom: 24px;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story .feature-slice {
            position: absolute;
            left: 15px;
            right: 15px;
            top: 324px;
            margin-bottom: 0;
            opacity: 0;
            visibility: hidden !important;
            pointer-events: none;
            transform: translateY(46px) scale(0.96);
            transition: opacity 0.65s ease, transform 0.65s ease, visibility 0s linear 0.65s;
            animation: none !important;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story .feature-slice.is-active {
            opacity: 1;
            visibility: visible !important;
            pointer-events: auto;
            transform: translateY(0) scale(1);
            transition-delay: 0s;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story .feature-media img {
            min-height: 320px;
            max-height: min(44vh, 380px);
        }
    }
    @media (prefers-reduced-motion: reduce) {
        .diferenciais-empreendimento.scroll-story.is-scroll-story {
            min-height: auto;
            padding: 80px 0 50px;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story > .container {
            position: static;
            min-height: 0;
            display: block;
            padding-top: 0;
            padding-bottom: 0;
        }
        .diferenciais-empreendimento.scroll-story.is-scroll-story .feature-slice {
            position: static;
            opacity: 1;
            visibility: visible !important;
            pointer-events: auto;
            transform: none;
            transition: none;
            margin-bottom: 28px;
        }
    }
    @media (max-width: 991px) {
        .diferenciais-empreendimento .section-heading h1 {
            font-size: 38px;
        }
        .diferenciais-empreendimento .section-heading h2 {
            font-size: 20px;
        }
        .feature-slice .feature-media img {
            min-height: 280px;
        }
        .feature-slice .feature-copy {
            padding: 36px 30px;
        }
    }
    @media (max-width: 767px) {
        .diferenciais-empreendimento {
            padding: 60px 0 30px;
        }
        .diferenciais-empreendimento .section-heading h1 {
            font-size: 32px;
        }
        .diferenciais-empreendimento .section-heading h2 {
            font-size: 18px;
        }
        .feature-slice .feature-copy {
            padding: 28px 22px;
        }
        .feature-slice h3 {
            font-size: 28px;
        }
        .feature-slice p {
            font-size: 15px;
        }
    }


    .architecture-spotlight {
        position: relative;
        padding: 95px 0 110px;
        background: #ffffff;
        overflow: hidden;
    }
    .architecture-spotlight:before {
        content: "";
        position: absolute;
        left: 0;
        top: 70px;
        width: 46%;
        height: 420px;
        background: rgb(30 47 5 / 50%);
        opacity: 0.85;
    }
    .architecture-spotlight:after {
        content: "";
        position: absolute;
        left: 0;
        top: 70px;
        width: 46%;
        height: 420px;
        background:
          linear-gradient(90deg, rgba(159,128,84,0.18) 0, rgba(159,128,84,0.18) 2px, transparent 2px, transparent 33%),
          linear-gradient(0deg, rgba(159,128,84,0.14) 0, rgba(159,128,84,0.14) 2px, transparent 2px, transparent 33%);
        opacity: 0.5;
        pointer-events: none;
    }
    .architecture-spotlight .architecture-shell {
        position: relative;
        z-index: 2;
        align-items: center;
    }
    .architecture-spotlight .architecture-portrait-wrap {
        position: relative;
        padding-left: 70px;
    }
    .architecture-spotlight .architecture-portrait {
        width: 100%;
        max-width: 360px;
        aspect-ratio: 3 / 5;
        object-fit: cover;
        object-position: top center;
        display: block;
        box-shadow: 0 18px 55px rgba(0,0,0,0.16);
    }
    .architecture-spotlight .architecture-content {
        position: relative;
        background: var(--theme-bg-card);
        padding: 56px 54px;
        box-shadow: 0 18px 60px rgba(0,0,0,0.08);
        margin-left: -40px;
    }
    .architecture-spotlight .architecture-content b {
        display: block;
        font-size: 30px;
        font-weight: 800;
        opacity: 0.2;
        margin-bottom: 8px;
    }
    .architecture-spotlight .architecture-content h4 {
        font-family: 'Playfair Display', serif;
        font-size: 34px;
        margin-bottom: 6px;
        color: #26282b;
    }
    .architecture-spotlight .architecture-content .architecture-role {
        display: block;
        margin-bottom: 24px;
        color: #666666;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
    }
    .architecture-spotlight .architecture-divider {
        width: 100%;
        height: 1px;
        background: rgba(38,40,43,0.14);
        margin-bottom: 26px;
    }
    .architecture-spotlight .architecture-text {
        column-count: 2;
        column-gap: 34px;
    }
    .architecture-spotlight .architecture-text p {
        color: #555;
        line-height: 1.9;
        margin-bottom: 18px;
        break-inside: avoid;
    }
    @media (max-width: 1199px) {
        .architecture-spotlight .architecture-content {
            padding: 46px 40px;
        }
    }
    @media (max-width: 991px) {
        .architecture-spotlight {
            padding: 75px 0 90px;
        }
        .architecture-spotlight:before,
        .architecture-spotlight:after {
            width: 100%;
            height: 300px;
            top: 0;
        }
        .architecture-spotlight .architecture-portrait-wrap {
            padding-left: 0;
            margin-bottom: 24px;
        }
        .architecture-spotlight .architecture-portrait {
            max-width: 100%;
        }
        .architecture-spotlight .architecture-content {
            margin-left: 0;
        }
        .architecture-spotlight .architecture-text {
            column-count: 1;
        }
    }
    @media (max-width: 767px) {
        .architecture-spotlight {
            padding: 60px 0 70px;
        }
        .architecture-spotlight .architecture-content {
            padding: 34px 24px;
        }
        .architecture-spotlight .architecture-content h4 {
            font-size: 30px;
        }
    }



    .architect-spotlight {
        position: relative;
        padding: 95px 0 110px;
        background: #ffffff;
        overflow: hidden;
    }
    .architect-spotlight:before {
        content: "";
        position: absolute;
        left: 0;
        top: 70px;
        width: 46%;
        height: 420px;
        background: rgb(38 40 43 / 60%);
        opacity: 0.85;
    }
    .architect-spotlight:after {
        content: "";
        position: absolute;
        left: 0;
        top: 70px;
        width: 46%;
        height: 420px;
        background:
          linear-gradient(90deg, rgba(159,128,84,0.18) 0, rgba(159,128,84,0.18) 2px, transparent 2px, transparent 33%),
          linear-gradient(0deg, rgba(159,128,84,0.14) 0, rgba(159,128,84,0.14) 2px, transparent 2px, transparent 33%);
        opacity: 0.5;
        pointer-events: none;
    }
    .architect-spotlight .architect-shell {
        position: relative;
        z-index: 2;
        align-items: center;
    }
    .architect-spotlight .architect-portrait-wrap {
        position: relative;
        padding-left: 70px;
    }
    .architect-spotlight .architect-portrait {
        width: 100%;
        max-width: 360px;
        aspect-ratio: 3 / 5;
        object-fit: cover;
        object-position: top center;
        display: block;
        box-shadow: 0 18px 55px rgba(0,0,0,0.16);
    }
    .architect-spotlight .architect-content {
        position: relative;
        background: #fff;
        padding: 56px 54px;
        box-shadow: 0 18px 60px rgba(0,0,0,0.08);
        margin-left: -40px;
    }
    .architect-spotlight .architect-content b {
        display: block;
        font-size: 30px;
        font-weight: 800;
        opacity: 0.2;
        margin-bottom: 8px;
    }
    .architect-spotlight .architect-content h4 {
        font-family: 'Playfair Display', serif;
        font-size: 34px;
        margin-bottom: 6px;
        color: #26282b;
    }
    .architect-spotlight .architect-content .architect-role {
        display: block;
        margin-bottom: 24px;
        color: #666666;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
    }
    .architect-spotlight .architect-divider {
        width: 100%;
        height: 1px;
        background: rgba(38,40,43,0.14);
        margin-bottom: 26px;
    }
    .architect-spotlight .architect-text {
        column-count: 2;
        column-gap: 34px;
    }
    .architect-spotlight .architect-text p {
        color: #555;
        line-height: 1.9;
        margin-bottom: 18px;
        break-inside: avoid;
    }
    @media (max-width: 1199px) {
        .architect-spotlight .architect-content {
            padding: 46px 40px;
        }
    }
    @media (max-width: 991px) {
        .architect-spotlight {
            padding: 75px 0 90px;
        }
        .architect-spotlight:before,
        .architect-spotlight:after {
            width: 100%;
            height: 300px;
            top: 0;
        }
        .architect-spotlight .architect-portrait-wrap {
            padding-left: 0;
            margin-bottom: 24px;
        }
        .architect-spotlight .architect-portrait {
            max-width: 100%;
        }
        .architect-spotlight .architect-content {
            margin-left: 0;
        }
        .architect-spotlight .architect-text {
            column-count: 1;
        }
    }
    @media (max-width: 767px) {
        .architect-spotlight {
            padding: 60px 0 70px;
        }
        .architect-spotlight .architect-content {
            padding: 34px 24px;
        }
        .architect-spotlight .architect-content h4 {
            font-size: 30px;
        }
    }
  .localizacao-bairro { background: #111; padding: 72px 0; }
  .localizacao-bairro .loc-label { display: block; margin-bottom: 10px; color: #666; font-size: 11px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; }
  .localizacao-bairro .loc-address { font-family: 'Playfair Display', serif; font-size: 17px; color: #ccc; line-height: 1.7; margin-bottom: 0; }
  .localizacao-bairro .loc-bairro p { color: rgba(255,255,255,0.72); line-height: 1.9; font-size: 15px; margin-bottom: 14px; }
  .localizacao-bairro .loc-bairro p:last-child { margin-bottom: 0; }
  @media (max-width: 991px) { .localizacao-bairro { padding: 52px 0; } }

/* FIX VIDEO MOBILE - intro */
@media only screen and (max-width: 991px) {
  .intro figure {
    width: 100%;
    background: transparent;
    margin-bottom: 40px;
    overflow: visible !important;
  }
  .intro figure .pattern-bg {
    display: none;
  }
  .intro figure .holder-video {
    transform: none !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.15) !important;
    border-radius: 12px;
  }
}

/* =============================================
   DARK THEME GLOBAL OVERRIDES
   Applied when <html> has NO data-theme (default)
   or data-theme="dark". Light = data-theme="light".
   ============================================= */

/* --- BASE --- */
/* body already uses var(--theme-bg) and var(--theme-text) */


html:not([data-theme="light"]) h1,
html:not([data-theme="light"]) h2,
html:not([data-theme="light"]) h3,
html:not([data-theme="light"]) h4,
html:not([data-theme="light"]) h5,
html:not([data-theme="light"]) h6,
html:not([data-theme="light"]) p,
html:not([data-theme="light"]) a,
html:not([data-theme="light"]) li,
html:not([data-theme="light"]) span:not(.status):not(.badge):not(.tag-linha):not(.source-pill):not(.category-pill):not(.section-label):not(.lang-current):not(.breadcrumb-item *) {
  color: var(--theme-text);
}
html:not([data-theme="light"]) a:hover { opacity: 0.85; }

/* --- SECTIONS with explicit white background --- */
/* NOTE: .get-consultation is intentionally excluded — it has a photo background */
html:not([data-theme="light"]) .section,
html:not([data-theme="light"]) section:not(.get-consultation),
html:not([data-theme="light"]) .sobre-institucional,
html:not([data-theme="light"]) .sobre-stats,
html:not([data-theme="light"]) .sobre-team,
html:not([data-theme="light"]) .sobre-timeline,
html:not([data-theme="light"]) .midia-grid-section,
html:not([data-theme="light"]) .recent-posts,
html:not([data-theme="light"]) .contact,
html:not([data-theme="light"]) .faq,
html:not([data-theme="light"]) .privacy-section,
html:not([data-theme="light"]) .area-cliente,
html:not([data-theme="light"]) .portfolio-status-section,
html:not([data-theme="light"]) .portfolio-section,
html:not([data-theme="light"]) .portfolio-archive {
  background: var(--theme-bg) !important;
}

/* Timeline section has an inline <style> gradient — use background shorthand to override it */
html:not([data-theme="light"]) .sobre-timeline {
  background: var(--theme-bg) !important;
}
html:not([data-theme="light"]) .sobre-timeline .timeline-item {
  background: var(--theme-bg-card) !important;
  border-color: var(--theme-border-solid) !important;
}
html:not([data-theme="light"]) .sobre-timeline .timeline-item h3,
html:not([data-theme="light"]) .sobre-timeline .timeline-item p,
html:not([data-theme="light"]) .sobre-timeline .timeline-item strong,
html:not([data-theme="light"]) .sobre-timeline .timeline-item .timeline-year,
html:not([data-theme="light"]) .sobre-timeline .timeline-intro h2,
html:not([data-theme="light"]) .sobre-timeline .timeline-intro p {
  color: var(--theme-text) !important;
}

/* --- TEXT CONTRAST: section labels, eyebrows, muted text --- */
html:not([data-theme="light"]) .section-label,
html:not([data-theme="light"]) .eyebrow {
  color: #999999 !important;
}
html:not([data-theme="light"]) .sobre-team .team-header span,
html:not([data-theme="light"]) .sobre-team .team-header h2,
html:not([data-theme="light"]) .sobre-institucional .section-label,
html:not([data-theme="light"]) .sobre-institucional p,
html:not([data-theme="light"]) .sobre-institucional h2 {
  color: var(--theme-text) !important;
}
/* Muted/gray body text in inline style blocks */
html:not([data-theme="light"]) [class*="sobre"] p,
html:not([data-theme="light"]) [class*="sobre"] li {
  color: var(--theme-text-soft) !important;
}

html:not([data-theme="light"]) .portfolio-status-section.pipeline,
html:not([data-theme="light"]) .portfolio-status-section.entregues,
html:not([data-theme="light"]) .portfolio-status-section:nth-child(even) {
  background-color: var(--theme-bg-alt) !important;
}

/* --- CARDS --- */
html:not([data-theme="light"]) .portfolio-card,
html:not([data-theme="light"]) .line-card,
html:not([data-theme="light"]) .reserve-card,
html:not([data-theme="light"]) .clipping-card,
html:not([data-theme="light"]) .feature-slice,
html:not([data-theme="light"]) .profile-card,
html:not([data-theme="light"]) .faq-item,
html:not([data-theme="light"]) .social-item,
html:not([data-theme="light"]) .news-card {
  background-color: var(--theme-bg-card) !important;
  border-color: var(--theme-border-solid) !important;
  box-shadow: 0 8px 30px var(--theme-shadow) !important;
}

/* --- CARD BODY TEXT --- */
html:not([data-theme="light"]) .portfolio-card .body h4,
html:not([data-theme="light"]) .portfolio-card .body p,
html:not([data-theme="light"]) .portfolio-card .body .quick-meta li,
html:not([data-theme="light"]) .line-card .body h4,
html:not([data-theme="light"]) .line-card .body p,
html:not([data-theme="light"]) .line-card .body .quick-meta li,
html:not([data-theme="light"]) .line-card .body .quick-meta li i,
html:not([data-theme="light"]) .reserve-card .body h4,
html:not([data-theme="light"]) .reserve-card .body p,
html:not([data-theme="light"]) .reserve-card .body .quick-meta li,
html:not([data-theme="light"]) .reserve-card .body .quick-meta li i,
html:not([data-theme="light"]) .feature-slice h3,
html:not([data-theme="light"]) .feature-slice p,
html:not([data-theme="light"]) .profile-card h3,
html:not([data-theme="light"]) .profile-card p,
html:not([data-theme="light"]) .clipping-card p,
html:not([data-theme="light"]) .clipping-card .card-title,
html:not([data-theme="light"]) .clipping-card .card-link,
html:not([data-theme="light"]) .faq-item h5,
html:not([data-theme="light"]) .faq-item p,
html:not([data-theme="light"]) .news-card h4,
html:not([data-theme="light"]) .news-card p {
  color: var(--theme-text) !important;
}

/* --- CONTACT FORM --- */
html:not([data-theme="light"]) .contact-form input,
html:not([data-theme="light"]) .contact-form textarea,
html:not([data-theme="light"]) .contact-form select,
html:not([data-theme="light"]) .contact-form span,
html:not([data-theme="light"]) .contact-form .form-group span {
  color: var(--theme-text) !important;
  border-color: #3a3d42 !important;
  background-color: #1e2124 !important;
}
html:not([data-theme="light"]) .contact-form select option {
  background-color: var(--theme-bg-card);
  color: var(--theme-text);
}

/* --- STATUSES / BADGES in cards --- */
html:not([data-theme="light"]) .portfolio-card .status,
html:not([data-theme="light"]) .line-card .status,
html:not([data-theme="light"]) .reserve-card .status {
  color: #999 !important;
}

/* --- LOGO in card body --- */
html:not([data-theme="light"]) .logo-linha {
  filter: brightness(0) invert(1) !important;
}

/* --- BORDERS / DIVIDERS --- */
html:not([data-theme="light"]) hr,
html:not([data-theme="light"]) .architect-divider {
  border-color: var(--theme-border-solid) !important;
  background-color: var(--theme-border-solid) !important;
}

/* --- SOBRE / TEAM --- */
html:not([data-theme="light"]) .sobre-stats {
  background-color: var(--theme-bg-alt) !important;
}
html:not([data-theme="light"]) .sobre-stats .stat-number,
html:not([data-theme="light"]) .sobre-stats .stat-label {
  color: var(--theme-text) !important;
}

/* --- PORTFOLIO STATUS SECTIONS headings --- */
html:not([data-theme="light"]) .portfolio-status-heading h3,
html:not([data-theme="light"]) .portfolio-status-heading p {
  color: var(--theme-text) !important;
}

/* --- SECTION LABELS / EYEBROWS --- */
html:not([data-theme="light"]) .section-heading h2,
html:not([data-theme="light"]) .section-heading p {
  color: var(--theme-text) !important;
}

/* --- BREADCRUMB BAR (page-header) --- */
html:not([data-theme="light"]) .page-header .container .breadcrumb {
  background: rgba(17, 18, 20, 0.55) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: none !important;
}
html:not([data-theme="light"]) .breadcrumb .breadcrumb-item:before,
html:not([data-theme="light"]) .breadcrumb .breadcrumb-item.active,
html:not([data-theme="light"]) .breadcrumb .breadcrumb-item a {
  color: rgba(255,255,255,0.85) !important;
}
html:not([data-theme="light"]) .breadcrumb .breadcrumb-item a:hover {
  color: #fff !important;
}

/* --- BUTTONS: dark bg buttons become white w/ dark text in dark mode --- */
html:not([data-theme="light"]) .line-card .cta,
html:not([data-theme="light"]) .line-card .cta:hover,
html:not([data-theme="light"]) .portfolio-card .cta,
html:not([data-theme="light"]) .portfolio-card .cta:hover,
html:not([data-theme="light"]) .reserve-card .cta,
html:not([data-theme="light"]) .reserve-card .cta:hover,
html:not([data-theme="light"]) .get-consultation a,
html:not([data-theme="light"]) .get-consultation a:hover,
html:not([data-theme="light"]) .recent-gallery .link,
html:not([data-theme="light"]) .feature-slice a,
html:not([data-theme="light"]) .hero-cta,
html:not([data-theme="light"]) .section-cta,
html:not([data-theme="light"]) a[style*="background:#26282b"],
html:not([data-theme="light"]) a[style*="background: #26282b"] {
  background: #ffffff !important;
  color: #111214 !important;
  border-color: #ffffff !important;
}
html:not([data-theme="light"]) .recent-gallery .link:before {
  background: #ffffff !important;
}
/* .link text-only buttons (SETAI / HERITAGE / RESERVE in content-box) */
html:not([data-theme="light"]) body.home-page .get-consultation .content-box a.link {
  color: #26282b !important;
  border-color: rgba(0,0,0,0.3) !important;
}
/* "VER ACERVO" link na intro da homepage */
html:not([data-theme="light"]) .intro .content-box a {
  color: var(--theme-text) !important;
}
html:not([data-theme="light"]) .intro .content-box a:hover {
  color: rgba(255,255,255,0.65) !important;
}
/* pattern-bg (detalhe gráfico atrás do vídeo): reduzir opacidade no dark */
/* pattern-bg: invert no dark mode para aparecer como padrão claro sobre fundo escuro */
html:not([data-theme="light"]) .pattern-bg {
  filter: invert(1);
  opacity: 0.55;
}
/* contact map pattern-bg: keep same as light mode */
html:not([data-theme="light"]) .contact .map .pattern-bg {
  filter: none;
  opacity: 1;
}
html:not([data-theme="light"]) .contact .map {
  background: rgba(220, 210, 195, 0.25);
}
html:not([data-theme="light"]) .contact .map:before {
  background: rgba(220, 210, 195, 0.25);
}
/* intro figure (home): same fix */
html:not([data-theme="light"]) .intro figure {
  background: rgba(220, 210, 195, 0.25);
}
html:not([data-theme="light"]) .intro figure .pattern-bg {
  filter: none;
  opacity: 1;
}

/* --- BENEFITS (contadores) --- */
html:not([data-theme="light"]) .benefits {
  background: var(--theme-bg-card) !important;
}
html:not([data-theme="light"]) .benefits .col {
  border-right-color: rgba(255,255,255,0.1) !important;
}
html:not([data-theme="light"]) .benefits h4,
html:not([data-theme="light"]) .benefits h6,
html:not([data-theme="light"]) .benefits .odometer,
html:not([data-theme="light"]) .benefits .extra {
  color: var(--theme-text) !important;
}
html:not([data-theme="light"]) .benefits figure:after {
  border-color: rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.08) !important;
}
html:not([data-theme="light"]) .benefits figure img {
  filter: brightness(0) invert(1);
}
html:not([data-theme="light"]) .benefits .col:hover figure img {
  filter: brightness(0) invert(1) brightness(1.4);
}

/* --- FOOTER BAR --- */
/* Keep footer-bar identical in dark mode (same as light) */

html:not([data-theme="light"]) section.footer-bar {
  background: transparent !important;
  margin-bottom: -80px !important;
  position: relative !important;
  z-index: 3 !important;
}
html:not([data-theme="light"]) .footer-bar .inner {
  background: rgba(30, 33, 36, 0.82) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
html:not([data-theme="light"]) .footer-bar .inner h3,
html:not([data-theme="light"]) .footer-bar .inner p,
html:not([data-theme="light"]) .footer-bar .inner strong,
html:not([data-theme="light"]) .footer-bar .inner span {
  color: #ffffff !important;
}
html:not([data-theme="light"]) .footer-bar .inner p {
  color: rgba(255, 255, 255, 0.75) !important;
}
html:not([data-theme="light"]) .footer-bar .inner figure img {
  filter: brightness(0) invert(1) !important;
}

/* --- INLINE STYLE OVERRIDES (elements with hardcoded style= on white bg) --- */
html:not([data-theme="light"]) [style*="border: 1px solid #e0e0e0"],
html:not([data-theme="light"]) [style*="border:1px solid #e0e0e0"] {
  border-color: var(--theme-border-solid) !important;
}
html:not([data-theme="light"]) [style*="background:#fff"],
html:not([data-theme="light"]) [style*="background: #fff"],
html:not([data-theme="light"]) [style*="background: #ffffff"],
html:not([data-theme="light"]) [style*="background:#ffffff"],
html:not([data-theme="light"]) [style*="background:#f5f5f5"],
html:not([data-theme="light"]) [style*="background: white"] {
  background-color: var(--theme-bg-card) !important;
}
html:not([data-theme="light"]) [style*="color:#26282b"],
html:not([data-theme="light"]) [style*="color: #26282b"],
html:not([data-theme="light"]) [style*="color:#333"],
html:not([data-theme="light"]) [style*="color: #333"],
html:not([data-theme="light"]) [style*="color:#555"],
html:not([data-theme="light"]) [style*="color: #555"] {
  color: var(--theme-text) !important;
}

/* --- MIDIA / NOTICIAS section intro text --- */
html:not([data-theme="light"]) .midia-section-head .section-copy h2,
html:not([data-theme="light"]) .midia-section-head .section-copy p,
html:not([data-theme="light"]) .midia-section-head .section-note {
  color: var(--theme-text) !important;
}

/* --- CONTACT SECTION text --- */
html:not([data-theme="light"]) .contact h4,
html:not([data-theme="light"]) .contact small,
html:not([data-theme="light"]) .contact address,
html:not([data-theme="light"]) .contact address p,
html:not([data-theme="light"]) .contact address a,
html:not([data-theme="light"]) .contact-info h4,
html:not([data-theme="light"]) .contact-info p,
html:not([data-theme="light"]) .contact-info a {
  color: var(--theme-text) !important;
}

/* --- NOTICIA VIEW (article content) --- */
html:not([data-theme="light"]) .post-content,
html:not([data-theme="light"]) .post-content h2,
html:not([data-theme="light"]) .post-content h3,
html:not([data-theme="light"]) .post-content p,
html:not([data-theme="light"]) .post-content li,
html:not([data-theme="light"]) .post-section {
  background-color: var(--theme-bg) !important;
  color: var(--theme-text) !important;
}

/* --- EMPREENDIMENTO STATUS inline cards (noticias layout) --- */
html:not([data-theme="light"]) .col-lg-6[style*="padding"],
html:not([data-theme="light"]) .col-lg-6[style*="display:flex"] {
  color: var(--theme-text);
}

/* --- SMOOTH TRANSITION for all themed elements --- */
body, section, .portfolio-card, .line-card, .reserve-card, .clipping-card,
.feature-slice, .profile-card, .contact-form, h1, h2, h3, h4, h5, h6, p {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* --- LINES (home) mobile spacing --- */
@media (max-width: 991px) {
  body.home-page .get-consultation .col-lg-4 {
    margin-bottom: 24px;
  }
  body.home-page .get-consultation .col-lg-4:last-child {
    margin-bottom: 0;
  }
}

/* --- NEWS card dark mode --- */
html:not([data-theme="light"]) .recent-posts .row[style*="border"] {
  border-color: rgba(255,255,255,0.1) !important;
  background: rgba(255,255,255,0.05) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.35) !important;
}
.news-btn:hover { background: #444 !important; }
html:not([data-theme="light"]) .news-btn,
html:not([data-theme="light"]) .news-btn span,
html:not([data-theme="light"]) .news-btn i {
  background: #ffffff !important;
  color: #1a1a1a !important;
}
html:not([data-theme="light"]) .news-btn:hover,
html:not([data-theme="light"]) .news-btn:hover span,
html:not([data-theme="light"]) .news-btn:hover i {
  background: #e8e8e8 !important;
  color: #1a1a1a !important;
}

/* --- Lines content-box: frosted white bg over photo, text stays dark in dark mode --- */
html:not([data-theme="light"]) body.home-page .get-consultation .content-box,
html:not([data-theme="light"]) body.home-page .get-consultation .content-box p,
html:not([data-theme="light"]) body.home-page .get-consultation .content-box h3,
html:not([data-theme="light"]) body.home-page .get-consultation .content-box h4,
html:not([data-theme="light"]) body.home-page .get-consultation .content-box h5 {
  color: #26282b !important;
}

/* --- Submit button & portfolio download buttons dark mode --- */
html:not([data-theme="light"]) button[type=submit] {
  background: #ffffff !important;
  color: #1a1a1a !important;
}
html:not([data-theme="light"]) button[type=submit]:hover {
  background: #e8e8e8 !important;
  color: #1a1a1a !important;
}
html:not([data-theme="light"]) .portfolio-download-btns a {
  background: #ffffff !important;
  color: #1a1a1a !important;
}
html:not([data-theme="light"]) .portfolio-download-btns a:hover {
  background: #e8e8e8 !important;
  color: #1a1a1a !important;
}

/* --- Footer language dropdown dark mode --- */
html:not([data-theme="light"]) .footer .select-box .dropdown-menu {
  background: #1e2124;
  border: 1px solid #2e3135;
}
html:not([data-theme="light"]) .footer .select-box .dropdown-menu li a {
  color: #f0f0f0 !important;
}
html:not([data-theme="light"]) .footer .select-box .dropdown-menu li a:hover {
  color: #aaaaaa !important;
}

/* --- Architecture spotlight dark mode (inline styles on empreendimento pages) --- */
html:not([data-theme="light"]) .architecture-spotlight {
  background: var(--theme-bg) !important;
}
html:not([data-theme="light"]) .architecture-spotlight .architecture-content {
  background: var(--theme-bg-card) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,0.4) !important;
}
html:not([data-theme="light"]) .architecture-spotlight .architecture-content h4,
html:not([data-theme="light"]) .architecture-spotlight .architecture-content .architecture-role,
html:not([data-theme="light"]) .architecture-spotlight .architecture-text p {
  color: #f0f0f0 !important;
}
html:not([data-theme="light"]) .architecture-spotlight .architecture-divider {
  background: rgba(255,255,255,0.12) !important;
}

/* --- Architect spotlight dark mode (inline styles on empreendimento pages) --- */
html:not([data-theme="light"]) .architect-spotlight,
html:not([data-theme="light"]) .architect-heritage {
  background: var(--theme-bg) !important;
}
html:not([data-theme="light"]) .architect-spotlight .architect-content {
  background: var(--theme-bg-card) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,0.4) !important;
}
html:not([data-theme="light"]) .architect-spotlight .architect-content h4,
html:not([data-theme="light"]) .architect-spotlight .architect-content .architect-role,
html:not([data-theme="light"]) .architect-spotlight .architect-text p {
  color: #f0f0f0 !important;
}
html:not([data-theme="light"]) .architect-spotlight .architect-divider {
  background: rgba(255,255,255,0.12) !important;
}

/* --- Property plans dark mode --- */
html:not([data-theme="light"]) .nav-pills .nav-item .nav-link {
  color: #f0f0f0 !important;
}
html:not([data-theme="light"]) .nav-pills .nav-item .nav-link.active {
  color: #ffffff !important;
  border-bottom-color: #ffffff !important;
}
html:not([data-theme="light"]) .property-plans h4 span {
  color: #aaaaaa !important;
}
html:not([data-theme="light"]) .property-plans table tr td:first-child {
  color: #aaaaaa !important;
}
html:not([data-theme="light"]) .property-plans table tr td {
  color: #f0f0f0 !important;
}

/* Empreendimentos hub-stat-break dark mode background highlight */
html:not([data-theme="light"]) main#conteudo-principal section.hub-stat-break,
html:not([data-theme="light"]) section.hub-stat-break {
  background: #1e2124 !important;
}

/* --- Footer shared utilities --- */
.footer .contact-box h3 a {
  color: inherit;
}

.footer .footer-social-title {
  margin-top: 16px;
}

.footer .policy {
  display: block;
  clear: both;
  margin-top: 14px;
  padding-top: 10px;
}

.footer .policy a {
  color: #fff;
}

.float-social {
  position: fixed;
  right: 20px;
  bottom: 30px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  z-index: 9999;
}

.float-social a {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 19px;
  text-decoration: none;
  background: #3a3a3a;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
  transition: background 0.25s, transform 0.2s, box-shadow 0.2s;
}

.float-social a:hover {
  transform: scale(1.12);
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  color: #fff;
  text-decoration: none;
}

.float-social .fs-wa {
  width: 58px;
  height: 58px;
  background: #25d366;
  font-size: 26px;
}

.float-social .fs-wa:hover {
  background: #20ba5a;
}

.float-social .fs-ig:hover,
.float-social .fs-fb:hover {
  background: #3a3a3a;
}

