/*
Theme Name: Houzez Luxury
Template: houzez
Description: Child theme — Luxo Imobiliário / Alto Padrão. Preto + Dourado Premium.
Version: 1.0.0
*/

/* =========================================================
   DESIGN TOKENS — MARCO TEIXEIRA
   Tema: Luxo Imobiliário / Alto Padrão
   Estilo: Preto + Dourado Premium
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Montserrat:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  /* BACKGROUNDS */
  --color-background-primary:   #060606;
  --color-background-secondary: #111111;
  --color-background-tertiary:  #1A1A1A;

  /* SURFACES */
  --color-surface-primary:   #161616;
  --color-surface-secondary: #202020;
  --color-surface-glass:     rgba(255,255,255,0.04);

  /* BORDAS */
  --color-border-primary:   #2C2C2C;
  --color-border-secondary: rgba(216,155,61,0.25);
  --color-border-hover:     rgba(240,201,122,0.45);

  /* TEXTOS */
  --color-text-primary:   #F5F5F5;
  --color-text-secondary: #B8B8B8;
  --color-text-muted:     #8A8A8A;
  --color-text-inverse:   #060606;

  /* BRAND */
  --color-brand-primary:   #D89B3D;
  --color-brand-secondary: #F0C97A;
  --color-brand-dark:      #B87428;
  --color-brand-light:     #FFCC73;

  /* FEEDBACK */
  --color-success: #3FA56A;
  --color-warning: #D89B3D;
  --color-error:   #D14B4B;
  --color-info:    #4C8BF5;

  /* SHADOWS */
  --shadow-soft:        0 4px 20px rgba(0,0,0,0.25);
  --shadow-medium:      0 8px 30px rgba(0,0,0,0.35);
  --shadow-gold:        0 0 20px rgba(216,155,61,0.18);
  --shadow-gold-hover:  0 0 35px rgba(240,201,122,0.30);

  /* GLOWS */
  --glow-gold:  0 0 12px rgba(216,155,61,.35);
  --glow-light: 0 0 20px rgba(255,255,255,.08);

  /* GRADIENTS */
  --gradient-gold:    linear-gradient(135deg, #B87428 0%, #D89B3D 45%, #F0C97A 100%);
  --gradient-dark:    linear-gradient(180deg, #060606 0%, #111111 100%);
  --gradient-overlay: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.85) 100%);

  /* TYPOGRAPHY */
  --font-heading: "Montserrat", sans-serif;
  --font-body:    "Poppins", sans-serif;
  --font-accent:  "Cinzel", serif;

  /* FONT WEIGHTS */
  --font-light:    300;
  --font-regular:  400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;

  /* SPACING */
  --space-xs:  4px;
  --space-sm:  8px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-2xl: 48px;
  --space-3xl: 64px;

  /* BORDER RADIUS */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-pill: 999px;

  /* TRANSITIONS */
  --transition-fast:   all 0.2s ease;
  --transition-medium: all 0.35s ease;
  --transition-slow:   all 0.5s ease;
}

/* =========================================================
   BASE
   ========================================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-background-primary) !important;
  color: var(--color-text-primary) !important;
  font-family: var(--font-body) !important;
}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading) !important;
  color: var(--color-text-primary) !important;
  font-weight: var(--font-bold) !important;
  letter-spacing: 0.5px;
}

p, span, li, td, th, label,
.text-body, .description {
  color: var(--color-text-secondary);
}

a {
  color: var(--color-brand-primary) !important;
  transition: var(--transition-fast);
}

a:hover {
  color: var(--color-brand-secondary) !important;
}

/* Divisor ouro */
hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216,155,61,.45), transparent);
  margin: var(--space-2xl) 0;
}

/* =========================================================
   HEADER
   ========================================================= */

.header-main-wrap,
.header-transparent-wrap,
.houzez-header-wrap,
.houzez-sticky-header,
.sticky-nav-area,
.main-header {
  background-color: rgba(6,6,6,0.97) !important;
  border-bottom: 1px solid var(--color-border-secondary) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.top-bar-wrap {
  background-color: var(--color-background-primary) !important;
  border-bottom: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-secondary) !important;
}

.top-bar-wrap a,
.top-bar-wrap span,
.top-bar-wrap p {
  color: var(--color-text-secondary) !important;
}

.top-bar-wrap a:hover {
  color: var(--color-brand-primary) !important;
}

