﻿@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

/* Base (all widths) styling for the buy-card button. The responsive copies of
   this rule live inside media queries, leaving desktop widths unstyled (the
   link showed as default blue/underlined). This top-level rule fixes that. */
.download-card-button,
a.download-card-button,
.download-card-button:link,
.download-card-button:visited {
    display: flex !important;
    padding: 14px 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 32px !important;
    background: var(--Teal-500, #0E80BD) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    max-width: 460px !important;
    box-sizing: border-box !important;
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    text-decoration: none !important;
    outline: none !important;
}
.download-card-button:hover,
.download-card-button:focus,
.download-card-button:active,
a.download-card-button:hover,
a.download-card-button:focus,
a.download-card-button:active {
    background: #0A6A9A !important;
    transform: translateY(-2px) !important;
    color: var(--Gray-50, #F7F7F8) !important;
    text-decoration: none !important;
}

/* Base (all widths) styling for the accordion "Download Images Now" button.
   Previously .accordion-buy-btn was only styled inside media queries, so on
   desktop widths the link fell back to Bootstrap's default anchor (blue +
   underline). This top-level rule gives it the pill styling at every width and
   guarantees white text with no underline in every state. */
.accordion-buy-btn,
a.accordion-buy-btn,
.accordion-buy-btn:link,
.accordion-buy-btn:visited {
    display: inline-flex !important;
    padding: 14px 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 32px !important;
    background: var(--Teal-500, #0E80BD) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    color: #FFF !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 27px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    outline: none !important;
}
.accordion-buy-btn:hover,
.accordion-buy-btn:focus,
.accordion-buy-btn:active,
a.accordion-buy-btn:hover,
a.accordion-buy-btn:focus,
a.accordion-buy-btn:active {
    background: #0A6A9A !important;
    transform: translateY(-2px) !important;
    color: #FFF !important;
    text-decoration: none !important;
}

/* ======================== ROOT VARIABLES ======================== */
:root {
  /* Colors */
  --Gray-50: #F7F7F8;
  --Gray-100: #E5E5E8;
  --Gray-200: #C9C9CD;
  --Gray-400: #77777C;
  --Gray-500: #5D5D62;
  --Gray-600: #4D4D51;
  --Gray-700: #414145;
  --Teal-50: #E6F3FA;
  --Teal-200: #99CFEC;
  --Teal-500: #0E80BD;
  --Title: #1D1D1F;
  --black: #1D1D1F;
}

/* ======================== GLOBAL STYLES ======================== */
* {
  box-sizing: border-box;
}

body {
  /* background: #F7F7F8; */
  font-family: Inter, sans-serif;
  margin: 0;
  padding: 0;
}

/* Desktop: aplicar zoom */
@media (min-width: 992px) {
  body {
    zoom: 0.80;
    --ui-zoom-factor: 0.80;
  }
}

/* Mobile: nenhum zoom */
@media (max-width: 991.98px) {
  body {
    zoom: 1;
    --ui-zoom-factor: 1;
  }
}

p {
  font-family: Inter;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
}

h3 {
  font-family: Inter;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 41.6px;
}

h4 {
  font-family: Inter;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 33.6px;
}

/* ======================== CONTENT SPACING ======================== */
/* Add top margin to account for fixed navbar */
.banner-section,
.banner-section-two {
  margin-top: 0 !important;
  /* Banner starts from top, navbar overlays it */
}

main,
.main-content {
  margin-top: 96px;
  /* Other content needs margin for fixed navbar */
}

/* Blue marketing heroes (Developers / API / About / FAQ / Contact):
   pull content to the top so the hero sits under the fixed navbar. */
main.api-page,
main.api-contact {
  margin-top: 0 !important;
}



/* ======================== MOBILE STYLES (max-width: 991.98px) ======================== */
@media (max-width: 991.98px) {

  /* Container específico para reordenação das 3 seções no mobile */
  .mobile-reorder-container {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Reordenação das seções apenas no mobile */
  .how-it-work {
    order: 3;
    /* Por último no mobile */
  }

  .building-images-showcase {
    order: 1;
    background-color: white;
    width: 100%;
    padding: 16px;
    /* Primeiro no mobile */
  }

  .building-info-sections {
    order: 2;
    /* Segundo no mobile */
  }

  /* ======================== BUILDING INFO SECTIONS ACCORDION (MOBILE) ======================== */

  /* Container das seções - mesmo estilo da FAQ mobile */
  .building-info-sections {
    display: flex !important;
    width: 100% !important;
    padding: 0 24px 64px !important;
    flex-direction: column !important;
    align-items: center !important;
    background: white !important;
  }

  .building-info-sections .container {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Cada seção do accordion - estilo idêntico FAQ mobile */
  .info-section {
    border-bottom: 1px solid var(--Gray-200, #C9C9CD) !important;
    padding: 24px 0 !important;
  }

  .info-section:first-child {
    border-top: 1px solid var(--Gray-200, #C9C9CD) !important;
  }

  /* Header do accordion - estilo idêntico FAQ mobile */
  .info-section__header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    width: 100% !important;
    text-align: left !important;
  }

  .info-section__header h2,
  .info-section__header h3 {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 27px !important;
    margin: 0 !important;
    flex: 1 !important;
    padding-right: 16px !important;
  }

  /* Ícone + / - idêntico ao FAQ mobile */
  .info-section__toggle {
    width: 12px !important;
    height: 12px !important;
    position: relative !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    stroke-width: 2px;
    stroke: var(--Gray-500, #77777C);
    background: none !important;
    border: none !important;
    font-size: 0 !important;
    /* esconde o texto + */
  }

  /* Criando o ícone + com pseudo-elementos */
  .info-section__toggle::before,
  .info-section__toggle::after {
    content: '' !important;
    position: absolute !important;
    background: #5D5D62 !important;
    transition: all 0.3s ease !important;
  }

  /* Linha horizontal do + */
  .info-section__toggle::before {
    top: 50% !important;
    left: 0 !important;
    width: 12px !important;
    height: 2px !important;
    transform: translateY(-50%) !important;
  }

  /* Linha vertical do + */
  .info-section__toggle::after {
    top: 0 !important;
    left: 50% !important;
    width: 2px !important;
    height: 12px !important;
    transform: translateX(-50%) !important;
  }

  /* Quando expandido, esconde a linha vertical (fica só -) */
  .info-section__toggle.active::after {
    transform: translateX(-50%) rotate(90deg) !important;
    opacity: 0 !important;
  }

  /* Toggle desabilitado quando não há imagens (mobile) */
  .info-section__toggle.disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
  }

  .info-section__toggle.disabled::before,
  .info-section__toggle.disabled::after {
    background: #C9C9CD !important;
  }

  /* Estado adicional para indicar erro 404 ou falha no carregamento */
  .info-section__toggle.error {
    opacity: 0.2 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
  }

  .info-section__toggle.error::before,
  .info-section__toggle.error::after {
    background: #FF6B6B !important; /* Tom avermelhado sutil para erro */
  }

  /* Conteúdo do accordion - estilo FAQ mobile */
  .info-section__content {
    padding-top: 16px !important;
    overflow: hidden !important;
  }

  /* Seção principal da galeria do building - sempre expandida inicialmente */
  .building-gallery-section .info-section__content {
    display: block;
    animation: expandGallery 0.5s ease-out;
  }

  .building-gallery-section .info-section__toggle.active {
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  /* Garantir que a seção principal seja sempre clicável, mesmo com classes de erro */
  .building-gallery-section .info-section__toggle.disabled,
  .building-gallery-section .info-section__toggle.error {
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  .building-gallery-section .info-section__toggle.disabled::before,
  .building-gallery-section .info-section__toggle.disabled::after,
  .building-gallery-section .info-section__toggle.error::before,
  .building-gallery-section .info-section__toggle.error::after {
    background: #5D5D62 !important; /* Cor normal */
  }

  /* Animação para expansão inicial da galeria */
  @keyframes expandGallery {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* ======================== ACCORDION GALLERY & BUY AREA (MOBILE) ======================== */
  /* ======================== MAIN GALLERY NAVIGATION (MOBILE) ======================== */
  
  .main-gallery-container,
  .gallery-container {
    position: relative;
    width: 100%;
  }

  /* Row 1: Galeria de 3 imagens - mobile em coluna */
  .accordion-gallery-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    align-items: center !important;
    padding: 0 !important;
    width: 100% !important;
    touch-action: pan-y !important;
    -ms-touch-action: pan-y !important;
  }

  .accordion-gallery-item {
    width: calc(100vw - 32px) !important;
    max-width: 437px !important;
    height: auto !important;
    aspect-ratio: 437/418 !important;
    border-radius: 24px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    flex: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  }

  /* Botões de navegação lateral - ocultos no mobile */
  .main-gallery-prev,
  .main-gallery-next,
  .gallery-prev,
  .gallery-next {
    display: flex !important;
  }

  /* Row 2: Área de compra em coluna única no mobile */
  .accordion-buy-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    padding: 32px 24px !important;
    border-radius: 32px !important;
    border: 1px solid var(--Teal-200, #99CFEC) !important;
    background: var(--Teal-50, #E6F3FA) !important;
    text-align: center !important;
    gap: 8px !important;
  }

  /* Flatten layout so items can be reordered in the single-column stack */
  .accordion-buy-left,
  .accordion-buy-right {
    display: contents !important;
  }

  /* Nome do condomínio - mobile */
  .accordion-buy-building-name {
    order: 1;
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    margin: 0 !important;
  }

  .accordion-buy-title {
    order: 2;
    font-size: 22px !important;
    line-height: 30px !important;
    color: var(--Title) !important;
    font-family: Inter !important;
    font-weight: 700 !important;
    margin: 0 !important;
  }

  .accordion-buy-subtitle {
    order: 3;
    font-size: 13px !important;
    line-height: 18px !important;
    color: var(--Gray-600) !important;
    font-family: Inter !important;
    font-weight: 400 !important;
    margin: 0 !important;
    max-width: 320px !important;
    text-align: center !important;
  }

  .accordion-buy-subtitle-secondary {
    order: 4;
    font-size: 12px !important;
    line-height: 17px !important;
    color: var(--Gray-500) !important;
    font-family: Inter !important;
    font-style: italic !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .accordion-buy-pricing {
    order: 5;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin-top: 4px !important;
  }

  .accordion-buy-price {
    font-size: 34px !important;
    line-height: 42px !important;
    color: #0d74aa !important;
    background: linear-gradient(90deg, #1d1d1f 0%, #0d74aa 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    font-family: Inter !important;
    font-weight: 700 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  .accordion-buy-divider {
    width: 2px !important;
    height: 28px !important;
    background: var(--Gray-300, #B0B0B5) !important;
    flex-shrink: 0 !important;
  }

  .accordion-buy-count {
    font-family: Inter !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    color: var(--Gray-600) !important;
    white-space: nowrap !important;
  }

  .accordion-buy-description {
    order: 6;
    font-family: Inter !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    color: var(--Gray-500) !important;
    margin: 0 !important;
    max-width: 320px !important;
    text-align: center !important;
  }

  .accordion-buy-form {
    order: 7;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .accordion-buy-btn {
    width: 100%;
    display: flex;
    padding: 14px 24px;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    background: var(--Teal-500);
    border: none;
    cursor: pointer;
    color: #FFF;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    transition: all 0.3s ease;
    white-space: nowrap;
  }

  .accordion-buy-btn:hover {
    background: #0A6A9A;
    transform: translateY(-2px);
  }

  .accordion-buy-tagline {
    order: 8;
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
  }

  .accordion-buy-third {
    order: 9;
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
    margin-top: 2px !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* ======================== BUILDING IMAGES SHOWCASE DOWNLOAD AREA (MOBILE) ======================== */

  /* Aplicar mesmo estilo da área de compra do accordion mobile */
  .showcase-download-section {
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
  }

  .showcase-download-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 32px !important;
    padding: 32px 16px !important;
    width: 100% !important;
    border-radius: 48px;
    border: 1px solid var(--Teal-200, #99CFEC) !important;
    background: var(--Teal-50, #E6F3FA) !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* Área de textos centralizadas no mobile */
  .download-info {
    align-items: center !important;
    text-align: center !important;
  }

  .download-title {
    font-size: 28px !important;
    line-height: 36.4px !important;
  }

  .download-subtitle {
    font-size: 16px !important;
    line-height: 25.6px !important;
  }

  /* Spacer escondido */
  .download-spacer {
    display: none !important;
  }

  /* Área direita centralizada no mobile */
  .download-right-section {
    align-items: center !important;
    gap: 24px !important;
  }

  .download-pricing {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 16px !important;
  }

  .download-price {
    font-size: 40px !important;
    line-height: 48px !important;
  }

  .download-details {
    align-items: center !important;
    text-align: center !important;
  }

  .download-description {
    max-width: 280px !important;
    text-align: center !important;
  }

  .download-form {
    justify-content: center !important;
  }

  .download-btn {
    padding: 18px 32px !important;
    font-size: 16px !important;
    line-height: 25.6px !important;
  }

  /* ======================== MAIN GALLERY CAROUSEL (MOBILE) ======================== */

  .main-gallery-container {
    position: relative !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    overflow: hidden !important;
  }

  .main-gallery-carousel {
    width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .main-gallery-track {
    display: flex !important;
    gap: 24px !important;
    align-items: center !important;
    transition: transform 0.5s ease !important;
    padding: 0 16px !important;
  }

  /* Cada imagem da galeria principal - mobile */
  .main-gallery-track .grid-item {
    flex: 0 0 auto !important;
  }

  .main-gallery-track .showcase-image-card {
    width: 280px !important;
    height: 268px !important;
    aspect-ratio: 23/22 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  }

  .main-gallery-track .showcase-image {
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border-radius: 24px !important;
  }

  /* Botões laterais da main gallery - mobile */
  .main-gallery-prev,
  .main-gallery-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--Title) !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    z-index: 10 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  }

  .main-gallery-prev {
    left: 16px !important;
  }

  .main-gallery-next {
    right: 16px !important;
  }

  .main-gallery-prev:hover,
  .main-gallery-next:hover {
    background: rgba(255, 255, 255, 1) !important;
    transform: translateY(-50%) scale(1.05) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
  }

  /* Content container for mobile */
  .container,
  .container-fluid,
  section>.container-fluid {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  /* Prevent overflow */
  html,
  body {
    overflow-x: hidden;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  h2 {
    font-family: Inter;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 41.6px;
  }

  .btn.button {
    width: 100%;
    max-width: 354px;
    height: 56px;
    display: flex;
    padding: 14px 32px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 32px;
    background: var(--Teal-500, #0E80BD);
    color: var(--Gray-50, #F7F7F8);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
  }

  /* ======================== MOBILE NAVBAR ======================== */
  .header {
    position: fixed !important;
    top: 16px !important;
    left: 24px !important;
    right: 24px !important;
    z-index: 1000 !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
  }

  .header .container {
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  .header .navbar {
    display: flex !important;
    height: 64px !important;
    padding: 16px 32px !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-shrink: 0;
    border-radius: 88px !important;
    border: 0.5px solid var(--Gray-100, #E5E5E8) !important;
    background: rgba(247, 247, 248, 0.75) !important;
    backdrop-filter: blur(18.899999618530273px) !important;
    -webkit-backdrop-filter: blur(18.899999618530273px) !important;
    width: 100% !important;
    position: relative !important;
  }

  /* Position mobile collapse menu properly */
  .header .navbar-collapse {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: white !important;
    border-radius: 16px !important;
    margin-top: 8px !important;
    box-shadow: 0px 16px 64px 0px rgba(0, 0, 0, 0.10) !important;
    padding: 16px !important;
    z-index: 1001 !important;
  }

  /* Mobile navbar brand/logo */
  .header .brand-text {
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .header .brand-text .brand-primary {
    color: var(--Teal-500, #0E80BD) !important;
  }

  .header .brand-text .brand-secondary {
    color: #1D1D1F !important;
  }

  /* Hide desktop center navigation on mobile */
  .header .nav-center-block {
    display: none !important;
  }

  /* Mobile navbar right actions */
  .header .nav-actions {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .header .nav-actions .navbar-search__toggle,
  .header .nav-actions .nav-icon {
    display: flex !important;
    width: 16px !important;
    height: 16px !important;
    padding: 1.333px 2px !important;
    justify-content: center !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    background: none !important;
    border: none !important;
    color: var(--Gray-700, #414145) !important;
    text-decoration: none !important;
  }

  .header .nav-actions .navbar-search__toggle i,
  .header .nav-actions .nav-icon i {
    width: 13.333px !important;
    height: 13.333px !important;
    flex-shrink: 0 !important;
    font-size: 13.333px !important;
  }

  .header .nav-actions .navbar-toggler {
    display: flex !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    background: none !important;
    border: none !important;
    color: #1D1D1F !important;
    text-decoration: none !important;
  }

  .header .nav-actions .navbar-toggler .nav-hamburger {
    display: block;
    width: 26px;
    height: 26px;
  }

  /* Show mobile collapse menu only when activated */
  .header .navbar-collapse {
    display: none !important;
    /* Hidden by default */
  }

  .header .navbar-collapse.show {
    display: block !important;
    /* Show only when .show class is added */
  }

  /* Position mobile collapse menu properly when visible */
  .header .navbar-collapse.show {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: white !important;
    border-radius: 16px !important;
    margin-top: 8px !important;
    box-shadow: 0px 16px 64px 0px rgba(0, 0, 0, 0.10) !important;
    padding: 16px !important;
    z-index: 1001 !important;
  }

  /* Hide all dropdown panels on mobile */
  .header .navbar-search__panel {
    display: none !important;
  }

  /* Hide the desktop dropdown menus completely on mobile */
  .header .navbar-flyout__columns,
  .header .navbar-flyout__column,
  .header .navbar-search__card,
  .header .nav-center-block .navbar-search__panel,
  .header #navbarNeighborhoodPanel,
  .header #navbarCondoPanel,
  .header #navbarNewDevelopmentsPanel,
  .header #navbarSearchPanel {
    display: none !important;
    visibility: hidden !important;
  }

  /* Force hide any visible panels */
  .header .navbar-search__panel[aria-hidden="false"] {
    display: none !important;
    visibility: hidden !important;
  }

  /* Ensure mobile menu items are styled properly when visible */
  .header .navbar-collapse .nav-item {
    margin: 0 !important;
    padding: 8px 0 !important;
  }

  .header .navbar-collapse .nav-link {
    color: var(--Gray-700, #414145) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    padding: 8px 16px !important;
  }

  /* ======================== MOBILE BANNER/GALLERY ======================== */
  .banner-section-two {
    position: relative !important;
    display: flex !important;
    width: calc(100vw / var(--ui-zoom-factor, 1)) !important;
    /* Full viewport width compensating body zoom */
    height: calc((100vw / var(--ui-zoom-factor, 1)) * 846 / 402) !important;
    /* Responsive height maintaining proportion */
    max-height: 846px !important;
    margin: 0 !important;
    /* Remove all margins */
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    aspect-ratio: 402/846 !important;
    /* Proporção mobile */
  }

  #heroCarousel, #neighHeroCarousel {
     margin-top: -24px !important;   /* sobe o hero para “entrar” sob o header */
    padding-top: 16px !important;   /* repõe o espaço interno para não cortar o conteúdo */
  }
  /* Mobile carousel slides */
  .banner-section-two .carousel-inner {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
  }

  .banner-section-two .carousel-item {
    position: relative !important;
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    transition: transform 0.6s ease-in-out !important;
  }

  .banner-section-two .carousel-item.active,
  .banner-section-two .carousel-item-next,
  .banner-section-two .carousel-item-prev {
    display: block !important;
  }

  /* Mobile banner background images */
  .banner-section-two .banner-thumb {
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
  }

  .banner-section-two .bg-img {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .banner-section-two .bg-overlay::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.3) !important;
    z-index: 1 !important;
  }

  /* Mobile static content overlay */
  .banner-section-two .hero-static-content {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 24px !important;
    pointer-events: none !important;
  }

  .banner-section-two .hero-static-content a,
  .banner-section-two .hero-static-content button,
  .banner-section-two .hero-static-content .neigh-hero__btn,
  .banner-section-two .hero-static-content .hero-search,
  .banner-section-two .hero-static-content input {
    pointer-events: auto !important;
  }

  /* Mobile text content - H2 for title */
  .banner-section-two .content h1,
  .banner-section-two .content h3 {
    color: #FFFFFF !important;
    font-family: Inter !important;
    font-size: 32px !important;
    /* H2 size for mobile */
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 41.6px !important;
    /* H2 line-height for mobile */
    margin-bottom: 16px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  }

  .banner-section-two .content {
    margin-bottom: 0px !important;
  }

  .banner-section-two .content p {
    color: #FFFFFF !important;
    font-family: Inter !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  }

  /* Mobile search bar */
  .banner-section-two .hero-search {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  .banner-section-two .hero-search__form {
    display: flex !important;
    width: 100% !important;
    max-width: 354px !important;
    /* Mobile max-width */
    padding: 16px 24px !important;
    align-items: center !important;
    gap: 16px !important;
    border-radius: 32px !important;
    border: 1px solid var(--Gray-300, #A9A9AE) !important;
    background: rgba(159, 159, 159, 0.70) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
  }

  .banner-section-two .hero-search__icon {
    display: flex !important;
    width: 16px !important;
    height: 16px !important;
    padding: 1.333px !important;
    justify-content: center !important;
    align-items: center !important;
    aspect-ratio: 1/1 !important;
    color: var(--Gray-50, #F7F7F8) !important;
    flex-shrink: 0 !important;
  }

  .banner-section-two .hero-search__icon i {
    color: var(--Gray-50, #F7F7F8) !important;
    font-size: 16px !important;
  }

  .banner-section-two .hero-search__input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  .banner-section-two .hero-search__input::placeholder {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  /* HERO SEARCH DROPDOWN (MOBILE) */
  /* Keep the dropdown anchored just below the input with same visual language of header */
  .banner-section-two .hero-search {
    position: relative !important;
  }
  .banner-section-two .hero-search__form {
    position: relative !important;
    z-index: 22 !important; /* ensure input stays above carousel */
  }
  .banner-section-two .hero-search .navbar-search__panel {
    position: absolute !important;
    top: calc(100% + 8px) !important; /* subtle vertical offset below input */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 354px !important; /* match mobile max-width */
    max-width: calc(100vw - 32px) !important; /* safe gutters on tiny screens */
    z-index: 9999 !important; /* garantir prioridade visual sobre o hero */
    border: 1px solid var(--Gray-100, #E5E5E8) !important;
    background: rgba(247, 247, 248, 0.95) !important; /* same neutral as header */
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.12) !important;
  }
  .banner-section-two .hero-search .navbar-search__panel[aria-hidden="true"] {
    display: none !important;
  }
  .banner-section-two .hero-search .navbar-search__panel[aria-hidden="false"] {
    display: block !important;
  }
  .banner-section-two .hero-search .navbar-search__card {
    display: block !important;
    padding: 12px 12px !important;
    border-radius: 16px !important;
    background: transparent !important;
    max-height: 280px !important;
    overflow-y: auto !important;
  }
  .banner-section-two .hero-search .navbar-search__headline {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    margin: 0 0 8px 0 !important;
  }
  .banner-section-two .hero-search .navbar-search__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .banner-section-two .hero-search .navbar-search__list li {
    margin: 0 !important;
    padding: 0 !important;
  }
  .banner-section-two .hero-search .navbar-search__list a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    padding: 10px 8px !important;
    border-radius: 10px !important;
    color: #37373C !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 27px !important;
    transition: background-color 0.15s ease !important;
  }
  .banner-section-two .hero-search .navbar-search__list a:hover {
    background: rgba(0,0,0,0.04) !important;
  }
  .banner-section-two .hero-search .navbar-search__empty,
  .banner-section-two .hero-search .navbar-search__loading,
  .banner-section-two .hero-search .navbar-search__error {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 14px !important;
    padding: 8px !important;
  }

  .banner-section-two .hero-search {
    position: relative !important;
  }

  .banner-section-two .hero-search #bannerSearchResults.navbar-search__panel {
    position: absolute !important;
    top: calc(100% + 16px) !important;
    left: 50% !important;
    transform: translate(-50%, -8px) !important;
    width: 100% !important;
    max-width: 354px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
    z-index: 9999 !important; /* garantir prioridade visual sobre o hero */
  }

  .banner-section-two .hero-search #bannerSearchResults.navbar-search__panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }

  .banner-section-two .hero-search #bannerSearchResults .navbar-search__card {
    padding: 32px !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 30px 60px rgba(15, 15, 15, 0.16) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
  }

  /* Hide navigation buttons on mobile */
  .banner-section-two .carousel-control-prev,
  .banner-section-two .carousel-control-next {
    display: none !important;
  }

  /* Mobile carousel indicators */
  .banner-section-two .carousel-indicators {
    position: absolute !important;
    bottom: 82px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 15 !important;
    display: flex !important;
    gap: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .banner-section-two .carousel-indicators button {
    width: 10px !important;
    height: 10px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.4) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
  }

  .banner-section-two .carousel-indicators button.active {
    background: #FFFFFF !important;
  }

  .banner-section-two .carousel-indicators button::before {
    display: none !important;
  }

  /* === MOBILE: heros a 90% da tela e dropdowns sem clipping === */
  @media (max-width: 768px) {
    .banner-section-two,
    #heroCarousel,
    #neighHeroCarousel {
      height: 90vh !important;
      min-height: 90vh !important;
      max-height: 90vh !important;
      overflow: visible !important; /* sugestões podem ultrapassar o hero */
    }

    /* Se alguma casca interna impuser overflow, libere também no mobile */
    .banner-section-two .carousel-inner {
      overflow: visible !important;
    }

    /* Garante que o formulário não seja coberto por overlays do hero */
    .banner-section-two .hero-search__form {
      z-index: 10000 !important;
    }
  }

  /* ======================== MOBILE HERO SECTIONS (NEIGHBORHOOD/BUILDING PAGES) ======================== */

  /* Hero content container */
  .neigh-hero__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 16px !important;
    z-index: 10 !important;
  }

  /* Breadcrumb mobile */
  .neigh-hero__breadcrumb {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin-bottom: 8px !important;
  }

  .neigh-hero__breadcrumb a {
    color: var(--Gray-50, #F7F7F8) !important;
    text-decoration: none !important;
  }

  .neigh-hero__breadcrumb .breadcrumb-pipe::before {
    content: ' / ' !important;
    color: var(--Gray-50, #F7F7F8) !important;
  }

  /* Featured text mobile */
  .neigh-hero__featured {
    color: #FFF !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    margin-bottom: 8px !important;
  }

  /* Title mobile - H2 size */
  .neigh-hero__title {
    color: #FFF !important;
    text-align: center !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin-bottom: 24px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  }

  /* Button mobile */
  .neigh-hero__btn {
    display: inline-flex !important;
    max-width: calc(100vw - 48px) !important;
    width: auto !important;
    padding: 12px 20px 12px 24px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
  }

  .neigh-hero__btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    transform: none !important;
  }

  /* Button text mobile — show full CTA (no ellipsis crop) */
  .neigh-hero__btn .btn-text {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: clamp(14px, 3.8vw, 18px) !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
  }

  /* Button arrow mobile */
  .neigh-hero__btn .btn-arrow {
    display: flex !important;
    flex-shrink: 0 !important;
    padding: 10px !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 29px !important;
    background: rgba(255, 255, 255, 0.92) !important;
  }

  .neigh-hero__btn .btn-arrow .arrow-svg {
    width: 12px !important;
    height: 12px !important;
  }

  .neigh-hero__btn .btn-arrow .arrow-svg path {
    stroke: #414145 !important;
  }

  /* Building-specific styles for mobile */
  .building-hero__neighborhood {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin-bottom: 8px !important;
  }

  .building-hero__title {
    color: #FFF !important;
    text-align: center !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin-bottom: 8px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  }

  .building-hero__address {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin-bottom: 24px !important;
  }

  /* ======================== MOBILE DOWNLOAD IMAGE COLLECTION CARD ======================== */

  /* Container principal mobile */
  .download-image-collection-card {
    width: 100% !important;
    max-width: 354px !important;
    padding: 32px 24px !important;
    gap: 14px !important;
    border-radius: 32px !important;
    margin: 0 auto !important;
    text-align: center !important;
    align-items: center !important;
  }

  /* Título mobile */
  .download-card-title {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    margin: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Nome do building mobile */
  .download-card-building-name {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    margin: 0 !important;
  }

  /* Main row mobile - centralizado */
  .download-card-main-row {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  /* Preço mobile */
  .download-card-price-section {
    display: flex !important;
    align-items: center !important;
  }

  .download-card-price {
    color: #0d74aa !important;
    background: linear-gradient(90deg, #1d1d1f 0%, #0d74aa 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    font-family: Inter !important;
    font-size: 40px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 48px !important;
    margin: 0 !important;
  }

  /* Contagem mobile */
  .download-card-count {
    color: var(--Gray-600, #4D4D51) !important;
    font-family: Inter !important;
    font-size: 22px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 48px !important;
    letter-spacing: 0.1px !important;
    margin: 0 !important;
  }

  /* Divider mobile */
  .download-card-divider {
    width: 2px !important;
    height: 32px !important;
    background: var(--Gray-300, #B0B0B5) !important;
    flex-shrink: 0 !important;
  }

  /* Subtitle mobile */
  .download-card-subtitle {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    margin: 0 !important;
    max-width: 320px !important;
    text-align: center !important;
  }

  /* Subtitle secondary mobile */
  .download-card-subtitle-secondary {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 12px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 17px !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .download-form {
    width: 100% !important;
  }

  /* Botão mobile */
  .download-card-button {
    display: flex !important;
    padding: 12px 24px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    align-self: stretch !important;
    border-radius: 32px !important;
    background: var(--Teal-500, #0E80BD) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    text-decoration: none !important;
    outline: none !important;
  }

  .download-card-button:hover,
  .download-card-button:focus,
  .download-card-button:active,
  a.download-card-button:hover,
  a.download-card-button:focus,
  a.download-card-button:active {
    background: #0A6A9A !important;
    transform: translateY(-2px) !important;
    color: var(--Gray-50, #F7F7F8) !important;
    text-decoration: none !important;
  }

  /* Tagline mobile */
  .download-card-tagline {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
    margin-top: 4px !important;
  }

  /* ======================== TOP CATEGORIES DESKTOP STYLES ======================== */

  /* Container de texto - Desktop */
  .top-categories-container .tc-copy {
    width: 625px;
    height: 498px;
    padding-right: 60px;
  }

  /* Título principal - Desktop (match condo-building .neigh-hero__title type) */
  h1.tc-title,
  .tc-title {
    color: #1d1d1f !important;
    font-family: Inter, sans-serif !important;
    font-size: 64px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 61.6px !important;
    max-width: 554px;
    margin-bottom: 24px;
  }

  /* Subtítulo - Desktop */
  .tc-subtitle {
    color: var(--Gray-500, #5d5d62);
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    /* 155.556% */
    margin-bottom: 16px;
  }

  /* Subtítulo secundário - Desktop */
  .tc-subtitle-secondary {
    color: var(--Gray-500, #5d5d62);
    font-family: Inter, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 33.6px;
    margin-bottom: 32px;
  }

  /* Botão - Desktop */
  .tc-button {
    width: 238px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 32px;
    background: var(--Teal-500, #0e80bd);
    text-decoration: none;
    margin-bottom: 32px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;

    /* Texto do botão */
    color: var(--Gray-50, #f7f7f8);
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    /* 155.556% */
  }

  .tc-button:hover {
    background: #0a6fa1;
    color: var(--Gray-50, #f7f7f8);
  }

  /* Controles inline - Desktop */
  .top-categories-container .tc-inline-controls {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  /* ======================== BUILDING DETAILS MOBILE ADJUSTMENTS ======================== */

  /* Ocultar apenas a área de BUY no mobile para building details */
  .download-image-collection-card {
    display: none !important;
  }

  /* ======================== MOBILE TOP CATEGORIES SECTION ======================== */
  .top-categories-container {
    flex-direction: column !important;
    /* Respeita padding do container */
    max-width: 100% !important;
    height: auto !important;
    margin: 32px 32px 16px 32px !important;
  }

  .top-categories-container .container-fluid {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    /* Permite que os controles sejam visíveis */
  }

  .top-categories-container .row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Primeira coluna mobile - textos e botão */
  .top-categories-container .col-lg-6:first-child {
    display: flex !important;
    flex-direction: column !important;
    /* margin-bottom: 48px !important; */
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    min-height: auto !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Container de texto - Mobile */
  .top-categories-container .tc-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    text-align: left !important;
    width: 100% !important;
    height: auto !important;
    padding-right: 0 !important;
  }

  /* Section H1 mobile — match .neigh-section "All Buildings" (not hero) */
  .top-categories-container h1.tc-title,
  .top-categories-container .tc-title {
    font-family: Inter, sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 36px !important;
    font-style: normal !important;
    color: #1d1d1f !important;
    max-width: 100% !important;
    margin-bottom: 16px !important;
  }

  /* Subtítulos - Mobile */
  .top-categories-container .tc-subtitle,
  .top-categories-container .tc-subtitle-secondary {
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #4c4c51 !important;
    margin-bottom: 0 !important;
  }

  /* Botão mobile */
  .top-categories-container .tc-button {
    align-self: flex-start !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    border-radius: 999px !important;
    background: #0e80bd !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    font-family: Inter, sans-serif !important;
    gap: 8px !important;
    transition: background 0.2s ease !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    width: 100%!important;
    height: auto !important;
    margin-bottom: 0 !important;
  }

  .top-categories-container .tc-button:hover,
  .top-categories-container .tc-button:focus {
    background: #0c6da2 !important;
    color: #ffffff !important;
  }

  /* Segunda coluna mobile - galeria */
  .top-categories-container .col-lg-6:last-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
    /* Garante que não vaze */
  }

  /* Galeria mobile */
  .top-categories-container #categoriesCarousel,
  .top-categories-container .tc-carousel {
    /* Respeita padding do container */
    max-width: 100% !important;
    height: 366px !important;
    margin:32px auto 32px auto !important;
    /* Centraliza e adiciona margin bottom */
    position: relative !important;
  }

  .top-categories-container .tc-carousel-track {
    display: flex !important;
    /* Lado a lado como desktop */
    gap: 16px !important;
    /* Menor gap no mobile */
    transition: transform 0.5s ease !important;
    transform: translateX(0);
    /* Remove !important para permitir JavaScript */
    will-change: transform !important;
    /* padding: 0 16px !important; */
    /* Adiciona padding interno para não vazar */
    touch-action: pan-y !important;
    -ms-touch-action: pan-y !important;
  }

  /* Cards da galeria mobile */
  .top-categories-container .tc-carousel-track .tc-card {
    display: flex !important;
    height: 366px !important;
    min-width: 260px !important;
    /* Baseado no aspect-ratio 130/183 */
    width: 260px !important;
    flex: 0 0 auto !important;
    /* Não cresce nem encolhe - lado a lado */
    padding: 0 !important;
    /* Remove padding para usar positioning no conteúdo */
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    aspect-ratio: 130/183 !important;
    border-radius: 32px !important;
    position: relative !important;
    cursor: pointer !important;
    margin: 0 !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  /* Imagem de fundo do slide mobile */
  .top-categories-container .tc-carousel-track .tc-card .tc-card__img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 32px !important;
    z-index: 1 !important;
  }

  /* Overlay gradient mobile - mesmo do desktop */
  .top-categories-container .tc-carousel-track .tc-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(47, 47, 47, 0.3) 0%, rgba(115, 115, 115, 0.00) 100%);
    border-radius: 32px;
    z-index: 2;
  }

  /* Texto mobile - mesmo estilo do desktop */
  .top-categories-container .tc-carousel-track .tc-card .tc-card__label {
    position: absolute !important;
    bottom: 48px !important;
    /* Ajustado para mobile */
    left: 50% !important;
    transform: translateX(-50%) !important;
    color: #E5E5E8 !important;
    font-family: Inter !important;
    font-size: 24px !important;
    /* Menor no mobile */
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    text-align: center !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 0 16px !important;
    width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
  }

  /* Controles mobile - mesmos estilos do desktop */
  .top-categories-container .tc-inline-controls-desktop {
    display: none !important;
    /* Esconde controles desktop no mobile */
  }

  /* BUILDING DETAILS: Força ocultar controles desktop no mobile */
  .top-categories-container .tc-inline-controls.d-none.d-lg-flex {
    display: none !important;
    /* Força ocultar controles com classes Bootstrap no mobile */
  }

  /* BUILDING DETAILS: Garante que apenas controles mobile apareçam */
  .top-categories-container .row.d-lg-none .tc-inline-controls {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 32px !important;
    /* Espaçamento específico entre galeria e controles no building details mobile */
    position: relative !important;
    z-index: 10 !important;
    /* Garante que ficam acima de outros elementos */
    pointer-events: auto !important;
    /* Garante que são clicáveis */
  }

  .top-categories-container .tc-inline-controls-mobile {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 10 !important;
    /* Garante que ficam acima de outros elementos */
    pointer-events: auto !important;
    /* Garante que são clicáveis */
  }

  /* Botões prev e next mobile - mesmos estilos do desktop */
  .top-categories-container .tc-nav-btn {
    display: flex !important;
    width: 32px !important;
    height: 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    border-radius: 40px !important;
    background: var(--Gray-100, #E5E5E8) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 11 !important;
    /* Acima dos controles */
    pointer-events: auto !important;
    /* Garante clique */
  }

  .top-categories-container .tc-nav-btn:hover {
    background: #d1d1d5 !important;
  }

  .top-categories-container .tc-nav-btn i {
    font-size: 12px !important;
    color: #5D5D62 !important;
  }

  /* Container dos navegadores mobile */
  .top-categories-container .tc-nav-buttons {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
  }

  /* Indicadores mobile - mesmos estilos do desktop */
  .top-categories-container .tc-indicators {
    display: flex !important;
    gap: 25px !important;
    /* 25px de distância entre os indicadores */
    align-items: center !important;
  }

  .top-categories-container .tc-indicators-container {
    display: flex !important;
    gap: 25px !important;
    align-items: center !important;
  }

  .top-categories-container .tc-inline-controls {
    display: flex !important;
    justify-content: space-between !important;
  }

  /* Indicadores individuais mobile - mesmos estilos do desktop */
  .top-categories-container .tc-indicator-mobile {
    width: 10px !important;
    height: 10px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    border-radius: 50% !important;
    background-color: #E5E5E8 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 11 !important;
    /* Garante clique */
    pointer-events: auto !important;
  }

  /* Indicador ativo mobile */
  .top-categories-container .tc-indicator-mobile.active {
    background-color: #4D7FB8 !important;
    z-index: 11 !important;
    /* Garante clique */
    pointer-events: auto !important;
  }

  .top-categories-container .tc-indicator {
    width: 10px !important;
    height: 10px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    border-radius: 50% !important;
    background-color: #E5E5E8 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 11 !important;
    /* Garante clique */
    pointer-events: auto !important;
  }

  /* Indicador ativo mobile */
  .top-categories-container .tc-indicator.active {
    background-color: #4D7FB8 !important;
    z-index: 11 !important;
    /* Garante clique */
    pointer-events: auto !important;
  }

  /* ======================== ALL BUILDINGS SECTION (MOBILE) ======================== */
  /* Seção All Buildings mobile com background específico */
  .neigh-section {
    background: #EDEDED !important;
    padding: 48px 16px 32px !important;
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* Container mobile */
  .neigh-section .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Header mobile: title + subtitle full width, then sort/search row */
  .neigh-section .section-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: calc(100% - 18px) !important;
    margin-left: 12px !important;
    margin-bottom: 40px !important;
    padding: 0 !important;
  }

  .neigh-section .section-head > div:first-child {
    width: 100% !important;
    min-width: 0 !important;
  }

  .neigh-section .section-head h1,
  .neigh-section .section-head h2 {
    color: var(--black, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 28px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .neigh-section .section-head .section-subtitle {
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding-right: 0 !important;
  }

  .neigh-section .list-toolbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .neigh-section .list-sort {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .neigh-section .list-sort__select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
  }

  /* Esconder "/ cities" no mobile */
  .mobile-hide {
    display: none !important;
  }

  /* Search apenas o ícone no mobile */
  .neigh-section .list-search {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
  }

  /* Ícone de search mobile */
  .neigh-section .list-search__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #77777C !important;
    width: 24px !important;
    height: 24px !important;
    padding: 1.333px !important;
    font-size: 18px !important;
  }

  /* Esconder input no mobile */
  .neigh-section .list-search__input {
    display: none !important;
  }

  /* Grid vertical mobile - 3 imagens em coluna */
  .neigh-section .row {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    align-items: center !important;
    margin-bottom: 55px !important;
  }

  /* Container de cada card mobile */
  .neigh-section .row>div {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Mostrar apenas os primeiros 3 itens no mobile quando colapsado */
  .neigh-section[data-mobile-state="collapsed"] .row>div:nth-child(n+4) {
    display: none !important;
  }

  /* Estilo do card de building mobile */
  .neigh-section .neigh-card {
    width: 100% !important;
    height: 340px !important;
    flex-shrink: 0 !important;
    border-radius: 32px !important;
    background: linear-gradient(0deg, #2F2F2F 0%, rgba(115, 115, 115, 0.00) 100%) !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    text-decoration: none !important;
  }

  /* Imagem de fundo do card mobile */
  .neigh-section .neigh-card__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 32px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
  }

  /* Label do building mobile - texto H4 na parte inferior */
  .neigh-section .neigh-card__label {
    position: absolute !important;
    bottom: 32px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 3 !important;
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    text-align: center !important;
    width: calc(100% - 64px) !important;
  }

  /* Overlay do card mobile para legibilidade do texto */
  .neigh-section .neigh-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* background: linear-gradient(0deg, #2F2F2F 0%, rgba(115, 115, 115, 0.00) 100%) !important; */
    background: linear-gradient(0deg, rgba(47, 47, 47, 0.3) 0%, rgba(115, 115, 115, 0.00) 100%);

    border-radius: 32px !important;
    z-index: 2 !important;
  }

  /* Botão "Explore all buildings" mobile */
  .neigh-section .btn.button {
    display: flex !important;
    height: 56px !important;
    padding: 14px 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 32px !important;
    background: var(--Teal-500, #0E80BD) !important;
    border: none !important;
    color: white !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin: 0 8px !important;
    transition: all 0.3s ease !important;
  }

  .neigh-section .btn.button:hover {
    background: #0B6A9A !important;
  }

  /* Meta information mobile - mostrar quando .with-meta */
  .neigh-section .neigh-card.with-meta .neigh-card__meta {
    position: absolute !important;
    bottom: 8px !important;
    left: 24px !important;
    right: 24px !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    gap: 8px !important;
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important;
  }

  .neigh-section .neigh-card.with-meta .neigh-card__label {
    bottom: 42px !important;
    /* Ajustar para dar espaço para meta */
  }

  .neigh-section .neigh-card__meta .meta-left,
  .neigh-section .neigh-card__meta .meta-right {
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important;
  }

  .neigh-section .neigh-card__meta .sep::before {
    content: ' | ' !important;
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important;
  }

  /* Meta information sem with-meta permanece oculta no mobile */
  .neigh-section .neigh-card:not(.with-meta) .neigh-card__meta {
    display: none !important;
  }

  /* Centralizar seção no mobile */
  .neigh-section .text-center {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  /* ======================== HOW IT WORKS SECTION (DESKTOP) ======================== */
  .how-it-work {
    display: flex !important;
    width: 100% !important;
    padding: 48px 0 64px 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    background: white !important;
  }

  /* Container responsivo */
  .how-it-work .container {
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Header com título e texto */
  .how-it-work__header {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 48px !important;
  }

  /* Título H2 padrão */
  .how-it-work__title {
    color: #1D1D1F;
    /* H3 */
    font-family: Inter;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 42px;
    /* 130% */
  }

  /* Texto P padrão */
  .how-it-work__subtitle {
    color: #5D5D62 !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
  }

  /* Grid dos 3 cards */
  .how-it-work__grid {
    display: grid !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 30px !important;
    width: 100% !important;
  }

  /* Cada card individual */
  .how-it-work__card {
    display: flex !important;
    width: 100% !important;
    padding: 32px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    border-radius: 32px !important;
    border: 1px solid var(--Gray-200, #C9C9CD) !important;
    flex-shrink: 0 !important;
  }

  /* Ícone do card */
  .how-it-work__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
  }

  .how-it-work__icon img {
    width: auto !important;
    height: auto !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }

  /* Título do card H5 */
  .how-it-work__card-title {
    color: var(--Gray-700, #414145) !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    margin: 0 !important;
  }

  /* Texto do card P padrão */
  .how-it-work__card p {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 23px !important;
    margin: 0 !important;
  }

  /* ======================== CREATIVE RESOURCE SECTION (RESPONSIVO) ======================== */
  .cr-section {
    display: flex !important;
    width: 100% !important;
    padding: clamp(60px, 10vw, 148px) 0 !important;
    justify-content: center !important;
    align-items: center !important;
    background: white !important;
  }

  /* Container responsivo */
  .cr-section .container {
    max-width: 1372px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 2vw, 24px) !important;
    padding-right: clamp(16px, 2vw, 24px) !important;
    width: 100% !important;
  }

  /* Layout principal - 2 colunas */
  .cr-main {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: clamp(24px, 4vw, 80px) !important;
    /* Mobile: stack columns as rows */
    flex-direction: column !important;
  }

  /* ========== COLUNA ESQUERDA ========== */
  .cr-left-column {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(32px, 4vw, 48px) !important;
    flex: 1 !important;
    /* Mobile: full width and appear first */
    width: 100% !important;
    max-width: 100% !important;
    order: 1 !important;
  }

  /* Header - título e subtítulo */
  .cr-header {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(12px, 1.5vw, 16px) !important;
  }

  /* Título H2 responsivo */
  .cr-title {
    color: #1D1D1F !important;
    font-family: Inter !important;
    /* font-size: clamp(24px, 3vw, 48px) !important; */
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }

  /* Subtítulo P responsivo */
  .cr-subtitle {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: clamp(14px, 1.5vw, 18px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.56 !important;
    margin: 0 !important;
  }

  /* Lista de features */
  .cr-features {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    /* Remove gap geral, controlamos individualmente */
    margin-bottom: 64px;
  }

  /* Cada feature */
  .cr-feature {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Título da feature H4 desktop */
  .cr-feature__title {
    color: var(--black, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    margin: 0 !important;
  }

  /* Descrição da feature P */
  .cr-feature p {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 23px !important;
    margin: 0 !important;
    /* Remove margin automático */
  }

  /* Divider entre features - 32px acima e 32px abaixo */
  .cr-feature__divider {
    width: 100% !important;
    height: 1px !important;
    background: var(--Gray-200, #C9C9CD) !important;
    margin: 32px 0 32px 0 !important;
    /* 32px acima e abaixo conforme spec */
  }

  /* ========== COLUNA DIREITA ========== */
  .cr-right-column {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    /* Mobile: full width and appear after left */
    width: 100% !important;
    order: 2 !important;
  }

  /* Painel visual */
  .cr-panel {
    display: block !important;
    width: 100% !important;
    max-width: 750px !important;
    aspect-ratio: 750 / 630 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  /* Imagem estática do painel (mobile) */
  .cr-static-visual {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 32px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  @media (max-width: 767.98px) {
    .cr-section {
      padding-top: 48px !important;
      padding-bottom: 48px !important;
    }

    .cr-section .container {
      max-width: 100% !important;
      width: 100% !important;
      padding-left: 16px !important;
      padding-right: 16px !important;
      margin-left: 16px !important;
      margin-right: 16px !important;
    }
  }

  /* Ajustes extras para telas muito estreitas (ex.: iPhone SE) */
@media (max-width: 400px) {
    .cr-section .container {
      margin: 0 auto !important;
      padding-left: 16px !important;
      padding-right: 16px !important;
      margin-left: 16px !important;
      margin-right: 16px !important;
    }

    .cr-right-column .cr-panel,
    .cr-panel {
      padding: 0 !important;
      margin: 0 !important;
      height: auto !important;
      border-radius: 32px !important;
      max-width: 100% !important;
      width: 100% !important;
      aspect-ratio: auto !important;
      box-sizing: border-box !important;
    }

    .cr-static-visual {
      width: 100% !important;
      height: auto !important;
      border-radius: 24px !important;
    }

    .cr-panel__title {
      font-size: 28px !important;
      line-height: 36px !important;
    }

    .cr-grid {
      gap: 10px !important;
    }

    .cr-grid-row {
      gap: 12px !important;
    }

    /* Reduz tamanhos das imagens para caber em ~288-300px úteis */
    .cr-img-1-1,
    .cr-img-1-2,
    .cr-img-3-1,
    .cr-img-3-2 {
      width: 76px !important;
      height: 70px !important;
      border-radius: 10px !important;
    }

    .cr-img-1-3,
    .cr-img-3-3 {
      width: 96px !important;
      height: 70px !important;
      border-radius: 10px !important;
    }

    .cr-img-2-1,
    .cr-img-2-2 {
      width: 76px !important;
      height: 96px !important;
      border-radius: 10px !important;
    }
  }

  /* Título do painel com gradiente */
  .cr-panel__title {
    font-family: Inter !important;
    font-size: 39.71px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 79px !important;
    background: linear-gradient(90deg, #1D1D1F 0%, #0D74AA 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    mix-blend-mode: hard-light !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .cr-panel__title-accent {
    background: linear-gradient(90deg, #1D1D1F 0%, #0D74AA 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }

  /* ========== GRID DE IMAGENS EM FORMATO C ========== */
  .cr-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 13px !important;
    align-items: center !important;
  }

  /* Rows do grid */
  .cr-grid-row {
    display: flex !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Row 1: 3 imagens - centralizadas */
  .cr-row-1 {
    justify-content: center !important;
    align-items: flex-start !important;
  }

  /* Row 2: 2 imagens - alinhadas à esquerda */
  .cr-row-2 {
    justify-content: flex-start !important;
    align-items: center !important;
  }

  /* Row 3: 3 imagens - centralizadas, cortadas no limite */
  .cr-row-3 {
    justify-content: center !important;
    align-items: flex-start !important;
    /* Remove margin negativo - corte será no limite do container */
  }

  /* Imagens 1 e 2 da primeira row */
  .cr-img-1-1,
  .cr-img-1-2 {
    width: 88.119px !important;
    height: 81.292px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 88.12/8129 !important;
    border-radius: 9.929px !important;
    object-fit: cover !important;
    background-position: 0px 0.062px !important;
    background-size: 123.239% 100.028% !important;
    background-repeat: no-repeat !important;
  }

  /* Imagem 3 da primeira row */
  .cr-img-1-3 {
    width: 111.7px !important;
    height: 81.292px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 111.7/81.29 !important;
    border-radius: 9.929px !important;
    object-fit: cover !important;
    background-position: 0px -3.39px !important;
    background-size: 100% 102.886% !important;
    background-repeat: no-repeat !important;
  }

  /* Row 2: 2 imagens */
  .cr-row-2 {
    align-items: center !important;
  }

  /* Imagens da segunda row */
  .cr-img-2-1,
  .cr-img-2-2 {
    width: 88.119px !important;
    height: 112.32px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 88.12/112.32 !important;
    border-radius: 9.929px !important;
    object-fit: cover !important;
    background-position: 0px -0.215px !important;
    background-size: 191.341% 100.238% !important;
    background-repeat: no-repeat !important;
  }

  /* Imagens da terceira row - mesmo estilo da primeira */
  .cr-img-3-1,
  .cr-img-3-2 {
    width: 88.119px !important;
    height: 98.668px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 88.12/98.67 !important;
    border-radius: 9.929px !important;
    object-fit: cover !important;
    background-position: 0px 0.062px !important;
    background-size: 123.239% 100.028% !important;
    background-repeat: no-repeat !important;
  }

  .cr-img-3-3 {
    width: 111.7px !important;
    height: 99.289px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 111.7/99.289 !important;
    border-radius: 9.929px !important;
    object-fit: cover !important;
    background-position: 0px -3.39px !important;
    background-size: 100% 102.886% !important;
    background-repeat: no-repeat !important;
  }

  /* ======================== VISUAL COMPILATION SECTION (MOBILE) ======================== */
  .vc-section {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 32px 16px !important;
    background: transparent !important;
  }

  .vc-section .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Hero visual compilation mobile — landscape box + cover (never stretch) */
  .vc-hero {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2.2 / 1 !important;
    padding: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    border-radius: 32px !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-blend-mode: hard-light, normal !important;
    margin: 0 auto !important;
  }

  .vc-hero.vc-hero--phone {
    background-position: center right !important;
    background-blend-mode: normal !important;
  }

  /* Conteúdo centralizado mobile */
  .vc-hero__content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    text-align: center !important;
  }

  /* Título H3 mobile */
  .vc-hero__title {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 32px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 41.6px !important;
    margin: 0 !important;
    text-align: center !important;
    max-width: 300px !important;
  }

  /* ======================== FAQ SECTION (MOBILE) ======================== */
  .faq-section {
    display: flex !important;
    width: 100% !important;
    padding: 64px 24px !important;
    flex-direction: column !important;
    align-items: center !important;
    background: white !important;
  }

  /* Container responsivo */
  .faq-section .container {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Header com título centralizado */
  .faq-header {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-bottom: 40px !important;
  }

  /* Título da seção FAQ */
  .faq-title {
    color: #1D1D1F !important;
    text-align: center !important;
    font-family: Inter !important;
    font-size: 32px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 41.6px !important;
    margin: 0 !important;
  }

  /* Container do conteúdo FAQ */
  .faq-content {
    width: 100% !important;
    margin: 0 auto !important;
  }

  /* Accordion container */
  .faq-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* Cada item de FAQ */
  .faq-item {
    border-bottom: 1px solid var(--Gray-200, #C9C9CD) !important;
    padding: 24px 0 !important;
  }

  .faq-item:first-child {
    border-top: 1px solid var(--Gray-200, #C9C9CD) !important;
  }

  /* Área da pergunta - clicável */
  .faq-question {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* Texto da pergunta */
  .faq-question-text {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 27px !important;
    margin: 0 !important;
    flex: 1 !important;
    padding-right: 16px !important;
  }

  /* Ícone + / - */
  .faq-icon {
    width: 12px !important;
    height: 12px !important;
    position: relative !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    stroke-width: 2px;
    stroke: var(--Gray-500, #77777C);
  }

  /* Criando o ícone + com pseudo-elementos */
  .faq-icon::before,
  .faq-icon::after {
    content: '' !important;
    position: absolute !important;
    background: #5D5D62 !important;
    transition: all 0.3s ease !important;
  }

  /* Linha horizontal do + */
  .faq-icon::before {
    top: 50% !important;
    left: 0 !important;
    width: 12px !important;
    height: 2px !important;
    transform: translateY(-50%) !important;
  }

  /* Linha vertical do + */
  .faq-icon::after {
    top: 0 !important;
    left: 50% !important;
    width: 2px !important;
    height: 12px !important;
    transform: translateX(-50%) !important;
  }

  /* Quando expandido, esconde a linha vertical (fica só -) */
  .faq-question[aria-expanded="true"] .faq-icon::after {
    transform: translateX(-50%) rotate(90deg) !important;
    opacity: 0 !important;
  }

  /* Área da resposta */
  .faq-answer {
    padding-top: 16px !important;
    overflow: hidden !important;
  }

  /* Conteúdo da resposta */
  .faq-answer-content {
    color: var(--Gray-400, #77777C) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
  }

  /* Divider final (se existir) */
  .faq-divider {
    display: none !important;
    /* Não usado no novo design */
  }

  /* ======================== FOOTER SECTION (MOBILE) ======================== */
  .footer-area {
    width: 100% !important;
    padding: 48px 0 !important;
    background: white !important;
    border-top: 1px solid var(--Gray-200, #C9C9CD) !important;
  }

  /* Container do footer */
  .footer-main {
    width: 100% !important;
  }

  .footer-container {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Stack de colunas em mobile */
  .footer-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* Primeira coluna - Brand (3 rows com gap 24px) */
  .footer-column-brand .footer-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* Logo CONDOIMAGE */
  .footer-brand .footer-logo {
    text-decoration: none !important;
    display: inline-block !important;
  }

  .footer-brand .brand-primary {
    color: var(--Teal-500, #0E80BD) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
  }

  .footer-brand .brand-secondary {
    color: var(--Gray-900, #2C2C31) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
  }

  /* Texto descritivo */
  .footer-item__desc {
    color: var(--Gray-600, #4D4D51) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
  }

  /* Lista de redes sociais */
  .footer-social-list {
    display: flex !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
  }

  .footer-social-item {
    margin: 0 !important;
  }

  .footer-social-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
  }

  .footer-social-icon {
    width: 24px !important;
    height: 24px !important;
    transition: opacity 0.2s ease !important;
  }

  .footer-social-link:hover .footer-social-icon {
    opacity: 0.7 !important;
  }

  /* Outras colunas (2 rows com gap 14px) */
  .footer-column:not(.footer-column-brand) .footer-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  /* Títulos das colunas */
  .footer-item__title {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    margin: 0 !important;
  }

  /* Listas de links */
  .footer-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
  }

  .footer-menu__item {
    margin: 0 !important;
  }

  .footer-menu__link {
    color: var(--Gray-600, #4D4D51) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
  }

  .footer-menu__link:hover {
    color: var(--Teal-500, #0E80BD) !important;
  }

  /* ======================== CENTRALIZAÇÃO MOBILE ======================== */
  /* Centralizar texto descritivo */
  .footer-item__desc {
    text-align: center !important;
  }

  /* Centralizar redes sociais */
  .footer-social-list {
    justify-content: center !important;
  }

  /* Centralizar outras colunas */
  .footer-column:not(.footer-column-brand) .footer-item {
    align-items: center !important;
    text-align: center !important;
  }

  /* Centralizar títulos das colunas */
  .footer-item__title {
    text-align: center !important;
  }

  /* Centralizar listas de links */
  .footer-menu {
    align-items: center !important;
  }
}

/* ======================== DESKTOP STYLES (min-width: 992px) ======================== */
@media (min-width: 992px) {

  /* Global content container for desktop - max 1372px */
  .container,
  .container-fluid,
  section>.container-fluid {
    max-width: 1372px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* ======================== ACCORDION GALLERY & BUY AREA (DESKTOP) ======================== */

  /* ======================== MAIN GALLERY NAVIGATION (DESKTOP) ======================== */
  
  .main-gallery-container,
  .gallery-container {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible; /* Permitir que os botões fiquem visíveis fora do container */
  }

  /* Row 1: Galeria de 3 imagens - desktop com proporção 437:418 */
  .accordion-gallery-row {
    display: flex;
    gap: 32px;
    justify-content: center;
    align-items: center;
    margin-bottom: 64px;
    width: 100%;
    max-width: calc(3 * 437px + 2 * 32px); /* 3 imagens + 2 gaps */
    margin-left: auto;
    margin-right: auto;
  }

  .accordion-gallery-item {
    width: 437px;
    height: 418px;
    aspect-ratio: 437/418;
    border-radius: 32px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex: 0 0 437px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  /* Botões de navegação lateral - desktop apenas */
  .main-gallery-prev,
  .main-gallery-next,
  .gallery-prev,
  .gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
  }

  .main-gallery-prev:hover,
  .main-gallery-next:hover,
  .gallery-prev:hover,
  .gallery-next:hover {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    transform: translateY(-50%) scale(1.05);
  }

  .main-gallery-prev,
  .gallery-prev {
    left: calc(50% - 687.5px - 28px); /* 50% - (largura total galeria / 2) - gap - botão */
  }

  .main-gallery-next,
  .gallery-next {
    right: calc(50% - 687.5px - 28px); /* 50% - (largura total galeria / 2) - gap - botão */
  }

  .main-gallery-prev i,
  .main-gallery-next i,
  .gallery-prev i,
  .gallery-next i {
    font-size: 18px;
    color: var(--Gray-700, #414145);
    transition: color 0.3s ease;
  }

  .main-gallery-prev:hover i,
  .main-gallery-next:hover i,
  .gallery-prev:hover i,
  .gallery-next:hover i {
    color: var(--Teal-500, #0E80BD);
  }

  /* Prevent overflow */
  html,
  body {
    overflow-x: hidden;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  h2 {
    font-family: Inter;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 56px;
  }

  .btn.button {
    width: 238px;
    height: 56px;
    display: flex;
    padding: 14px 32px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 32px;
    background: var(--Teal-500, #0E80BD);
    color: var(--Gray-50, #F7F7F8);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
  }

  /* ======================== NAVBAR DESKTOP ======================== */
  .header {
    position: fixed;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    max-width: 1372px;
    width: calc(100% - 32px);
  }

  .header .container {
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  .header .navbar {
    display: flex !important;
    height: 64px !important;
    padding: 16px 70px !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-shrink: 0;
    border-radius: 88px !important;
    border: 0.5px solid var(--Gray-100, #E5E5E8) !important;
    background: rgba(247, 247, 248, 0.75) !important;
    backdrop-filter: blur(18.899999618530273px) !important;
    -webkit-backdrop-filter: blur(18.899999618530273px) !important;
    width: 100% !important;
  }

  /* Navbar brand/logo */
  .header .brand-text {
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .header .brand-text .brand-primary {
    color: var(--Teal-500, #0E80BD) !important;
  }

  .header .brand-text .brand-secondary {
    color: #1D1D1F !important;
  }

  /* Navbar center navigation */
  .header .nav-center-block {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
  }

  .header .nav-links-centered {
    display: flex !important;
    gap: 40px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header .nav-links-centered .item {
    margin: 0 !important;
  }

  .header .nav-links-centered a,
  .header .nav-links-centered .nav-link-button {
    color: var(--Gray-700, #414145) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 23px !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Navbar right actions */
  .header .nav-actions {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .header .nav-actions .navbar-search__toggle,
  .header .nav-actions .nav-icon {
    display: flex !important;
    width: 16px !important;
    height: 16px !important;
    padding: 1.333px 2px !important;
    justify-content: center !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    background: none !important;
    border: none !important;
    color: var(--Gray-700, #414145) !important;
    text-decoration: none !important;
  }

  .header .nav-actions .navbar-search__toggle i,
  .header .nav-actions .nav-icon i {
    width: 13.333px !important;
    height: 13.333px !important;
    flex-shrink: 0 !important;
    font-size: 13.333px !important;
  }

  /* Hide mobile elements on desktop */
  .header .navbar-toggler,
  .header .navbar-collapse {
    display: none !important;
  }

  /* Reset any conflicting styles */
  .header .row {
    margin: 0 !important;
  }

  .header .col-12 {
    padding: 0 !important;
  }

  /* ======================== NAVBAR DROPDOWNS/PANELS ======================== */
  .header .navbar-search__panel {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-top: 8px !important;
    z-index: 1001 !important;
    min-width: 600px !important;
    display: flex;
    padding: 32px 70px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 88px;
    border: 1px solid var(--Gray-100, #E5E5E8);
    background: rgba(247, 247, 248, 0.95);
    backdrop-filter: blur(6px);

    border-radius: 40px;

  }

  /* .header .navbar-search__card {
    display: flex;
    padding: 32px 70px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 88px;
    background: var(--Gray-50, #F7F7F8);
    border: 1px solid var(--Gray-100, #E5E5E8);
    border-radius: 40px;
    backdrop-filter: blur(6px);
  } */

  .header .navbar-search__close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: none !important;
    border: none !important;
    font-size: 18px !important;
    color: var(--Gray-700) !important;
    cursor: pointer !important;
    padding: 8px !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header .navbar-flyout__columns {
    display: flex !important;
    gap: 88px !important;
    align-items: flex-start !important;
  }

  .header .navbar-flyout__column {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    flex: 1 !important;
  }

  .header .navbar-flyout__subtitle {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 18.2px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header .navbar-flyout__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .header .navbar-flyout__list li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .header .navbar-flyout__list a,
  .header .navbar-flyout__action {
    color: #37373C !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 27px !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    transition: all 0.2s ease !important;
    background: none !important;
    border: none !important;
    text-align: left !important;
    width: 100% !important;
  }

  .header .navbar-flyout__list a:hover,
  .header .navbar-flyout__action:hover {
    transform: translateX(4px) !important;
  }

  /* Hide panels by default */
  .header .navbar-search__panel[aria-hidden="true"] {
    display: none !important;
  }

  .header .navbar-search__panel[aria-hidden="false"] {
    display: block !important;
  }

  /* ======================== SEARCH PANEL SPECIFIC ======================== */
  .header .navbar-search .navbar-search__panel {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-top: 8px !important;
    z-index: 1001 !important;
    min-width: 600px !important;
    display: flex;
    padding: 32px 70px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 88px;
    border: 1px solid var(--Gray-100, #E5E5E8);
    background: rgba(247, 247, 248, 0.90);
    backdrop-filter: blur(6px);

    border-radius: 40px;
  }

  .header .navbar-search__field {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
    padding: 12px 18px !important;
    border: 1px solid #d9d9de !important;
    border-radius: 999px !important;
    background: #fff !important;
    transition: border-color .15s ease, box-shadow .15s ease !important;
  }

  .header .navbar-search__field:focus-within {
    border-color: #0E80BD !important;
    box-shadow: 0 0 0 3px rgba(14,128,189,.12) !important;
  }

  .header .navbar-search__field input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    color: #37373C !important;
    background: transparent !important;
  }

  .header .navbar-search__field input::placeholder {
    color: #77777C !important;
  }

  .header .navbar-search__field i {
    color: var(--Gray-500) !important;
    font-size: 18px !important;
  }

  .header .navbar-search__submit {
    background: none !important;
    border: none !important;
    color: var(--Gray-700) !important;
    cursor: pointer !important;
    padding: 4px !important;
  }

  .header .navbar-search__suggestions {
    margin-top: 16px !important;
  }


  /* ======================== HOME PAGE SECTIONS - DESKTOP ======================== */
  .banner-section-two {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: 1200px !important;
    margin: 0 auto !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    aspect-ratio: 1512/1200 !important;
    /* Mantém a proporção do Figma */
  }

  #heroCarousel, #neighHeroCarousel {
     margin-top: -24px !important;   /* sobe o hero para “entrar” sob o header */
    padding-top: 16px !important;   /* repõe o espaço interno para não cortar o conteúdo */
  }

  /* Responsive height based on viewport width to maintain aspect ratio */
  @media (max-width: 1512px) {
    .banner-section-two {
      height: calc(100vw * 1200 / 1512) !important;
      max-height: 1200px !important;
    }
  }

  /* Carousel slides */
  .banner-section-two .carousel-inner {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
  }

  .banner-section-two .carousel-item {
    position: relative !important;
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    transition: transform 0.6s ease-in-out !important;
  }

  .banner-section-two .carousel-item.active,
  .banner-section-two .carousel-item-next,
  .banner-section-two .carousel-item-prev {
    display: block !important;
  }

  .banner-section-two .carousel-item-next:not(.carousel-item-start),
  .banner-section-two .active.carousel-item-end {
    transform: translateX(100%) !important;
  }

  .banner-section-two .carousel-item-prev:not(.carousel-item-end),
  .banner-section-two .active.carousel-item-start {
    transform: translateX(-100%) !important;
  }

  /* Banner background images */
  .banner-section-two .banner-thumb {
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
  }

  /* Ensure bg-img class works */
  .banner-section-two .bg-img {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .banner-section-two .bg-overlay::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.3) !important;
    /* Overlay sutil para legibilidade do texto */
    z-index: 1 !important;
  }

  /* Static content overlay */
  .banner-section-two .hero-static-content {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 24px !important;
    /* Let hero prev/next arrows receive clicks through the full-bleed overlay */
    pointer-events: none !important;
  }

  .banner-section-two .hero-static-content a,
  .banner-section-two .hero-static-content button,
  .banner-section-two .hero-static-content .neigh-hero__btn,
  .banner-section-two .hero-static-content .hero-search,
  .banner-section-two .hero-static-content input {
    pointer-events: auto !important;
  }

  /* Text content */
  .banner-section-two .content h1,
  .banner-section-two .content h3 {
    color: #FFFFFF !important;
    font-family: Inter !important;
    font-size: 48px !important;
    /* H1 size for desktop */
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    /* H1 line-height for desktop */
    margin-bottom: 16px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    /* Melhor legibilidade */
  }

  .banner-section-two .content p {
    color: #FFFFFF !important;
    font-family: Inter !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    /* Melhor legibilidade */
  }

  /* ======================== HERO SEARCH BAR ======================== */
  .banner-section-two .hero-search {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 0 !important;
    /* Removido margin-top para usar apenas o margin-bottom do parágrafo */
  }

  .banner-section-two .hero-search__form {
    display: flex !important;
    width: 845px !important;
    padding: 16px 24px !important;
    align-items: center !important;
    gap: 16px !important;
    border-radius: 32px !important;
    border: 1px solid var(--Gray-300, #A9A9AE) !important;
    background: rgba(159, 159, 159, 0.70) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
  }

  .banner-section-two .hero-search__icon {
    display: flex !important;
    width: 16px !important;
    height: 16px !important;
    padding: 1.333px !important;
    justify-content: center !important;
    align-items: center !important;
    aspect-ratio: 1/1 !important;
    color: var(--Gray-50, #F7F7F8) !important;
    flex-shrink: 0 !important;
  }

  .banner-section-two .hero-search__icon i {
    color: var(--Gray-50, #F7F7F8) !important;
    font-size: 16px !important;
  }

  .banner-section-two .hero-search__input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  .banner-section-two .hero-search__input::placeholder {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  /* HERO SEARCH DROPDOWN (DESKTOP) */
  .banner-section-two .hero-search { position: relative !important; }
  .banner-section-two .hero-search__form { position: relative !important; z-index: 22 !important; }
  .banner-section-two .hero-search .navbar-search__panel {
    position: absolute !important;
    top: calc(100% + 10px) !important; /* slight larger offset on desktop */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 845px !important; /* match desktop form width */
    max-width: calc(100vw - 48px) !important; /* safe gutters */
    z-index: 21 !important;
    border: 1px solid var(--Gray-100, #E5E5E8) !important;
    background: rgba(247, 247, 248, 0.95) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0,0,0,0.14) !important;
  }
  .banner-section-two .hero-search .navbar-search__panel[aria-hidden="true"] { display: none !important; }
  .banner-section-two .hero-search .navbar-search__panel[aria-hidden="false"] { display: block !important; }
  .banner-section-two .hero-search .navbar-search__card {
    display: block !important;
    padding: 16px 16px !important;
    border-radius: 16px !important;
    background: transparent !important;
    max-height: 320px !important;
    overflow-y: auto !important;
  }
  .banner-section-two .hero-search .navbar-search__headline {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    margin: 0 0 8px 0 !important;
  }
  .banner-section-two .hero-search .navbar-search__list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
  .banner-section-two .hero-search .navbar-search__list li { margin: 0 !important; padding: 0 !important; }
  .banner-section-two .hero-search .navbar-search__list a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    padding: 10px 10px !important;
    border-radius: 10px !important;
    color: #37373C !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    transition: background-color 0.15s ease !important;
  }
  .banner-section-two .hero-search .navbar-search__list a:hover { background: rgba(0,0,0,0.04) !important; }
  .banner-section-two .hero-search .navbar-search__empty,
  .banner-section-two .hero-search .navbar-search__loading,
  .banner-section-two .hero-search .navbar-search__error {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 14px !important;
    padding: 8px !important;
  }

  .banner-section-two .hero-search {
    position: relative !important;
  }

  .banner-section-two .hero-search #bannerSearchResults.navbar-search__panel {
    position: absolute !important;
    top: calc(100% + 16px) !important;
    left: 50% !important;
    transform: translate(-50%, -8px) !important;
    width: 100% !important;
    max-width: 845px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
    z-index: 30 !important;
  }

  .banner-section-two .hero-search #bannerSearchResults.navbar-search__panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }

  .banner-section-two .hero-search #bannerSearchResults .navbar-search__card {
    padding: 32px !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 30px 60px rgba(15, 15, 15, 0.16) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
  }

  /* ======================== CAROUSEL NAVIGATION BUTTONS ======================== */
  .banner-section-two .carousel-control-prev,
  .banner-section-two .carousel-control-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    display: flex !important;
    width: 40px !important;
    height: 40px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    border-radius: 40px !important;
    background: rgba(229, 229, 232, 0.50) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Position prev button aligned with navbar start (outer edge) */
  .banner-section-two .carousel-control-prev {
    left: calc((100vw - 1372px) / 2) !important;
    /* Aligned with navbar outer edge at 1372px */
  }

  /* Position next button aligned with navbar end (outer edge) */
  .banner-section-two .carousel-control-next {
    right: calc((100vw - 1372px) / 2) !important;
    /* Aligned with navbar outer edge at 1372px */
  }

  .banner-section-two .carousel-control-prev-icon,
  .banner-section-two .carousel-control-next-icon {
    width: 16px !important;
    height: 16px !important;
    background-size: 16px 16px !important;
  }

  /* ======================== CAROUSEL INDICATORS ======================== */
  .banner-section-two .carousel-indicators {
    position: absolute !important;
    bottom: 82px !important;
    /* Alterado de 32px para 82px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 15 !important;
    display: flex !important;
    gap: 26px !important;
    /* Alterado de 8px para 26px */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .banner-section-two .carousel-indicators button {
    width: 10px !important;
    height: 10px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1/1 !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.4) !important;
    /* 40% opacity for inactive */
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
  }

  .banner-section-two .carousel-indicators button.active {
    background: #FFFFFF !important;
    /* 100% white for active */
  }

  /* Remove the ::before pseudo-elements that were creating the dots inside */
  .banner-section-two .carousel-indicators button::before {
    display: none !important;
  }

  /* ======================== DESKTOP HERO SECTIONS (NEIGHBORHOOD/BUILDING PAGES) ======================== */

  /* Hero content container desktop */
  .neigh-hero__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 16px !important;
    z-index: 10 !important;
  }

  /* Breadcrumb desktop */
  .neigh-hero__breadcrumb {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin-bottom: 8px !important;
  }

  .neigh-hero__breadcrumb a {
    color: var(--Gray-50, #F7F7F8) !important;
    text-decoration: none !important;
  }

  .neigh-hero__breadcrumb .breadcrumb-pipe::before {
    content: ' / ' !important;
    color: var(--Gray-50, #F7F7F8) !important;
  }

  /* Featured text desktop */
  .neigh-hero__featured {
    color: #FFF !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    margin-bottom: 8px !important;
  }

  /* Title desktop - H1 size */
  .neigh-hero__title {
    color: #FFF !important;
    text-align: center !important;
    font-family: Inter !important;
    font-size: 64px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 61.6px !important;
    margin-bottom: 24px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  }

  /* Button desktop */
  .neigh-hero__btn {
    display: inline-flex !important;
    max-width: min(920px, calc(100vw - 80px)) !important;
    width: auto !important;
    padding: 14px 24px 14px 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
  }

  .neigh-hero__btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    transform: none !important;
  }

  /* Button text desktop — show full CTA (no ellipsis crop) */
  .neigh-hero__btn .btn-text {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
  }

  /* Button arrow desktop */
  .neigh-hero__btn .btn-arrow {
    display: flex !important;
    flex-shrink: 0 !important;
    padding: 10px !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 29px !important;
    background: rgba(255, 255, 255, 0.92) !important;
  }

  .neigh-hero__btn .btn-arrow .arrow-svg {
    width: 12px !important;
    height: 12px !important;
  }

  .neigh-hero__btn .btn-arrow .arrow-svg path {
    stroke: #414145 !important;
  }

  /* Building-specific styles for desktop */
  .building-hero__neighborhood {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin-bottom: 8px !important;
  }

  .building-hero__title {
    color: #FFF !important;
    text-align: center !important;
    font-family: Inter !important;
    font-size: 64px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 61.6px !important;
    margin-bottom: 8px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  }

  .building-hero__address {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin-bottom: 24px !important;
  }

  /* ======================== TOP CATEGORIES SECTION - DESKTOP ======================== */
  .top-categories-container {
    width: 100%;
    height: 693px;
    /* Altura específica para desktop */
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    margin-top: 148px;
    /* Espaçamento de 148px da seção anterior */
    margin-bottom: 148px;
    /* Espaçamento de 148px para a próxima seção */
  }

  .top-categories-container .container-fluid {
    max-width: 1372px !important;
    margin: 0 auto;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Layout principal da seção - 2 colunas */
  .top-categories-container .row {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: flex-start !important;
    /* Alinha ao topo */
  }

  /* Coluna esquerda com textos e botão */
  .top-categories-container .col-lg-6:first-child {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* Distribui espaço entre conteúdo e controles */
    gap: 32px;
    padding-right: 48px;
    padding-top: 0;
    /* Remove padding superior para alinhar com topo da galeria */
    min-height: 693px;
    /* Mesma altura da galeria para alinhamento perfeito */
  }

  /* Título H1 da seção (match condo-building .neigh-hero__title typeface) */
  .top-categories-container h1.tc-title,
  .top-categories-container h1,
  .top-categories-container h2 {
    color: #1D1D1F !important;
    font-family: Inter, sans-serif !important;
    font-size: 64px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 61.6px !important;
    margin: 0;
    margin-bottom: 32px;
    /* Espaçamento de 32px para o próximo texto */
  }

  /* Primeiro parágrafo com estilo P1 */
  .top-categories-container .description {
    color: var(--Gray-500, #5D5D62);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    /* 155.556% */
    margin: 0;
  }

  /* Segundo texto com estilo diferente */
  .top-categories-container .highlight-text {
    color: var(--Gray-500, #5D5D62);
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 33.6px;
    margin: 0;
    margin-bottom: 48px;
    /* Espaçamento de 48px para o botão */
  }

  /* Botão "Explore all buildings" */
  .top-categories-container .tc-button {
    /* Auto width: o botão acompanha o texto (ex.: "view all <bairro> building")
       em vez de um width fixo de 238px que cortava textos maiores. */
    width: auto;
    min-width: 200px;
    max-width: 100%;
    height: auto;
    min-height: 58px;
    padding: 12px 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 32px;
    background: var(--Teal-500, #0E80BD);
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
  }

  .tc-button:hover {
    background: #0c6fa3;
    color: var(--Gray-50, #F7F7F8);
  }

  /* Texto do botão */
  .tc-button {
    color: var(--Gray-50, #F7F7F8);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    /* 155.556% */
  }

  .top-categories-container .container-fluid .col-lg-6:last-child .tc-inline-controls-desktop {
    display: flex;
    justify-content: space-between;
  }

  /* Coluna direita com sliders e galeria - pode vazar o grid */
  .top-categories-container .col-lg-6:last-child {
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
    margin-left: 77px;
    /* Distância horizontal de 77px da área dos textos */
    /* Permite que esta coluna vaze o grid para a direita */
    margin-right: calc(-1 * ((100vw - 1372px) / 2 + 24px));
    padding-right: calc((100vw - 1372px) / 2 + 24px);
  }

  /* Área dos botões prev/next e sliders */
  .top-categories-container .controls-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
    padding-right: 48px;
    /* Mantém o alinhamento interno */
  }

  /* Container do carrossel da galeria */
  .top-categories-container #categoriesCarousel,
  .top-categories-container #buildingCarousel,
  .top-categories-container .tc-carousel {
    width: 100vw;
    height: 693px;
    overflow: hidden;
    position: relative;
  }

  /* Track do carrossel - slides lado a lado */
  .top-categories-container .tc-carousel-track {
    display: flex;
    width: 100%;
    height: 100%;
    gap: 40px;
    /* Espaço de 40px entre os slides lateralmente */
    transition: transform 0.5s ease;
    /* Remove overflow auto para controle manual */
    transform: translateX(0);
    will-change: transform;
  }

  /* Cada slide individual da galeria */
  .top-categories-container .tc-carousel-track .tc-card {
    display: flex !important;
    height: 693px !important;
    min-width: 400px !important;
    /* Largura mínima para cada slide */
    width: 400px !important;
    /* Largura fixa para consistência */
    flex: 0 0 auto !important;
    /* Não cresce nem encolhe */
    padding: 0 !important;
    /* Remove padding para usar positioning no conteúdo */
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    border-radius: 64px !important;
    position: relative !important;
    cursor: pointer !important;
    transition: transform 0.3s ease !important;
    margin: 0 !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  /* Imagem de fundo do slide */
  .top-categories-container .tc-carousel-track .tc-card .tc-card__img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 64px !important;
    z-index: 1 !important;
  }

  /* Overlay gradient sobre a imagem - 70% menos intenso */
  .top-categories-container .tc-carousel-track .tc-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(47, 47, 47, 0.3) 0%, rgba(115, 115, 115, 0.00) 100%);
    border-radius: 64px;
    z-index: 2;
  }

  /* Remover hover effect nos slides */
  .top-categories-container .tc-carousel-track .tc-card:hover {
    transform: none !important;
  }

  .top-categories-container .tc-carousel-track .tc-card .tc-card__label {
    position: absolute !important;
    bottom: 53px !important;
    /* 53px da parte de baixo da imagem */
    left: 50% !important;
    transform: translateX(-50%) !important;
    color: #E5E5E8 !important;
    /* Cor especificada */
    font-family: Inter !important;
    font-size: 32px !important;
    /* Tamanho H3 */
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 41.6px !important;
    /* Line-height do H3 */
    text-align: center !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 0 16px !important;
    /* Padding lateral para evitar corte */
    width: calc(100% - 32px) !important;
    /* Largura responsiva */
    box-sizing: border-box !important;
  }

  /* ======================== CONTROLES DA GALERIA ======================== */
  /* Área dos controles - botões prev/next e indicadores */
  .top-categories-container .tc-inline-controls-desktop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    /* Empurra os controles para o final da coluna */
    margin-bottom: 0;
    padding-right: 48px;
  }

  .top-categories-container .tc-inline-controls {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center;
  }

  /* Botões prev e next */
  .top-categories-container .tc-nav-btn {
    display: flex;
    width: 32px;
    height: 32px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 40px;
    background: var(--Gray-100, #E5E5E8);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .top-categories-container .tc-nav-btn:hover {
    background: #d1d1d5;
  }

  .top-categories-container .tc-nav-btn i {
    font-size: 12px;
    color: #5D5D62;
  }

  /* Container dos navegadores */
  .top-categories-container .tc-nav-buttons {
    display: flex;
    gap: 16px;
    align-items: center;
  }

  /* ======================== INDICADORES (SLIDERS) ======================== */
  .top-categories-container .tc-indicators {
    display: flex;
    gap: 25px;
    /* 25px de distância entre os indicadores */
    align-items: center;
  }

  .top-categories-container .tc-indicators-container {
    display: flex;
    gap: 25px;
    align-items: center;
  }

  /* Indicadores individuais */
  .top-categories-container .tc-indicator {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #E5E5E8;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    margin: 0;
  }

  /* Indicador ativo */
  .top-categories-container .tc-indicator.active {
    background-color: #4D7FB8;
  }

  /* Esconder controles mobile no desktop */
  .top-categories-container .tc-inline-controls-mobile {
    display: none !important;
  }

  /* ======================== JAVASCRIPT CARROSSEL BEHAVIOR ======================== */
  /*
    Comportamento esperado para implementar no JavaScript:
    
    1. Mostrar sempre 4 indicadores fixos
    2. Indicador ativo vai mudando conforme navegação
    3. Botão next: avança para próxima imagem
    4. Botão prev: volta para imagem anterior
    5. Carrossel infinito: após última imagem volta para primeira
    6. Transform: translateX baseado no índice atual
    7. Largura do slide + gap = 440px (400px + 40px)
    8. Transformação: translateX(-(currentIndex * 440)px)
  */

  /* ======================== DOWNLOAD IMAGE COLLECTION CARD (BUILDING DETAILS) ======================== */

  /* Container principal do card de download */
  .download-image-collection-card {
    display: flex !important;
    width: 625px !important;
    height: 60vh;
    padding: 64px 48px !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    border-radius: 48px !important;
    border: 1px solid var(--Teal-200, #99CFEC) !important;
    background: var(--Teal-50, #E6F3FA) !important;
    text-align: center !important;
  }

  /* Row 1: Título */
  .download-card-title {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    margin: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Row 2: Nome do building */
  .download-card-building-name {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    margin: 0 !important;
  }

  /* Row 3: Preço + Contagem lado a lado, centralizado */
  .download-card-main-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Preço */
  .download-card-price-section {
    display: flex !important;
    align-items: center !important;
  }

  .download-card-price {
    color: #0d74aa !important;
    background: linear-gradient(90deg, #1d1d1f 0%, #0d74aa 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin: 0 !important;
  }

  /* Contagem de imagens */
  .download-card-count {
    color: var(--Gray-600, #4D4D51) !important;
    font-family: Inter !important;
    font-size: 28px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    letter-spacing: 0.1px !important;
    margin: 0 !important;
  }

  /* Divider entre preço e count */
  .download-card-divider {
    width: 2px !important;
    height: 40px !important;
    background: var(--Gray-300, #B0B0B5) !important;
    flex-shrink: 0 !important;
  }

  /* Row 4: Subtitle */
  .download-card-subtitle {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    margin: 0 !important;
    max-width: 420px !important;
    text-align: center !important;
  }

  /* Row 5: Subtitle secondary */
  .download-card-subtitle-secondary {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 13px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    margin: 0 !important;
    max-width: 420px !important;
    text-align: center !important;
  }

  .download-form {
    width: 100% !important;
    max-width: 460px !important;
  }

  /* Botão de compra */
  .download-card-button {
    display: flex !important;
    padding: 14px 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 32px !important;
    background: var(--Teal-500, #0E80BD) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    max-width: 460px !important;
    box-sizing: border-box !important;
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    text-decoration: none !important;
    outline: none !important;
  }

  .download-card-button:hover,
  .download-card-button:focus,
  .download-card-button:active,
  a.download-card-button:hover,
  a.download-card-button:focus,
  a.download-card-button:active {
    background: #0A6A9A !important;
    transform: translateY(-2px) !important;
    color: var(--Gray-50, #F7F7F8) !important;
    text-decoration: none !important;
  }

  /* Tagline abaixo do botão */
  .download-card-tagline {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
    margin-top: 4px !important;
  }

  .neigh-section {
    display: flex;
    width: 100%;
    padding: 64px 70px;
    flex-direction: column;
    align-items: center;
    gap: 55px;
    background: #EDEDED;
  }

  .neigh-section .container {
    max-width: 1372px !important;
    margin: 0 auto;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* ======================== HOW IT WORKS SECTION (DESKTOP) ======================== */
  .how-it-work {
    display: flex !important;
    width: 100% !important;
    padding: 48px 0 80px 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    background: white !important;
  }

  /* Container responsivo */
  .how-it-work .container {
    max-width: 1372px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Header com título e texto */
  .how-it-work__header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-bottom: 48px !important;
    text-align: center !important;
  }

  /* Título H2 padrão */
  .how-it-work__title {
    color: var(--black, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin: 0 !important;
  }

  /* Texto P padrão */
  .how-it-work__subtitle {
    color: #5D5D62 !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
    max-width: 800px !important;
  }

  /* Grid dos 3 cards */
  .how-it-work__grid {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 30px !important;
    width: 100% !important;
  }

  /* Cada card individual */
  .how-it-work__card {
    display: flex !important;
    width: 437px !important;
    padding: 32px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    border-radius: 32px !important;
    border: 1px solid var(--Gray-200, #C9C9CD) !important;
    flex-shrink: 0 !important;
  }

  /* Ícone do card */
  .how-it-work__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
  }

  .how-it-work__icon img {
    width: auto !important;
    height: auto !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }

  /* Título do card H5 */
  .how-it-work__card-title {
    color: var(--Gray-700, #414145) !important;
    font-family: Inter !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    margin: 0 !important;
  }

  /* Texto do card P padrão */
  .how-it-work__card p {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 23px !important;
    margin: 0 !important;
  }

  /* ======================== CREATIVE RESOURCE SECTION (DESKTOP) ======================== */
  .cr-section {
    display: flex !important;
    width: 100% !important;
    padding: clamp(60px, 10vw, 148px) 0 !important;
    justify-content: center !important;
    align-items: center !important;
    background: white !important;
  }

  /* Container responsivo */
  .cr-section .container {
    max-width: 1372px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 2vw, 24px) !important;
    padding-right: clamp(16px, 2vw, 24px) !important;
  }

  @media (max-width: 767.98px) {
    .cr-section {
      padding-top: 48px !important;
      padding-bottom: 48px !important;
    }

    .cr-section .container {
      max-width: 100% !important;
      width: 100% !important;
      padding-left: 16px !important;
      padding-right: 16px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  /* Layout principal - 2 colunas */
  .cr-main {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 40px !important;
  }

  /* ========== COLUNA ESQUERDA ========== */
  .cr-left-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 48px !important;
    /* Gap entre header e features conforme especificado */
    flex: 1 !important;
    max-width: 500px !important;
  }

  /* Header - título e subtítulo */
  .cr-header {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  /* Título H2 desktop */
  .cr-title {
    color: var(--black, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin: 0 !important;
  }

  /* Subtítulo P desktop */
  .cr-subtitle {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
  }

  /* Lista de features */
  .cr-features {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    /* Remove gap geral, controlamos individualmente */
  }

  /* Cada feature */
  .cr-feature {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Título da feature H4 desktop */
  .cr-feature__title {
    color: var(--black, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    margin: 0 !important;
  }

  /* Descrição da feature P */
  .cr-feature p {
    color: var(--Gray-500, #5D5D62) !important;
    font-family: Inter !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 23px !important;
    margin: 0 !important;
    /* Remove margin automático */
  }

  /* Divider entre features - 32px acima e 32px abaixo */
  .cr-feature__divider {
    width: 100% !important;
    height: 1px !important;
    background: var(--Gray-200, #C9C9CD) !important;
    margin: 32px 0 32px 0 !important;
    /* 32px acima e abaixo conforme spec */
  }

  /* ========== COLUNA DIREITA ========== */
  .cr-right-column {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  /* Painel visual */
  .cr-panel {
    display: block !important;
    width: 100% !important;
    max-width: 750px !important;
    aspect-ratio: 750 / 630 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  /* Imagem estática do painel (desktop) */
  .cr-static-visual {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 48px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Título do painel com gradiente */
  .cr-panel__title {
    font-family: Inter !important;
    font-size: 60.71px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 79px !important;
    background: linear-gradient(90deg, #1D1D1F 0%, #0D74AA 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    mix-blend-mode: hard-light !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .cr-panel__title-accent {
    background: linear-gradient(90deg, #1D1D1F 0%, #0D74AA 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }

  /* ========== GRID DE IMAGENS EM FORMATO C ========== */
  .cr-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    align-items: center !important;
  }

  /* Rows do grid */
  .cr-grid-row {
    display: flex !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Row 1: 3 imagens - centralizadas */
  .cr-row-1 {
    justify-content: center !important;
    align-items: flex-start !important;
  }

  /* Row 2: 2 imagens - alinhadas à esquerda */
  .cr-row-2 {
    justify-content: flex-start !important;
    align-items: center !important;
  }

  /* Row 3: 3 imagens - centralizadas, cortadas no limite */
  .cr-row-3 {
    justify-content: center !important;
    align-items: flex-start !important;
    /* Remove margin negativo - corte será no limite do container */
  }

  /* Imagens 1 e 2 da primeira row */
  .cr-img-1-1,
  .cr-img-1-2 {
    width: 142px !important;
    height: 131px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 142/131 !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background-position: 0px 0.062px !important;
    background-size: 123.239% 100.028% !important;
    background-repeat: no-repeat !important;
  }

  /* Imagem 3 da primeira row */
  .cr-img-1-3 {
    width: 180px !important;
    height: 131px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 180/131 !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background-position: 0px -3.39px !important;
    background-size: 100% 102.886% !important;
    background-repeat: no-repeat !important;
  }

  /* Row 2: 2 imagens */
  .cr-row-2 {
    align-items: center !important;
  }

  /* Imagens da segunda row */
  .cr-img-2-1,
  .cr-img-2-2 {
    width: 142px !important;
    height: 181px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 142/181 !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background-position: 0px -0.215px !important;
    background-size: 191.341% 100.238% !important;
    background-repeat: no-repeat !important;
  }

  /* Imagens da terceira row - mesmo estilo da primeira */
  .cr-img-3-1,
  .cr-img-3-2 {
    width: 142px !important;
    height: 131px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 142/131 !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background-position: 0px 0.062px !important;
    background-size: 123.239% 100.028% !important;
    background-repeat: no-repeat !important;
  }

  .cr-img-3-3 {
    width: 180px !important;
    height: 131px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 180/131 !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background-position: 0px -3.39px !important;
    background-size: 100% 102.886% !important;
    background-repeat: no-repeat !important;
  }

  /* ======================== VISUAL COMPILATION SECTION (DESKTOP) ======================== */
  .vc-section {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 56px 0 !important;
    background: transparent !important;
  }

  .vc-section .container {
    max-width: 1372px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Hero visual compilation */
  .vc-hero {
    display: flex !important;
    height: 473px !important;
    padding: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    border-radius: 48px !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-blend-mode: hard-light, normal !important;
    margin: 0 auto !important;
  }

  .vc-hero.vc-hero--phone {
    background-position: center right !important;
    background-blend-mode: normal !important;
  }

  /* Conteúdo centralizado */
  .vc-hero__content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    text-align: center !important;
  }

  /* Título H2 desktop */
  .vc-hero__title {
    color: var(--Gray-50, #F7F7F8) !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin: 0 !important;
    text-align: center !important;
    max-width: 800px !important;
  }

  /* ======================== FAQ SECTION (DESKTOP) ======================== */
  .faq-section {
    display: flex !important;
    width: 100% !important;
    padding: 148px 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    background: white !important;
  }

  /* Container responsivo */
  .faq-section .container {
    max-width: 1372px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Header com título centralizado */
  .faq-header {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-bottom: 58px !important;
  }

  /* Título da seção FAQ */
  .faq-title {
    color: #1D1D1F !important;
    text-align: center !important;
    font-family: Inter !important;
    font-size: 48px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    margin: 0 !important;
  }

  /* Container do conteúdo FAQ */
  .faq-content {
    width: 100% !important;
    margin: 0 auto !important;
  }

  /* Accordion container */
  .faq-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* Cada item de FAQ */
  .faq-item {
    border-bottom: 1px solid var(--Gray-200, #C9C9CD) !important;
    padding: 24px 0 !important;
  }

  .faq-item:first-child {
    border-top: 1px solid var(--Gray-200, #C9C9CD) !important;
  }

  /* Área da pergunta - clicável */
  .faq-question {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* Texto da pergunta */
  .faq-question-text {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    margin: 0 !important;
    flex: 1 !important;
    padding-right: 16px !important;
  }

  /* Ícone + / - */
  .faq-icon {
    width: 12px !important;
    height: 12px !important;
    position: relative !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    stroke-width: 2px;
    stroke: var(--Gray-500, #77777C);
  }

  /* Criando o ícone + com pseudo-elementos */
  .faq-icon::before,
  .faq-icon::after {
    content: '' !important;
    position: absolute !important;
    background: #5D5D62 !important;
    transition: all 0.3s ease !important;
  }

  /* Linha horizontal do + */
  .faq-icon::before {
    top: 50% !important;
    left: 0 !important;
    width: 12px !important;
    height: 2px !important;
    transform: translateY(-50%) !important;
  }

  /* Linha vertical do + */
  .faq-icon::after {
    top: 0 !important;
    left: 50% !important;
    width: 2px !important;
    height: 12px !important;
    transform: translateX(-50%) !important;
  }

  /* Quando expandido, esconde a linha vertical (fica só -) */
  .faq-question[aria-expanded="true"] .faq-icon::after {
    transform: translateX(-50%) rotate(90deg) !important;
    opacity: 0 !important;
  }

  /* Área da resposta */
  .faq-answer {
    padding-top: 16px !important;
    overflow: hidden !important;
  }

  /* Conteúdo da resposta */
  .faq-answer-content {
    color: var(--Gray-400, #77777C) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
  }

  /* Divider final (se existir) */
  .faq-divider {
    display: none !important;
    /* Não usado no novo design */
  }

  /* ======================== FOOTER SECTION (DESKTOP) ======================== */
  .footer-area {
    width: 100% !important;
    padding: 48px 0 !important;
    background: white !important;
    border-top: 1px solid var(--Gray-200, #C9C9CD) !important;
  }

  /* Container do footer */
  .footer-main {
    width: 100% !important;
  }

  .footer-container {
    max-width: 1372px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Grid de 4 colunas */
  .footer-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
    gap: 40px !important;
    width: 100% !important;
    align-items: start !important;
  }

  /* Todas as colunas devem ter a mesma altura */
  .footer-column {
    display: flex !important;
    height: 100% !important;
  }

  .footer-column .footer-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
  }

  /* Primeira coluna - Brand (3 rows com gap 24px) */
  .footer-column-brand .footer-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    min-width: 348px !important;
  }

  /* Logo CONDOIMAGE */
  .footer-brand .footer-logo {
    text-decoration: none !important;
    display: inline-block !important;
  }

  .footer-brand .brand-primary {
    color: var(--Teal-500, #0E80BD) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
  }

  .footer-brand .brand-secondary {
    color: var(--Gray-900, #2C2C31) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
  }

  /* Texto descritivo */
  .footer-item__desc {
    color: var(--Gray-600, #4D4D51) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    margin: 0 !important;
  }

  /* Lista de redes sociais */
  .footer-social-list {
    display: flex !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
  }

  .footer-social-item {
    margin: 0 !important;
  }

  .footer-social-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
  }

  .footer-social-icon {
    width: 24px !important;
    height: 24px !important;
    transition: opacity 0.2s ease !important;
  }

  .footer-social-link:hover .footer-social-icon {
    opacity: 0.7 !important;
  }

  /* Outras colunas (2 rows com gap 14px) */
  .footer-column:not(.footer-column-brand) .footer-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }

  /* Títulos das colunas */
  .footer-item__title {
    color: var(--Title, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 33.6px !important;
    margin: 0 !important;
  }

  /* Listas de links */
  .footer-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
  }

  .footer-menu__item {
    margin: 0 !important;
  }

  .footer-menu__link {
    color: var(--Gray-600, #4D4D51) !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
  }

  .footer-menu__link:hover {
    color: var(--Teal-500, #0E80BD) !important;
  }

  /* ======================== ALL BUILDINGS SECTION (DESKTOP) ======================== */
  /* Seção All Buildings com background específico */
  .neigh-section {
    background: #EDEDED !important;
    padding: 64px 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  /* Container responsivo alinhado com navbar */
  .neigh-section .container {
    max-width: 1372px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Header com título + sort/search em uma linha */
  .neigh-section .section-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    height: auto !important;
    min-height: 56px !important;
    gap: 24px !important;
    margin-bottom: 55px !important;
    padding: 0 !important;
  }

  .neigh-section .section-head > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .neigh-section .list-toolbar {
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    margin-top: 2px !important;
  }

  /* Título "All buildings" / section H1 alinhado à esquerda */
  .neigh-section .section-head h1,
  .neigh-section .section-head h2 {
    color: var(--black, #1D1D1F) !important;
    font-family: Inter !important;
    font-size: 32px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 41.6px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Search bar alinhada à direita (mais estreita para caber ao lado do sort) */
  .neigh-section .list-search {
    display: flex !important;
    width: 280px !important;
    padding: 12px 16px !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 16px !important;
    border: 1px solid var(--Gray-300, #A9A9AE) !important;
    margin: 0 !important;
  }

  .neigh-section .list-toolbar .list-search {
    width: 260px !important;
    flex: 0 0 260px !important;
  }

  /* Ícone de search */
  .neigh-section .list-search__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-left: 16px !important;
    padding-right: 8px !important;
    color: var(--Gray-400, #77777C) !important;
    font-size: 18px !important;
  }

  /* Input do search */
  .neigh-section .list-search__input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    color: var(--Gray-400, #77777C) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    padding: 0 !important;
  }

  .neigh-section .list-search__input::placeholder {
    color: var(--Gray-400, #77777C) !important;
  }

  /* Grid 3x3 para as imagens */
  .neigh-section .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    margin-bottom: 55px !important;
  }

  /* Cada card de building */
  .neigh-section .row>div {
    display: contents !important;
  }

  /* Estilo do card de building */
  .neigh-section .neigh-card {
    height: 418px !important;
    flex-shrink: 0 !important;
    border-radius: 32px !important;
    background: linear-gradient(0deg, #2F2F2F 0%, rgba(115, 115, 115, 0.00) 100%) !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    text-decoration: none !important;
  }

  /* Imagem de fundo do card */
  .neigh-section .neigh-card__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 32px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
  }

  /* Label do building - texto na parte inferior */
  .neigh-section .neigh-card__label {
    position: absolute !important;
    bottom: 36px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 3 !important;
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 32px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 41.6px !important;
    text-align: center !important;
    width: calc(100% - 64px) !important;
  }

  /* Meta information desktop - quando tem .with-meta */
  .neigh-section .neigh-card.with-meta .neigh-card__meta {
    position: absolute !important;
    bottom: 16px !important;
    left: 24px !important;
    right: 24px !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    gap: 8px !important;
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  .neigh-section .neigh-card.with-meta .neigh-card__label {
    bottom: 56px !important;
    /* Ajustar para dar espaço para meta */
  }

  .neigh-section .neigh-card__meta .meta-left,
  .neigh-section .neigh-card__meta .meta-right {
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  .neigh-section .neigh-card__meta .sep::before {
    content: ' | ' !important;
    color: var(--Gray-100, #E5E5E8) !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
  }

  /* Meta information sem with-meta permanece oculta no desktop */
  .neigh-section .neigh-card:not(.with-meta) .neigh-card__meta {
    display: none !important;
  }

  /* Overlay do card para legibilidade do texto */
  .neigh-section .neigh-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* background: linear-gradient(0deg, #2F2F2F 0%, rgba(115, 115, 115, 0.00) 100%) !important; */
    background: linear-gradient(0deg, rgba(47, 47, 47, 0.3) 0%, rgba(115, 115, 115, 0.00) 100%);
    border-radius: 32px !important;
    z-index: 2 !important;
  }

  /* Botão "Explore all buildings" */
  .neigh-section .btn.button {
    display: flex !important;
    width: 312px !important;
    height: 56px !important;
    padding: 14px 32px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 32px !important;
    background: var(--Teal-500, #0E80BD) !important;
    border: none !important;
    color: white !important;
    font-family: Inter !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin: 0 auto !important;
    transition: all 0.3s ease !important;
  }

  .neigh-section .btn.button:hover {
    background: #0B6A9A !important;
    transform: translateY(-2px) !important;
  }

  /* Meta information (se houver) */
  .neigh-section .neigh-card__meta {
    display: none !important;
    /* Ocultar no layout de grid 3x3 */
  }

  /* ======================== BUILDING INFO SECTIONS ACCORDION (DESKTOP) ======================== */

  /* Container das seções - mesmo estilo da FAQ */
  .building-info-sections {
    display: flex;
    width: 100%;
    padding-bottom: 148px;
    flex-direction: column;
    align-items: center;
    background: white;
  }

  .building-info-sections .container {
    max-width: 1372px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
  }

  /* Cada seção do accordion - estilo idêntico FAQ */
  .info-section {
    border-bottom: 1px solid var(--Gray-200, #C9C9CD);
    padding: 24px 0;
  }

  .info-section:first-child {
    border-top: 1px solid var(--Gray-200, #C9C9CD);
  }

  /* Header do accordion - estilo idêntico FAQ */
  .info-section__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 0;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
  }

  .info-section__header h2,
  .info-section__header h3 {
    color: var(--Title, #1D1D1F);
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 33.6px;
    margin: 0;
    flex: 1;
    padding-right: 16px;
  }

  /* Ícone + / - idêntico ao FAQ */
  .info-section__toggle {
    width: 12px;
    height: 12px;
    position: relative;
    cursor: pointer;
    flex-shrink: 0;
    stroke-width: 2px;
    stroke: var(--Gray-500, #77777C);
    background: none;
    border: none;
    font-size: 0;
    /* esconde o texto + */
  }

  /* Criando o ícone + com pseudo-elementos */
  .info-section__toggle::before,
  .info-section__toggle::after {
    content: '';
    position: absolute;
    background: #5D5D62;
    transition: all 0.3s ease;
  }

  /* Linha horizontal do + */
  .info-section__toggle::before {
    top: 50%;
    left: 0;
    width: 12px;
    height: 2px;
    transform: translateY(-50%);
  }

  /* Linha vertical do + */
  .info-section__toggle::after {
    top: 0;
    left: 50%;
    width: 2px;
    height: 12px;
    transform: translateX(-50%);
  }

  /* Quando expandido, esconde a linha vertical (fica só -) */
  .info-section__toggle.active::after {
    transform: translateX(-50%) rotate(90deg);
    opacity: 0;
  }

  /* Toggle desabilitado quando não há imagens (desktop) */
  .info-section__toggle.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
  }

  .info-section__toggle.disabled::before,
  .info-section__toggle.disabled::after {
    background: #C9C9CD;
  }

  /* Estado adicional para indicar erro 404 ou falha no carregamento */
  .info-section__toggle.error {
    opacity: 0.2;
    cursor: not-allowed;
    pointer-events: none;
  }

  .info-section__toggle.error::before,
  .info-section__toggle.error::after {
    background: #FF6B6B; /* Tom avermelhado sutil para erro */
  }

  /* Conteúdo do accordion - estilo FAQ */
  .info-section__content {
    padding-top: 16px;
    overflow: hidden;
  }

  /* Seção principal da galeria do building - sempre expandida inicialmente */
  .building-gallery-section .info-section__content {
    display: block;
    animation: expandGallery 0.5s ease-out;
  }

  .building-gallery-section .info-section__toggle.active {
    opacity: 1;
    cursor: pointer;
    pointer-events: auto;
  }

  /* Garantir que a seção principal seja sempre clicável, mesmo com classes de erro */
  .building-gallery-section .info-section__toggle.disabled,
  .building-gallery-section .info-section__toggle.error {
    opacity: 1;
    cursor: pointer;
    pointer-events: auto;
  }

  .building-gallery-section .info-section__toggle.disabled::before,
  .building-gallery-section .info-section__toggle.disabled::after,
  .building-gallery-section .info-section__toggle.error::before,
  .building-gallery-section .info-section__toggle.error::after {
    background: #5D5D62; /* Cor normal */
  }

  /* Animação para expansão inicial da galeria */
  @keyframes expandGallery {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* ======================== ACCORDION GALLERY & BUY AREA (DESKTOP) ======================== */

  /* ======================== MAIN GALLERY NAVIGATION (DESKTOP) ======================== */
  
  .main-gallery-container,
  .gallery-container {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible; /* Permitir que os botões fiquem visíveis fora do container */
  }

  /* Row 1: Galeria de 3 imagens - desktop com proporção 437:418 */
  .accordion-gallery-row {
    display: flex;
    gap: 32px;
    justify-content: center;
    align-items: center;
    margin-bottom: 64px;
    width: 100%;
    max-width: calc(3 * 437px + 2 * 32px); /* 3 imagens + 2 gaps */
    margin-left: auto;
    margin-right: auto;
  }

  .accordion-gallery-item {
    width: 437px;
    height: 418px;
    aspect-ratio: 437/418;
    border-radius: 32px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex: 0 0 437px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  /* Botões de navegação lateral - desktop apenas */
  .main-gallery-prev,
  .main-gallery-next,
  .gallery-prev,
  .gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
  }

  .main-gallery-prev:hover,
  .main-gallery-next:hover,
  .gallery-prev:hover,
  .gallery-next:hover {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    transform: translateY(-50%) scale(1.05);
  }

  .main-gallery-prev,
  .gallery-prev {
    left: calc(50% - 687.5px - 28px); /* 50% - (largura total galeria / 2) - gap - botão */
  }

  .main-gallery-next,
  .gallery-next {
    right: calc(50% - 687.5px - 28px); /* 50% - (largura total galeria / 2) - gap - botão */
  }

  .main-gallery-prev i,
  .main-gallery-next i,
  .gallery-prev i,
  .gallery-next i {
    font-size: 18px;
    color: var(--Gray-700, #414145);
    transition: color 0.3s ease;
  }

  .main-gallery-prev:hover i,
  .main-gallery-next:hover i,
  .gallery-prev:hover i,
  .gallery-next:hover i {
    color: var(--Teal-500, #0E80BD);
  }

  /* Row 2: Área de compra em 2 colunas */
  .accordion-buy-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 48px;
    width: 100%;
    margin: 0 auto;
    border: 1px solid var(--Teal-200, #99CFEC);
    background: var(--Teal-50, #EBF9FF);
    border-radius: 48px;
    padding: 40px 48px;
    margin-top: 0;
  }

  /* Coluna esquerda: Títulos - alinhada à esquerda */
  .accordion-buy-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    flex: 1;
    text-align: left;
  }

  /* Nome do condomínio acima do título */
  .accordion-buy-building-name {
    color: var(--Gray-500, #5D5D62);
    font-family: Inter;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin: 0 0 2px 0;
  }

  .accordion-buy-title {
    color: var(--Title);
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 33.6px;
    margin: 0 0 6px 0;
  }

  .accordion-buy-subtitle {
    color: var(--Gray-600);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
    margin: 0;
  }

  .accordion-buy-subtitle-secondary {
    color: var(--Gray-500);
    font-family: Inter;
    font-size: 13px;
    font-style: italic;
    font-weight: 400;
    line-height: 20px;
    margin: 2px 0 0 0;
  }

  /* Coluna direita: Preço + botão empilhados centralizados */
  .accordion-buy-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-shrink: 0;
  }

  /* Preço | Count na mesma linha com divisor */
  .accordion-buy-pricing {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }

  .accordion-buy-price {
    color: #0d74aa !important;
    background: linear-gradient(90deg, #1d1d1f 0%, #0d74aa 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    font-family: Inter;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 56px;
    margin: 0;
    white-space: nowrap;
  }

  .accordion-buy-divider {
    width: 2px;
    height: 40px;
    background: var(--Gray-300, #B0B0B5);
    flex-shrink: 0;
  }

  .accordion-buy-count {
    color: var(--Gray-600);
    font-family: Inter;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 56px;
    white-space: nowrap;
  }

  .accordion-buy-description {
    color: var(--Gray-500);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    max-width: 420px;
    text-align: center;
  }

  .accordion-buy-form {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .accordion-buy-btn {
    width: 100%;
    display: flex;
    padding: 14px 32px;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    background: var(--Teal-500);
    border: none;
    cursor: pointer;
    color: #FFF;
    font-family: Inter;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px;
    transition: all 0.3s ease;
    white-space: nowrap;
  }

  .accordion-buy-btn:hover {
    background: #0A6A9A;
    transform: translateY(-2px);
  }

  .accordion-buy-tagline {
    color: var(--Gray-500, #5D5D62);
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    text-align: center;
    letter-spacing: 0.3px;
    margin-top: 4px;
  }

  .accordion-buy-third {
    color: var(--Gray-500, #5D5D62);
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    text-align: center;
    letter-spacing: 0.3px;
    margin-top: 2px;
    width: 100%;
  }

  /* ======================== BUILDING IMAGES SHOWCASE DOWNLOAD AREA (DESKTOP) ======================== */

  /* Aplicar mesmo estilo da área de compra do accordion */
  .building-images-showcase {
    background-color: white;
  }

  .showcase-download-section {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
  }

  .showcase-download-card {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 120px;
    padding: 48px;
    width: 100%;
    border-radius: 48px;
    border: 1px solid var(--Teal-200, #99CFEC) !important;
    background: var(--Teal-50, #E6F3FA) !important;
    margin-bottom: 48px;
  }

  /* Área de textos (esquerda) */
  .download-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .download-title {
    color: var(--Title);
    font-family: Inter;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 41.6px;
    margin: 0;
  }

  .download-subtitle {
    color: var(--Gray-600);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28.8px;
    margin: 0;
  }

  /* Spacer do meio */
  .download-spacer {
    display: none;
    /* Não usado no novo layout */
  }

  /* Área direita */
  .download-right-section {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 32px;
  }

/* Building / neighborhood hero: breadcrumbs pinned to bottom bubble */
#buildingDetailsHeroCarousel .building-hero__breadcrumb-bottom,
#neighDetailsHeroCarousel .building-hero__breadcrumb-bottom,
#neighHeroCarousel .building-hero__breadcrumb-bottom,
#condoHeroCarousel .building-hero__breadcrumb-bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 12;
  display: flex;
  justify-content: center;
  pointer-events: auto;
}

#buildingDetailsHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb,
#neighDetailsHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb,
#neighHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb,
#condoHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb {
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(4px);
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: calc(100% - 24px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 992px) {
  #buildingDetailsHeroCarousel.banner-section-two {
    height: 1200px !important;
    aspect-ratio: 1512/1200 !important;
  }
}

@media (min-width: 992px) and (max-width: 1512px) {
  #buildingDetailsHeroCarousel.banner-section-two {
    height: calc(100vw * 1200 / 1512) !important;
    max-height: 1200px !important;
  }
}

@media (max-width: 991.98px) {
  #buildingDetailsHeroCarousel .building-hero__breadcrumb-bottom,
  #neighDetailsHeroCarousel .building-hero__breadcrumb-bottom,
  #neighHeroCarousel .building-hero__breadcrumb-bottom,
  #condoHeroCarousel .building-hero__breadcrumb-bottom {
    bottom: 10px;
  }

  #buildingDetailsHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb,
  #neighDetailsHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb,
  #neighHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb,
  #condoHeroCarousel .building-hero__breadcrumb-bottom .neigh-hero__breadcrumb {
    font-size: 12px !important;
    line-height: 18px !important;
    padding: 6px 10px;
  }
}

  .download-pricing {
    display: flex;
    align-items: center;
    gap: 24px;
  }

  .download-price {
    color: var(--Title);
    font-family: Inter;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 57.6px;
  }

  .download-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .download-count {
    color: var(--Gray-600);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 22.4px;
  }

  .download-description {
    color: var(--Gray-600);
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 25.6px;
    max-width: 300px;
  }

  .download-form {
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .download-btn {
    width: 100%;
    display: flex;
    padding: 20px 40px;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    background: var(--Teal-500);
    border: none;
    cursor: pointer;
    color: #FFF;
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 28.8px;
    transition: all 0.3s ease;
    min-width: 140px;
  }

  .download-btn:hover {
    background: var(--Teal-50);
    transform: translateY(-2px);
  }

  /* ======================== MAIN GALLERY CAROUSEL (DESKTOP) ======================== */

  .main-gallery-container {
    position: relative;
    width: 100%;
    max-width: 1372px;
    margin: 0 auto;
    padding: 0 24px;
    overflow: hidden;
  }

  .main-gallery-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
  }

  .main-gallery-track {
    display: flex;
    gap: 48px;
    justify-content: center;
    align-items: center;
    transition: transform 0.5s ease;
    padding: 0 24px;
  }

  /* Cada imagem da galeria principal */
  .main-gallery-track .grid-item {
    flex: 0 0 auto;
  }

  .main-gallery-track .showcase-image-card {
    width: 437px;
    height: 418px;
    aspect-ratio: 23/22;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  .main-gallery-track .showcase-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 32px;
  }

  /* Botões laterais da main gallery */
  .main-gallery-prev,
  .main-gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    color: var(--Title);
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  .main-gallery-prev {
    left: 24px;
  }

  .main-gallery-next {
    right: 24px;
  }

  .main-gallery-prev:hover,
  .main-gallery-next:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  }

  .main-gallery-prev:active,
  .main-gallery-next:active {
    transform: translateY(-50%) scale(0.95);
  }
}

/* ======================== FIGMA DESIGN GALLERY BUTTONS OVERRIDE ======================== */
@media (min-width: 992px) {
  /* Imagens da galeria - Design do Figma */
  .accordion-gallery-item {
    width: 437px !important;
    height: 418px !important;
    aspect-ratio: 23/22 !important;
    border-radius: 32px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* Botões de navegação da galeria - Design do Figma */
  .main-gallery-prev,
  .main-gallery-next,
  .gallery-prev,
  .gallery-next {
    width: 40px !important;
    height: 40px !important;
    border-radius: 40px !important;
    background: rgba(229, 229, 232, 0.50) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: none !important;
    box-shadow: none !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }

  .main-gallery-prev:hover,
  .main-gallery-next:hover,
  .gallery-prev:hover,
  .gallery-next:hover {
    background: rgba(229, 229, 232, 0.80) !important;
    box-shadow: none !important;
  }

  /* Posicionamento ajustado para botões menores */
  .main-gallery-prev,
  .gallery-prev {
    left: calc(50% - 687.5px - 32px - 20px) !important; /* Galeria/2 + gap + metade do botão */
  }

  .main-gallery-next,
  .gallery-next {
    right: calc(50% - 687.5px - 32px - 20px) !important; /* Galeria/2 + gap + metade do botão */
  }

  /* Ícones dos botões */
  .main-gallery-prev i,
  .main-gallery-next i,
  .gallery-prev i,
  .gallery-next i {
    font-size: 14px !important;
    color: var(--Gray-700, #414145) !important;
  }

  /* Estados de disabled para melhor UX */
  .main-gallery-prev[style*="opacity: 0.5"],
  .main-gallery-next[style*="opacity: 0.5"],
  .gallery-prev[style*="opacity: 0.5"],
  .gallery-next[style*="opacity: 0.5"] {
    cursor: not-allowed !important;
    background: rgba(229, 229, 232, 0.30) !important;
  }

  .main-gallery-prev[style*="opacity: 0.5"]:hover,
  .main-gallery-next[style*="opacity: 0.5"]:hover,
  .gallery-prev[style*="opacity: 0.5"]:hover,
  .gallery-next[style*="opacity: 0.5"]:hover {
    background: rgba(229, 229, 232, 0.30) !important;
    transform: translateY(-50%) !important;
  }
}

/* ===== Dashboard Overrides (copied from original main.css) ===== */
.page-wrapper { min-height: 100vh; }

.sidebar {
  width: 300px;
  background: hsl(var(--white));
  position: fixed;
  top: 0; left: 0; height: 100%;
  z-index: 999; transition: all 0.5s; padding: 10px;
}
@media only screen and (max-width: 1627px) { .sidebar { width: 250px; } }
.sidebar.active { width: 80px; }

.main-wrapper {
  display: flex; flex-direction: column; justify-content: space-between;
  min-height: 100vh; background: hsl(var(--body-background));
}

.navbar-wrapper {
  margin-bottom: 40px; margin-left: 300px; transition: all 0.5s;
}
@media only screen and (max-width: 1627px) { .navbar-wrapper { margin-left: 250px; } }
@media only screen and (max-width: 991px) { .navbar-wrapper { margin-left: 0; } }
.navbar-wrapper.active { margin-left: 80px; }
.navbar-wrapper .navbar-wrapper-area {
  padding: 10px 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  margin: 20px 30px; border-radius: 10px;
}
@media only screen and (max-width: 991px) { .navbar-wrapper .navbar-wrapper-area { padding: 5px; margin: 20px; } }

.dashboard-title-part .title { margin: 0; margin-top: 5px; color: hsl(var(--dark)); }
.dashboard-title-part .title a { color: hsl(var(--dark)); }
.dashboard-title-part .title span { position: relative; padding-left: 30px; }
@media only screen and (max-width: 575px) { .dashboard-title-part .title { font-size: 16px; } .dashboard-title-part .title span { padding-left: 15px; } }
.dashboard-title-part .title span::before {
  position: absolute; content: "\f105"; top: 0; left: 5px; width: 100%; height: 100%;
  font-family: "Font Awesome 5 Free"; font-weight: 900; color: hsl(var(--white));
}
@media only screen and (max-width: 575px) { .dashboard-title-part .title span::before { left: 0; } }

.dash-card {
  background-color: hsl(var(--white)); border-radius: 15px; padding: 13px; z-index: 2; transition: all 0.5s;
}
.dash-card:hover { transform: translateY(-4px); box-shadow: 0 5px 10px rgba(30,32,37,0.12); }
.dash-card .title p { font-size: 14px; font-weight: 500; color: hsl(var(--dark) / 0.7); text-align: start; padding-top: 0; }
.dash-card .thumb { display: flex; align-items: end; }
.dash-card .thumb img { width: 60px; height: auto; }
.dash-card .icon1 { font-size: 22px; display: flex; align-items: end; color: hsl(var(--base)); }
.dash-card .content { padding-top: 10px; font-size: 24px; font-weight: 500; margin-bottom: 0; color: hsl(var(--dark)); }
.dash-card .content p { font-size: 12px; }
.dash-card .dashboard-icon-area .dashboard-icon { font-size: 40px; margin-bottom: 10px; color: hsl(var(--dark)); }

.table-content .col-md-5ths { position: relative; min-height: 1px; padding-right: 10px; padding-left: 10px; }
@media (min-width: 992px) { .table-content .col-md-5ths { width: 30%; float: left; } }
@media (min-width: 1256px) { .table-content .col-md-5ths { width: 20%; float: left; } }
.table-content .chart { margin: 30px 0; }
.table-content .chart .chart-bg { background-color: hsl(var(--white)); padding: 40px; border-radius: 10px; width: auto; height: 27rem; }
.table-content .form-select option:hover { background-color: hsl(var(--base)) !important; }
.table-content .list-card { background-color: hsl(var(--white)); padding: 40px; margin-bottom: 20px; border-radius: 10px; }
.table-content .list-card .header-title-list h4 { font-size: 22px; }
.table-content .list-card .tab-link span { color: hsl(var(--base)); background-color: hsl(var(--body-background)); border-radius: 20px; padding: 4px; font-size: 11px; font-weight: 700; }
.table-content .social .card { background-color: hsl(var(--white)); border-radius: 10px; transform: translateY(-4px); box-shadow: 0 5px 10px rgba(30,32,37,0.12); }
.table-content .social .btn--base { padding: 8px 20px !important; }
.table-content .social .icon { background-color: hsl(var(--base)); padding: 8px; font-size: 30px; border-radius: 10px; color: hsl(var(--white)); }
.table-content .card { border: none !important; }
.table-content .card-1 { border-radius: 10px; }
.table-content .form-dashboard .form-control { height: 42px !important; background: gainsboro !important; }
.table-content .form-dashboard select { background-color: gainsboro !important; padding: 8px 10px !important; }
.table-content .form-dashboard button { padding: 10px 18px !important; }
.table-content .table { background: linear-gradient(90deg,#7d7d8d 0%,#413333 43%,#1f373b 100%) !important; border: hsl(var(--base) / 0.3) !important; }
.table-content .table th, .table-content td { padding: 1rem 1rem !important; }
.table-content .card-text { padding: 10px 15px; background-color: hsl(var(--base) / 0.3); color: hsl(var(--white)); border-radius: 10px; cursor: pointer; transition: all 0.5s; }

/* ===== Dashboard Scoped Styles (non-intrusive) ===== */
/* Scope to dashboard layout container elements to avoid leaking to other pages */
.page-wrapper .sidebar__menu-wrapper .sidebar__menu{margin:20px 0!important;list-style-type:none}
.page-wrapper .sidebar__menu .sidebar-menu-item{position:relative;margin-top:10px}
.page-wrapper .sidebar__menu .sidebar-menu-item.active::before{position:absolute;content:"";top:0;right:0;width:4px;height:61px;background-color:hsl(var(--base));transition:all .5s}
.page-wrapper .sidebar__menu .sidebar-menu-item.active a{background-color:hsl(var(--white)/.5);box-shadow:0 4px 10px rgba(0,0,0,.1);border-radius:5px}
.page-wrapper .sidebar__menu .sidebar-menu-item.active a::before{transform:rotate(90deg);top:15px!important;color:hsl(var(--dark))!important}
.page-wrapper .sidebar__menu .sidebar-menu-item.active a .menu-icon{color:hsl(var(--white));background-color:hsl(var(--base));font-size:17px;padding:5px;border-radius:5px}
.page-wrapper .sidebar__menu .sidebar-menu-item.active a .menu-title{color:hsl(var(--dark));font-weight:600}
.page-wrapper .sidebar__menu .sidebar-menu-item a{display:flex;flex-wrap:wrap;align-items:center;padding:17px;transition:all .3s;text-decoration:none}
.page-wrapper .sidebar__menu .sidebar-menu-item a:hover{color:hsl(var(--white))}
.page-wrapper .sidebar__menu .sidebar-menu-item a .menu-icon{color:hsl(var(--base));background-color:hsl(var(--white));font-size:17px;padding:6px;border-radius:5px;margin-right:15px;transition:all .5s;box-shadow:0 4px 10px rgba(0,0,0,.1)}
.page-wrapper .sidebar__menu .sidebar-menu-item a .menu-title{color:hsl(var(--dark));font-size:16px;font-weight:400;letter-spacing:.5px}

/* Topbar user menu */
.navbar-wrapper .navbar__action-list{display:flex;gap:12px;align-items:center}
.navbar-wrapper .navbar__action-list li{list-style:none}
.navbar-wrapper .navbar-user{display:flex;align-items:center;gap:10px}
.navbar-wrapper .navbar-user .icon{font-size:18px;color:hsl(var(--dark))}
.navbar-wrapper .navbar-user__thumb{width:40px;height:40px;border-radius:50%;overflow:hidden;display:inline-flex}
.navbar-wrapper .navbar-user__thumb img{width:100%;height:100%;object-fit:cover}
.navbar-wrapper .navbar-user__name{font-weight:600;color:hsl(var(--dark))}

/* Dropdown (small) in topbar */
.dropdown-menu.dropdown-menu--sm{min-width:10rem;top:40%!important;left:0!important;background:hsl(var(--white));box-shadow:0 4px 10px rgba(0,0,0,.1)}
@media (max-width:575px){.dropdown-menu.dropdown-menu--sm{left:-120px!important}}
.dropdown-menu__item{border-bottom:1px solid hsl(var(--base)/.3);color:hsl(var(--dark));transition:all .3s}
.dropdown-menu__item:last-child{border:none}
.dropdown-menu__item .dropdown-menu__icon{font-size:20px;color:hsl(var(--dark));transition:all .3s}
.dropdown-menu__item .dropdown-menu__caption{padding-left:10px;font-size:16px;font-weight:500}
.dropdown-menu__item:hover{color:hsl(var(--white));background:hsl(var(--base))}
.dropdown-menu__item:hover .dropdown-menu__icon{color:hsl(var(--white))}

/* Chart card wrapper (for Apex charts header spacing) */
.chart-area{background-color:hsl(var(--white));box-shadow:0 1px 2px rgba(56,65,74,.15);border-radius:5px;padding:22px 0 18px}
.chart-area .chart-area-header{border-bottom:1px solid #e5e5e5;padding:0 20px 7px 20px;margin-bottom:20px;display:flex;justify-content:space-between}
.chart-area .chart-area-header .chart-btn{font-size:12px;background-color:rgba(78,194,240,.2);color:#4ec2f0;padding:3px 8px;border-radius:5px;font-weight:600;position:relative;bottom:6px;transition:all .3s}
.chart-area .chart-area-header .chart-btn i{font-size:13px;padding-right:5px}
.chart-area .chart-area-header .chart-btn:hover{background-color:#4ec2f0;color:hsl(var(--white))}
/* Top categories indicator redesign */
  .top-categories-container .tc-inline-controls .tc-indicators {
    gap: 12px !important;
  }

  .top-categories-container .tc-inline-controls .tc-indicators-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .top-categories-container .tc-inline-controls .tc-indicator {
    width: 6px !important;
    height: 6px !important;
    flex-shrink: 0 !important;
    border-radius: 999px !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    background: rgba(0, 0, 0, 0.2) !important;
    opacity: 0.6 !important;
    transition: all 0.3s ease !important;
  }

  .top-categories-container .tc-inline-controls .tc-indicator.is-near {
    width: 10px !important;
    height: 10px !important;
    opacity: 0.85 !important;
    background: rgba(0, 0, 0, 0.35) !important;
  }

  .top-categories-container .tc-inline-controls .tc-indicator.is-active {
    width: 10px !important;
    height: 10px !important;
    opacity: 1 !important;
    background: var(--Teal-500, #0E80BD) !important;
  }

  .top-categories-container .tc-inline-controls .tc-indicator.is-far {
    width: 6px !important;
    height: 6px !important;
    opacity: 0.25 !important;
    background: rgba(0, 0, 0, 0.2) !important;
  }
  .header .navbar-search__suggestions {
    margin-top: 16px !important;
  }
  .header .navbar-search__headline {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    margin: 0 0 12px 0 !important;
  }
  .header .navbar-search__suggestions ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .header .navbar-search__suggestions ul li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
  }
  .header .navbar-search__suggestions ul li a i {
    font-size: 18px !important;
  }
  .header .navbar-search__suggestions ul li a:hover {
    color: #5d5d62 !important;
    transform: translateX(4px) !important;
  }
  .mobile-search-suggestions {
    margin-top: 16px !important;
  }
  .mobile-search-headline {
    color: #77777C !important;
    font-family: Inter !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    margin: 0 0 12px 0 !important;
  }
  .mobile-suggestions-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .mobile-suggestions-list a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #4D7FB8 !important;
    font-family: Inter !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
  }
  .mobile-suggestions-list a i {
    font-size: 18px !important;
  }
  .mobile-suggestions-list a:hover {
    color: #0E80BD !important;
    transform: translateX(4px) !important;
  }

  .tc-card,
  .accordion-gallery-item {
    cursor: pointer !important;
  }
  .accordion-gallery-item,
  .accordion-gallery-item .tc-card__img {
    cursor: zoom-in !important;
  }

  .image-preview-modal {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(15, 19, 24, 0.75) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
    z-index: 2050 !important;
    padding: 24px !important;
  }

  .image-preview-modal.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .image-preview-modal__backdrop {
    position: absolute !important;
    inset: 0 !important;
  }

  .image-preview-modal__dialog {
    position: relative !important;
    max-width: min(960px, 100%) !important;
    max-height: 90vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .image-preview-modal__image {
    max-width: 100% !important;
    max-height: 90vh !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 70px rgba(15, 19, 24, 0.45) !important;
    user-select: none !important;
    pointer-events: none !important;
  }

  .image-preview-modal__close {
    position: absolute !important;
    top: -16px !important;
    right: -16px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.85) !important;
    color: #1D1D1F !important;
    font-size: 22px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 6px 24px rgba(15, 19, 24, 0.2) !important;
    transition: transform 0.2s ease, background 0.2s ease !important;
  }

  .image-preview-modal__close:hover {
    transform: scale(1.05) !important;
    background: rgba(255, 255, 255, 1) !important;
  }

  body.image-preview-modal-open {
    overflow: hidden !important;
  }

  @media (max-width: 575.98px) {
    .image-preview-modal__dialog {
      max-width: 100% !important;
    }

    .image-preview-modal__close {
      top: 8px !important;
      right: 8px !important;
      width: 32px !important;
      height: 32px !important;
    }
  }

/* Building card with no listings: only the image count is shown — keep it centered. */
.neigh-section .neigh-card.with-meta .neigh-card__meta.is-single {
  justify-content: center !important;
}

/* Mobile: search stays an icon button beside the full-width sort control. */
@media (max-width: 768px) {
  .neigh-section .section-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .neigh-section .list-search {
    height: 44px !important;
    width: auto !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    margin: 0 !important;
  }
  .neigh-section .list-search__submit-btn {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 1px 6px rgba(2, 6, 23, 0.12) !important;
    color: #1d1d1f !important;
    font-size: 18px !important;
  }
}

/* Desktop "top categories" carousel: slightly wider cards (mobile untouched). */
@media (min-width: 769px) {
  .top-categories-container .tc-carousel-track .tc-card {
    width: 460px !important;
    min-width: 460px !important;
  }
}

/* Tablet fix: below lg (992px) the section's two columns stack (text + carousel),
   but the <=1512 rules pinned the section to height:693px, so the stacked content
   overflowed and overlapped the next section. Let it grow to fit. */
@media (max-width: 991px) {
  .top-categories-container {
    height: auto !important;
  }
}

/* Root cause of the desktop overlap: #categoriesCarousel is width:100vw (to bleed
   to the screen edge). Without min-width:0 the flex column grew to that 100vw and
   WRAPPED below the text column, pushing the carousel out of its fixed-height
   container and over the next section. min-width:0 keeps the columns side-by-side;
   the carousel still bleeds via its own overflow. */
@media (min-width: 769px) {
  .top-categories-container .row > [class*="col-"] {
    min-width: 0 !important;
  }
}

/* ========== Building detail: mobile-only sticky purchase CTA ========== */
@media (max-width: 991.98px) {
  #condoimage-building-purchase {
    scroll-margin-top: 100px;
  }

  body:has(#ci-mobile-sticky-cta) .accordion-buy-row,
  body:has(#ci-mobile-sticky-cta) .download-image-collection-card {
    scroll-margin-top: 100px;
  }

  body:has(#ci-mobile-sticky-cta) {
    /* Bar ~62px + inner vertical padding + home-indicator inset inside the bar */
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  /*
   * RealtySolution-style: fixed to layout viewport bottom, full width, no side inset.
   * Safe area lives *inside* the frosted bar (padding-bottom) so the panel meets the screen edge.
   */
  .cta-footer-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10050;
    padding: 0;
    margin: 0;
    background: transparent;
    pointer-events: none;
  }

  .cta-footer-mobile__inner {
    pointer-events: auto;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    min-height: 62px;
    border: none;
    border-radius: 18px 18px 0 0;
    background: rgba(235, 245, 250, 0.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 -4px 22px rgba(0, 0, 0, 0.16);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    padding-bottom: calc(10px + constant(safe-area-inset-bottom));
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    cursor: pointer;
    text-align: left;
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .cta-footer-mobile.is-visible .cta-footer-mobile__inner {
    opacity: 1;
    transform: translateY(0);
  }

  .cta-footer-mobile:not(.is-visible) .cta-footer-mobile__inner {
    pointer-events: none;
  }

  .cta-footer-mobile.is-visible .cta-footer-mobile__inner:active {
    transform: translateY(0) scale(0.98);
  }

  .cta-footer-mobile__icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 127, 186, 0.12);
    color: #007fba;
    font-size: 20px;
    border-right: none;
  }

  .cta-footer-mobile__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding-left: 12px;
    border-left: 1px solid rgba(0, 127, 186, 0.18);
  }

  .cta-footer-mobile__line1 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: #111;
    letter-spacing: -0.01em;
  }

  .cta-footer-mobile__line2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
    color: #5a7a8c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cta-footer-mobile__right {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding-left: 8px;
  }

  .cta-footer-mobile__price {
    font-family: Inter, system-ui, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #007fba;
    letter-spacing: -0.02em;
  }

  .cta-footer-mobile__chev {
    font-size: 18px;
    color: rgba(0, 127, 186, 0.65);
  }
}


/* Renderings-only / pre-construction sticky CTA: title centered between icons */
@media (max-width: 991.98px) {
  .cta-footer-mobile--renderings-only .cta-footer-mobile__inner {
    justify-content: space-between;
    gap: 10px;
  }
  .cta-footer-mobile--renderings-only .cta-footer-mobile__text {
    align-items: center;
    text-align: center;
    padding-left: 12px;
    padding-right: 12px;
    border-left: 1px solid rgba(0, 127, 186, 0.18);
    border-right: 1px solid rgba(0, 127, 186, 0.18);
  }
  .cta-footer-mobile--renderings-only .cta-footer-mobile__line1 {
    width: 100%;
    text-align: center;
    font-size: 13px;
  }
  .cta-footer-mobile--renderings-only .cta-footer-mobile__icon--end {
    border-right: none;
  }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .cta-footer-mobile__inner {
    transition: none !important;
  }
}

@media (min-width: 992px) {
  #ci-mobile-sticky-cta {
    display: none !important;
  }

  body:has(#ci-mobile-sticky-cta) {
    padding-bottom: 0;
  }
}

/* Homepage hero only: crossfade between slides (Edgeworth-style).
   Scoped to #heroCarousel so neighborhood / building heroes keep slide. */
#heroCarousel.carousel-fade .carousel-item {
  opacity: 0 !important;
  transition: opacity 1.15s ease-in-out !important;
  transform: none !important;
}

#heroCarousel.carousel-fade .carousel-item.active,
#heroCarousel.carousel-fade .carousel-item-next,
#heroCarousel.carousel-fade .carousel-item-prev {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  transform: none !important;
}

#heroCarousel.carousel-fade .carousel-item.active,
#heroCarousel.carousel-fade .carousel-item-next.carousel-item-start,
#heroCarousel.carousel-fade .carousel-item-prev.carousel-item-end {
  opacity: 1 !important;
  z-index: 1 !important;
}

#heroCarousel.carousel-fade .active.carousel-item-start,
#heroCarousel.carousel-fade .active.carousel-item-end {
  opacity: 0 !important;
  z-index: 0 !important;
  transition: opacity 0s 1.15s !important;
}

#heroCarousel.carousel-fade .carousel-item-next:not(.carousel-item-start),
#heroCarousel.carousel-fade .active.carousel-item-end,
#heroCarousel.carousel-fade .carousel-item-prev:not(.carousel-item-end),
#heroCarousel.carousel-fade .active.carousel-item-start {
  transform: none !important;
}