/* NAV LINKS */
.main-nav .nav-item > .nav-link,
.houzez-nav-menu-main .nav-item > .nav-link,
.houzez-nav-menu-main-desktop-wrap .nav-link,
.nav-mobile .main-nav .nav-link {
  color: var(--color-text-primary) !important;
  font-family: var(--font-body) !important;
  font-weight: var(--font-medium) !important;
  letter-spacing: 0.5px;
  transition: var(--transition-fast);
}

.main-nav .nav-item > .nav-link:hover,
.houzez-nav-menu-main .nav-item > .nav-link:hover,
.houzez-nav-menu-main-desktop-wrap .nav-link:hover {
  color: var(--color-brand-primary) !important;
}

/* DROPDOWN MENU */
.dropdown-menu,
.houzez-nav-menu-main-desktop-wrap .dropdown-menu {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-medium) !important;
}

.dropdown-menu .dropdown-item,
.houzez-nav-menu-main-desktop-wrap .dropdown-menu > li > a {
  color: var(--color-text-primary) !important;
  transition: var(--transition-fast);
}

.dropdown-menu .dropdown-item:hover,
.houzez-nav-menu-main-desktop-wrap .dropdown-menu > li > a:hover {
  background-color: var(--color-surface-secondary) !important;
  color: var(--color-brand-primary) !important;
}

/* MOBILE NAV */
.nav-mobile,
.offcanvas-body,
.offcanvas-header {
  background-color: var(--color-background-secondary) !important;
  border-color: var(--color-border-primary) !important;
}

.nav-mobile .nav-link,
.nav-mobile .main-nav a {
  color: var(--color-text-primary) !important;
}

.nav-mobile .nav-link:hover {
  color: var(--color-brand-primary) !important;
}

/* LOGO TEXT */
.site-logo,
.custom-logo-link img {
  filter: brightness(1) !important;
}

/* =========================================================
   BOTÕES
   ========================================================= */

.btn-primary,
.btn.btn-create-listing,
button[type="submit"]:not(.btn-secondary):not(.btn-outline),
input[type="submit"]:not(.btn-secondary) {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border: none !important;
  font-family: var(--font-body) !important;
  font-weight: var(--font-semibold) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-gold) !important;
  transition: var(--transition-medium) !important;
  letter-spacing: 0.5px;
}

.btn-primary:hover,
.btn.btn-create-listing:hover,
button[type="submit"]:not(.btn-secondary):not(.btn-outline):hover,
input[type="submit"]:not(.btn-secondary):hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-gold-hover) !important;
  opacity: 0.95 !important;
}

.btn-secondary,
.btn-outline-primary,
.btn-primary-outlined {
  background: transparent !important;
  color: var(--color-brand-primary) !important;
  border: 1px solid var(--color-brand-primary) !important;
  border-radius: var(--radius-md) !important;
  font-weight: var(--font-semibold) !important;
  transition: var(--transition-medium) !important;
}

.btn-secondary:hover,
.btn-outline-primary:hover,
.btn-primary-outlined:hover {
  background: var(--color-brand-primary) !important;
  color: var(--color-text-inverse) !important;
  transform: translateY(-2px) !important;
}

/* SEARCH BUTTON */
.btn-search,
.houzez-search-btn,
.search-btn,
.ssb-btn {
  background: var(--gradient-gold) !important;
  border: none !important;
  color: var(--color-text-inverse) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* =========================================================
   FORMULÁRIOS / INPUTS
   ========================================================= */

.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
select,
textarea {
  background-color: var(--color-surface-secondary) !important;
  border: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-primary) !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition-fast) !important;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  background-color: var(--color-surface-secondary) !important;
  border-color: var(--color-brand-primary) !important;
  box-shadow: 0 0 0 3px rgba(216,155,61,0.15) !important;
  color: var(--color-text-primary) !important;
  outline: none !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--color-text-muted) !important;
}

label {
  color: var(--color-text-secondary) !important;
  font-weight: var(--font-medium) !important;
}

/* SELECT bootstrap */
.bootstrap-select .dropdown-toggle,
.bootstrap-select .btn {
  background-color: var(--color-surface-secondary) !important;
  border: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-primary) !important;
}

.bootstrap-select .dropdown-menu {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
}

.bootstrap-select .dropdown-menu li a {
  color: var(--color-text-primary) !important;
}

.bootstrap-select .dropdown-menu li a:hover,
.bootstrap-select .dropdown-menu li.selected a {
  background-color: var(--color-surface-secondary) !important;
  color: var(--color-brand-primary) !important;
}

/* =========================================================
   CARDS DE IMÓVEIS
   ========================================================= */

.property-item,
.item-wrap,
.item-listing-wrap,
.property-listing-item,
.item-body,
.houzez-property-item,
.listing-item-wrap,
.item-inner-wrap {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-soft) !important;
  transition: var(--transition-medium) !important;
  overflow: hidden;
}

.property-item:hover,
.item-wrap:hover,
.houzez-property-item:hover {
  transform: translateY(-4px) !important;
  border-color: var(--color-border-hover) !important;
  box-shadow: var(--shadow-gold-hover) !important;
}

/* PREÇO DO IMÓVEL */
.item-price,
.property-price,
.item-price-wrap,
.listing-price {
  color: var(--color-brand-primary) !important;
  font-family: var(--font-heading) !important;
  font-weight: var(--font-bold) !important;
}

/* TÍTULO DO IMÓVEL */
.item-title,
.item-title a,
.property-title,
.listing-title {
  color: var(--color-text-primary) !important;
  font-family: var(--font-heading) !important;
  font-weight: var(--font-semibold) !important;
}

.item-title a:hover,
.listing-title a:hover {
  color: var(--color-brand-primary) !important;
}

/* META / ENDEREÇO */
.item-address,
.item-meta,
.listing-address,
.property-location {
  color: var(--color-text-muted) !important;
}

/* ETIQUETAS / LABELS */
.property-label,
.item-label,
.label-tag {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border-radius: var(--radius-sm) !important;
  font-weight: var(--font-semibold) !important;
  font-size: 11px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* AMENITIES / FEATURES */
.item-amenities,
.item-features,
.property-amenities {
  border-top: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-muted) !important;
}

/* FOOTER DO CARD */
.item-footer,
.listing-card-footer {
  background-color: var(--color-surface-secondary) !important;
  border-top: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-muted) !important;
}

/* BADGE/TAG */
.badge,
.tag,
.post-tag {
  background-color: var(--color-surface-secondary) !important;
  color: var(--color-brand-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
}

/* =========================================================
   SEÇÕES / SECTIONS
   ========================================================= */

section,
.section-wrap,
.content-wrap,
.main-content-area {
  background-color: transparent;
}

/* Background alternado de seções */
.section-bg,
.section-alt,
.section-dark,
.bg-light,
.bg-grey {
  background-color: var(--color-background-secondary) !important;
}

/* SECTION TITLE */
.section-title,
.houzez-section-title,
.module-title {
  font-family: var(--font-heading) !important;
  color: var(--color-text-primary) !important;
  font-size: 32px !important;
  font-weight: var(--font-bold) !important;
  letter-spacing: 1px;
}

.section-subtitle,
.houzez-section-subtitle,
.module-subtitle,
.sub-title {
  color: var(--color-brand-primary) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-weight: var(--font-semibold) !important;
}

/* =========================================================
   HERO / BANNER
   ========================================================= */

.banner-inner,
.hero-section,
.page-header-wrap,
.splash-slider-wrap {
  position: relative;
}

.banner-caption,
.hero-content {
  position: relative;
  z-index: 2;
}

.banner-inner:before,
.hero-overlay {
  background: var(--gradient-overlay) !important;
}

/* SEARCH FORM DENTRO DO HERO */
.search-expandable-wrap,
.houzez-search-form-js,
#houzez-search-form {
  background-color: rgba(22,22,22,0.95) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  backdrop-filter: blur(12px);
}

.houzez-search-form-js .nav-pills .nav-link,
.top-banner-wrap .nav-pills .nav-link {
  background-color: transparent !important;
  color: var(--color-text-secondary) !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition-fast) !important;
}

.houzez-search-form-js .nav-pills .nav-link.active,
.top-banner-wrap .nav-pills .nav-link.active {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* =========================================================
   SIDEBAR / WIDGETS
   ========================================================= */

.widget-wrap,
.widget,
.sidebar-widget,
aside .widget {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-soft) !important;
}

.widget-title,
.widgettitle {
  color: var(--color-text-primary) !important;
  font-family: var(--font-heading) !important;
  border-bottom: 1px solid var(--color-border-secondary) !important;
}

.widget-title:after,
.widgettitle:after {
  background: var(--gradient-gold) !important;
}

/* =========================================================
   FOOTER
   ========================================================= */

.footer-main-wrap,
.footer-top,
.site-footer {
  background-color: var(--color-background-primary) !important;
  border-top: 1px solid var(--color-border-secondary) !important;
  color: var(--color-text-secondary) !important;
}

.footer-bottom-wrap,
.footer-bottom {
  background-color: var(--color-background-primary) !important;
  border-top: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-muted) !important;
}

.footer-main-wrap a,
.footer-bottom-wrap a {
  color: var(--color-text-secondary) !important;
  transition: var(--transition-fast);
}

.footer-main-wrap a:hover,
.footer-bottom-wrap a:hover {
  color: var(--color-brand-primary) !important;
}

.footer-main-wrap h4,
.footer-main-wrap h3,
.footer-main-wrap .widget-title {
  color: var(--color-text-primary) !important;
  font-family: var(--font-heading) !important;
}

.footer-social-icons a {
  color: var(--color-text-muted) !important;
  border: 1px solid var(--color-border-primary) !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition-fast);
}

.footer-social-icons a:hover {
  color: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
}

/* =========================================================
   PAGINAÇÃO
   ========================================================= */

.page-item .page-link {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-primary) !important;
  color: var(--color-text-secondary) !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition-fast);
}

.page-item.active .page-link,
.page-link:hover {
  background: var(--gradient-gold) !important;
  border-color: var(--color-brand-primary) !important;
  color: var(--color-text-inverse) !important;
}

/* =========================================================
   SLIDER / CARROSSEL
   ========================================================= */

.slick-prev,
.slick-next,
.slider-btn {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  color: var(--color-brand-primary) !important;
  border-radius: var(--radius-pill) !important;
  transition: var(--transition-fast);
}

.slick-prev:hover,
.slick-next:hover {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border-color: transparent !important;
  box-shadow: var(--shadow-gold) !important;
}

.slick-dots li button:before {
  color: var(--color-brand-primary) !important;
}

/* =========================================================
   MAPA / MAP
   ========================================================= */

.map-marker-label {
  background-color: var(--color-surface-primary) !important;
  color: var(--color-brand-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-pill) !important;
}

.property-info-window {
  background-color: var(--color-surface-primary) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-medium) !important;
  border: 1px solid var(--color-border-secondary) !important;
}

.info-window-price {
  color: var(--color-brand-primary) !important;
}

/* =========================================================
   TABELAS
   ========================================================= */

table {
  color: var(--color-text-primary) !important;
}

table thead th {
  background-color: var(--color-surface-secondary) !important;
  border-color: var(--color-border-primary) !important;
  color: var(--color-text-primary) !important;
}

table tbody tr {
  border-color: var(--color-border-primary) !important;
}

table tbody tr:nth-child(even) {
  background-color: rgba(255,255,255,0.02) !important;
}

table tbody tr:hover {
  background-color: var(--color-surface-secondary) !important;
}

/* =========================================================
   ACCORDIONS / TABS
   ========================================================= */

.accordion-item,
.accordion-button {
  background-color: var(--color-surface-primary) !important;
  color: var(--color-text-primary) !important;
  border-color: var(--color-border-primary) !important;
}

.accordion-button:not(.collapsed) {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  box-shadow: var(--shadow-gold) !important;
}

.nav-tabs .nav-link {
  background-color: transparent !important;
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border-primary) !important;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
  transition: var(--transition-fast);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
  background-color: var(--color-surface-secondary) !important;
  color: var(--color-brand-primary) !important;
  border-bottom-color: transparent !important;
}

.nav-pills .nav-link {
  color: var(--color-text-secondary) !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition-fast);
}

.nav-pills .nav-link.active {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* =========================================================
   DETAIL / DETALHE DO IMÓVEL
   ========================================================= */

.property-detail-wrap,
.houzez-property-detail {
  background-color: var(--color-background-secondary) !important;
}

.property-details-section,
.property-section-wrap,
.prop-details-wrap {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-soft) !important;
}

.property-details-section h4,
.property-section-title {
  color: var(--color-text-primary) !important;
  font-family: var(--font-heading) !important;
  border-bottom: 1px solid var(--color-border-secondary) !important;
}

.prop-details-wrap li,
.property-features li {
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border-primary) !important;
}

.prop-details-wrap li:before,
.property-features li:before,
.prop-details-icon,
.prop-detail-icon {
  color: var(--color-brand-primary) !important;
}

/* GALLERY TABS */
#property-detail-tabs .nav-pills .nav-link {
  background-color: var(--color-surface-secondary) !important;
  color: var(--color-text-secondary) !important;
  border: 1px solid var(--color-border-primary) !important;
  border-radius: var(--radius-sm) !important;
}

#property-detail-tabs .nav-pills .nav-link.active {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border-color: transparent !important;
}

/* AGENT CARD */
.agent-wrap,
.agent-card,
.single-agent-wrap {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
}

.agent-name,
.agent-wrap h3,
.agent-card h3 {
  color: var(--color-text-primary) !important;
  font-family: var(--font-heading) !important;
}

.agent-title,
.agent-position {
  color: var(--color-brand-primary) !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* =========================================================
   DASHBOARD
   ========================================================= */

.houzez-dashboard,
.dashboard-content-wrap {
  background-color: var(--color-background-primary) !important;
}

.dashboard-side-menu-wrap {
  background-color: var(--color-background-primary) !important;
  border-right: 1px solid var(--color-border-secondary) !important;
}

.dashboard-side-menu-wrap .nav-link {
  color: var(--color-text-secondary) !important;
}

.dashboard-side-menu-wrap .nav-link:hover,
.dashboard-side-menu-wrap .nav-link.active {
  color: var(--color-brand-primary) !important;
  background-color: var(--color-surface-secondary) !important;
}

.dm-logo-wrap {
  background-color: var(--color-background-primary) !important;
  border-bottom: 1px solid var(--color-border-secondary) !important;
}

.dashboard-statistic-block {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
}

.dashboard-statistic-block h3 {
  color: var(--color-brand-primary) !important;
}

/* =========================================================
   MODAL / LIGHTBOX
   ========================================================= */

.modal-content,
.login-register-form .modal-content {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  color: var(--color-text-primary) !important;
}

.modal-header,
.login-register-form .modal-header {
  background-color: var(--color-background-secondary) !important;
  border-bottom: 1px solid var(--color-border-secondary) !important;
}

.modal-header .modal-title {
  color: var(--color-text-primary) !important;
  font-family: var(--font-heading) !important;
}

.modal-footer {
  border-top: 1px solid var(--color-border-secondary) !important;
  background-color: var(--color-surface-secondary) !important;
}

/* =========================================================
   ALERTS / NOTICES
   ========================================================= */

.alert-success {
  background-color: rgba(63,165,106,0.12) !important;
  border: 1px solid var(--color-success) !important;
  color: var(--color-success) !important;
}

.alert-warning {
  background-color: rgba(216,155,61,0.12) !important;
  border: 1px solid var(--color-warning) !important;
  color: var(--color-warning) !important;
}

.alert-danger {
  background-color: rgba(209,75,75,0.12) !important;
  border: 1px solid var(--color-error) !important;
  color: var(--color-error) !important;
}

/* =========================================================
   SCROLLBAR
   ========================================================= */

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--color-background-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--color-brand-dark);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-brand-primary);
}

/* =========================================================
   SELEÇÃO DE TEXTO
   ========================================================= */

::selection {
  background: var(--color-brand-primary);
  color: var(--color-text-inverse);
}

/* =========================================================
   DIVISORES DOURADOS
   ========================================================= */

.divider,
.hz-divider,
.section-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216,155,61,.45), transparent);
  margin: var(--space-2xl) auto;
}

.divider-short {
  width: 60px;
  height: 3px;
  background: var(--gradient-gold);
  border-radius: var(--radius-pill);
  margin: var(--space-md) 0;
}

/* =========================================================
   TAXONOMY CARDS / CATEGORIAS
   ========================================================= */

.taxonomy-card,
.taxonomy-item,
.category-card {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  transition: var(--transition-medium) !important;
}

.taxonomy-card:hover,
.taxonomy-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-gold-hover) !important;
  border-color: var(--color-border-hover) !important;
}

/* =========================================================
   CONTACT FORM
   ========================================================= */

.contact-form-wrap,
.property-contact-form {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-2xl) !important;
}

/* =========================================================
   PRICE RANGE SLIDER
   ========================================================= */

.ui-slider-horizontal .ui-slider-range {
  background: var(--gradient-gold) !important;
}

.ui-slider-handle {
  background: var(--color-brand-primary) !important;
  border-color: var(--color-brand-dark) !important;
}

/* =========================================================
   BACK TO TOP
   ========================================================= */

.back-to-top,
#back-to-top {
  background: var(--gradient-gold) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--shadow-gold) !important;
  color: var(--color-text-inverse) !important;
}

/* =========================================================
   BLOG POSTS
   ========================================================= */

.blog-post-item,
.post-item-wrap {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-lg) !important;
  transition: var(--transition-medium) !important;
}

.blog-post-item:hover,
.post-item-wrap:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-gold-hover) !important;
}

.post-title-wrap h2 a {
  color: var(--color-text-primary) !important;
}

.post-title-wrap h2 a:hover {
  color: var(--color-brand-primary) !important;
}

.post-meta,
.entry-meta {
  color: var(--color-text-muted) !important;
}

/* =========================================================
   ELEMENTOR OVERRIDES
   ========================================================= */

.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-heading) !important;
}

.elementor-widget-text-editor {
  color: var(--color-text-secondary) !important;
}

/* =========================================================
   UTILITÁRIOS
   ========================================================= */

.text-primary-color { color: var(--color-brand-primary) !important; }
.text-gold { color: var(--color-brand-primary) !important; }
.bg-dark-luxury { background-color: var(--color-background-primary) !important; }
.border-gold { border-color: var(--color-border-secondary) !important; }

/* Glow dourado para elementos em destaque */
.glow-gold {
  box-shadow: var(--glow-gold) !important;
}

/* Glass morphism */
.glass {
  background: var(--color-surface-glass) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--color-border-secondary) !important;
}

/* =========================================================
   ELEMENTOR HOME PAGE — OVERRIDES DARK LUXURY
   Corrige seções brancas, textos pretos e botões amarelos
   que conflitam com o tema escuro (gerado pelo page builder)
   ========================================================= */

/* --- TITULOS DE SEÇÃO (preto → branco) --- */
.elementor-heading-title {
  color: var(--color-text-primary) !important;
}

/* --- TEXTO DESCRITIVO (editor de texto) --- */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  color: var(--color-text-secondary) !important;
}

/* --- ICON BOXES: Cards de Serviços (branco → escuro) --- */
.elementor-widget-icon-box {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-md) !important;
  transition: var(--transition-medium) !important;
}
.elementor-widget-icon-box:hover {
  background-color: var(--color-surface-secondary) !important;
  border-color: var(--color-border-hover) !important;
  box-shadow: var(--shadow-gold-hover) !important;
  transform: translateY(-3px) !important;
}
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title a {
  color: var(--color-text-primary) !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  color: var(--color-text-secondary) !important;
}
.elementor-widget-icon-box .elementor-icon,
.elementor-widget-icon-box .elementor-icon svg {
  color: var(--color-brand-primary) !important;
  fill: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
}

/* --- GRID DE CATEGORIAS RÁPIDAS (hero, 4 colunas brancas) --- */
.elementor-element-5829b15 {
  background-color: var(--color-background-secondary) !important;
  border: 1px solid var(--color-border-secondary) !important;
}
.elementor-element-5829b15 .elementor-icon-box-title {
  color: var(--color-text-primary) !important;
}
.elementor-element-5829b15 .elementor-icon {
  color: var(--color-brand-primary) !important;
  fill: var(--color-brand-primary) !important;
}
.elementor-element-d27fab8:hover,
.elementor-element-0e53d78:hover,
.elementor-element-59e19ef:hover,
.elementor-element-5996d02:hover {
  background-color: var(--color-surface-secondary) !important;
}

/* --- TAXONOMY CARDS (Explorar por Categoria) --- */
.taxonomy-item-card {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  transition: var(--transition-medium) !important;
}
.taxonomy-item-card:hover {
  border-color: var(--color-border-hover) !important;
  box-shadow: var(--shadow-gold-hover) !important;
  transform: translateY(-3px) !important;
}
.taxonomy-item-card .taxonomy-item-card-content {
  padding: 12px 16px !important;
}
.taxonomy-item-card-content-list dt a {
  color: var(--color-text-primary) !important;
  font-weight: var(--font-semibold) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.taxonomy-item-card-content-list dd {
  color: var(--color-text-muted) !important;
}

/* --- BARRA DE BUSCA (search form na hero) --- */
.houzez-search-builder-wrapper {
  background-color: rgba(22, 22, 22, 0.97) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-md) !important;
  backdrop-filter: blur(16px) !important;
}
#houzez-search-tabs-wrap .nav-link {
  background-color: rgba(216, 155, 61, 0.12) !important;
  color: var(--color-text-secondary) !important;
  border-radius: var(--radius-sm) !important;
  margin: 0 4px 8px 0 !important;
}
#houzez-search-tabs-wrap .nav-link:hover,
#houzez-search-tabs-wrap .nav-link.active {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  box-shadow: var(--shadow-gold) !important;
}
.range-text { color: var(--color-text-secondary) !important; }

/* --- BOTÕES ELEMENTOR (amarelo → dourado luxo) --- */
.elementor-button,
.elementor-button.elementor-button-link {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border-color: var(--color-brand-primary) !important;
  font-weight: var(--font-semibold) !important;
  letter-spacing: 0.5px;
}
.elementor-button:hover,
.elementor-button:focus {
  background: var(--color-background-primary) !important;
  color: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
  transform: translateY(-2px) !important;
}

/* --- CARROSSEL DE IMÓVEIS — BOTÕES NAV --- */
.property-carousel-buttons-wrap button,
.houzez-carousel-nav button,
.btn-view-all {
  background-color: var(--color-surface-primary) !important;
  color: var(--color-brand-primary) !important;
  border: 1px solid var(--color-brand-primary) !important;
  border-radius: var(--radius-pill) !important;
}
.property-carousel-buttons-wrap button:hover,
.houzez-carousel-nav button:hover,
.btn-view-all:hover {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border-color: transparent !important;
  box-shadow: var(--shadow-gold) !important;
}
.property-carousel-buttons-wrap button::before,
.houzez-carousel-nav button::before {
  color: var(--color-brand-primary) !important;
}
.property-carousel-buttons-wrap button:hover::before,
.houzez-carousel-nav button:hover::before {
  color: var(--color-text-inverse) !important;
}

/* --- BADGE FLUTUANTE (About section, pill branco → dark glass) --- */
.elementor-element-70bd8dd {
  background-color: rgba(22, 22, 22, 0.95) !important;
  border: 1px solid var(--color-border-secondary) !important;
  backdrop-filter: blur(12px) !important;
}
.elementor-element-70bd8dd .elementor-icon-box-title,
.elementor-element-70bd8dd .elementor-icon-box-title a {
  color: var(--color-text-primary) !important;
}
.elementor-element-70bd8dd .elementor-icon-box-description {
  color: var(--color-text-muted) !important;
}
.elementor-element-70bd8dd .elementor-icon {
  color: var(--color-brand-primary) !important;
  fill: var(--color-brand-primary) !important;
}

/* --- CONTADORES (estatísticas da seção About) --- */
.elementor-counter-number-wrapper {
  color: var(--color-brand-secondary) !important;
}

/* --- CARDS DE IMÓVEIS --- */
.item-wrap {
  background-color: var(--color-surface-primary) !important;
  border: 1px solid var(--color-border-secondary) !important;
  border-radius: var(--radius-md) !important;
}
.item-wrap:hover {
  border-color: var(--color-border-hover) !important;
  box-shadow: var(--shadow-gold-hover) !important;
  transform: translateY(-4px) !important;
}
.item-v5-price,
.item-price,
.property-price {
  color: var(--color-brand-primary) !important;
  font-weight: var(--font-bold) !important;
}
.hz-figure,
.item-amenities {
  color: var(--color-text-muted) !important;
}

/* --- BOTÃO "ANUNCIAR IMÓVEL" no header --- */
.btn.btn-create-listing {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-weight: var(--font-semibold) !important;
  box-shadow: var(--shadow-gold) !important;
}
.btn.btn-create-listing:hover {
  box-shadow: var(--shadow-gold-hover) !important;
  transform: translateY(-2px) !important;
}

/* --- ÍCONES SVG das categorias de serviço (escurece para dourado) --- */
.elementor-widget-icon-box img.attachment-full,
.elementor-icon-box-icon img {
  filter: brightness(0) saturate(100%) invert(65%) sepia(55%) saturate(500%) hue-rotate(5deg) brightness(100%) !important;
}

/* --- FOOTER (reforço) --- */
.footer-wrap,
.footer-main-wrap,
.footer-bottom-wrap,
.site-footer {
  background-color: var(--color-background-primary) !important;
  border-top: 1px solid var(--color-border-secondary) !important;
}
.footer-main-wrap *,
.footer-bottom-wrap * {
  border-color: var(--color-border-primary) !important;
}

/* --- SECTION SUBTITLES (overline text dourado) --- */
.elementor-widget-heading .elementor-heading-title[class*="elementor-size-small"] {
  color: var(--color-brand-primary) !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* =========================================================
   HEADER ELEMENTOR (19325) — DARK TRANSPARENT
   ========================================================= */

/* Header container sempre escuro/transparente */
#header-hz-elementor,
#header-hz-elementor .elementor-element-186dc2be {
  background-color: rgba(6, 6, 6, 0.88) !important;
  border-bottom: 1px solid rgba(216, 155, 61, 0.18) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* Nav links do header Elementor — brancos */
.houzez-nav-menu-main .nav-link,
.houzez-elementor-menu .nav-link,
.houzez-nav-menu-main-desktop-wrap .houzez-nav-menu-main .nav-link {
  color: var(--color-text-primary) !important;
}
.houzez-nav-menu-main .nav-link:hover,
.houzez-elementor-menu .nav-link:hover,
.houzez-nav-menu-main-desktop-wrap .houzez-nav-menu-main .nav-link:hover {
  color: var(--color-brand-primary) !important;
}

/* Dropdown do nav — dark */
.houzez-nav-menu-main-desktop-wrap .dropdown-menu {
  background-color: var(--color-background-secondary) !important;
  border: 1px solid var(--color-border-secondary) !important;
}
.houzez-nav-menu-main-desktop-wrap .dropdown-menu .dropdown-item,
.houzez-nav-menu-main-desktop-wrap .dropdown-menu > li > a {
  color: var(--color-text-primary) !important;
}
.houzez-nav-menu-main-desktop-wrap .dropdown-menu .dropdown-item:hover,
.houzez-nav-menu-main-desktop-wrap .dropdown-menu > li > a:hover {
  background-color: var(--color-surface-secondary) !important;
  color: var(--color-brand-primary) !important;
}

/* Login / ícones do header — brancos */
.btn-icon-login-register i,
.login-link a,
.register-link a {
  color: var(--color-text-primary) !important;
}
.btn-icon-login-register:hover i,
.login-link a:hover,
.register-link a:hover {
  color: var(--color-brand-primary) !important;
}

/* Botão "Anunciar Imóvel" (outlined gold) */
.elementor-19325 .btn-create-listing {
  color: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
  background-color: transparent !important;
}
.elementor-19325 .btn-create-listing:hover {
  background: var(--gradient-gold) !important;
  color: var(--color-text-inverse) !important;
}

/* Mobile menu toggle — branco */
.houzez-menu-toggle-button,
.houzez-menu-toggle-button svg {
  color: var(--color-text-primary) !important;
  fill: var(--color-text-primary) !important;
}

/* =========================================================
   ÍCONES SVG INLINE — DOURADO
   Os ícones dos serviços são SVGs inline; fill via CSS cascade
   ========================================================= */

/* A cor do ícone cascateia para paths do SVG inline */
.elementor-widget-icon-box .elementor-icon,
.elementor-widget-icon-box .elementor-icon span,
.elementor-widget-icon-box .elementor-icon svg {
  color: var(--color-brand-primary) !important;
  fill: var(--color-brand-primary) !important;
}

/* Garante que o path dentro do SVG inline herda a cor */
.elementor-widget-icon-box .elementor-icon svg path,
.elementor-widget-icon-box .elementor-icon svg g {
  fill: inherit !important;
  stroke: none;
}

/* Remove o filter desnecessário para imgs que não existem */
.elementor-widget-icon-box img.attachment-full,
.elementor-icon-box-icon img {
  filter: none !important;
}

/* =========================================================
   FOOTER ELEMENTOR (18750) — DARK
   ========================================================= */

.elementor-18750 .elementor-element,
.elementor-18750 .e-con {
  background-color: transparent !important;
}

/* Garante textos claros no footer */
.elementor-18750 p,
.elementor-18750 span,
.elementor-18750 li,
.elementor-18750 a {
  color: var(--color-text-secondary) !important;
}
.elementor-18750 h1,
.elementor-18750 h2,
.elementor-18750 h3,
.elementor-18750 h4,
.elementor-18750 h5 {
  color: var(--color-text-primary) !important;
}
.elementor-18750 a:hover {
  color: var(--color-brand-primary) !important;
}
