@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root {
  --deploy-test-public: "2026-06-13";
  --primary-red: #d32f2f;
  --primary-red-dark: #b71c1c;
  --primary-red-soft: #ef5350;
  --primary-red-fixed: #d32f2f;
  --bg-main: #d32f2f;
  --bg-secondary: var(--bg-main);
  --bg-card: #ffffff;
  --card-bg: #ffffff;
  --card-text: var(--primary-red-dark);
  --section-dark: var(--primary-red-dark);
  --footer-premium-bg: linear-gradient(135deg, #07162F 0%, #0A1E3A 55%, #030914 100%);
  --footer-premium-text: #FFFFFF;
  --footer-premium-text-hover: #FFCDD2;
  --footer-premium-border: rgba(255, 255, 255, 0.34);
  --footer-premium-social-bg: transparent;
  --footer-bg: var(--footer-premium-bg);
  --text-main: #ffffff;
  --text-secondary: #4b5563;
  --text-inverse: #ffffff;
  --text-strong: #ffffff;
  --text-accent: var(--card-text);
  --text-muted-on-dark: var(--text-secondary);
  --accent-primary: var(--primary-red);
  --accent-strong: var(--primary-red-dark);
  --accent-strong-hover: #8f1616;
  --accent-soft: color-mix(in srgb, var(--primary-red-soft) 22%, white);
  --accent-softest: color-mix(in srgb, var(--primary-red-soft) 34%, white);
  --accent-gold: #d4af37;
  --accent-gold-soft: #f2d06b;
  --accent-gold-bright: #ffd700;
  --diamond-red: #9e0b0f;
  --diamond-red-soft: color-mix(in srgb, #9e0b0f 22%, transparent);
  --bg-soft: rgba(255, 255, 255, 0.12);
  --bg-muted: rgba(255, 255, 255, 0.12);
  --bg-input: var(--bg-card);
  --border-default: rgba(0, 0, 0, 0.08);
  --border-muted: rgba(0, 0, 0, 0.08);
  --border-soft: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.14);
  --success: #25d366;
  --success-text: #166534;
  --danger-text: var(--accent-primary);
  --shadow-rgb: 17, 24, 39;
  --overlay-dark: rgba(0, 0, 0, 0.3);
  --header-border: rgba(255, 255, 255, 0.18);
  --header-border-strong: rgba(255, 255, 255, 0.28);
  --header-scrolled: rgba(183, 28, 28, 0.24);
  --glass-card: rgba(255, 255, 255, 0.96);
  --glass-card-strong: rgba(255, 255, 255, 0.98);
  --glass-muted: rgba(255, 255, 255, 0.7);
  --glass-subtle: rgba(255, 255, 255, 0.18);
  --glass-border: rgba(255, 255, 255, 0.4);
  --glass-border-strong: rgba(255, 255, 255, 0.58);
  --glass-shadow: rgba(var(--shadow-rgb), 0.12);
  --card-shadow: rgba(0, 0, 0, 0.15);
  --card-shadow-hover: rgba(0, 0, 0, 0.22);
  --accent-shadow: rgba(211, 47, 47, 0.18);
  --accent-shadow-strong: rgba(183, 28, 28, 0.3);
  --button-bg: var(--primary-red);
  --button-hover: var(--primary-red-dark);
  --button-text: var(--text-inverse);
  --nav-mobile-bg: #f8f3ec;
  --section-banner: transparent;
  --announcement-bg: var(--section-dark);
  --surface-overlay: rgba(255, 255, 255, 0.08);
  --surface-overlay-strong: rgba(255, 255, 255, 0.16);
  --surface-border: rgba(255, 255, 255, 0.3);
  --surface-border-strong: rgba(255, 255, 255, 0.5);
  --surface-shadow: rgba(0, 0, 0, 0.2);
}

body.dark,
body.dark-mode,
[data-theme="dark"] {
  --primary-red: #7f1d1d;
  --primary-red-dark: #5a1313;
  --primary-red-soft: #991b1b;
  --bg-main: #1a0f0f;
  --bg-secondary: var(--bg-main);
  --bg-card: #2b1515;
  --text-main: #ffffff;
  --text-secondary: #f3d6d6;
  --text-inverse: #ffffff;
  --text-strong: #ffffff;
  --text-accent: var(--text-secondary);
  --text-muted-on-dark: var(--text-secondary);
  --accent-primary: var(--primary-red);
  --accent-strong: var(--primary-red-dark);
  --accent-strong-hover: #451010;
  --accent-soft: color-mix(in srgb, var(--primary-red-soft) 32%, transparent);
  --accent-softest: color-mix(in srgb, var(--primary-red-soft) 48%, transparent);
  --bg-soft: color-mix(in srgb, var(--primary-red) 18%, var(--bg-main));
  --bg-muted: color-mix(in srgb, var(--primary-red) 22%, var(--bg-main));
  --bg-input: var(--bg-card);
  --border-default: rgba(243, 202, 202, 0.24);
  --border-muted: rgba(243, 202, 202, 0.18);
  --border-soft: rgba(243, 202, 202, 0.28);
  --border-strong: rgba(243, 202, 202, 0.36);
  --shadow-rgb: 0, 0, 0;
  --overlay-dark: rgba(17, 24, 39, 0.45);
  --header-border: rgba(255, 255, 255, 0.16);
  --header-border-strong: rgba(255, 255, 255, 0.2);
  --header-scrolled: rgba(127, 29, 29, 0.32);
  --glass-card: color-mix(in srgb, var(--bg-card) 88%, transparent);
  --glass-card-strong: color-mix(in srgb, var(--bg-card) 94%, transparent);
  --glass-muted: rgba(255, 255, 255, 0.1);
  --glass-subtle: rgba(255, 255, 255, 0.06);
  --glass-border: rgba(243, 202, 202, 0.24);
  --glass-border-strong: rgba(243, 202, 202, 0.34);
  --glass-shadow: rgba(0, 0, 0, 0.3);
  --card-shadow: rgba(0, 0, 0, 0.24);
  --card-shadow-hover: rgba(0, 0, 0, 0.32);
  --accent-shadow: rgba(0, 0, 0, 0.22);
  --accent-shadow-strong: rgba(0, 0, 0, 0.35);
  --button-bg: var(--primary-red);
  --button-hover: var(--primary-red-dark);
  --button-text: var(--text-inverse);
  --nav-mobile-bg: rgba(5, 5, 5, 0.98);
  --section-banner: linear-gradient(120deg, var(--bg-main), var(--primary-red-dark));
  --announcement-bg: linear-gradient(90deg, var(--primary-red), var(--primary-red-dark));
  --surface-overlay: rgba(255, 255, 255, 0.1);
  --surface-overlay-strong: rgba(255, 255, 255, 0.16);
  --surface-border: rgba(255, 255, 255, 0.3);
  --surface-border-strong: rgba(255, 255, 255, 0.5);
  --surface-shadow: rgba(0, 0, 0, 0.24);
  --diamond-red: #9e0b0f;
  --diamond-red-soft: color-mix(in srgb, #9e0b0f 30%, transparent);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  color: var(--text-main);
  background: var(--bg-main) !important;
  line-height: 1.6;
  transition: background-color 0.3s ease, color 0.3s ease;
}

body,
main,
.main,
section,
.section {
  background: var(--bg-main) !important;
  color: var(--text-main);
}

section,
.section {
  background: transparent !important;
}

h1, h2, h3 { font-family: 'Playfair Display', serif; margin-top: 0; color: var(--text-main); }
a { text-decoration: none; }
.container { width: min(1120px, 92%); margin: 0 auto; }
.section { padding: 4rem 0; background: transparent; color: var(--text-main); }
.hidden { display: none; }

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent;
  border-bottom: 1px solid var(--header-border);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: none;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.site-header.scrolled,
.site-header.is-scrolled {
  background: var(--header-scrolled);
  border-bottom-color: var(--header-border-strong);
}

.navbar,
.navbar-light {
  background: transparent;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.nav-wrapper {
  min-height: 84px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
}

.site-header .container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.brand { color: var(--text-inverse); font-weight: 700; letter-spacing: 1px; font-size: 1.1rem; }
.brand span { color: var(--accent-gold-soft); }
.brand:hover { color: var(--accent-softest); }
.site-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.site-nav a {
  color: var(--text-inverse);
  font-weight: 500;
  position: relative;
  padding: 6px 10px;
  transition: color 0.3s ease, transform 0.2s ease;
}
.site-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--accent-gold);
  transition: width 0.3s ease;
}
.site-nav a.active, .site-nav a:hover {
  color: var(--accent-gold-soft);
  transform: translateY(-2px);
}
.site-nav a.active::after, .site-nav a:hover::after {
  width: 100%;
}
.menu-toggle { display: none; background: none; border: none; color: var(--text-inverse); font-size: 1.6rem; }
.theme-toggle {
  background: var(--bg-card);
  color: var(--accent-primary);
  border: 1px solid var(--border-soft);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}
.theme-toggle:hover {
  transform: translateY(-2px);
  background: var(--bg-main);
  color: var(--text-main);
}

main { padding-top: var(--header-offset, 84px); }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 75vh;
  max-height: 85vh;
  height: 85vh;
  margin-top: 0;
  padding-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}
.hero-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 900ms ease;
  margin: 0;
}
.hero-slide.is-active {
  opacity: 1;
}
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1.02);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(115deg, rgba(8, 10, 16, 0.72) 15%, rgba(8, 10, 16, 0.45) 55%, rgba(8, 10, 16, 0.62) 100%);
}
.hero-content { position: relative; z-index: 2; color: var(--text-inverse); max-width: 760px; background: transparent; }
.hero h1 { color: var(--text-inverse); font-size: clamp(2rem, 4.5vw, 3.4rem); margin: .5rem 0 1rem; }

.hero-slider-indicators {
  margin-top: 1.1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.hero-slider-dot {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.35);
  padding: 0;
  transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.hero-slider-dot:hover {
  transform: scale(1.08);
}

.hero-slider-dot.is-active {
  background: var(--accent-gold-soft);
  border-color: var(--accent-gold-bright);
  box-shadow: 0 0 0 5px rgba(212, 175, 55, 0.2);
}
.eyebrow { color: var(--accent-gold-soft); text-transform: uppercase; letter-spacing: 2px; font-weight: 600; font-size: .85rem; }
.search-form { display: grid; grid-template-columns: 2fr 1fr auto; gap: .75rem; margin-top: 1.5rem; }
.hero-operation-tabs {
  grid-column: 1 / -1;
  display: inline-flex;
  gap: .45rem;
  padding: .35rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(185, 28, 28, 0.2);
  width: fit-content;
}
.hero-operation-tab {
  background: transparent;
  color: var(--primary);
  border: 1px solid transparent;
  padding: .5rem 1rem;
  border-radius: 999px;
  font-weight: 700;
}
.hero-operation-tab:hover {
  background: rgba(185, 28, 28, 0.12);
}
.hero-operation-tab.is-active {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 8px 20px rgba(185, 28, 28, 0.28);
}
.search-form input, .search-form select, .search-form button,
.filter-grid input, .filter-grid select, .filter-grid button,
.contact-form input, .contact-form textarea, .contact-form button {
  width: 100%;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  padding: .8rem .9rem;
  font: inherit;
}
button { background: var(--bg-soft); color: var(--text-main); border: none; font-weight: 600; cursor: pointer; }
button:hover { background: var(--accent-softest); }

.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.text-link { color: var(--accent-primary); font-weight: 600; }

section h2,
.section-title,
.section-header h2 {
  color: var(--text-main);
}

.section-header,
.section-properties .text-link,
.page-banner p,
.page-banner h1 {
  color: var(--text-main);
}

.properties-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.2rem;
}
.property-card {
  border: 1px solid var(--diamond-red);
  background: var(--card-bg);
  color: var(--card-text);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 22px var(--card-shadow);
  position: relative;
  z-index: 0;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.property-card::before {
  content: '';
  position: absolute;
  top: -120%;
  left: -140%;
  width: 70%;
  height: 320%;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.05) 35%, rgba(255, 255, 255, 0.38) 50%, rgba(255, 255, 255, 0.08) 65%, transparent 100%);
  opacity: 0;
  transform: rotate(16deg);
  pointer-events: none;
  transition: opacity 0.35s ease;
  z-index: 1;
}
.property-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid var(--diamond-red);
  border-radius: inherit;
  transition: border-color 0.35s ease;
  pointer-events: none;
  z-index: 2;
}

.property-card.is-featured {
  border: 2px solid var(--diamond-red);
}

.property-card.is-featured::after {
  border: 1px solid color-mix(in srgb, var(--accent-gold) 45%, var(--diamond-red));
}
.property-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px var(--card-shadow-hover), 0 0 0 1px var(--diamond-red-soft);
  z-index: 5;
}
.property-card:hover::before {
  opacity: 1;
  animation: cardLightSweep 1.15s ease;
}
.property-card:hover::after {
  border-color: var(--diamond-red);
}

.property-card.is-featured:hover::after {
  border-color: color-mix(in srgb, var(--accent-gold) 55%, var(--diamond-red));
}
.property-card > img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
  border-radius: 16px 16px 0 0;
  transition: transform 0.4s ease;
}
.property-card:hover > img {
  transform: scale(1.08);
}

@keyframes cardLightSweep {
  0% {
    left: -145%;
  }
  100% {
    left: 170%;
  }
}
.property-card-content { padding: 1rem; }
.property-card h1,
.property-card h2,
.property-card h3 {
  color: var(--card-text);
}

.property-card p {
  color: var(--text-secondary);
}

.property-card .text-link {
  color: var(--card-text);
}

.property-meta { display: flex; justify-content: space-between; gap: 0.75rem; font-size: .9rem; color: var(--text-secondary); }
.price { color: var(--accent-primary); font-size: 1.2rem; font-weight: 700; }

.property-card.reveal-on-scroll {
  opacity: 0;
  transform: translateY(40px);
}

.property-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

#whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  left: calc(100vw - 86px);
  top: calc(100vh - 86px);
  z-index: 9999;
  --whatsapp-move-duration: 14000ms;
  transition: left var(--whatsapp-move-duration) linear, top var(--whatsapp-move-duration) linear, transform 0.3s ease;
}

#whatsapp-float a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--success);
  padding: 10px;
  box-shadow: 0 14px 30px rgba(37, 211, 102, 0.45);
}

#whatsapp-float img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#whatsapp-float:hover {
  transform: scale(1.08);
}

.section-dark {
  background: var(--section-dark);
  color: var(--text-main);
}
.announcement-bar {
  overflow: hidden;
  border-top: 1px solid rgba(211, 47, 47, 0.14);
  border-bottom: 1px solid rgba(211, 47, 47, 0.14);
  background: #ffffff;
  color: var(--primary-red-fixed);
  padding: 0.95rem 0;
}
.announcement-track {
  display: flex;
  width: max-content;
  gap: 3rem;
  animation: scrollAnnouncements 20s linear infinite;
  will-change: transform;
}
.announcement-track span {
  font-weight: 500;
  white-space: nowrap;
  color: var(--primary-red-fixed);
}
@keyframes scrollAnnouncements {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.section-dark h2,
.section-dark h3,
.section-dark p,
.section-dark li {
  color: var(--text-main);
}

.advisory-section h2,
.advisory-section p,
.advisory-section span,
.advisory-section li {
  color: var(--text-main);
}
.split-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; align-items: start; }
.highlight-card {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid var(--diamond-red);
  border-radius: 14px;
  padding: 1.4rem;
  color: var(--text-main);
  box-shadow: 0 10px 24px var(--card-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.highlight-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px var(--card-shadow-hover);
}
.checklist { padding-left: 1.2rem; }
.button-outline {
  display: inline-block;
  margin-top: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  color: var(--text-main);
  padding: .6rem 1rem;
  border-radius: 8px;
}


.about-video-wrapper {
  width: 100%;
  margin-top: 1.4rem;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(160, 88, 88, 0.2);
}

.about-video-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.page-banner {
  padding: 5rem 0 2.5rem;
  background: transparent;
  color: var(--text-main);
}
.section-properties {
  background: transparent;
}
.page-banner h1, .page-banner p { color: var(--text-main); }

.agent-filter-banner {
  margin: 0 0 1rem;
  font-weight: 700;
  color: var(--accent-strong);
}

.filter-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: .75rem; margin-bottom: 1.5rem; }
.empty-state { text-align: center; margin-top: 1rem; color: var(--text-inverse); }

.detail-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; align-items: start; }
.detail-gallery {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  touch-action: pan-y;
  background: var(--bg-muted);
}
.detail-gallery-main-image {
  width: 100%;
  min-height: 320px;
  max-height: 520px;
  object-fit: cover;
  display: block;
}
.gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  color: var(--text-main);
  background: var(--overlay-dark);
  cursor: pointer;
  z-index: 2;
}
.gallery-prev { left: 12px; }
.gallery-next { right: 12px; }
.gallery-indicators {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: flex;
  gap: 0.45rem;
  z-index: 2;
}
.gallery-indicators button {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 50%;
  background: var(--surface-overlay-strong);
  cursor: pointer;
}
.gallery-indicators button.is-active {
  background: var(--accent-gold);
}
.badge {
  display: inline-block;
  background: var(--accent-soft);
  color: var(--accent-primary);
  border: 1px solid var(--border-soft);
  padding: .2rem .7rem;
  border-radius: 999px;
  font-size: .85rem;
}

.contact-form {
  max-width: 700px;
  margin: 0 auto;
  padding: 1.4rem;
  border: 1px solid var(--border-muted);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  background: var(--card-bg);
  color: var(--card-text);
}
.form-row { margin-bottom: .9rem; }
.form-row label { display: block; margin-bottom: .35rem; font-weight: 600; color: var(--card-text); }
.form-message { margin-top: .75rem; font-weight: 500; color: var(--accent-primary); }

.site-footer {
  width: 100%;
  background: var(--footer-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1.4rem 0 1.1rem;
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  text-align: center;
}

.footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.95rem;
}

.footer-social a {
  color: var(--text-main);
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.22);
  transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
  opacity: 0.9;
}

.footer-social svg {
  width: 26px;
  height: 26px;
  fill: currentColor;
}

.footer-social a:hover {
  opacity: 1;
  transform: translateY(-4px) scale(1.1);
  color: var(--text-main);
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
}

.footer-text {
  color: var(--text-main);
  opacity: 0.8;
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.06em;
}


.detail-map-section {
  margin-top: 2rem;
}

.favorite-property-button {
  margin-top: .6rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid var(--border-default);
  border-radius: 999px;
  padding: .45rem .8rem;
  background: var(--card-bg);
  color: var(--accent-primary);
  cursor: pointer;
  font-weight: 600;
}

.favorite-property-button:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.agent-card-section {
  margin-top: 2rem;
}

.agent-card {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 1rem;
  border: 1px solid var(--diamond-red);
  border-radius: 14px;
  padding: 1rem;
  background: var(--bg-card);
  align-items: center;
}

.agent-card img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

.agent-card-content h3,
.agent-card-content p {
  margin: 0;
}

.agent-card-content p {
  margin-top: .35rem;
}

.agent-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: .9rem;
}

.property-map {
  width: 100%;
  min-height: 360px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-default);
}

.map-page-main {
  min-height: 100vh;
}

.map-page-header {
  padding: 3rem 0 1.5rem;
}

.map-page-section {
  padding: 0 0 2rem;
}

.properties-map-full {
  width: min(1120px, 92%);
  margin: 0 auto;
  min-height: 68vh;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-default);
}

body.dark,
body.dark-mode {
  background: var(--bg-main);
  color: var(--text-main);
}

body.dark h1,
body.dark,
body.dark-mode h2,
body.dark,
body.dark-mode h3,
body.dark,
body.dark-mode p,
body.dark,
body.dark-mode li,
body.dark,
body.dark-mode label,
body.dark-mode h1,
body.dark,
body.dark-mode h2,
body.dark,
body.dark-mode h3,
body.dark,
body.dark-mode p,
body.dark,
body.dark-mode li,
body.dark,
body.dark-mode label {
  color: var(--text-main);
}

body.dark .advisory-section h2,
body.dark,
body.dark-mode .advisory-section h3,
body.dark,
body.dark-mode .advisory-section p,
body.dark,
body.dark-mode .advisory-section span,
body.dark,
body.dark-mode .advisory-section li,
body.dark-mode .advisory-section h2,
body.dark,
body.dark-mode .advisory-section h3,
body.dark,
body.dark-mode .advisory-section p,
body.dark,
body.dark-mode .advisory-section span,
body.dark,
body.dark-mode .advisory-section li {
  color: var(--text-strong);
}

body.dark .site-header,
body.dark-mode .site-header {
  background: transparent;
  border-bottom-color: var(--header-border);
}

body.dark .site-header.is-scrolled,
body.dark-mode .site-header.is-scrolled {
  background: var(--header-scrolled);
}

body.dark .section-properties,
body.dark-mode .section-properties {
  background: var(--bg-main);
}

body.dark .property-card,
body.dark,
body.dark-mode .contact-form,
body.dark,
body.dark-mode .highlight-card,
body.dark-mode .property-card,
body.dark,
body.dark-mode .contact-form,
body.dark,
body.dark-mode .highlight-card {
  background: var(--bg-card);
  border-color: var(--diamond-red);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32);
}

body.dark .property-card::after,
body.dark-mode .property-card::after {
  border-color: var(--diamond-red);
}

body.dark .property-card:hover::after,
body.dark-mode .property-card:hover::after {
  border-color: var(--diamond-red);
}

body.dark .property-card.is-featured,
body.dark,
body.dark-mode .property-card.is-featured::after,
body.dark,
body.dark-mode .property-card.is-featured:hover::after,
body.dark-mode .property-card.is-featured,
body.dark,
body.dark-mode .property-card.is-featured::after,
body.dark,
body.dark-mode .property-card.is-featured:hover::after {
  border-color: color-mix(in srgb, var(--accent-gold) 55%, var(--diamond-red));
}

body.dark .price,
body.dark,
body.dark-mode .text-link,
body.dark,
body.dark-mode .brand span,
body.dark,
body.dark-mode .button-outline,
body.dark,
body.dark-mode .badge,
body.dark-mode .price,
body.dark,
body.dark-mode .text-link,
body.dark,
body.dark-mode .brand span,
body.dark,
body.dark-mode .button-outline,
body.dark,
body.dark-mode .badge {
  color: var(--text-accent);
}

body.dark .button-outline,
body.dark,
body.dark-mode .badge,
body.dark-mode .button-outline,
body.dark,
body.dark-mode .badge {
  border-color: var(--border-strong);
}

body.dark .badge,
body.dark-mode .badge {
  background: var(--accent-soft);
}

body.dark .property-meta,
body.dark,
body.dark-mode .empty-state,
body.dark-mode .property-meta,
body.dark,
body.dark-mode .empty-state {
  color: var(--text-muted-on-dark);
}

body.dark .agent-filter-banner,
body.dark-mode .agent-filter-banner {
  color: var(--text-accent);
}

body.dark button,
body.dark-mode button {
  background: var(--accent-strong);
  color: var(--text-main);
}

body.dark button:hover,
body.dark-mode button:hover {
  background: var(--accent-strong-hover);
}

body.dark .hero-operation-tabs,
body.dark-mode .hero-operation-tabs {
  background: rgba(42, 20, 20, 0.92);
  border-color: rgba(239, 68, 68, 0.35);
}

body.dark .hero-operation-tab,
body.dark-mode .hero-operation-tab {
  color: #fca5a5;
}

body.dark .hero-operation-tab:hover,
body.dark-mode .hero-operation-tab:hover {
  background: rgba(127, 29, 29, 0.55);
}

body.dark .hero-operation-tab.is-active,
body.dark-mode .hero-operation-tab.is-active {
  background: #991b1b;
  color: #fff;
}

body.dark .search-form input,
body.dark,
body.dark-mode .search-form select,
body.dark,
body.dark-mode .filter-grid input,
body.dark,
body.dark-mode .filter-grid select,
body.dark,
body.dark-mode .contact-form input,
body.dark,
body.dark-mode .contact-form textarea,
body.dark-mode .search-form input,
body.dark,
body.dark-mode .search-form select,
body.dark,
body.dark-mode .filter-grid input,
body.dark,
body.dark-mode .filter-grid select,
body.dark,
body.dark-mode .contact-form input,
body.dark,
body.dark-mode .contact-form textarea {
  background: var(--bg-input);
  color: var(--text-main);
  border-color: var(--border-soft);
}

body.dark .site-footer,
body.dark-mode .site-footer {
  background: var(--bg-main);
  border-top-color: var(--border-strong);
}

body.dark .footer-social a,
body.dark-mode .footer-social a {
  background: var(--surface-overlay);
  border-color: var(--border-soft);
}

body.dark .theme-toggle,
body.dark-mode .theme-toggle {
  background: var(--surface-overlay-strong);
  border-color: var(--diamond-red);
}

body.dark .property-map,
body.dark,
body.dark-mode .properties-map-full,
body.dark-mode .property-map,
body.dark,
body.dark-mode .properties-map-full {
  border-color: var(--border-soft);
}

body.dark .favorite-property-button,
body.dark,
body.dark-mode .agent-card,
body.dark-mode .favorite-property-button,
body.dark,
body.dark-mode .agent-card {
  background: var(--bg-card);
  border-color: var(--border-soft);
}

body.dark .site-nav,
body.dark-mode .site-nav {
  background: var(--bg-card);
  border-color: var(--border-soft);
}
@media (max-width: 900px) {
  .search-form, .filter-grid, .split-grid, .detail-grid { grid-template-columns: 1fr; }
  .hero-operation-tabs { width: 100%; justify-content: center; }
  .agent-card {
    grid-template-columns: 1fr;
  }

  .agent-card img {
    width: 100%;
    max-width: 220px;
    height: auto;
  }
}

@media (max-width: 720px) {
  .nav-wrapper {
    min-height: 74px;
    grid-template-columns: 1fr auto auto;
  }

  main { padding-top: var(--header-offset, 74px); }

  .menu-toggle { display: block; }
  .theme-toggle { justify-self: end; }
  .site-nav {
    position: absolute;
    right: 4%;
    top: 70px;
    background: var(--nav-mobile-bg);
    border: 1px solid var(--border-soft);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 10px;
    padding: .8rem;
    display: none;
    flex-direction: column;
    min-width: 190px;
    gap: 1rem;
  }
  .site-nav.open { display: flex; }


  .footer-social {
    flex-direction: column;
    gap: 0.7rem;
  }

  .footer-social a {
    width: 44px;
    height: 44px;
  }

  .announcement-track {
    animation-duration: 15s;
  }
}

.agents-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.agent-card {
  border: 1px solid var(--diamond-red);
  background: var(--card-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 28px var(--card-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.5s ease;
  opacity: 0;
  transform: translateY(24px);
}

.agent-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.agent-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 42px var(--card-shadow-hover), 0 0 0 1px var(--diamond-red-soft);
  border-color: var(--diamond-red);
}

.agent-photo {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.agent-content {
  padding: 1rem;
}

.agent-role {
  color: var(--card-text);
  font-weight: 600;
  margin-top: -0.4rem;
}

.agent-social {
  display: flex;
  gap: 0.6rem;
  margin: 0.9rem 0 1rem;
}

.agent-social a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--text-main);
  background: rgba(183, 28, 28, 0.85);
  border: 1px solid rgba(183, 28, 28, 0.18);
  opacity: 0.68;
  transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.agent-social a svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.agent-social a:hover {
  opacity: 1;
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 8px 16px var(--card-shadow-hover);
}

.agent-properties {
  margin-top: 1rem;
}

.agent-properties h3 {
  font-size: 1.02rem;
  margin-bottom: 0.7rem;
}

.agent-properties-grid {
  display: grid;
  gap: 0.75rem;
}

.agent-property-card {
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 0.6rem;
  align-items: center;
  background: rgba(183, 28, 28, 0.06);
  border: 1px solid var(--diamond-red);
  border-radius: 12px;
  overflow: hidden;
}

.agent-property-card img {
  width: 100%;
  height: 100%;
  min-height: 80px;
  object-fit: cover;
}

.agent-property-content {
  padding: 0.5rem 0.6rem 0.5rem 0;
}

.agent-property-content h4 {
  font-size: 0.95rem;
  margin: 0;
}

.agent-property-content p {
  margin: 0.15rem 0;
  font-size: 0.85rem;
}

body.dark .agent-card,
body.dark,
body.dark-mode .agent-property-card,
body.dark-mode .agent-card,
body.dark,
body.dark-mode .agent-property-card {
  background: var(--bg-card);
  border-color: var(--diamond-red);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32);
}

body.dark .agent-role,
body.dark,
body.dark-mode .agent-social a,
body.dark-mode .agent-role,
body.dark,
body.dark-mode .agent-social a {
  color: var(--accent-gold);
}

body.dark .agent-social a,
body.dark-mode .agent-social a {
  background: var(--surface-overlay);
  border-color: var(--border-soft);
}


.agent-content h2,
.agent-public-summary h2,
.agent-public-stats h3 {
  color: var(--card-text);
}

.agent-public-profile {
  display: grid;
  grid-template-columns: 190px 1fr minmax(200px, 240px);
  gap: 1.2rem;
  align-items: center;
  margin-bottom: 2rem;
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid var(--border-soft);
  background: var(--card-bg);
  color: var(--card-text);
  box-shadow: 0 14px 32px var(--card-shadow);
}

.agent-public-photo {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  justify-self: center;
  border: 4px solid var(--border-soft);
  box-shadow: 0 10px 25px var(--card-shadow);
}

.agent-public-summary p,
.agent-public-stats p {
  color: var(--text-secondary);
}

.agent-public-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1rem;
}

.agent-public-social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: rgba(183, 28, 28, 0.08);
  border: 1px solid var(--border-soft);
  color: var(--card-text);
  font-weight: 600;
}

.agent-public-social-link svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.agent-public-stats {
  border-radius: 12px;
  border: 1px solid var(--border-soft);
  background: var(--card-bg);
  padding: 1rem;
}

.agent-public-map-section {
  margin-bottom: 1.75rem;
}

body.dark .agent-content h2,
body.dark,
body.dark-mode .agent-public-summary h2,
body.dark,
body.dark-mode .agent-public-stats h3,
body.dark-mode .agent-content h2,
body.dark,
body.dark-mode .agent-public-summary h2,
body.dark,
body.dark-mode .agent-public-stats h3 {
  color: var(--accent-gold-soft);
}

body.dark .agent-public-profile,
body.dark-mode .agent-public-profile {
  background: var(--bg-card);
  border-color: var(--border-soft);
  color: var(--text-muted-on-dark);
}

body.dark .agent-public-summary p,
body.dark,
body.dark-mode .agent-public-stats p,
body.dark-mode .agent-public-summary p,
body.dark,
body.dark-mode .agent-public-stats p {
  color: var(--text-muted-on-dark);
}

body.dark .agent-public-social-link,
body.dark-mode .agent-public-social-link {
  background: var(--surface-overlay);
  border-color: var(--border-soft);
  color: var(--accent-gold-soft);
}

body.dark .agent-public-stats,
body.dark-mode .agent-public-stats {
  background: var(--bg-card);
  border-color: var(--border-soft);
}

@media (max-width: 980px) {
  .agent-public-profile {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .agent-public-photo {
    width: 160px;
    height: 160px;
  }

  .agent-public-social {
    justify-content: center;
  }
}

@media (max-width: 1080px) {
  .agents-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .agents-grid {
    grid-template-columns: 1fr;
  }
}

.property-reviews-section {
  margin-top: 2rem;
}

.property-reviews-header {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.reviews-auth-controls {
  min-height: 48px;
}

.review-auth-btn {
  border: 1px solid var(--surface-border-strong);
  background: var(--surface-overlay);
  color: var(--text-main);
  border-radius: 999px;
  padding: 0.55rem 1rem;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.review-auth-btn-outline {
  margin-left: 0.65rem;
}

.review-user-profile {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--text-main);
}

.review-user-profile img,
.review-card header img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--surface-border-strong);
  object-fit: cover;
}

.reviews-summary {
  margin-top: 1rem;
  border: 1px solid var(--surface-border);
  border-radius: 14px;
  background: var(--surface-overlay);
  padding: 1rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.reviews-stars {
  color: var(--diamond-red);
  font-size: 1.25rem;
  margin: 0;
}

.reviews-average,
.reviews-count,
.reviews-empty,
.review-rating,
.review-form-message {
  margin: 0.35rem 0 0;
  color: var(--text-main);
}

.reviews-list {
  margin-top: 1rem;
  display: grid;
  gap: 0.85rem;
}

.review-card {
  border: 1px solid var(--diamond-red);
  border-radius: 14px;
  background: var(--surface-overlay);
  padding: 0.95rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
  animation: reviewFadeIn 0.35s ease;
}

.review-card header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.review-card p,
.review-card strong,
.review-card small {
  color: var(--text-main);
}



.review-form {
  margin-top: 1rem;
  border: 1px solid var(--diamond-red);
  border-radius: 14px;
  background: var(--surface-overlay);
  padding: 1rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.review-form-stars {
  display: flex;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.review-form-stars button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--surface-border);
  background: var(--surface-overlay);
  color: var(--text-main);
  font-size: 1.2rem;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.review-form-stars button:hover {
  color: var(--diamond-red);
  border-color: var(--diamond-red);
  transform: translateY(-1px);
}

.review-form-stars button.active {
  color: var(--diamond-red);
  border-color: var(--diamond-red);
}

.review-form textarea {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--surface-border);
  background: var(--surface-overlay);
  color: var(--text-main);
  padding: 0.75rem;
}

.review-form button[type="submit"] {
  margin-top: 0.75rem;
}

.review-form button:disabled,
.review-form textarea:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

@keyframes reviewFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.dark .review-form,
body.dark,
body.dark-mode .review-card,
body.dark,
body.dark-mode .reviews-summary,
body.dark-mode .review-form,
body.dark,
body.dark-mode .review-card,
body.dark,
body.dark-mode .reviews-summary {
  background: var(--bg-card);
  border-color: var(--diamond-red);
}

.property-status-tag {
  display: inline-block;
  margin: 0.25rem 0;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: var(--bg-main);
  color: var(--bg-card);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.4px;
}

.agent-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.dashboard-auth-box,
.dashboard-card,
.agent-public-profile {
  background: var(--bg-card);
  color: var(--text-main);
  border-radius: 14px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.dashboard-message {
  font-weight: 600;
}

.dashboard-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

.dashboard-form {
  display: grid;
  gap: 0.6rem;
}

.dashboard-user-chip {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.dashboard-user-chip img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.agent-public-profile {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
}


.dashboard-property-map {
  width: 100%;
  height: 280px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-default);
}

.map-picker-hint,
.map-picker-coordinates {
  margin: 0;
  font-size: 0.9rem;
}

.map-picker-coordinates {
  font-weight: 600;
}

body.dark .dashboard-property-map,
body.dark-mode .dashboard-property-map {
  border-color: var(--diamond-red);
}

.seller-hero {
  text-align: center;
  padding-top: 2.5rem;
}

.seller-lead {
  max-width: 780px;
  margin: 0.85rem auto 0;
}

.seller-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.seller-benefit-card {
  background: var(--bg-card);
  border-radius: 14px;
  padding: 1rem;
  border: 1px solid var(--border-soft);
  text-align: center;
  color: var(--text-main);
}

.seller-benefit-card h3 {
  color: var(--text-main);
  margin-bottom: 0;
}

.seller-benefit-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 0.75rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bg-soft);
  color: var(--accent-primary);
  font-size: 1.25rem;
}

.seller-benefit-icon i {
  font-size: 1.1rem;
}

.seller-layout {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1rem;
  align-items: start;
}

.seller-contact-card,
.seller-form {
  background: var(--bg-card);
  border-radius: 14px;
  border: 1px solid var(--border-soft);
  padding: 1rem;
  color: var(--text-main);
}

.seller-contact-card h2,
.seller-contact-card p,
.seller-form h2,
.seller-form label {
  color: var(--text-main);
}

.seller-form {
  display: grid;
  gap: 0.8rem;
}

.seller-form .form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.seller-form label {
  display: grid;
  gap: 0.35rem;
  font-weight: 600;
}

.seller-form input,
.seller-form select,
.seller-form textarea {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--border-soft);
  padding: 0.65rem 0.75rem;
  font: inherit;
  color: var(--text-main);
  background: var(--bg-card);
}

.seller-auth-message {
  margin: 0;
  font-weight: 600;
  color: var(--success-text);
}

.seller-auth-message.is-error {
  color: var(--danger-text);
}

.seller-agent-label {
  display: block;
  font-weight: 600;
  margin: 0.75rem 0 0.35rem;
}

.seller-agent-select {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--border-soft);
  padding: 0.65rem 0.75rem;
  font: inherit;
  color: var(--text-main);
  background: var(--bg-card);
}

.seller-agent-message {
  margin: 0.5rem 0 0;
  min-height: 1.2rem;
  font-size: 0.92rem;
}

.seller-agent-message.is-error {
  color: var(--danger-text);
}

.seller-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: var(--success);
  color: var(--bg-card);
  text-decoration: none;
  padding: 0.65rem 1rem;
  font-weight: 700;
  margin-top: 0.5rem;
}

.seller-whatsapp-btn.is-disabled {
  opacity: 0.6;
  pointer-events: none;
}

body.dark .seller-benefit-card,
body.dark,
body.dark-mode .seller-form,
body.dark,
body.dark-mode .seller-contact-card,
body.dark-mode .seller-benefit-card,
body.dark,
body.dark-mode .seller-form,
body.dark,
body.dark-mode .seller-contact-card {
  background: var(--bg-card);
  border-color: var(--diamond-red);
  color: var(--text-main);
}

body.dark .seller-benefit-card h3,
body.dark,
body.dark-mode .seller-contact-card h2,
body.dark,
body.dark-mode .seller-contact-card p,
body.dark,
body.dark-mode .seller-form h2,
body.dark,
body.dark-mode .seller-form label,
body.dark,
body.dark-mode .seller-auth-message,
body.dark-mode .seller-benefit-card h3,
body.dark,
body.dark-mode .seller-contact-card h2,
body.dark,
body.dark-mode .seller-contact-card p,
body.dark,
body.dark-mode .seller-form h2,
body.dark,
body.dark-mode .seller-form label,
body.dark,
body.dark-mode .seller-auth-message {
  color: var(--text-main);
}

body.dark .seller-auth-message.is-error,
body.dark-mode .seller-auth-message.is-error {
  color: var(--text-secondary);
}

body.dark .seller-agent-message.is-error,
body.dark-mode .seller-agent-message.is-error {
  color: var(--text-secondary);
}

body.dark .seller-form input,
body.dark,
body.dark-mode .seller-form select,
body.dark,
body.dark-mode .seller-form textarea,
body.dark,
body.dark-mode .seller-agent-select,
body.dark-mode .seller-form input,
body.dark,
body.dark-mode .seller-form select,
body.dark,
body.dark-mode .seller-form textarea,
body.dark,
body.dark-mode .seller-agent-select {
  background: var(--bg-input);
  color: var(--text-main);
  border-color: var(--border-soft);
}

@media (max-width: 900px) {
  .seller-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .seller-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .seller-benefits,
  .seller-form .form-row {
    grid-template-columns: 1fr;
  }
}

/* Refined design-token driven theme overrides */
body {
  color: var(--text-main);
  background: var(--bg-main);
}

body,
.section,
.section-properties,
.map-page-main,
.map-page-section,
.site-footer {
  background: var(--bg-main);
  color: var(--text-main);
}

h1,
h2,
h3,
p,
li,
label,
.footer-text,
.empty-state,
.seller-lead {
  color: var(--text-main);
}

.site-header {
  border-bottom-color: var(--header-border);
  box-shadow: 0 6px 18px var(--glass-shadow);
}

.site-header.is-scrolled {
  background: var(--header-scrolled);
  border-bottom-color: var(--header-border-strong);
}

.brand,
.site-nav a,
.menu-toggle {
  color: var(--text-main);
}

.site-nav a.active,
.site-nav a:hover,
.brand span,
.text-link,
.price,
.button-outline,
.badge,
.agent-role,
.agent-social a,
.agent-public-social-link,
.seller-benefit-icon,
.seller-whatsapp-btn span {
  color: var(--accent-primary);
}

.theme-toggle,
button,
.seller-whatsapp-btn,
.review-auth-btn {
  background: var(--button-bg);
  color: var(--button-text);
  border-color: var(--border-soft);
}

.theme-toggle:hover,
button:hover,
.review-auth-btn:hover {
  background: var(--button-hover);
}

.hero-overlay {
  background: linear-gradient(115deg, rgba(8, 10, 16, 0.72) 15%, rgba(8, 10, 16, 0.45) 55%, rgba(8, 10, 16, 0.62) 100%);
}

.hero-content,
.hero h1,
.eyebrow,
.page-banner,
.page-banner h1,
.page-banner p,
.announcement-bar,
.announcement-track span {
  color: var(--text-main);
}

.page-banner,
.seller-hero {
  background: var(--section-banner);
}

.announcement-bar {
  background: var(--announcement-bg);
}

.section-dark,
.highlight-card,
.contact-form,
.seller-contact-card,
.seller-form,
.property-card,
.agent-card,
.agent-property-card,
.agent-public-profile,
.favorite-property-button,
.review-auth-btn-outline {
  background: var(--bg-card);
  color: var(--text-main);
  border-color: var(--border-soft);
  box-shadow: 0 12px 30px var(--card-shadow);
}

.highlight-card {
  background: var(--bg-secondary);
}

.section-dark h2,
.section-dark h3,
.section-dark p,
.section-dark li,
.advisory-section h2,
.advisory-section p,
.advisory-section span,
.advisory-section li,
.highlight-card h3,
.highlight-card .checklist li,
.agent-card h2,
.agent-card h3,
.agent-card p,
.agent-content h2,
.agent-public-summary h2,
.agent-public-stats h3 {
  color: var(--text-main);
}

.property-card h1,
.property-card h2,
.property-card h3,
.property-card p,
.property-meta,
.form-row label,
.contact-form,
.contact-form label,
.seller-form label,
.seller-contact-card p,
.seller-contact-card h2,
.agent-public-summary p,
.agent-public-stats p {
  color: var(--text-main);
}

.property-meta,
.property-card p:not(.price):not(.badge),
.agent-card p,
.agent-public-summary p,
.agent-public-stats p,
.seller-agent-message,
.seller-auth-message,
.form-message {
  color: var(--text-secondary);
}

.property-card,
.agent-card,
.seller-benefit-card,
.seller-contact-card,
.seller-form,
.highlight-card,
.contact-form,
.agent-public-profile,
.agent-property-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.property-card:hover,
.agent-card:hover,
.seller-benefit-card:hover,
.highlight-card:hover,
.agent-public-profile:hover,
.seller-contact-card:hover,
.seller-form:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 36px var(--card-shadow-hover);
}

.seller-benefit-card {
  background: var(--bg-card);
  border: 1px solid var(--border-soft);
}

.seller-benefit-icon {
  width: 4rem;
  height: 4rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-soft);
}

.seller-benefit-icon svg {
  width: 1.6rem;
  height: 1.6rem;
  stroke-width: 2;
}

.seller-benefit-card h3,
.seller-benefit-card p {
  color: var(--text-main);
}

.agent-card {
  background: var(--bg-card);
  color: var(--text-main);
}

.agent-card h3,
.agent-card h2 {
  color: var(--text-main);
}

.agent-card p,
.agent-role {
  color: var(--text-secondary);
}

.agent-social a,
.agent-public-social-link {
  background: var(--bg-secondary);
  border: 1px solid var(--border-soft);
}

.about-video-wrapper,
.detail-gallery,
.property-map,
.properties-map-full {
  background: var(--bg-secondary);
  border-color: var(--border-default);
}

.seller-form input,
.seller-form select,
.seller-form textarea,
.seller-agent-select,
.search-form input,
.search-form select,
.filter-grid input,
.filter-grid select,
.contact-form input,
.contact-form textarea {
  background: var(--bg-main);
  color: var(--text-main);
  border-color: var(--border-default);
}

.site-footer {
  border-top-color: var(--border-soft);
}

.footer-social a {
  color: var(--text-main);
  background: var(--bg-secondary);
  border-color: var(--border-soft);
}

.footer-social a:hover {
  color: var(--accent-primary);
}

body.dark .site-nav,
body.dark-mode .site-nav {
  background: var(--nav-mobile-bg);
  border-color: var(--border-soft);
}

body.dark .site-header,
body.dark-mode .site-header,
body.dark .site-footer,
body.dark-mode .site-footer,
body.dark .section,
body.dark-mode .section,
body.dark .section-properties,
body.dark-mode .section-properties {
  background: var(--bg-main);
}

body.dark .theme-toggle,
body.dark-mode .theme-toggle,
body.dark button,
body.dark-mode button,
body.dark .review-auth-btn,
body.dark-mode .review-auth-btn {
  background: var(--button-bg);
  color: var(--button-text);
}

@media (max-width: 720px) {
  .site-nav {
    background: var(--nav-mobile-bg);
    border-color: var(--border-soft);
  }
}

/* Unified color system */
:root {
  --bg-main: #fef2f2;
  --bg-secondary: rgba(255, 255, 255, 0.28);
  --bg-card: rgba(255, 255, 255, 0.35);
  --primary: #b91c1c;
  --primary-soft: rgba(254, 202, 202, 0.7);
  --text-main: #1f2937;
  --text-secondary: #6b7280;
  --text-inverse: #ffffff;
  --border-subtle: rgba(185, 28, 28, 0.14);
  --shadow-card: 0 12px 30px rgba(185, 28, 28, 0.12);
  --shadow-card-hover: 0 20px 38px rgba(185, 28, 28, 0.18);
  --header-border: rgba(255, 255, 255, 0.35);
  --header-scrolled: rgba(253, 242, 242, 0.3);
  --nav-mobile-bg: rgba(255, 255, 255, 0.2);
  --input-bg: rgba(255, 255, 255, 0.56);
}

[data-theme="dark"],
body.dark,
body.dark-mode {
  --bg-main: #1a0f0f;
  --bg-card: #2a1414;
  --primary: #ef4444;
  --primary-soft: #7f1d1d;
  --text-main: #f9fafb;
  --text-secondary: #d1d5db;
  --text-inverse: #ffffff;
  --border-subtle: rgba(255, 255, 255, 0.08);
  --shadow-card: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-card-hover: 0 14px 28px rgba(0, 0, 0, 0.5);
  --header-border: rgba(255, 255, 255, 0.05);
  --header-scrolled: rgba(26, 15, 15, 0.9);
  --nav-mobile-bg: rgba(5, 5, 5, 0.98);
  --input-bg: #241212;
}

body {
  background: var(--bg-main);
  color: var(--text-main);
}

body,
main,
.section,
.container,
.section-properties,
.terrenos-section,
.alquileres-section,
.advisory-section,
.agent-card-section,
.map-page-main,
.map-page-section,
.site-footer,
.page-banner,
.seller-hero,
.announcement-bar {
  background: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
li,
label,
.footer-text,
.brand,
.site-nav a,
.menu-toggle,
.property-card h1,
.property-card h2,
.property-card h3,
.property-card p,
.agent-card h1,
.agent-card h2,
.agent-card h3,
.agent-card p,
.highlight-card h3,
.highlight-card p,
.seller-form h2,
.seller-contact-card h2,
.seller-contact-card p,
.seller-benefit-card h3,
.seller-benefit-card p {
  color: var(--text-main);
}

.property-meta,
.text-muted,
.agent-role,
.empty-state,
.seller-auth-message,
.seller-agent-message,
.footer-text,
.checklist li,
.form-message,
.property-card p:not(.price):not(.badge),
.agent-card p,
.highlight-card .checklist li {
  color: var(--text-secondary);
}

.site-header {
  background: transparent;
  border-bottom: 1px solid var(--header-border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: none;
}

.site-header.is-scrolled {
  background: var(--header-scrolled);
  border-bottom-color: var(--header-border);
}

.brand span,
.text-link,
.price,
.badge,
.site-nav a:hover,
.site-nav a.active {
  color: var(--primary);
}

.site-nav a::after {
  background: var(--primary);
}

.theme-toggle {
  background: var(--bg-card);
  color: var(--primary);
  border: 1px solid var(--border-subtle);
}

.theme-toggle:hover {
  background: var(--primary-soft);
  color: var(--primary);
}

button,
.button,
.btn,
.seller-whatsapp-btn,
.review-auth-btn {
  background: var(--primary);
  color: #fff;
  border: 1px solid var(--primary);
  border-radius: 10px;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

button:hover,
.button:hover,
.btn:hover,
.seller-whatsapp-btn:hover,
.review-auth-btn:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  filter: brightness(0.92);
  transform: translateY(-2px);
}

.button-outline,
.btn-secondary,
.review-auth-btn-outline,
.nav-auth-action {
  background: transparent;
  color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 10px;
}

.button-outline:hover,
.btn-secondary:hover,
.review-auth-btn-outline:hover,
.nav-auth-action:hover {
  background: var(--primary-soft);
  color: var(--primary);
}

.property-card,
.agent-card,
.card,
.highlight-card,
.seller-benefit-card,
.seller-contact-card,
.seller-form,
.agent-property-card,
.review-card,
.dashboard-card,
.contact-form,
.favorite-property-button,
.review-auth-btn-outline {
  background: var(--bg-card);
  color: var(--text-main);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  padding: 16px;
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.property-card:hover,
.agent-card:hover,
.card:hover,
.highlight-card:hover,
.seller-benefit-card:hover,
.seller-contact-card:hover,
.seller-form:hover,
.agent-property-card:hover,
.review-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.property-card::before,
.property-card::after {
  display: none;
}

.property-card img,
.agent-card img,
.agent-property-card img {
  border-radius: 12px;
}

.section-dark,
.highlight-card,
.advisory-section,
.section-properties,
#agentsGrid,
.about-video-wrapper,
.detail-gallery,
.property-map,
.properties-map-full {
  background: transparent;
}

.about-video-wrapper,
.detail-gallery,
.property-map,
.properties-map-full,
.seller-agent-select,
.search-form input,
.search-form select,
.filter-grid input,
.filter-grid select,
.contact-form input,
.contact-form textarea,
.seller-form input,
.seller-form select,
.seller-form textarea {
  background: var(--input-bg);
  color: var(--text-main);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
}

.page-banner,
.seller-hero {
  padding-top: 2rem;
  padding-bottom: 1rem;
}

.page-banner h1,
.page-banner p,
.seller-hero h1,
.seller-hero p,
.section-dark h2,
.section-dark h3,
.section-dark p,
.section-dark li,
.advisory-section h2,
.advisory-section h3,
.advisory-section p,
.advisory-section li {
  color: var(--text-main);
}

.announcement-track span,
.eyebrow {
  color: #fff;
}

.agents-grid,
.properties-grid,
.seller-benefits {
  gap: 1.25rem;
}

.seller-benefit-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  background: var(--primary-soft);
  border: none;
  color: var(--primary);
}

.seller-benefit-icon i {
  font-size: 1.35rem;
  color: var(--primary);
}

.seller-whatsapp-btn span {
  color: inherit;
}

.filter-grid button,
.search-form button {
  min-height: 48px;
}

.site-footer {
  border-top: 1px solid var(--header-border);
}

.footer-social a {
  background: var(--bg-card);
  color: var(--text-main);
  border: 1px solid var(--border-subtle);
}

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

@media (max-width: 720px) {
  .site-nav {
    background: var(--nav-mobile-bg);
    border: 1px solid var(--header-border);
  }
}

/* Navbar glassmorphism refresh */
:root {
  --header-border: rgba(255, 255, 255, 0.34);
  --nav-mobile-bg: rgba(255, 255, 255, 0.22);
}

[data-theme="dark"],
body.dark,
body.dark-mode {
  --header-border: rgba(255, 255, 255, 0.05);
  --nav-mobile-bg: rgba(255, 255, 255, 0.06);
}

.site-header {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  z-index: 10;
  background: transparent;
  border-bottom: 1px solid var(--header-border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: none;
}

/* Brand identity refinement: premium typography + consistent light red in both themes */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-family: 'Inter', 'Segoe UI', sans-serif;
  font-weight: 800;
  font-size: clamp(1rem, 1.6vw, 1.28rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ff6b6b;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.18);
}

.brand-logo {
  width: auto;
  height: clamp(45px, 4.8vw, 63px);
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.brand span {
  line-height: 1.1;
}

.brand:hover {
  color: #ff8787;
}

body.dark .brand,
body.dark-mode .brand,
[data-theme="dark"] .brand {
  color: #ff7f7f;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

/* Light mode card borders: elegant red accent without affecting dark mode */
:root {
  --card-border-light: rgba(185, 28, 28, 0.5);
}

html[data-theme="light"] .property-card,
html[data-theme="light"] .agent-card,
html[data-theme="light"] .highlight-card,
html[data-theme="light"] .seller-benefit-card,
html[data-theme="light"] .seller-contact-card,
html[data-theme="light"] .agent-property-card,
html[data-theme="light"] .review-card,
html[data-theme="light"] .dashboard-card,
html[data-theme="light"] .contact-form,
html[data-theme="light"] .card {
  border: 1px solid var(--card-border-light);
}

/* Global header offset */
:root {
  --header-offset: 0px;
}

@media (max-width: 720px) {
  :root {
    --header-offset: 74px;
  }
}

.site-header.scrolled,
.site-header.is-scrolled,
body.dark .site-header,
body.dark-mode .site-header,
body.dark .site-header.scrolled,
body.dark .site-header.is-scrolled,
body.dark-mode .site-header.scrolled,
body.dark-mode .site-header.is-scrolled {
  background: transparent;
  border-bottom-color: var(--header-border);
  box-shadow: none;
}

.brand,
.site-nav a,
.menu-toggle,
.theme-toggle {
  color: var(--text-main);
}

@media (max-width: 720px) {
  .brand {
    gap: 0.55rem;
  }

  .brand-logo {
    height: 48px;
  }
}

.site-nav a {
  font-weight: 500;
}

.site-nav a:hover,
.site-nav a.active,
.menu-toggle:hover,
.theme-toggle:hover,
.theme-toggle:focus-visible {
  color: var(--primary);
}

.site-nav a::after {
  background: var(--primary);
  height: 2px;
}

.theme-toggle,
.nav-auth-action {
  background: transparent;
  color: var(--text-main);
  border: 1px solid var(--primary);
}

.theme-toggle:hover,
.theme-toggle:focus-visible,
.nav-auth-action:hover,
.nav-auth-action:focus-visible {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

@media (max-width: 720px) {
  .site-nav {
    background: transparent;
    border: 1px solid var(--header-border);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}


/* Professional light-mode redesign without altering dark mode */
body:not(.dark):not(.dark-mode) {
  --primary-red: #d32f2f;
  --primary-red-dark: #b71c1c;
  --primary-red-soft: #ef5350;
  --bg-main: #d32f2f;
  --bg-section: transparent;
  --bg-card: #ffffff;
  --card-bg: #ffffff;
  --card-text: var(--primary-red-dark);
  --section-dark: var(--primary-red-dark);
  --footer-bg: var(--footer-premium-bg);
  --text-main: #ffffff;
  --text-secondary: #4b5563;
  --text-inverse: #ffffff;
  --text-strong: #ffffff;
  --text-accent: var(--card-text);
  --accent: var(--primary-red);
  --accent-primary: var(--primary-red);
  --accent-strong: var(--primary-red-dark);
  --accent-strong-hover: #8f1616;
  --accent-soft: color-mix(in srgb, var(--primary-red-soft) 22%, white);
  --accent-softest: color-mix(in srgb, var(--primary-red-soft) 34%, white);
  --bg-soft: rgba(255, 255, 255, 0.12);
  --bg-muted: transparent;
  --bg-input: #ffffff;
  --border-default: rgba(0, 0, 0, 0.08);
  --border-muted: rgba(0, 0, 0, 0.08);
  --border-soft: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.14);
  --overlay-dark: rgba(0, 0, 0, 0.3);
  --header-border: rgba(255, 255, 255, 0.16);
  --header-border-strong: rgba(255, 255, 255, 0.24);
  --header-scrolled: rgba(183, 28, 28, 0.24);
  --glass-card: rgba(255, 255, 255, 0.96);
  --glass-card-strong: rgba(255, 255, 255, 0.98);
  --glass-muted: rgba(255, 255, 255, 0.7);
  --glass-subtle: rgba(255, 255, 255, 0.16);
  --glass-border: rgba(0, 0, 0, 0.08);
  --glass-border-strong: rgba(0, 0, 0, 0.1);
  --glass-shadow: rgba(0, 0, 0, 0.12);
  --card-shadow: rgba(0, 0, 0, 0.15);
  --card-shadow-hover: rgba(0, 0, 0, 0.22);
  --accent-shadow: rgba(211, 47, 47, 0.18);
  --accent-shadow-strong: rgba(183, 28, 28, 0.24);
  --button-bg: var(--primary-red);
  --button-hover: var(--primary-red-dark);
  --button-text: var(--text-inverse);
  --nav-mobile-bg: #f8f3ec;
  --section-banner: transparent;
  --announcement-bg: var(--section-dark);
  --surface-overlay: rgba(255, 255, 255, 0.08);
  --surface-overlay-strong: rgba(255, 255, 255, 0.16);
  --surface-border: rgba(255, 255, 255, 0.24);
  --surface-border-strong: rgba(255, 255, 255, 0.36);
  --surface-shadow: rgba(0, 0, 0, 0.2);
}

body:not(.dark):not(.dark-mode),
body:not(.dark):not(.dark-mode) main,
body:not(.dark):not(.dark-mode) .section,
body:not(.dark):not(.dark-mode) .section-alt,
body:not(.dark):not(.dark-mode) .section-properties,
body:not(.dark):not(.dark-mode) .advisory-section,
body:not(.dark):not(.dark-mode) .page-banner,
body:not(.dark):not(.dark-mode) .agent-card-section,
body:not(.dark):not(.dark-mode) .map-page-main,
body:not(.dark):not(.dark-mode) .map-page-section,
body:not(.dark):not(.dark-mode) .seller-hero {
  background: var(--bg-main);
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .section,
body:not(.dark):not(.dark-mode) .section-properties,
body:not(.dark):not(.dark-mode) .page-banner,
body:not(.dark):not(.dark-mode) .agent-card-section,
body:not(.dark):not(.dark-mode) .map-page-section,
body:not(.dark):not(.dark-mode) .seller-hero {
  background: var(--bg-section);
}

body:not(.dark):not(.dark-mode) h1,
body:not(.dark):not(.dark-mode) h2,
body:not(.dark):not(.dark-mode) h3,
body:not(.dark):not(.dark-mode) h4,
body:not(.dark):not(.dark-mode) h5,
body:not(.dark):not(.dark-mode) h6,
body:not(.dark):not(.dark-mode) .section-title,
body:not(.dark):not(.dark-mode) .section-header h2,
body:not(.dark):not(.dark-mode) .brand,
body:not(.dark):not(.dark-mode) .menu-toggle,
body:not(.dark):not(.dark-mode) .footer-text,
body:not(.dark):not(.dark-mode) .text-link,
body:not(.dark):not(.dark-mode) .badge {
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) p,
body:not(.dark):not(.dark-mode) li,
body:not(.dark):not(.dark-mode) label,
body:not(.dark):not(.dark-mode) .seller-agent-message {
  color: rgba(255, 255, 255, 0.9);
}

body:not(.dark):not(.dark-mode) .site-header,
body:not(.dark):not(.dark-mode) .site-header.scrolled,
body:not(.dark):not(.dark-mode) .site-header.is-scrolled,
body:not(.dark):not(.dark-mode) .navbar,
body:not(.dark):not(.dark-mode) .navbar-light {
  background: transparent;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

body:not(.dark):not(.dark-mode) .site-nav a {
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .site-nav a::after {
  background: rgba(255, 255, 255, 0.86);
}

body:not(.dark):not(.dark-mode) .site-nav a:hover,
body:not(.dark):not(.dark-mode) .site-nav a.active {
  color: var(--text-main);
  background: transparent;
}

body:not(.dark):not(.dark-mode) .brand span {
  color: rgba(255, 255, 255, 0.9);
}

body:not(.dark):not(.dark-mode) .theme-toggle {
  background: rgba(255, 255, 255, 0.14);
  color: var(--text-main);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

body:not(.dark):not(.dark-mode) .theme-toggle:hover,
body:not(.dark):not(.dark-mode) .theme-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.24);
  color: var(--text-main);
  border-color: rgba(255, 255, 255, 0.28);
}

body:not(.dark):not(.dark-mode) .hero {
  background: transparent;
  isolation: isolate;
}

body:not(.dark):not(.dark-mode) .hero-overlay {
  content: "";
}

body:not(.dark):not(.dark-mode) .hero-content {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .hero h1,
body:not(.dark):not(.dark-mode) .hero p,
body:not(.dark):not(.dark-mode) .hero .eyebrow {
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) button,
body:not(.dark):not(.dark-mode) .button-primary,
body:not(.dark):not(.dark-mode) .search-form button,
body:not(.dark):not(.dark-mode) .filter-grid button,
body:not(.dark):not(.dark-mode) .contact-form button,
body:not(.dark):not(.dark-mode) .nav-auth-action {
  background: var(--bg-card);
  color: var(--card-text);
}

body:not(.dark):not(.dark-mode) button:hover,
body:not(.dark):not(.dark-mode) .button-primary:hover,
body:not(.dark):not(.dark-mode) .search-form button:hover,
body:not(.dark):not(.dark-mode) .filter-grid button:hover,
body:not(.dark):not(.dark-mode) .contact-form button:hover,
body:not(.dark):not(.dark-mode) .nav-auth-action:hover {
  background: var(--accent-softest);
}

body:not(.dark):not(.dark-mode) .property-card,
body:not(.dark):not(.dark-mode) .agent-card,
body:not(.dark):not(.dark-mode) .agent-property-card,
body:not(.dark):not(.dark-mode) .seller-benefit-card,
body:not(.dark):not(.dark-mode) .seller-contact-card,
body:not(.dark):not(.dark-mode) .contact-form,
body:not(.dark):not(.dark-mode) .review-card,
body:not(.dark):not(.dark-mode) .dashboard-card,
body:not(.dark):not(.dark-mode) .favorite-property-button,
body:not(.dark):not(.dark-mode) .agent-public-profile,
body:not(.dark):not(.dark-mode) .agent-public-stats,
body:not(.dark):not(.dark-mode) .reviews-summary,
body:not(.dark):not(.dark-mode) .review-form {
  background: var(--card-bg);
  color: var(--card-text);
  border: 1px solid var(--border-soft);
  box-shadow: 0 10px 22px var(--card-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body:not(.dark):not(.dark-mode) .property-card:hover,
body:not(.dark):not(.dark-mode) .agent-card:hover,
body:not(.dark):not(.dark-mode) .seller-benefit-card:hover,
body:not(.dark):not(.dark-mode) .seller-contact-card:hover,
body:not(.dark):not(.dark-mode) .agent-property-card:hover,
body:not(.dark):not(.dark-mode) .review-card:hover {
  transform: translateY(-5px);
  background: var(--card-bg);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22);
}

body:not(.dark):not(.dark-mode) .property-card::after,
body:not(.dark):not(.dark-mode) .agent-card::after,
body:not(.dark):not(.dark-mode) .agent-property-card::after {
  border-color: var(--border-soft);
}

body:not(.dark):not(.dark-mode) .property-card h1,
body:not(.dark):not(.dark-mode) .property-card h2,
body:not(.dark):not(.dark-mode) .property-card h3,
body:not(.dark):not(.dark-mode) .agent-card h1,
body:not(.dark):not(.dark-mode) .agent-card h2,
body:not(.dark):not(.dark-mode) .agent-card h3,
body:not(.dark):not(.dark-mode) .agent-property-card h4,
body:not(.dark):not(.dark-mode) .seller-benefit-card h3,
body:not(.dark):not(.dark-mode) .seller-contact-card h2,
body:not(.dark):not(.dark-mode) .review-card strong,
body:not(.dark):not(.dark-mode) .agent-role,
body:not(.dark):not(.dark-mode) .agent-content h2,
body:not(.dark):not(.dark-mode) .agent-public-summary h2,
body:not(.dark):not(.dark-mode) .agent-public-stats h3,
body:not(.dark):not(.dark-mode) .favorite-property-button,
body:not(.dark):not(.dark-mode) .agent-public-social-link {
  color: var(--card-text);
}

body:not(.dark):not(.dark-mode) .property-card p,
body:not(.dark):not(.dark-mode) .property-card span,
body:not(.dark):not(.dark-mode) .property-card .property-meta,
body:not(.dark):not(.dark-mode) .property-card .text-link,
body:not(.dark):not(.dark-mode) .agent-card p,
body:not(.dark):not(.dark-mode) .agent-property-card p,
body:not(.dark):not(.dark-mode) .seller-benefit-card p,
body:not(.dark):not(.dark-mode) .seller-contact-card p,
body:not(.dark):not(.dark-mode) .review-card p,
body:not(.dark):not(.dark-mode) .review-card small,
body:not(.dark):not(.dark-mode) .agent-public-summary p,
body:not(.dark):not(.dark-mode) .agent-public-stats p {
  color: var(--text-secondary);
}

body:not(.dark):not(.dark-mode) .property-card .price {
  color: #c62828;
}

body:not(.dark):not(.dark-mode) .section-dark,
body:not(.dark):not(.dark-mode) .announcement-bar {
  background: var(--section-dark);
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .section-dark .highlight-card {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .section-dark h2,
body:not(.dark):not(.dark-mode) .section-dark h3,
body:not(.dark):not(.dark-mode) .section-dark p,
body:not(.dark):not(.dark-mode) .section-dark li,
body:not(.dark):not(.dark-mode) .announcement-bar span,
body:not(.dark):not(.dark-mode) .footer-text {
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .button-outline {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .search-form input,
body:not(.dark):not(.dark-mode) .search-form select,
body:not(.dark):not(.dark-mode) .filter-grid input,
body:not(.dark):not(.dark-mode) .filter-grid select,
body:not(.dark):not(.dark-mode) .contact-form input,
body:not(.dark):not(.dark-mode) .contact-form textarea,
body:not(.dark):not(.dark-mode) .seller-form input,
body:not(.dark):not(.dark-mode) .seller-form select,
body:not(.dark):not(.dark-mode) .seller-form textarea,
body:not(.dark):not(.dark-mode) .seller-agent-select {
  background: var(--bg-card);
  color: var(--card-text);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

body:not(.dark):not(.dark-mode) input::placeholder,
body:not(.dark):not(.dark-mode) textarea::placeholder {
  color: #6b7280;
}

body:not(.dark):not(.dark-mode) .footer-content {
  justify-items: center;
  text-align: center;
}

body:not(.dark):not(.dark-mode) .social-icon,
body:not(.dark):not(.dark-mode) .agent-social a {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-main);
  border-radius: 50%;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

body:not(.dark):not(.dark-mode) .social-icon:hover,
body:not(.dark):not(.dark-mode) .agent-social a:hover {
  background: rgba(255, 255, 255, 0.16);
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .agent-social svg {
  fill: #ffffff;
}

@media (max-width: 720px) {
  body:not(.dark):not(.dark-mode) .site-nav {
    background: rgba(183, 28, 28, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.16);
  }

  body:not(.dark):not(.dark-mode) .site-nav a {
    color: var(--text-main);
  }
}

.dashboard-message[data-type="success"] {
  color: #0f9d58;
}

.dashboard-message[data-type="error"] {
  color: #d93025;
}

.dashboard-image-uploader {
  display: grid;
  gap: 0.75rem;
}


.image-mode-selector {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.image-mode-selector label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 500;
}

.image-mode-panel {
  display: grid;
  gap: 0.65rem;
}

.image-url-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.6rem;
}

#propertyImageUrlInput,
#propertyImageFiles {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid var(--border-default);
  border-radius: 14px;
  background: var(--bg-card);
  color: var(--text-main);
}

.cover-radio-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
}

.uploader-progress {
  color: #0b57d0;
}

.uploader-error {
  color: #d93025;
}

.dashboard-label {
  font-weight: 600;
}

.dashboard-helper-text {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.92rem;
}

.property-video-fieldset {
  margin: 0;
  padding: 0.95rem;
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  background: color-mix(in srgb, var(--bg-card) 92%, var(--primary-red) 8%);
  display: grid;
  gap: 0.65rem;
}

.property-video-fieldset legend {
  padding: 0 0.4rem;
  color: var(--primary-red);
  font-weight: 700;
}

.property-video-section {
  margin-top: 1.5rem;
  padding: 1.2rem;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--bg-card) 90%, #fff 10%), var(--bg-card));
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
  display: grid;
  gap: 1rem;
}

.property-video-header h2 {
  margin: 0.2rem 0 0;
  color: var(--primary-red);
}

.property-video-eyebrow {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.property-video-frame-wrapper {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
}

.property-video-frame-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.property-video-frame-wrapper.is-tiktok {
  aspect-ratio: 9 / 16;
  max-width: 420px;
}

.property-video-fallback {
  display: grid;
  gap: 0.75rem;
}

.property-video-fallback p {
  margin: 0;
  color: var(--text-secondary);
}

.property-video-placeholder {
  border: 1px dashed var(--border-soft);
  border-radius: 12px;
  padding: 1rem;
  background: color-mix(in srgb, var(--bg-card) 92%, var(--primary-red) 8%);
}

.property-video-placeholder p {
  margin: 0;
  color: var(--text-secondary);
}

.image-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.85rem;
}

.image-preview-card {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  background: var(--bg-card);
  border: 1px solid var(--border-soft);
  border-radius: 14px;
}

.image-preview-card img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 10px;
}

.image-preview-meta {
  display: grid;
  gap: 0.15rem;
}

.image-preview-meta strong,
.image-preview-meta span,
.image-preview-card small {
  word-break: break-word;
}

.image-preview-actions {
  display: flex;
  justify-content: flex-end;
}

.image-preview-actions button,
.button-secondary {
  background: transparent;
  color: var(--text-main);
  border: 1px solid var(--border-default);
}


.image-preview-card.has-error {
  border-color: #d93025;
}

.image-preview-card.is-uploaded {
  border-color: #0f9d58;
}

.dashboard-form-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.dashboard-form-actions > * {
  flex: 1 1 180px;
}

button.is-loading {
  opacity: 0.7;
  cursor: wait;
}

.uploader-empty {
  grid-column: 1 / -1;
  margin: 0;
}

body.dark .property-dropzone,
body.dark-mode .property-dropzone,
body.dark .image-preview-card,
body.dark-mode .image-preview-card {
  border-color: var(--border-soft);
}

body.dark .property-video-section,
body.dark-mode .property-video-section {
  background: linear-gradient(145deg, color-mix(in srgb, var(--bg-card) 80%, #0f1116 20%), var(--bg-card));
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.38);
}

@media (max-width: 900px) {
  .property-video-section {
    padding: 1rem;
  }

  .property-video-frame-wrapper.is-tiktok {
    max-width: 100%;
  }
}


main {
  padding-top: 0;
}

.hero {
  margin: 0;
  padding: 0;
  position: relative;
}

@media (max-width: 768px) {
  .hero {
    min-height: 70vh;
    max-height: 70vh;
    height: 70vh;
  }
}


/* Light mode refinements for agent cards and public agent profile */
body:not(.dark):not(.dark-mode) .agent-card,
body:not(.dark):not(.dark-mode) .agent-profile-card,
body:not(.dark):not(.dark-mode) .agent-public-profile,
body:not(.dark):not(.dark-mode) .agent-public-stats,
body:not(.dark):not(.dark-mode) .agent-property-card {
  background: var(--primary-red);
  color: var(--text-main);
  border: none;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

body:not(.dark):not(.dark-mode) .agent-card h1,
body:not(.dark):not(.dark-mode) .agent-card h2,
body:not(.dark):not(.dark-mode) .agent-card h3,
body:not(.dark):not(.dark-mode) .agent-card p,
body:not(.dark):not(.dark-mode) .agent-profile-card h1,
body:not(.dark):not(.dark-mode) .agent-profile-card p,
body:not(.dark):not(.dark-mode) .agent-public-summary h2,
body:not(.dark):not(.dark-mode) .agent-public-summary p,
body:not(.dark):not(.dark-mode) .agent-public-stats h3,
body:not(.dark):not(.dark-mode) .agent-public-stats p,
body:not(.dark):not(.dark-mode) .agent-content h2,
body:not(.dark):not(.dark-mode) .agent-content p {
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .agent-card a,
body:not(.dark):not(.dark-mode) .agent-profile-card a,
body:not(.dark):not(.dark-mode) .agent-public-profile a,
body:not(.dark):not(.dark-mode) .agent-public-stats a,
body:not(.dark):not(.dark-mode) .agent-property-card a {
  color: var(--text-main);
  text-decoration: none;
  font-weight: 500;
}

body:not(.dark):not(.dark-mode) .agent-card a:hover,
body:not(.dark):not(.dark-mode) .agent-profile-card a:hover,
body:not(.dark):not(.dark-mode) .agent-public-profile a:hover,
body:not(.dark):not(.dark-mode) .agent-public-stats a:hover,
body:not(.dark):not(.dark-mode) .agent-property-card a:hover {
  opacity: 0.85;
}

body:not(.dark):not(.dark-mode) .agent-card .button,
body:not(.dark):not(.dark-mode) .agent-card button,
body:not(.dark):not(.dark-mode) .agent-card .button-outline,
body:not(.dark):not(.dark-mode) .agent-profile-card .button,
body:not(.dark):not(.dark-mode) .agent-profile-card button,
body:not(.dark):not(.dark-mode) .agent-profile-card .button-outline,
body:not(.dark):not(.dark-mode) .agent-public-profile .button,
body:not(.dark):not(.dark-mode) .agent-public-profile button,
body:not(.dark):not(.dark-mode) .agent-public-profile .button-outline,
body:not(.dark):not(.dark-mode) .agent-public-stats .button,
body:not(.dark):not(.dark-mode) .agent-public-stats button,
body:not(.dark):not(.dark-mode) .agent-public-stats .button-outline {
  background: rgba(255, 255, 255, 0.15);
  color: var(--text-main);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

body:not(.dark):not(.dark-mode) .agent-card .button:hover,
body:not(.dark):not(.dark-mode) .agent-card button:hover,
body:not(.dark):not(.dark-mode) .agent-card .button-outline:hover,
body:not(.dark):not(.dark-mode) .agent-profile-card .button:hover,
body:not(.dark):not(.dark-mode) .agent-profile-card button:hover,
body:not(.dark):not(.dark-mode) .agent-profile-card .button-outline:hover,
body:not(.dark):not(.dark-mode) .agent-public-profile .button:hover,
body:not(.dark):not(.dark-mode) .agent-public-profile button:hover,
body:not(.dark):not(.dark-mode) .agent-public-profile .button-outline:hover,
body:not(.dark):not(.dark-mode) .agent-public-stats .button:hover,
body:not(.dark):not(.dark-mode) .agent-public-stats button:hover,
body:not(.dark):not(.dark-mode) .agent-public-stats .button-outline:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.42);
}

body:not(.dark):not(.dark-mode) .agent-public-social-link {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--text-main);
}

body:not(.dark):not(.dark-mode) .agent-public-photo,
body:not(.dark):not(.dark-mode) .agent-card img {
  border-color: rgba(255, 255, 255, 0.28);
}

/* Light mode refinements for white-background forms */
body:not(.dark):not(.dark-mode) input,
body:not(.dark):not(.dark-mode) textarea,
body:not(.dark):not(.dark-mode) select {
  background: var(--bg-card);
  color: var(--card-text);
  border: 1px solid var(--border-default);
}

body:not(.dark):not(.dark-mode) input::placeholder,
body:not(.dark):not(.dark-mode) textarea::placeholder {
  color: var(--text-secondary);
}

body:not(.dark):not(.dark-mode) label,
body:not(.dark):not(.dark-mode) .form-row label,
body:not(.dark):not(.dark-mode) .contact-form label,
body:not(.dark):not(.dark-mode) .seller-form label,
body:not(.dark):not(.dark-mode) .seller-agent-label {
  color: var(--text-main);
  font-weight: 500;
}

body:not(.dark):not(.dark-mode) input:focus,
body:not(.dark):not(.dark-mode) textarea:focus,
body:not(.dark):not(.dark-mode) select:focus {
  outline: none;
  border-color: var(--primary-red);
  box-shadow: 0 0 0 2px rgba(198, 40, 40, 0.2);
}

body:not(.dark):not(.dark-mode) form button {
  background: var(--primary-red);
  color: var(--text-main);
  border: none;
}

body:not(.dark):not(.dark-mode) form button:hover {
  background: #b71c1c;
}


/* Premium card refinements and navbar spacing */
body:not(.dark):not(.dark-mode) .property-card,
body:not(.dark):not(.dark-mode) .agent-card,
body:not(.dark):not(.dark-mode) .agent-profile-card,
body:not(.dark):not(.dark-mode) .agent-public-profile,
body:not(.dark):not(.dark-mode) .agent-public-stats,
body:not(.dark):not(.dark-mode) .agent-property-card,
body:not(.dark):not(.dark-mode) .card {
  border: 1.5px solid #d4af37;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15),
              0 0 0 1px rgba(212, 175, 55, 0.2);
}

.agent-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25),
              0 0 0 1px rgba(212, 175, 55, 0.22);
}

body:not(.dark):not(.dark-mode) .agent-card:hover {
  background: var(--primary-red);
  color: var(--text-main);
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25),
              0 0 0 1px rgba(212, 175, 55, 0.22);
}

body:not(.dark):not(.dark-mode) .agent-card:hover h1,
body:not(.dark):not(.dark-mode) .agent-card:hover h2,
body:not(.dark):not(.dark-mode) .agent-card:hover h3,
body:not(.dark):not(.dark-mode) .agent-card:hover p,
body:not(.dark):not(.dark-mode) .agent-card:hover a {
  color: var(--text-main);
}

.site-header {
  width: 100%;
}

.site-header .container.nav-wrapper {
  display: grid;
  grid-template-columns: auto 1fr auto;
  justify-content: initial;
  background: transparent;
  background-color: transparent;
  box-shadow: none;
}

@media (max-width: 720px) {
  .nav-wrapper {
    padding: 0 20px;
  }

  .site-header .container.nav-wrapper {
    grid-template-columns: 1fr auto auto;
  }

  .site-nav {
    gap: 1rem;
  }
}

/* Persistent transparent navbar */
:root {
  --header-offset: 84px;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  height: auto;
  background: transparent;
  background-color: transparent;
  border-bottom: none;
  box-shadow: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.site-header.scrolled,
.site-header.is-scrolled,
body.dark .site-header,
body.dark-mode .site-header,
body.dark .site-header.scrolled,
body.dark .site-header.is-scrolled,
body.dark-mode .site-header.scrolled,
body.dark-mode .site-header.is-scrolled,
body:not(.dark):not(.dark-mode) .site-header,
body:not(.dark):not(.dark-mode) .site-header.scrolled,
body:not(.dark):not(.dark-mode) .site-header.is-scrolled,
.navbar,
.navbar-light,
body:not(.dark):not(.dark-mode) .navbar,
body:not(.dark):not(.dark-mode) .navbar-light {
  background: transparent;
  background-color: transparent;
  border-bottom: none;
  box-shadow: none;
}

.nav-wrapper,
.site-header .container.nav-wrapper,
body.dark .nav-wrapper,
body.dark-mode .nav-wrapper,
body:not(.dark):not(.dark-mode) .nav-wrapper {
  background: transparent;
  background-color: transparent;
  box-shadow: none;
}

body {
  padding-top: var(--header-offset);
}

main {
  padding-top: 0;
}

@media (max-width: 720px) {
  :root {
    --header-offset: 74px;
  }

  .site-header {
    height: auto;
  }
}


/* Footer legal minimalista */
.site-footer {
  padding: 1.5rem 0 2rem;
  background: transparent;
  border-top: 1px solid var(--border-soft);
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  text-align: center;
}

.footer-legal-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.5rem;
}

.footer-legal-link {
  position: relative;
  color: var(--footer-premium-text);
  font-size: 0.92rem;
  font-weight: 500;
  transition: color 0.25s ease;
}

.footer-legal-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.18rem;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
  opacity: 0.8;
}

.footer-legal-link:hover,
.footer-legal-link:focus-visible {
  color: var(--footer-premium-text-hover);
}

.footer-legal-link:hover::after,
.footer-legal-link:focus-visible::after {
  transform: scaleX(1);
}

.footer-text {
  margin: 0;
  font-size: 0.82rem;
  color: var(--text-secondary);
}

.legal-page {
  --legal-text-color: #111111;
  padding: clamp(6rem, 10vw, 8rem) 0 4rem;
}

body.dark .legal-page,
body.dark-mode .legal-page,
[data-theme="dark"] .legal-page {
  --legal-text-color: #ffffff;
}

.legal-shell {
  max-width: 860px;
}

[data-theme="light"] .legal-container,
[data-theme="light"] .legal-container * {
  color: #000000 !important;
}

.legal-card,
.legal-placeholder {
  background: var(--glass-card);
  border: 1px solid var(--border-soft);
  border-radius: 24px;
  box-shadow: 0 18px 45px var(--glass-shadow);
  color: var(--legal-text-color);
}

.legal-card :where(p, li, span, strong, em, small, a),
.legal-placeholder :where(p, li, span, strong, em, small, a) {
  color: var(--legal-text-color);
}

.legal-card {
  padding: clamp(1.5rem, 3vw, 3rem);
}

.legal-intro {
  margin-bottom: 2rem;
}

.legal-card h1,
.legal-card h2,
.legal-placeholder h2 {
  color: var(--legal-text-color);
}

.legal-intro p {
  color: var(--legal-text-color);
}

.legal-sections {
  display: grid;
  gap: 1.25rem;
}

.legal-section {
  padding-top: 1rem;
  border-top: 1px solid var(--border-soft);
}

.legal-section:first-child {
  padding-top: 0;
  border-top: none;
}

.legal-section h2 {
  font-size: 1.35rem;
  margin-bottom: 0.65rem;
}

.legal-section p,
.legal-section li,
.license-note p {
  color: var(--legal-text-color);
}

.legal-section ul {
  margin: 0;
  padding-left: 1.2rem;
}

.legal-stack {
  display: grid;
  gap: 1.5rem;
}

.legal-placeholder {
  padding: 1.5rem;
  border-style: dashed;
}

.legal-placeholder h2 {
  margin-bottom: 0.5rem;
  color: var(--legal-text-color);
}

.legal-documents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.legal-document-slot {
  min-height: 170px;
  padding: 1.25rem;
  border-radius: 18px;
  border: 1px dashed var(--border-strong);
  background: var(--surface-overlay);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.75rem;
}

.legal-document-slot span {
  display: inline-flex;
  width: fit-content;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: var(--surface-overlay-strong);
  color: var(--legal-text-color);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.legal-document-slot p {
  margin: 0;
  color: var(--legal-text-color);
}

@media (max-width: 640px) {
  .footer-legal-nav {
    flex-direction: column;
    gap: 0.6rem;
  }

  .site-footer {
    padding-bottom: 1.5rem;
  }
}

.footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.85rem;
  width: 100%;
}

.footer-social-link {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border-soft) 88%, transparent);
  background: color-mix(in srgb, var(--glass-card) 24%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--glass-shadow) 38%, transparent);
  transition: transform 0.25s ease, color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.footer-social-link svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentColor;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
  color: var(--accent-primary);
  border-color: color-mix(in srgb, var(--accent-primary) 45%, var(--border-soft));
  background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--accent-shadow) 70%, transparent);
  transform: translateY(-2px) scale(1.08);
}

.footer-social-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent-primary) 55%, white);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .footer-social {
    gap: 0.7rem;
  }

  .footer-social-link {
    width: 2.6rem;
    height: 2.6rem;
  }
}

/* Advisory card visual fixes */
.section-asesoria {
  padding: 60px 20px;
}

.section-asesoria .highlight-card {
  border-radius: 14px;
  padding: 30px;
}

.section-asesoria .btn-asesoria {
  background: #d62828 !important;
  color: #ffffff !important;
  border: none;
  opacity: 1 !important;
  visibility: visible !important;
}

.section-asesoria .btn-asesoria:hover {
  background: #b71c1c !important;
  color: #ffffff !important;
}

[data-theme="dark"] .section-asesoria,
body.dark .section-asesoria,
body.dark-mode .section-asesoria {
  color: #ffffff !important;
}

[data-theme="dark"] .section-asesoria h2,
[data-theme="dark"] .section-asesoria h3,
[data-theme="dark"] .section-asesoria p,
body.dark .section-asesoria h2,
body.dark .section-asesoria h3,
body.dark .section-asesoria p,
body.dark-mode .section-asesoria h2,
body.dark-mode .section-asesoria h3,
body.dark-mode .section-asesoria p {
  color: #ffffff !important;
}

/* Force homepage marquee/announcement bar colors across light and dark themes */
.announcement-bar,
.announcement-bar *,
body.dark .announcement-bar,
body.dark .announcement-bar *,
body.dark-mode .announcement-bar,
body.dark-mode .announcement-bar *,
body.light .announcement-bar,
body.light .announcement-bar * {
  background-color: #FFFFFF !important;
  color: var(--primary-red-fixed) !important;
}

.announcement-bar {
  background: #FFFFFF !important;
}

.announcement-track span,
body.dark .announcement-track span,
body.dark-mode .announcement-track span,
body.light .announcement-track span {
  color: var(--primary-red-fixed) !important;
}


/* Light mode visibility fixes for seller form and reviews summary */
body.light .seller-form,
body.light .seller-form *,
[data-theme="light"] body .seller-form,
body:not(.dark):not(.dark-mode) .seller-form,
body:not(.dark):not(.dark-mode) .seller-form * {
  color: #000000 !important;
}

body.light .seller-form h1,
body.light .seller-form h2,
body.light .seller-form h3,
[data-theme="light"] body .seller-form h1,
[data-theme="light"] body .seller-form h2,
[data-theme="light"] body .seller-form h3,
body:not(.dark):not(.dark-mode) .seller-form h1,
body:not(.dark):not(.dark-mode) .seller-form h2,
body:not(.dark):not(.dark-mode) .seller-form h3 {
  color: #000000 !important;
}

body.light .reviews-summary,
body.light .reviews-summary *,
[data-theme="light"] body .reviews-summary,
[data-theme="light"] body .reviews-summary *,
body:not(.dark):not(.dark-mode) .reviews-summary,
body:not(.dark):not(.dark-mode) .reviews-summary * {
  color: var(--primary-red) !important;
}

body.light .reviews-summary svg,
[data-theme="light"] body .reviews-summary svg,
body:not(.dark):not(.dark-mode) .reviews-summary svg {
  fill: var(--primary-red) !important;
  stroke: var(--primary-red) !important;
}

/* ===== Diamantes Realty Group Premium Visual System (Brand unified light/dark) ===== */
:root {
  /* Corporate palette */
  --color-brand-red: #9e0b0f;
  --color-brand-beige: #f1e6dd;
  --color-brand-black: #1b1b1b;
  --color-brand-gold: #d4af37;
  --color-brand-silver: #c0c0c0;
  --color-brand-white: #ffffff;

  /* Typography */
  --font-heading: "Cormorant Garamond", "Times New Roman", serif;
  --font-body: "Inter", "Segoe UI", Arial, sans-serif;

  /* Core tokens (light) */
  --bg-app: var(--color-brand-beige);
  --bg-soft-section: #f8efe8;
  --bg-surface: var(--color-brand-white);
  --bg-surface-alt: #fcf8f4;
  --bg-elevated: #fffdfb;
  --bg-overlay: rgba(27, 27, 27, 0.42);
  --bg-navbar: rgba(241, 230, 221, 0.82);
  --bg-navbar-mobile: rgba(255, 252, 249, 0.96);
  --bg-footer: #170f10;

  --text-primary: var(--color-brand-black);
  --text-secondary: #4a3f3b;
  --text-muted: #6f625d;
  --text-on-brand: var(--color-brand-white);
  --text-on-dark: #f8f1eb;

  --border-default: rgba(27, 27, 27, 0.1);
  --border-soft: rgba(27, 27, 27, 0.07);
  --border-strong: rgba(158, 11, 15, 0.28);

  --shadow-sm: 0 8px 22px rgba(27, 27, 27, 0.08);
  --shadow-md: 0 14px 34px rgba(27, 27, 27, 0.11);
  --shadow-lg: 0 20px 48px rgba(27, 27, 27, 0.14);

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;

  --action-primary: var(--color-brand-red);
  --action-primary-hover: #86080c;
  --action-secondary: #2c2321;
  --action-secondary-hover: #191312;
  --action-outline: rgba(158, 11, 15, 0.14);

  --focus-ring: 0 0 0 3px rgba(158, 11, 15, 0.22);
  --premium-accent: var(--color-brand-gold);
}

body.dark,
body.dark-mode,
[data-theme="dark"] {
  --bg-app: #1b1b1b;
  --bg-soft-section: #221d1c;
  --bg-surface: #26211f;
  --bg-surface-alt: #2f2927;
  --bg-elevated: #312a28;
  --bg-overlay: rgba(9, 9, 9, 0.52);
  --bg-navbar: rgba(30, 26, 24, 0.84);
  --bg-navbar-mobile: rgba(34, 29, 27, 0.96);
  --bg-footer: #120f0e;

  --text-primary: #f7ede7;
  --text-secondary: #d9c5b8;
  --text-muted: #b6a296;
  --text-on-brand: #fff5f6;
  --text-on-dark: #fff5f0;

  --border-default: rgba(241, 230, 221, 0.15);
  --border-soft: rgba(241, 230, 221, 0.09);
  --border-strong: rgba(158, 11, 15, 0.5);

  --shadow-sm: 0 8px 22px rgba(0, 0, 0, 0.32);
  --shadow-md: 0 14px 34px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 22px 52px rgba(0, 0, 0, 0.55);

  --action-primary: #9e0b0f;
  --action-primary-hover: #bf1c21;
  --action-secondary: #f1e6dd;
  --action-secondary-hover: #ffffff;
  --action-outline: rgba(241, 230, 221, 0.14);

  --focus-ring: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

html, body {
  font-family: var(--font-body);
  letter-spacing: 0.01em;
  background: var(--bg-app) !important;
  color: var(--text-primary);
}

main,
.section,
.section-properties,
.page-banner,
.map-page-main,
.map-page-section {
  background: transparent !important;
  color: var(--text-primary);
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-heading) !important;
  letter-spacing: 0.015em;
  line-height: 1.2;
  color: var(--text-primary);
}

p, li, label, input, textarea, select, button, a {
  font-family: var(--font-body);
}

.section { padding: clamp(3.8rem, 6vw, 5.4rem) 0; }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: var(--bg-navbar) !important;
  border-bottom: 1px solid var(--border-default);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.site-header.is-scrolled,
.site-header.scrolled {
  background: var(--bg-navbar) !important;
  border-bottom: 1px solid var(--border-default);
  box-shadow: var(--shadow-sm);
}

.brand { color: var(--text-primary) !important; font-weight: 700; letter-spacing: 0.08em; }
.brand span { color: var(--action-primary) !important; }

.site-nav a {
  color: var(--text-primary) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 999px;
}
.site-nav a::after { background: var(--action-primary) !important; }
.site-nav a:hover,
.site-nav a.active {
  color: var(--action-primary) !important;
  background: var(--action-outline);
}

.theme-toggle,
.menu-toggle {
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  color: var(--text-primary);
}
.theme-toggle:hover,
.menu-toggle:hover { box-shadow: var(--shadow-sm); color: var(--action-primary); }

.hero-overlay {
  background:
    linear-gradient(180deg, rgba(27, 27, 27, 0.56) 0%, rgba(27, 27, 27, 0.5) 45%, rgba(27, 27, 27, 0.66) 100%),
    linear-gradient(120deg, rgba(158, 11, 15, 0.2), rgba(241, 230, 221, 0.08));
}

.hero-content {
  background: linear-gradient(145deg, rgba(27, 27, 27, 0.5), rgba(27, 27, 27, 0.18));
  border: 1px solid rgba(241, 230, 221, 0.2);
  border-radius: var(--radius-lg);
  padding: clamp(1.2rem, 2.2vw, 1.8rem);
  box-shadow: var(--shadow-lg);
}
.premium-hero .hero-static-content {
  display: grid;
  gap: 0.25rem;
}

.premium-hero .hero-search-content {
  margin-top: 0;
}

.premium-hero .hero-static-content .eyebrow {
  color: #c1121f !important;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.premium-hero .hero-static-content .hero-license {
  margin: 0.12rem 0 0.65rem;
  font-family: "Inter", sans-serif;
  font-size: clamp(0.72rem, 1.35vw, 0.86rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #facc15 !important;
}
.premium-hero .hero-static-content h1 {
  color: #ffffff !important;
  text-wrap: balance;
}
.premium-hero .hero-static-content .hero-description {
  color: #ffffff !important;
}

/* Unified control system */
button,
.search-form button,
.filter-grid button,
.contact-form button,
.seller-form button,
.dashboard-form button,
.button,
.btn,
.button-secondary,
.secondary,
.ghost,
.button-outline,
.review-auth-btn,
.review-auth-btn-outline {
  min-height: 46px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  padding: 0.7rem 1rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  transition: all 0.24s ease;
}

button,
.search-form button,
.filter-grid button,
.contact-form button,
.seller-form button,
.dashboard-form button,
.btn-primary,
#addBtn,
#updateBtn {
  background: var(--action-primary);
  color: var(--text-on-brand);
  border-color: var(--action-primary);
}
button:hover,
.search-form button:hover,
.filter-grid button:hover,
.contact-form button:hover,
.seller-form button:hover,
.dashboard-form button:hover,
.btn-primary:hover,
#addBtn:hover,
#updateBtn:hover { background: var(--action-primary-hover); border-color: var(--action-primary-hover); transform: translateY(-1px); }

.secondary,
.button-secondary,
.btn-secondary {
  background: var(--bg-surface-alt);
  color: var(--text-primary);
  border-color: var(--border-default);
}
.secondary:hover,
.button-secondary:hover,
.btn-secondary:hover { background: var(--bg-elevated); }

.ghost,
.button-outline,
.review-auth-btn-outline,
.nav-auth-action {
  background: transparent;
  color: var(--action-primary) !important;
  border-color: var(--action-primary);
}
.ghost:hover,
.button-outline:hover,
.review-auth-btn-outline:hover,
.nav-auth-action:hover {
  background: var(--action-outline);
  color: var(--action-primary) !important;
}

input,
select,
textarea,
.search-form input,
.search-form select,
.filter-grid input,
.filter-grid select,
.contact-form input,
.contact-form textarea,
.seller-form input,
.seller-form select,
.seller-form textarea,
.seller-agent-select {
  background: var(--bg-surface) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: var(--radius-sm);
  min-height: 46px;
  padding: 0.72rem 0.85rem;
}

textarea { min-height: 120px; }

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-color: var(--action-primary) !important;
}

/* Cards and panel surfaces */
.property-card,
.agent-card,
.agent-property-card,
.dashboard-card,
.contact-form,
.highlight-card,
.seller-benefit-card,
.seller-form,
.seller-contact-card,
.review-card,
.reviews-summary,
.review-form,
.agent-public-profile,
.agent-public-stats,
.dashboard-auth-box,
.panel-header,
.property-form,
.manager-panel,
.preview-section,
.console-section,
.login-card {
  background: var(--bg-surface) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
}

.property-card,
.agent-card,
.seller-benefit-card,
.review-card,
.agent-public-profile {
  overflow: hidden;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.property-card:hover,
.agent-card:hover,
.seller-benefit-card:hover,
.review-card:hover,
.agent-public-profile:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg) !important;
  border-color: var(--border-strong) !important;
}

.property-card img,
.agent-photo,
.agent-card img { border-radius: 14px 14px 0 0; }

.property-card h1,
.property-card h2,
.property-card h3,
.agent-card h2,
.agent-card h3,
.agent-public-summary h2,
.seller-benefit-card h3,
.seller-form h2,
.seller-contact-card h2,
.contact-form h2 { color: var(--text-primary) !important; }

.property-meta,
.property-card p,
.agent-card p,
.agent-role,
.agent-public-summary p,
.agent-public-stats p,
.form-message,
.footer-text,
.seller-lead,
.seller-agent-message,
.seller-auth-message { color: var(--text-secondary) !important; }

.price { color: var(--action-primary) !important; font-weight: 800; letter-spacing: 0.01em; }

.badge,
.property-status-tag {
  background: rgba(158, 11, 15, 0.1) !important;
  color: var(--action-primary) !important;
  border: 1px solid rgba(158, 11, 15, 0.2) !important;
  font-weight: 700;
}

.property-card.is-featured,
.property-card.is-featured::after {
  border-color: rgba(212, 175, 55, 0.66) !important;
}
.property-card.is-featured::before {
  display: block;
  background: linear-gradient(110deg, transparent 0%, rgba(212, 175, 55, 0.2) 50%, transparent 100%);
}

.agent-social a,
.agent-public-social-link,
.footer-social a {
  background: var(--bg-surface-alt) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--action-primary) !important;
}
.agent-social a:hover,
.agent-public-social-link:hover,
.footer-social a:hover {
  background: rgba(158, 11, 15, 0.08) !important;
  border-color: rgba(158, 11, 15, 0.35) !important;
}

.section-dark {
  background: linear-gradient(160deg, color-mix(in srgb, var(--bg-soft-section) 65%, var(--bg-app)), var(--bg-app)) !important;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
}

.highlight-card { border-left: 3px solid var(--color-brand-gold) !important; }

.page-banner h1,
.section-header h2 { letter-spacing: 0.02em; }

.announcement-bar {
  background: var(--bg-surface);
  border-top: 1px solid rgba(158, 11, 15, 0.16);
  border-bottom: 1px solid rgba(158, 11, 15, 0.16);
}
.announcement-track span { color: var(--action-primary) !important; font-weight: 700; }

.site-footer {
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg-footer) 90%, var(--color-brand-black)), var(--bg-footer)) !important;
  border-top: 1px solid rgba(212, 175, 55, 0.22);
  padding-top: 2rem;
  padding-bottom: 1.4rem;
}
.site-footer .footer-text,
.site-footer p,
.site-footer a { color: var(--footer-premium-text) !important; }

/* Tables / internal panels */
.properties-table-wrapper,
.properties-table,
.dashboard-property-map,
.location-map,
.json-console,
.property-map,
.properties-map-full,
.detail-gallery {
  border-color: var(--border-default) !important;
  background: var(--bg-surface-alt) !important;
  border-radius: var(--radius-md);
}

.properties-table th,
.properties-table td { border-bottom-color: var(--border-soft) !important; color: var(--text-primary); }
.properties-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--bg-surface-alt) 70%, var(--bg-app)); }

@media (max-width: 720px) {
  .site-nav {
    background: var(--bg-navbar-mobile) !important;
    border: 1px solid var(--border-default) !important;
    box-shadow: var(--shadow-md);
    border-radius: 14px;
  }

  .hero-content {
    margin-top: 1.5rem;
    padding: 1rem;
  }

  .section { padding: 3.1rem 0; }
}

/* ===== 2026-03 visual polish: light readability + premium operation tabs + footer harmony ===== */
body:not(.dark):not(.dark-mode),
[data-theme="light"] body {
  --text-primary: #111111;
  --text-secondary: #2e2724;
  --text-muted: #4a413c;
  --text-main: #111111;
  --card-text: #111111;
  --text-accent: #111111;
}

body:not(.dark):not(.dark-mode) .hero-operation-tabs {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  padding: 0.4rem;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 250, 246, 0.98), rgba(246, 236, 227, 0.96));
  border: 1px solid rgba(27, 27, 27, 0.14);
  box-shadow: 0 12px 26px rgba(27, 27, 27, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

body:not(.dark):not(.dark-mode) .hero-operation-tab {
  min-width: 128px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--color-brand-beige) 92%, white);
  color: var(--text-primary);
  padding: 0.62rem 1.15rem;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: background-color 0.24s ease, border-color 0.24s ease, color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
}

body:not(.dark):not(.dark-mode) .hero-operation-tab:hover {
  border-color: rgba(158, 11, 15, 0.3);
  background: #f8ece2;
  color: #3a312e;
  transform: translateY(-1px);
}

body:not(.dark):not(.dark-mode) .hero-operation-tab.is-active {
  background: linear-gradient(145deg, #9e0b0f, #7f080c);
  border-color: rgba(255, 244, 238, 0.44);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(158, 11, 15, 0.34);
}

body.dark .hero-operation-tabs,
body.dark-mode .hero-operation-tabs,
[data-theme="dark"] .hero-operation-tabs {
  border-radius: 14px;
  padding: 0.4rem;
  gap: 0.35rem;
  background: linear-gradient(180deg, rgba(37, 30, 29, 0.95), rgba(27, 23, 22, 0.96));
  border: 1px solid rgba(241, 230, 221, 0.22);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

body.dark .hero-operation-tab,
body.dark-mode .hero-operation-tab,
[data-theme="dark"] .hero-operation-tab {
  min-width: 128px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: rgba(241, 230, 221, 0.06);
  color: #f2dfd5;
}

body.dark .hero-operation-tab:hover,
body.dark-mode .hero-operation-tab:hover,
[data-theme="dark"] .hero-operation-tab:hover {
  border-color: rgba(241, 230, 221, 0.32);
  background: rgba(241, 230, 221, 0.12);
}

body.dark .hero-operation-tab.is-active,
body.dark-mode .hero-operation-tab.is-active,
[data-theme="dark"] .hero-operation-tab.is-active {
  background: linear-gradient(145deg, #b21419, #8f0a0e);
  color: #fff8f3;
  border-color: rgba(241, 230, 221, 0.24);
  box-shadow: 0 10px 24px rgba(158, 11, 15, 0.48);
}

@media (max-width: 720px) {
  body:not(.dark):not(.dark-mode) .hero-operation-tabs {
    width: 100%;
    justify-content: stretch;
  }

  body:not(.dark):not(.dark-mode) .hero-operation-tab,
  body.dark .hero-operation-tab,
  body.dark-mode .hero-operation-tab,
  [data-theme="dark"] .hero-operation-tab {
    flex: 1 1 0;
    min-width: 0;
  }
}

/* ===== Premium map markers + previews ===== */
.map-price-marker-wrapper {
  background: transparent;
  border: 0;
}

.map-price-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
  max-width: 128px;
  height: 34px;
  padding: 0 0.7rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, #ffffff 65%, transparent);
  background: linear-gradient(145deg, #c83232, #931f1f);
  color: #fff9f2;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 20px rgba(104, 16, 16, 0.26);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.map-price-marker--alquiler {
  background: linear-gradient(145deg, #544337, #2f241d);
  color: #f8efe6;
}

.map-price-marker-wrapper.is-active .map-price-marker,
.map-price-marker:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 14px 24px rgba(104, 16, 16, 0.32);
  filter: saturate(1.06);
}

.map-preview-popup .leaflet-popup-content-wrapper {
  border-radius: 18px;
  padding: 0;
  box-shadow: 0 28px 50px rgba(15, 23, 42, 0.28);
  overflow: hidden;
}

.map-preview-popup .leaflet-popup-content {
  margin: 0 !important;
  width: 260px !important;
}

.map-preview-card {
  display: block;
  color: inherit;
  background: var(--card-bg);
  text-decoration: none;
}

.map-preview-card img {
  width: 100%;
  height: 132px;
  object-fit: cover;
  display: block;
  background: color-mix(in srgb, var(--accent-primary) 8%, var(--card-bg));
}

.map-preview-content {
  padding: 0.75rem 0.82rem 0.9rem;
}

.map-preview-price {
  margin: 0;
  color: var(--accent-primary);
  font-weight: 800;
  font-size: 0.95rem;
}

.map-preview-content h3 {
  margin: 0.28rem 0 0.2rem;
  font-size: 0.98rem;
  line-height: 1.3;
}

.map-preview-location,
.map-preview-summary {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--text-secondary);
}

.map-preview-summary {
  margin-top: 0.3rem;
}

/* ===== Property feature icons ===== */
.property-meta.property-meta-icons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 0.7rem;
}

.property-meta.property-meta-icons span {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.property-meta.property-meta-icons svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  fill: currentColor;
  opacity: 0.9;
}

[data-theme="dark"] .map-preview-popup .leaflet-popup-content-wrapper,
body.dark .map-preview-popup .leaflet-popup-content-wrapper,
body.dark-mode .map-preview-popup .leaflet-popup-content-wrapper {
  background: #1b1918;
  border: 1px solid rgba(248, 241, 235, 0.16);
}

[data-theme="dark"] .map-preview-card,
body.dark .map-preview-card,
body.dark-mode .map-preview-card {
  background: #1b1918;
  color: #f8efe6;
}

[data-theme="dark"] .map-preview-location,
[data-theme="dark"] .map-preview-summary,
body.dark .map-preview-location,
body.dark .map-preview-summary,
body.dark-mode .map-preview-location,
body.dark-mode .map-preview-summary {
  color: #d7cbc2;
}

@media (max-width: 720px) {
  .map-preview-popup .leaflet-popup-content {
    width: 224px !important;
  }

  .property-meta.property-meta-icons {
    grid-template-columns: 1fr;
  }
}

.property-feature-list li {
  display: flex;
  align-items: center;
  gap: 0.48rem;
}

.property-feature-list li svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
  opacity: 0.9;
  flex: 0 0 15px;
}

/* Final visual identity overrides */
.site-header .brand {
  font-family: 'Inter', 'Segoe UI', sans-serif;
  font-weight: 800;
  font-size: clamp(1rem, 1.6vw, 1.28rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary-red-fixed) !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
}

.site-header .brand:hover {
  color: var(--primary-red-fixed) !important;
}

body.dark .site-header .brand,
body.dark-mode .site-header .brand,
[data-theme="dark"] .site-header .brand {
  color: var(--primary-red-fixed) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.48);
}

html[data-theme="light"] .property-card,
html[data-theme="light"] .agent-card,
html[data-theme="light"] .highlight-card,
html[data-theme="light"] .seller-benefit-card,
html[data-theme="light"] .seller-contact-card,
html[data-theme="light"] .agent-property-card,
html[data-theme="light"] .review-card,
html[data-theme="light"] .dashboard-card,
html[data-theme="light"] .contact-form,
html[data-theme="light"] .card {
  border: 1px solid var(--card-border-light);
}

/* ===== Brand lock: fixed red title + fixed red footer in all themes ===== */
:root {
  --brand-red-premium: #9e0b0f;
}

.site-header .brand,
.site-header .brand:hover,
.site-header .brand:focus-visible,
body.dark .site-header .brand,
body.dark-mode .site-header .brand,
[data-theme="dark"] .site-header .brand {
  color: var(--brand-red-premium) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.34);
}

.site-footer,
body.dark .site-footer,
body.dark-mode .site-footer,
[data-theme="dark"] .site-footer {
  background: var(--footer-premium-bg) !important;
  border-top: 1px solid var(--footer-premium-border) !important;
}

.site-footer .footer-text,
.site-footer p,
.site-footer a,
.site-footer .footer-legal-link {
  color: var(--footer-premium-text) !important;
}

.site-footer .footer-social-link,
.site-footer .footer-social a {
  color: var(--footer-premium-text) !important;
  background: var(--footer-premium-social-bg) !important;
  border-color: var(--footer-premium-border) !important;
}

.site-footer .footer-social-link:hover,
.site-footer .footer-social-link:focus-visible,
.site-footer .footer-social a:hover {
  color: var(--footer-premium-text-hover) !important;
  background: rgba(5, 5, 5, 0.52) !important;
  border-color: var(--footer-premium-text-hover) !important;
}

/* ===== Hero background-only rotation + compact search refinements (2026-03-30) ===== */
.hero {
  min-height: clamp(560px, 78vh, 860px);
  max-height: none;
  height: auto;
}

.hero-slider,
.hero-slide,
.hero-slide img {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.hero-slide {
  transition: opacity 1100ms ease;
  will-change: opacity;
}

.hero-content {
  max-width: 700px;
  padding: clamp(1rem, 1.8vw, 1.5rem);
}

.hero .search-form {
  margin-top: 1.1rem;
  grid-template-columns: minmax(220px, 1.7fr) minmax(170px, 1fr) auto;
  gap: 0.58rem;
}

.hero .hero-operation-tabs {
  padding: 0.32rem;
  gap: 0.3rem;
}

.hero .hero-operation-tab {
  min-width: 112px;
  padding: 0.48rem 0.82rem;
  font-size: 0.89rem;
}

.hero .search-form input,
.hero .search-form select {
  min-height: 41px;
  padding: 0.58rem 0.72rem;
  font-size: 0.92rem;
}

.hero .search-form button {
  min-height: 41px;
  padding: 0.58rem 0.95rem;
  font-size: 0.91rem;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .hero {
    min-height: 68vh;
  }

  .hero .search-form {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin-top: 0.95rem;
  }

  .hero .hero-operation-tabs {
    width: 100%;
    justify-content: stretch;
  }

  .hero .hero-operation-tab {
    flex: 1 1 0;
    min-width: 0;
    padding: 0.46rem 0.72rem;
    font-size: 0.86rem;
  }

  .hero .search-form input,
  .hero .search-form select,
  .hero .search-form button {
    min-height: 39px;
    padding: 0.5rem 0.68rem;
    font-size: 0.88rem;
  }

  .hero-content {
    max-width: 620px;
    padding: 0.9rem;
  }

  .hero h1 {
    margin-bottom: 0.78rem;
  }

  .hero p {
    margin-top: 0;
    margin-bottom: 0.65rem;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 74vh;
  }

  .hero-content {
    margin-top: 1rem;
    padding: 0.8rem;
  }

  .hero h1 {
    font-size: clamp(1.6rem, 7.8vw, 2.05rem);
    line-height: 1.2;
  }

  .hero .eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
  }

  .hero-license {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
  }

  .hero p {
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .hero .search-form {
    gap: 0.44rem;
  }

  .hero .hero-operation-tabs {
    padding: 0.24rem;
    border-radius: 12px;
  }

  .hero .hero-operation-tab {
    font-size: 0.82rem;
    padding: 0.4rem 0.52rem;
    border-radius: 9px;
  }

  .hero .search-form input,
  .hero .search-form select,
  .hero .search-form button {
    min-height: 37px;
    padding: 0.46rem 0.64rem;
    font-size: 0.84rem;
    border-radius: 10px;
  }
}

.shared-list-form {
  margin-bottom: 1.5rem;
}

.shared-inventory-header {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  margin: 1rem 0;
  flex-wrap: wrap;
}

.shared-inventory-header input {
  min-width: 240px;
}

.shared-select-card {
  position: relative;
}

.shared-select-checkbox {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  border-radius: 999px;
  padding: 0.25rem 0.6rem;
  font-size: 0.8rem;
}

.shared-history-list {
  display: grid;
  gap: 0.85rem;
}

.shared-history-item {
  border: 1px solid rgba(173, 181, 189, 0.38);
  border-radius: 14px;
  padding: 0.95rem;
  background: rgba(255, 255, 255, 0.78);
}

.shared-history-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.shared-link-preview {
  font-size: 0.85rem;
  opacity: 0.8;
  word-break: break-all;
  margin-top: 0.5rem;
}

.share-page {
  display: grid;
  gap: 1.25rem;
}

.shared-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.shared-agent-chip {
  display: flex;
  gap: 0.95rem;
  align-items: center;
}

.shared-agent-chip img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.shared-empty-state {
  text-align: center;
}

@media (max-width: 768px) {
  .shared-history-actions {
    flex-direction: column;
  }

  .shared-history-actions button,
  .shared-history-actions a {
    width: 100%;
  }

  .shared-select-checkbox {
    position: static;
    margin: 0.6rem;
  }
}

/* Agent public profile layout refresh (mobile-first) */
.agent-public-page .agent-public-profile {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: clamp(1rem, 4vw, 1.5rem);
}

.agent-public-page .agent-public-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
}

.agent-public-page .agent-public-photo {
  width: clamp(132px, 38vw, 170px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  margin: 0 auto 0.35rem;
  border: 4px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.agent-public-page .agent-public-summary h2 {
  margin: 0;
}

.agent-public-page .agent-public-basic-info {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.84;
}

.agent-public-page .agent-public-description {
  margin: 0;
  line-height: 1.7;
}

.agent-public-page .agent-public-contact {
  display: grid;
  gap: 0.3rem;
}

.agent-public-page .agent-public-contact p {
  margin: 0;
}

.agent-public-page .agent-public-social {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.35rem;
}

.agent-public-page .agent-public-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 999px;
}

.agent-public-page .agent-public-social-link span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.agent-public-page .agent-public-social-link svg {
  width: 18px;
  height: 18px;
}

.agent-public-page .agent-public-stats {
  width: 100%;
  margin: 0;
  border-radius: 14px;
  padding: 1.1rem;
}

@media (min-width: 769px) {
  .agent-public-page .agent-public-profile {
    flex-direction: row;
    align-items: stretch;
    gap: 1.5rem;
  }

  .agent-public-page .agent-public-summary {
    flex: 1 1 auto;
    align-items: flex-start;
    text-align: left;
  }

  .agent-public-page .agent-public-photo {
    margin: 0 0 0.45rem;
  }

  .agent-public-page .agent-public-social {
    justify-content: flex-start;
  }

  .agent-public-page .agent-public-stats {
    width: min(280px, 34%);
  }
}

/* CTA principal para tarjetas de propiedades */
.btn-primary-property {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 0.95rem;
  padding: 12px 20px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--primary-red-fixed);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
}

.btn-primary-property:hover,
.btn-primary-property:focus-visible {
  background: var(--primary-red-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.btn-primary-property:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--primary-red-fixed) 45%, #ffffff);
  outline-offset: 2px;
}

.property-card .btn-primary-property {
  margin-top: 1rem;
}

body.dark .btn-primary-property,
body.dark-mode .btn-primary-property {
  background: var(--primary-red-fixed);
  color: #fff;
}

body.dark .btn-primary-property:hover,
body.dark .btn-primary-property:focus-visible,
body.dark-mode .btn-primary-property:hover,
body.dark-mode .btn-primary-property:focus-visible {
  background: var(--primary-red-dark);
  color: #fff;
}

@media (max-width: 768px) {
  .btn-primary-property {
    width: 100%;
    min-height: 46px;
  }
}

.review-rating {
  color: var(--diamond-red);
}

/* Consistencia de borde Rojo Diamante en cards clave */
.property-card,
.review-card,
.agent-card,
.agent-property-card,
.highlight-card,
.seller-benefit-card,
.seller-contact-card,
.dashboard-card {
  border: 1px solid #9e0b0f !important;
}

.property-card:hover,
.review-card:hover,
.agent-card:hover,
.agent-property-card:hover,
.highlight-card:hover,
.seller-benefit-card:hover,
.seller-contact-card:hover,
.dashboard-card:hover {
  border-color: #9e0b0f !important;
}

.property-card.is-featured {
  border-width: 1.5px !important;
}

/* Sistema premium de estrellas para reseñas */
.rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 0.24rem;
}

.rating-star-icon,
.review-form-stars button svg {
  width: 19px;
  height: 19px;
  fill: transparent;
  stroke: color-mix(in srgb, var(--text-main) 62%, #8d8d8d);
  stroke-width: 1.8;
  transition: fill 0.24s ease, stroke 0.24s ease, transform 0.24s ease, filter 0.24s ease;
}

.rating-star-icon.is-filled {
  fill: #d4af37;
  stroke: #d4af37;
}

.review-form-stars button {
  border-color: color-mix(in srgb, #9e0b0f 42%, transparent);
}

.review-form-stars button:hover svg {
  stroke: #d4af37;
  transform: scale(1.06);
}

.review-form-stars button.active {
  border-color: #9e0b0f;
  background: color-mix(in srgb, #d4af37 10%, var(--surface-overlay));
}

.review-form-stars button.active svg {
  fill: #d4af37;
  stroke: #d4af37;
  filter: drop-shadow(0 1px 2px rgba(212, 175, 55, 0.32));
}

/* Fix regressión: borde rojo visible en cards de propiedades en todos los breakpoints */
.property-card {
  border: 1px solid #9E0B0F !important;
}

@media (max-width: 768px) {
  .property-card {
    border: 1px solid #9E0B0F !important;
    box-shadow: var(--shadow-md), inset 0 0 0 1px color-mix(in srgb, #9E0B0F 78%, transparent);
  }
}

/* Galería premium de propiedades (cards + detalle) */
.detail-gallery {
  position: relative;
  overflow: visible;
  background: transparent;
  line-height: normal;
  touch-action: pan-y;
}

.detail-gallery {
  min-height: 0;
  height: auto;
  align-self: start;
}

.gallery-viewport {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
  background: #131313;
  line-height: 0;
  aspect-ratio: 16 / 10;
}

.property-cover {
  position: relative;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
  background: #131313;
  aspect-ratio: 16 / 10;
}

.property-cover-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease;
}

.property-card:hover .property-cover-image {
  transform: scale(1.04);
}

.detail-gallery .gallery-viewport {
  aspect-ratio: 16 / 10;
  max-height: min(70vh, 560px);
}

.gallery-watermark {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  z-index: 2;
}

.gallery-watermark::before {
  content: '';
  width: clamp(276px, 72%, 540px);
  aspect-ratio: 523 / 294;
  background-image: url('../assets/marca de agua.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0.14;
}

.property-gallery-main-image,
.detail-gallery-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.detail-gallery-main-image {
  min-height: 0;
  max-height: none;
}

.gallery-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: rgba(18, 18, 18, 0.42);
  color: #fff;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 3;
}

.gallery-nav:hover,
.gallery-nav:focus-visible {
  background: rgba(158, 11, 15, 0.72);
  border-color: rgba(255, 255, 255, 0.9);
}

.gallery-counter {
  z-index: 3;
}

.gallery-counter {
  position: absolute;
  top: 12px;
  right: 12px;
  margin: 0;
  padding: 0.28rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: rgba(18, 18, 18, 0.52);
  border: 1px solid rgba(255, 255, 255, 0.45);
}

html[data-theme="light"] .detail-grid > div,
body:not(.dark):not(.dark-mode) .detail-grid > div {
  color: #1f2937;
}

html[data-theme="light"] .detail-grid > div p,
html[data-theme="light"] .detail-grid > div li,
body:not(.dark):not(.dark-mode) .detail-grid > div p,
body:not(.dark):not(.dark-mode) .detail-grid > div li {
  color: #334155;
}

html[data-theme="dark"] .gallery-nav,
body.dark .gallery-nav,
body.dark-mode .gallery-nav {
  background: rgba(0, 0, 0, 0.58);
}

@media (max-width: 768px) {
  .property-cover {
    aspect-ratio: 16 / 11;
  }

  .gallery-viewport,
  .detail-gallery .gallery-viewport {
    aspect-ratio: 16 / 11;
    max-height: min(56vh, 420px);
  }

  .detail-gallery-main-image {
    max-height: none;
  }

  .gallery-nav {
    width: 36px;
    height: 36px;
  }
}

/* Property interactions (comments/reviews/likes) rebuilt */
.pi-wrap {
  margin-top: 2.5rem;
  background: #ffffff;
  border: 1px solid rgba(158, 11, 15, 0.18);
  border-left: 5px solid #9E0B0F;
  border-radius: 18px;
  padding: 1.25rem;
  box-shadow: 0 14px 35px rgba(27, 27, 27, 0.09);
}

.pi-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  margin-bottom: 1rem;
}

.pi-eyebrow {
  margin: 0;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9E0B0F;
  font-weight: 700;
}

.pi-header h2 {
  margin: 0.1rem 0 0;
  color: #1B1B1B;
}

.pi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.pi-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-card {
  background: #FFFFFF;
  border: 1px solid rgba(158, 11, 15, 0.13);
  border-radius: 14px;
  padding: 1rem;
}

.pi-card-head h3 {
  margin: 0;
  color: #1B1B1B;
}

.pi-card-head p {
  margin: 0.35rem 0 0.9rem;
  color: #4f4f4f;
  font-size: 0.93rem;
}

.pi-primary-btn {
  width: fit-content;
  min-height: 42px;
  border: none;
  border-radius: 10px;
  padding: 0.62rem 1.15rem;
  font-weight: 700;
  cursor: pointer;
  color: #fff;
  background: #9E0B0F;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.pi-primary-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(158, 11, 15, 0.22);
}

.pi-login-btn {
  margin-left: auto;
}


.property-main-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin: 0.5rem 0 0.9rem;
}

.property-like-mount {
  min-height: 44px;
}

.pi-like-top {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.35rem 0.5rem;
  border-radius: 12px;
  border: 1px solid rgba(158, 11, 15, 0.18);
  background: #fff;
}

.pi-like-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(158, 11, 15, 0.35);
  padding: 0.55rem 1rem;
  background: #fff;
  color: #1B1B1B;
  font-weight: 700;
  cursor: pointer;
}

.pi-like-btn.is-liked {
  background: #9E0B0F;
  color: #fff;
}

.pi-like-icon {
  font-size: 1.05rem;
  line-height: 1;
}

.pi-like-count {
  margin: 0.9rem 0 0;
}

.pi-card textarea {
  width: 100%;
  resize: vertical;
  min-height: 100px;
  border-radius: 10px;
  border: 1px solid #d9d3cf;
  background: #fff;
  padding: 0.72rem 0.78rem;
  color: #1B1B1B;
  margin-bottom: 0.75rem;
  pointer-events: auto;
  position: relative;
  z-index: 1;
  touch-action: manipulation;
}

.pi-card textarea:focus {
  outline: none;
  border-color: #9E0B0F;
  box-shadow: 0 0 0 3px rgba(158, 11, 15, 0.14);
}

.pi-form-message {
  margin: 0.65rem 0 0;
  min-height: 1.2rem;
  font-size: 0.88rem;
}

.pi-form-message.is-success {
  color: #0d7a36;
}

.pi-form-message.is-error {
  color: #9E0B0F;
}

.pi-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  background: #F1E6DD;
  border-radius: 10px;
  padding: 0.58rem 0.7rem;
  margin-bottom: 0.75rem;
}

.pi-summary p {
  margin: 0;
}

.pi-stars,
.pi-inline-stars {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.pi-star-icon {
  width: 18px;
  height: 18px;
  fill: transparent;
  stroke: #c4b9ae;
  stroke-width: 1.5;
}

.pi-star-icon.is-filled {
  fill: #D4AF37;
  stroke: #D4AF37;
}

.pi-rating-picker {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
}

.pi-rate-btn {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid rgba(212, 175, 55, 0.45);
  background: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform 0.15s ease, background-color 0.2s ease;
  pointer-events: auto;
  touch-action: manipulation;
  user-select: none;
}

.pi-rate-btn:hover,
.pi-rate-btn.is-active {
  background: rgba(212, 175, 55, 0.12);
  transform: translateY(-1px);
}

.pi-rating-value {
  margin: 0 0 0.55rem;
  font-size: 0.88rem;
}

.pi-card textarea:disabled,
.pi-primary-btn:disabled,
.pi-rate-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.pi-list {
  margin-top: 0.95rem;
  display: grid;
  gap: 0.62rem;
}

.pi-item {
  border: 1px solid #ece7e3;
  border-radius: 10px;
  padding: 0.7rem;
  background: #fff;
}

.pi-item p {
  margin: 0.58rem 0 0;
  white-space: pre-wrap;
}

.pi-item-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.pi-item-head small {
  color: #696969;
}

.pi-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  overflow: hidden;
  background: #F1E6DD;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}

.pi-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pi-avatar-fallback,
.pi-user-initial {
  font-weight: 700;
  color: #9E0B0F;
}

.pi-empty {
  margin: 0;
  color: #666;
}

.pi-user-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(158, 11, 15, 0.16);
  border-radius: 999px;
  padding: 0.3rem 0.75rem 0.3rem 0.35rem;
  background: #fff;
}

.pi-user-pill img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}

@media (max-width: 1100px) {
  .pi-grid {
    grid-template-columns: 1fr 1fr;
  }

  .pi-card[data-pi-reviews] {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .pi-wrap {
    padding: 1rem;
  }

  .pi-grid {
    grid-template-columns: 1fr;
  }

  .property-main-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .detail-summary-card .property-main-actions {
    flex-direction: row;
    align-items: center;
  }

  .pi-like-top {
    justify-content: space-between;
  }

  .pi-like-btn,
  .pi-primary-btn {
    width: 100%;
    justify-content: center;
  }

  .pi-rate-btn {
    width: 44px;
    height: 44px;
  }
}

/* ===== Premium visual refresh (2026) ===== */
:root {
  --premium-bg: #f5f2ec;
  --premium-surface: #fffdfa;
  --premium-surface-soft: #f7efe5;
  --premium-text: #2b1a1b;
  --premium-text-muted: #6b5a59;
  --premium-border: rgba(125, 48, 45, 0.18);
  --premium-shadow: 0 22px 55px rgba(70, 27, 28, 0.12);
  --premium-shadow-soft: 0 12px 32px rgba(70, 27, 28, 0.08);
}

body:not(.dark):not(.dark-mode) {
  background: radial-gradient(circle at 15% 8%, #fff9f3 0%, var(--premium-bg) 45%, #f2ece3 100%) !important;
  color: var(--premium-text);
}

body:not(.dark):not(.dark-mode) h1,
body:not(.dark):not(.dark-mode) h2,
body:not(.dark):not(.dark-mode) h3,
body:not(.dark):not(.dark-mode) p,
body:not(.dark):not(.dark-mode) li,
body:not(.dark):not(.dark-mode) label,
body:not(.dark):not(.dark-mode) .section-header,
body:not(.dark):not(.dark-mode) .page-banner p,
body:not(.dark):not(.dark-mode) .page-banner h1 {
  color: var(--premium-text) !important;
}

body:not(.dark):not(.dark-mode) .site-header {
  border-bottom: 1px solid rgba(93, 35, 35, 0.12);
  background: rgba(245, 242, 236, 0.82);
  backdrop-filter: blur(14px);
}

body:not(.dark):not(.dark-mode) .site-header.is-scrolled,
body:not(.dark):not(.dark-mode) .site-header.scrolled {
  background: rgba(245, 242, 236, 0.95);
  box-shadow: 0 14px 36px rgba(70, 27, 28, 0.14);
}

body:not(.dark):not(.dark-mode) .brand,
body:not(.dark):not(.dark-mode) .site-nav a { color: var(--premium-text); }

.hero {
  min-height: min(86vh, 820px);
  border-radius: 0 0 38px 38px;
}

.hero-overlay {
  background: linear-gradient(108deg, rgba(26, 13, 14, 0.78), rgba(75, 24, 26, 0.46) 55%, rgba(22, 10, 12, 0.75));
}

.hero-content {
  padding: clamp(1.1rem, 3vw, 2.4rem);
  border-radius: 24px;
  background: rgba(21, 12, 13, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.22);
}

.search-form {
  gap: 0.85rem;
  margin-top: 1.8rem;
}

.search-form input,
.search-form select,
.search-form button,
.filter-grid input,
.filter-grid select,
.filter-grid button,
.contact-form input,
.contact-form textarea,
.contact-form button,
.seller-form input,
.seller-form select,
.seller-form textarea,
.seller-form button,
.seller-agent-select {
  min-height: 48px;
  border-radius: 12px;
}

.section { padding: clamp(2.5rem, 6vw, 4.8rem) 0; }
.section-header { margin-bottom: 1.5rem; }
.section-header h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }

.page-banner {
  padding: clamp(4.6rem, 12vw, 7rem) 0 clamp(1.8rem, 5vw, 3rem);
}

.page-banner .container,
.section-properties.container,
.map-page-header .container {
  background: var(--premium-surface);
  border: 1px solid var(--premium-border);
  border-radius: 22px;
  padding: clamp(1.1rem, 2.8vw, 2rem);
  box-shadow: var(--premium-shadow-soft);
}

.properties-grid { gap: 1.35rem; }

.property-card {
  border: 1px solid var(--premium-border);
  border-radius: 18px;
  box-shadow: var(--premium-shadow-soft);
}

.property-card:hover {
  box-shadow: var(--premium-shadow);
  transform: translateY(-8px);
}

.property-card-content {
  padding: 1.05rem 1.1rem 1.2rem;
  display: grid;
  gap: 0.55rem;
}

.badge {
  background: linear-gradient(90deg, rgba(158, 11, 15, 0.1), rgba(200, 158, 80, 0.17));
  color: #7c2426;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.price {
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  color: #8f1616;
}

.property-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.property-meta-icons span {
  display: flex;
  align-items: center;
  gap: 0.32rem;
  font-size: 0.88rem;
}

.detail-grid,
.agent-public-profile,
.seller-layout {
  gap: 1.4rem;
}

.detail-grid > div,
.detail-gallery,
.agent-public-profile,
.agent-public-stats,
.contact-form,
.seller-form,
.seller-contact-card,
.map-page-section,
.properties-map-full {
  border-radius: 20px;
  border: 1px solid var(--premium-border);
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-soft);
}

.detail-grid > div { padding: 1.1rem; }
.property-feature-list li { margin-bottom: 0.5rem; }

.detail-summary-card,
.detail-extended-card {
  border-radius: 20px;
  border: 1px solid var(--premium-border);
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-soft);
}

.detail-summary-card {
  padding: 0.95rem 1rem;
  display: grid;
  gap: 0.42rem;
}

.detail-summary-card .badge {
  margin: 0;
  line-height: 1.2;
  padding: 0.16rem 0.6rem;
}

.detail-summary-title {
  margin: 0.04rem 0 0;
  line-height: 1.18;
}

.detail-summary-location {
  margin: 0;
  line-height: 1.28;
}

.detail-summary-type {
  margin: 0.03rem 0 0;
  line-height: 1.25;
}

.detail-summary-price {
  margin: 0.08rem 0 0;
  line-height: 1.12;
}

.detail-summary-metric {
  margin: 0;
  line-height: 1.26;
}

.detail-summary-card .property-main-actions {
  gap: 0.5rem;
  margin: 0.2rem 0 0.32rem;
}

.detail-summary-card .favorite-property-button,
.detail-summary-card .property-like-mount {
  min-height: 40px;
}

.detail-extended-card {
  margin-top: 1.4rem;
  padding: clamp(1rem, 2vw, 1.4rem);
  display: grid;
  gap: 1rem;
}

.detail-extended-block h2 {
  margin-bottom: 0.5rem;
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
}

.detail-extended-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.85rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--premium-border);
}

.agents-grid { gap: 1.35rem; }
.agent-card,
.agent-property-card {
  border-color: var(--premium-border);
}

.agent-content { padding: 1.15rem; }
.agent-role { color: #823536; }

.footer-legal-nav { row-gap: 0.5rem; }
.site-footer {
  margin-top: 2.5rem;
  border-top: 1px solid var(--footer-premium-border);
  background: var(--footer-premium-bg);
}

body.dark .hero-content,
body.dark-mode .hero-content,
[data-theme="dark"] .hero-content {
  background: rgba(14, 9, 9, 0.48);
  border-color: rgba(247, 208, 208, 0.2);
}

body.dark .property-card,
body.dark .detail-grid > div,
body.dark .detail-gallery,
body.dark .detail-summary-card,
body.dark .detail-extended-card,
body.dark .agent-public-profile,
body.dark .agent-public-stats,
body.dark .contact-form,
body.dark .seller-form,
body.dark .seller-contact-card,
body.dark .properties-map-full,
body.dark-mode .property-card,
body.dark-mode .detail-grid > div,
body.dark-mode .detail-gallery,
body.dark-mode .detail-summary-card,
body.dark-mode .detail-extended-card,
body.dark-mode .agent-public-profile,
body.dark-mode .agent-public-stats,
body.dark-mode .contact-form,
body.dark-mode .seller-form,
body.dark-mode .seller-contact-card,
body.dark-mode .properties-map-full {
  background: color-mix(in srgb, var(--bg-card) 94%, #000);
  border-color: rgba(241, 180, 180, 0.2);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.38);
}

@media (max-width: 900px) {
  .property-meta { grid-template-columns: 1fr; }
  .hero { border-radius: 0 0 24px 24px; }
  .detail-summary-card {
    padding: 0.85rem 0.9rem;
    gap: 0.38rem;
  }
  .detail-summary-card .property-main-actions {
    margin: 0.18rem 0 0.28rem;
    gap: 0.45rem;
  }
}

@media (max-width: 720px) {
  .hero-content { padding: 1rem; }
  .page-banner .container,
  .section-properties.container,
  .map-page-header .container { padding: 1rem; border-radius: 16px; }
  .detail-grid > div,
  .detail-gallery,
  .detail-summary-card,
  .detail-extended-card,
  .agent-public-profile,
  .agent-public-stats,
  .contact-form,
  .seller-form,
  .seller-contact-card,
  .properties-map-full { border-radius: 16px; }
}

/* === Premium redesign home === */
:root {
  --premium-bg: #f4f5f7;
  --premium-surface: #ffffff;
  --premium-text: #111827;
  --premium-muted: #6b7280;
  --premium-border: #e5e7eb;
  --premium-red: #a11217;
  --premium-red-strong: #7f0d12;
}

body.home-page {
  background: var(--premium-bg) !important;
  color: var(--premium-text);
}

body.dark.home-page,
body.dark-mode.home-page,
[data-theme="dark"] body.home-page {
  --premium-bg: #0f1115;
  --premium-surface: #151922;
  --premium-text: #f5f7fb;
  --premium-muted: #b5bdcc;
  --premium-border: #293041;
  --premium-red: #b91c1c;
  --premium-red-strong: #991b1b;
}

.home-page main,
.home-page .section,
.home-page main section {
  background: transparent !important;
  color: var(--premium-text);
}

.home-page .site-header {
  position: fixed;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(15, 23, 42, 0.24);
}

.home-page .site-header.scrolled {
  background: color-mix(in srgb, var(--premium-surface) 92%, transparent);
  border-bottom-color: var(--premium-border);
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.12);
}

.home-page .site-header.scrolled .brand,
.home-page .site-header.scrolled .site-nav a {
  color: var(--premium-text);
}

.home-page .brand,
.home-page .site-nav a,
.home-page .menu-toggle {
  color: #fff;
}

.home-page .hero {
  min-height: 95vh;
  max-height: none;
  height: auto;
  padding: 7rem 0 4rem;
}

.home-page .hero-content {
  max-width: 980px;
}

.home-page .premium-search {
  margin-top: 2rem;
  background: color-mix(in srgb, var(--premium-surface) 96%, transparent);
  border: 1px solid var(--premium-border);
  border-radius: 18px;
  padding: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  box-shadow: 0 24px 40px rgba(15, 23, 42, 0.15);
}

.home-page .premium-search input,
.home-page .premium-search select,
.home-page .premium-search button {
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid var(--premium-border);
  font-size: 0.95rem;
}

.home-page .premium-search .hero-search-submit,
body.dark .home-page .premium-search .hero-search-submit,
body.dark-mode .home-page .premium-search .hero-search-submit,
body:not(.dark):not(.dark-mode) .home-page .premium-search .hero-search-submit {
  background: var(--premium-red) !important;
  color: #fff !important;
  border-color: var(--premium-red) !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  justify-self: stretch;
}

.home-page .premium-search .hero-search-submit:hover,
.home-page .premium-search .hero-search-submit:focus-visible {
  background: var(--premium-red-dark) !important;
  border-color: var(--premium-red-dark) !important;
  color: #fff !important;
}

.home-page .section {
  padding: 4.5rem 0;
}

.home-page .premium-categories {
  position: relative;
}

.home-page .premium-categories-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
}

.home-page .coverflow-controls {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

.home-page .coverflow-arrow {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--premium-border);
  background: var(--premium-surface);
  color: var(--premium-text);
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform .25s ease, background-color .25s ease, color .25s ease;
}

.home-page .coverflow-arrow:hover,
.home-page .coverflow-arrow:focus-visible {
  transform: translateY(-1px);
  background: var(--premium-red);
  border-color: var(--premium-red);
  color: #fff;
}

.home-page .category-coverflow {
  --card-width: min(420px, 76vw);
  --card-height: clamp(280px, 44vw, 380px);
  --card-gap: clamp(1rem, 2.4vw, 1.65rem);
  position: relative;
  height: calc(var(--card-height) + 30px);
  overflow: hidden;
  touch-action: pan-y;
  user-select: none;
}

.home-page .coverflow-card {
  position: absolute;
  top: 12px;
  left: 50%;
  width: var(--card-width);
  height: var(--card-height);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 22px 44px rgba(15,23,42,.24);
  text-decoration: none;
  transition: transform .7s cubic-bezier(.22,.61,.36,1), opacity .6s ease, filter .6s ease;
  will-change: transform, opacity;
  background: #0f172a;
}

.home-page .coverflow-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home-page .coverflow-overlay {
  position: absolute;
  inset: auto 0 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: 1.15rem 1.25rem;
  background: linear-gradient(180deg, rgba(7,11,20,.02) 0%, rgba(7,11,20,.72) 42%, rgba(7,11,20,.88) 100%);
  backdrop-filter: blur(4px);
}

.home-page .coverflow-overlay strong {
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.2;
}

.home-page .coverflow-overlay em {
  font-style: normal;
  color: #fff;
  background: var(--premium-red);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: .45rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .01em;
  white-space: nowrap;
}

.home-page .coverflow-card.is-active {
  z-index: 5;
  opacity: 1;
  filter: saturate(1.04);
}

.home-page .coverflow-card.is-side {
  z-index: 3;
  opacity: .62;
  filter: saturate(.85);
}

.home-page .coverflow-card.is-far {
  z-index: 1;
  opacity: .26;
  pointer-events: none;
}

.home-page .section-header-tabs { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.home-page .featured-header-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.home-page .listing-tabs { display: flex; gap: .6rem; }
.home-page .listing-tabs a { padding: .45rem .8rem; border:1px solid var(--premium-border); border-radius: 999px; color: var(--premium-text); }

.home-page .premium-properties {
  padding-block: 2.1rem;
}

.home-page .premium-properties .section-header {
  margin-bottom: 1rem;
}

.home-page .section.section-properties.container.premium-properties {
  padding: .9rem 1rem 1.05rem;
}

.home-page .featured-properties-slider {
  --featured-columns: 3;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--featured-columns) - 1) * 1.2rem) / var(--featured-columns));
  gap: 1.2rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: .2rem;
  scrollbar-width: none;
}

.home-page .featured-properties-slider::-webkit-scrollbar {
  display: none;
}

.home-page .featured-properties-slider .property-card {
  height: 100%;
  scroll-snap-align: start;
}

.home-page #featuredGrid.featured-properties-slider {
  gap: 1.4rem;
}

.home-page #featuredGrid .property-cover {
  aspect-ratio: 16 / 10;
}

.home-page #featuredGrid .property-card-content {
  padding: 1rem 1.05rem 1.08rem;
  gap: .52rem;
}

.home-page #featuredGrid .property-card h3 {
  margin: 0;
  font-size: 1.28rem;
  line-height: 1.25;
}

.home-page #featuredGrid .property-card p {
  margin: 0;
}

.home-page #featuredGrid .badge {
  font-size: .78rem;
  line-height: 1.15;
  padding: .2rem .54rem;
  width: fit-content;
}

.home-page #featuredGrid .property-location {
  font-size: .96rem;
  line-height: 1.3;
}

.home-page #featuredGrid .price {
  font-size: 1.52rem;
  line-height: 1.12;
  font-weight: 800;
}

.home-page #featuredGrid .property-meta.property-meta-icons {
  margin-top: .16rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem .58rem;
}

.home-page #featuredGrid .property-meta-icons span {
  font-size: .88rem;
  line-height: 1.2;
  gap: .35rem;
}

.home-page #featuredGrid .property-meta-icons svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.home-page #featuredGrid .property-price-area {
  font-size: .92rem;
  line-height: 1.2;
}

.home-page #featuredGrid .property-card-actions {
  margin-top: 0;
}

.home-page #featuredGrid .btn-primary-property {
  margin-top: 0;
  padding: .82rem 1.2rem;
  border-radius: 12px;
  font-size: .97rem;
  line-height: 1.15;
  font-weight: 700;
  background: #c62828;
  border-color: #c62828;
  box-shadow: 0 10px 20px rgba(198, 40, 40, 0.28);
}

.home-page #featuredGrid .btn-primary-property:hover,
.home-page #featuredGrid .btn-primary-property:focus-visible {
  background: #a61f1f;
  border-color: #a61f1f;
  box-shadow: 0 14px 26px rgba(166, 31, 31, 0.35);
}

.home-page .home-matched-properties-grid .property-cover {
  aspect-ratio: 16 / 10;
}

.home-page .home-matched-properties-grid .property-card-content {
  padding: 1rem 1.05rem 1.08rem;
  gap: .52rem;
}

.home-page .home-matched-properties-grid .property-card h3 {
  margin: 0;
  font-size: 1.28rem;
  line-height: 1.25;
}

.home-page .home-matched-properties-grid .property-card p {
  margin: 0;
}

.home-page .home-matched-properties-grid .badge {
  font-size: .78rem;
  line-height: 1.15;
  padding: .2rem .54rem;
  width: fit-content;
}

.home-page .home-matched-properties-grid .property-location {
  font-size: .96rem;
  line-height: 1.3;
}

.home-page .home-matched-properties-grid .price {
  font-size: 1.52rem;
  line-height: 1.12;
  font-weight: 800;
}

.home-page .home-matched-properties-grid .property-meta.property-meta-icons {
  margin-top: .16rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem .58rem;
}

.home-page .home-matched-properties-grid .property-meta-icons span {
  font-size: .88rem;
  line-height: 1.2;
  gap: .35rem;
}

.home-page .home-matched-properties-grid .property-meta-icons svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.home-page .home-matched-properties-grid .property-price-area {
  font-size: .92rem;
  line-height: 1.2;
}

.home-page .home-matched-properties-grid .property-card-actions {
  margin-top: 0;
}

.home-page .home-matched-properties-grid .btn-primary-property {
  margin-top: 0;
  padding: .82rem 1.2rem;
  border-radius: 12px;
  font-size: .97rem;
  line-height: 1.15;
  font-weight: 700;
  background: #c62828;
  border-color: #c62828;
  box-shadow: 0 10px 20px rgba(198, 40, 40, 0.28);
}

.home-page .home-matched-properties-grid .btn-primary-property:hover,
.home-page .home-matched-properties-grid .btn-primary-property:focus-visible {
  background: #a61f1f;
  border-color: #a61f1f;
  box-shadow: 0 14px 26px rgba(166, 31, 31, 0.35);
}

.home-page .editorial-grid,
.home-page .sell-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 1.25rem;
  background: var(--premium-surface);
  border: 1px solid var(--premium-border);
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 20px 35px rgba(15,23,42,.08);
}
.home-page .editorial-media img { width: 100%; height: 100%; border-radius: 14px; object-fit: cover; }

.home-page .agents-grid,
.home-page .reviews-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:1rem; }
.home-page .agents-grid article,
.home-page .reviews-grid article,
.home-page .sell-mini-form {
  background: var(--premium-surface);
  border: 1px solid var(--premium-border);
  border-radius: 16px;
  padding: 1rem;
}
.home-page .agents-grid img { width: 100%; border-radius: 12px; aspect-ratio: 4/3; object-fit: cover; }
.home-page .sell-mini-form { display: grid; gap: .75rem; }
.home-page .sell-mini-form label { display:grid; gap: .35rem; font-size: .85rem; color: var(--premium-muted); }
.home-page .sell-mini-form input,
.home-page .sell-mini-form select,
.home-page .sell-mini-form button { min-height: 44px; border-radius: 10px; border:1px solid var(--premium-border); }
.home-page .sell-mini-form button { background: var(--premium-red); color: #fff; border-color: var(--premium-red); font-weight: 700; }

.site-footer {
  background: var(--footer-premium-bg);
  color: var(--footer-premium-text);
  margin-top: 4rem;
  padding: 3rem 0;
}
.site-footer .footer-content {
  display: grid;
  gap: 1.25rem;
  justify-items: center;
  text-align: center;
}
.site-footer .footer-brand-row {
  display: grid;
  gap: .9rem;
  justify-items: center;
  width: min(760px, 100%);
}
.site-footer .footer-brand-row > div {
  display: grid;
  gap: .45rem;
  justify-items: center;
}
.site-footer .footer-cta { padding: .65rem 1rem; background: rgba(5, 5, 5, 0.32); color: var(--footer-premium-text); border-radius: 10px; }
.site-footer .footer-columns {
  display:grid;
  grid-template-columns: repeat(2,minmax(240px,320px));
  gap: 1.5rem;
  justify-content: center;
  width: 100%;
}
.site-footer .footer-columns > div {
  display: grid;
  gap: .2rem;
  justify-items: center;
  text-align: center;
}
.site-footer .footer-columns h4 { margin: 0 0 .5rem; color: var(--footer-premium-text); font-family: Inter, sans-serif; }
.site-footer .footer-columns a { color: var(--footer-premium-text); display:block; margin:.25rem 0; }
.site-footer :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, em, li, a, label) {
  color: var(--footer-premium-text);
}
.site-footer .footer-columns a:hover,
.site-footer .footer-columns a:focus-visible,
.site-footer .footer-legal-link:hover,
.site-footer .footer-legal-link:focus-visible {
  color: var(--footer-premium-text-hover);
}
.site-footer .footer-social {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: .65rem;
}
.site-footer .footer-social-link {
  color: var(--footer-premium-text);
}

@media (max-width: 960px) {
  .home-page .premium-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .premium-search .hero-search-submit { width: 100%; }
  .home-page .agents-grid,
  .home-page .reviews-grid,
  .site-footer .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .category-coverflow {
    --card-width: min(340px, 72vw);
    --card-height: clamp(250px, 48vw, 320px);
  }
  .home-page .editorial-grid,
  .home-page .sell-grid { grid-template-columns: 1fr; }
  .home-page .featured-properties-slider { --featured-columns: 2; }
  .home-page .section.section-properties.container.premium-properties {
    padding: .82rem .88rem .96rem;
  }
  .home-page #featuredGrid .property-cover {
    aspect-ratio: 16 / 9.6;
  }
  .home-page #featuredGrid .property-meta.property-meta-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-page .home-matched-properties-grid .property-cover {
    aspect-ratio: 16 / 9.6;
  }
  .home-page .home-matched-properties-grid .property-meta.property-meta-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home-page .premium-search { grid-template-columns: 1fr; }
  .home-page .premium-search .hero-search-submit { min-height: 48px; width: 100%; }
  .home-page .agents-grid,
  .home-page .reviews-grid,
  .site-footer .footer-columns { grid-template-columns: 1fr; }
  .home-page .premium-categories-header { align-items: flex-start; flex-direction: column; }
  .home-page .featured-header-actions { width: 100%; justify-content: space-between; }
  .home-page .premium-properties { padding-block: 1.4rem; }
  .home-page .featured-properties-slider {
    --featured-columns: 1;
    grid-auto-columns: 100%;
    gap: .9rem;
  }
  .home-page .section.section-properties.container.premium-properties {
    padding: .72rem 0 .86rem;
  }
  .home-page #featuredGrid .property-card {
    min-width: 0;
  }
  .home-page #featuredGrid .property-card.is-featured {
    border-width: 1px;
  }
  .home-page #featuredGrid .property-cover {
    aspect-ratio: 16 / 10.4;
  }
  .home-page #featuredGrid .property-card-content {
    padding: .92rem .95rem .98rem;
    gap: .42rem;
  }
  .home-page #featuredGrid .property-meta.property-meta-icons {
    gap: .35rem .45rem;
  }
  .home-page .home-matched-properties-grid .property-cover {
    aspect-ratio: 16 / 10.4;
  }
  .home-page .home-matched-properties-grid .property-card-content {
    padding: .92rem .95rem .98rem;
    gap: .42rem;
  }
  .home-page .home-matched-properties-grid .property-meta.property-meta-icons {
    gap: .35rem .45rem;
  }
  .home-page .category-coverflow {
    --card-width: min(300px, 82vw);
    --card-height: clamp(230px, 62vw, 280px);
    --card-gap: .75rem;
    height: calc(var(--card-height) + 20px);
  }
  .home-page .coverflow-card { border-radius: 22px; }
  .home-page .coverflow-overlay { padding: .9rem 1rem; }
  .site-footer .footer-brand-row { width: 100%; }
  .site-footer .footer-social {
    justify-content: center;
    gap: .6rem;
  }
}

/* === 2026-03-31 Compact property cards (listing view) === */
#propertiesGrid.properties-grid {
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 1.4rem;
}

#propertiesGrid .property-card {
  border-radius: 18px;
  min-height: 0;
  height: auto;
}

#propertiesGrid .property-cover {
  aspect-ratio: 16 / 10;
  border-radius: 18px 18px 0 0;
}

#propertiesGrid .property-card-content {
  padding: 1.1rem 1.15rem 1.18rem;
  gap: 0.52rem;
}

#propertiesGrid .badge {
  font-size: 0.8rem;
  line-height: 1.16;
  padding: 0.2rem 0.52rem;
  width: fit-content;
}

#propertiesGrid .property-card h3 {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.26;
}

#propertiesGrid .property-card p {
  margin: 0;
}

#propertiesGrid .property-card p:not(.price):not(.badge) {
  font-size: 0.96rem;
  line-height: 1.35;
}

#propertiesGrid .property-location {
  font-size: 0.94rem;
  line-height: 1.25;
}

#propertiesGrid .price {
  font-size: 1.62rem;
  line-height: 1.12;
  font-weight: 800;
}

#propertiesGrid .property-status-tag {
  font-size: 0.78rem;
  padding: 0.2rem 0.52rem;
  width: fit-content;
  line-height: 1.1;
}

#propertiesGrid .property-meta.property-meta-icons {
  margin-top: 0.16rem;
  gap: 0.45rem 0.58rem;
}

#propertiesGrid .property-meta-icons span {
  font-size: 0.9rem;
  line-height: 1.2;
  gap: 0.35rem;
}

#propertiesGrid .property-meta-icons svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

#propertiesGrid .property-price-area {
  font-size: 0.95rem;
  line-height: 1.22;
}

#propertiesGrid .property-card-actions {
  margin-top: 0.04rem;
}

#propertiesGrid .btn-primary-property {
  margin-top: 0;
  padding: 0.9rem 1.25rem;
  border-radius: 12px;
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 700;
  background: #c62828;
  border-color: #c62828;
  box-shadow: 0 10px 20px rgba(198, 40, 40, 0.28);
}

#propertiesGrid .btn-primary-property:hover,
#propertiesGrid .btn-primary-property:focus-visible {
  background: #a61f1f;
  border-color: #a61f1f;
  box-shadow: 0 14px 26px rgba(166, 31, 31, 0.35);
}

@media (min-width: 1200px) {
  #propertiesGrid.properties-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  #propertiesGrid.properties-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.05rem;
  }
}

@media (max-width: 640px) {
  #propertiesGrid.properties-grid {
    grid-template-columns: 1fr;
    gap: 0.95rem;
  }

  #propertiesGrid .property-cover {
    aspect-ratio: 4 / 3;
  }

  #propertiesGrid .property-card-content {
    padding: 1rem 1rem 1.05rem;
    gap: 0.42rem;
  }

  #propertiesGrid .property-card h3 {
    font-size: 1.18rem;
  }

  #propertiesGrid .property-card p:not(.price):not(.badge) {
    font-size: 0.91rem;
  }

  #propertiesGrid .price {
    font-size: 1.44rem;
  }

  #propertiesGrid .property-meta-icons span {
    font-size: 0.84rem;
  }
}

/* === 2026-03-31 Footer compact + white text lock (scoped only to footer) === */
.site-footer {
  margin-top: 1.8rem;
  padding: 1.2rem 0 0.78rem;
}

.site-footer .footer-content {
  gap: 0.58rem;
}

.site-footer .footer-brand-row {
  gap: 0.38rem;
}

.site-footer .footer-brand-row > div {
  gap: 0.16rem;
}

.site-footer .footer-brand-row h3 {
  margin: 0;
  line-height: 1.1;
}

.site-footer .footer-brand-row p {
  margin: 0;
  line-height: 1.22;
}

.site-footer .footer-cta {
  margin: 0;
  padding: 0.44rem 0.78rem;
  line-height: 1.1;
}

.site-footer .footer-columns {
  gap: 0.68rem;
}

.site-footer .footer-columns > div {
  gap: 0.05rem;
}

.site-footer .footer-columns h4 {
  margin: 0 0 0.1rem;
  line-height: 1.1;
}

.site-footer .footer-columns a {
  margin: 0.04rem 0;
  line-height: 1.18;
}

.site-footer .footer-social {
  margin-top: 0.1rem;
  gap: 0.42rem;
}

.site-footer .footer-text {
  margin: 0.2rem 0 0;
  line-height: 1.14;
}

.site-footer :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, em, li, a, label) {
  color: var(--footer-premium-text) !important;
}

.site-footer :is(a:hover, a:focus-visible) {
  color: var(--footer-premium-text-hover) !important;
}

@media (max-width: 640px) {
  .site-footer {
    margin-top: 1.45rem;
    padding: 1.05rem 0 0.68rem;
  }

  .site-footer .footer-content {
    gap: 0.5rem;
  }

  .site-footer .footer-brand-row {
    gap: 0.34rem;
  }

  .site-footer .footer-columns {
    gap: 0.5rem;
  }
}


/* === Luxury editorial refresh: The Agency / Sotheby's / Christie's inspired === */
:root {
  --luxury-navy: #0f1f33;
  --luxury-ink: #172033;
  --luxury-gold: #b89a5e;
  --luxury-gold-soft: rgba(184, 154, 94, 0.22);
  --luxury-cream: #fbfaf7;
  --luxury-mist: #f4f1ec;
  --luxury-line: rgba(15, 31, 51, 0.1);
  --luxury-shadow: 0 18px 42px rgba(15, 31, 51, 0.08);
  --font-heading: "Cormorant Garamond", "Times New Roman", serif;
  --font-body: "Inter", "Segoe UI", Arial, sans-serif;
}

body.dark,
body.dark-mode,
[data-theme="dark"] {
  --luxury-navy: #f7efe4;
  --luxury-ink: #f8f1eb;
  --luxury-gold: #d6bd80;
  --luxury-gold-soft: rgba(214, 189, 128, 0.2);
  --luxury-cream: #1c2028;
  --luxury-mist: #222833;
  --luxury-line: rgba(248, 241, 235, 0.12);
  --luxury-shadow: 0 20px 48px rgba(0, 0, 0, 0.34);
}

html,
body {
  font-family: var(--font-body) !important;
  font-size: 16px;
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
.section-title,
.section-header h2,
.page-banner h1,
.hero h1 {
  font-family: var(--font-heading) !important;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.hero h1,
.page-banner h1 {
  font-size: clamp(3.15rem, 7vw, 6.8rem) !important;
  max-width: 920px;
}

.section-header h2,
section h2,
.editorial-copy h2,
.sell-grid h2 {
  font-size: clamp(2.45rem, 5vw, 4.9rem);
  color: var(--luxury-navy) !important;
}

.section-header {
  align-items: end;
  gap: 1.5rem;
  margin-bottom: clamp(1.6rem, 4vw, 3.2rem) !important;
}

.section,
.home-page .premium-properties,
.section-properties {
  padding-top: clamp(4.8rem, 8vw, 7.8rem) !important;
  padding-bottom: clamp(4.8rem, 8vw, 7.8rem) !important;
}

.container {
  width: min(1240px, 90%);
}

.page-banner {
  padding: clamp(6.5rem, 10vw, 10rem) 0 clamp(4.5rem, 7vw, 7rem) !important;
  background:
    linear-gradient(135deg, rgba(15, 31, 51, 0.86), rgba(15, 31, 51, 0.54)),
    radial-gradient(circle at 15% 15%, rgba(184, 154, 94, 0.2), transparent 34%) !important;
}

.page-banner p,
.hero-description,
.editorial-copy p,
.sell-grid p {
  font-size: clamp(1.02rem, 1.7vw, 1.22rem);
  line-height: 1.85;
}

.site-header {
  background: rgba(255, 255, 255, 0.88) !important;
  border-bottom: 1px solid rgba(15, 31, 51, 0.08) !important;
  box-shadow: 0 10px 34px rgba(15, 31, 51, 0.06) !important;
}

body.dark .site-header,
body.dark-mode .site-header,
[data-theme="dark"] .site-header {
  background: rgba(20, 24, 31, 0.88) !important;
}

.site-nav a {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}

.hero-content {
  max-width: 860px;
  border-color: rgba(255, 255, 255, 0.18);
  background: linear-gradient(145deg, rgba(12, 19, 30, 0.56), rgba(12, 19, 30, 0.22));
}

.eyebrow,
.premium-hero .hero-static-content .eyebrow {
  color: var(--luxury-gold) !important;
  font-size: 0.78rem;
  letter-spacing: 0.24em;
}

.properties-grid,
#propertiesGrid.properties-grid,
.home-page .featured-properties-slider,
.home-page .home-matched-properties-grid {
  gap: clamp(1.8rem, 3vw, 3rem) !important;
}

.properties-grid,
#propertiesGrid.properties-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
}

.property-card,
#propertiesGrid .property-card,
.home-page #featuredGrid .property-card,
.home-page .home-matched-properties-grid .property-card {
  display: flex;
  flex-direction: column;
  background: var(--luxury-cream) !important;
  border: 1px solid var(--luxury-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
  cursor: pointer;
  transition: transform 320ms ease, box-shadow 320ms ease, border-color 320ms ease, background-color 320ms ease !important;
}

.property-card::before,
.property-card::after {
  display: none !important;
}

.property-card:hover,
#propertiesGrid .property-card:hover,
.home-page #featuredGrid .property-card:hover,
.home-page .home-matched-properties-grid .property-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--luxury-shadow) !important;
  border-color: rgba(184, 154, 94, 0.34) !important;
}

.property-cover,
#propertiesGrid .property-cover,
.home-page #featuredGrid .property-cover,
.home-page .home-matched-properties-grid .property-cover {
  aspect-ratio: 4 / 5 !important;
  border-radius: 0 !important;
  background: var(--luxury-mist);
}

.property-cover-image,
.property-card > img {
  filter: saturate(0.92) contrast(1.02);
  transform: scale(1.001);
  transition: transform 360ms ease, filter 360ms ease !important;
}

.property-card:hover .property-cover-image,
.property-card:hover > img {
  transform: scale(1.035) !important;
  filter: saturate(0.98) contrast(1.05);
}

.property-card-content,
#propertiesGrid .property-card-content,
.home-page #featuredGrid .property-card-content,
.home-page .home-matched-properties-grid .property-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.86rem !important;
  padding: clamp(1.35rem, 2.2vw, 2rem) !important;
  text-align: left;
}

.property-card h1,
.property-card h2,
.property-card h3,
#propertiesGrid .property-card h3,
.home-page #featuredGrid .property-card h3 {
  order: 1;
  margin: 0 !important;
  color: var(--luxury-ink) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1.7rem, 2.5vw, 2.35rem) !important;
  font-weight: 600;
  line-height: 1.05 !important;
  letter-spacing: -0.01em;
}

.property-card .price,
#propertiesGrid .price,
.home-page #featuredGrid .price {
  order: 2;
  margin: 0 !important;
  color: var(--luxury-navy) !important;
  font-size: clamp(1.15rem, 1.7vw, 1.42rem) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.property-location,
#propertiesGrid .property-location,
.home-page #featuredGrid .property-location {
  order: 3;
  margin: 0 !important;
  color: var(--text-muted) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.03em;
}

.property-meta.property-meta-icons,
#propertiesGrid .property-meta.property-meta-icons,
.home-page #featuredGrid .property-meta.property-meta-icons,
.home-page .home-matched-properties-grid .property-meta.property-meta-icons {
  order: 4;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.75rem 1rem !important;
  margin-top: 0.25rem !important;
  padding-top: 1rem;
  border-top: 1px solid var(--luxury-line);
  color: var(--text-secondary) !important;
}

.property-meta-icons span,
#propertiesGrid .property-meta-icons span,
.home-page #featuredGrid .property-meta-icons span {
  font-size: 0.82rem !important;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.property-meta-icons svg {
  color: var(--luxury-gold);
  opacity: 0.95;
}

.property-price-area,
#propertiesGrid .property-price-area,
.home-page #featuredGrid .property-price-area {
  order: 5;
  color: var(--text-muted) !important;
  font-size: 0.9rem !important;
}

.badge,
#propertiesGrid .badge,
.home-page #featuredGrid .badge {
  order: 6;
  margin-top: 0.1rem !important;
  padding: 0 !important;
  color: var(--luxury-gold) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.property-status-tag {
  order: 6;
}

.property-card-actions,
#propertiesGrid .property-card-actions,
.home-page #featuredGrid .property-card-actions {
  order: 7;
  width: 100%;
  margin-top: auto !important;
  padding-top: 0.75rem;
}

.btn-primary-property,
#propertiesGrid .btn-primary-property,
.home-page #featuredGrid .btn-primary-property,
.home-page .home-matched-properties-grid .btn-primary-property {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 48px;
  border-radius: 0 !important;
  border: 1px solid var(--luxury-navy) !important;
  background: transparent !important;
  color: var(--luxury-navy) !important;
  box-shadow: none !important;
  font-size: 0.78rem !important;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease, transform 300ms ease !important;
}

.btn-primary-property:hover,
.btn-primary-property:focus-visible,
#propertiesGrid .btn-primary-property:hover,
#propertiesGrid .btn-primary-property:focus-visible,
.home-page #featuredGrid .btn-primary-property:hover,
.home-page #featuredGrid .btn-primary-property:focus-visible {
  background: var(--luxury-navy) !important;
  color: var(--luxury-cream) !important;
  border-color: var(--luxury-navy) !important;
  transform: translateY(-1px);
}

.home-page .premium-properties {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(244, 241, 236, 0.72)) !important;
  border-top: 1px solid var(--luxury-line);
  border-bottom: 1px solid var(--luxury-line);
}

.home-page .section.section-properties.container.premium-properties {
  width: min(1320px, 92%);
  padding-inline: clamp(1.1rem, 2.4vw, 2rem) !important;
}

.home-page .featured-properties-slider {
  --featured-columns: 3;
  grid-auto-columns: calc((100% - (var(--featured-columns) - 1) * clamp(1.8rem, 3vw, 3rem)) / var(--featured-columns));
  padding-bottom: 0.85rem;
}

.filter-grid,
.search-form,
.sell-mini-form,
.contact-form,
.seller-form {
  gap: 1rem;
}

.filter-grid input,
.filter-grid select,
.search-form input,
.search-form select,
.contact-form input,
.contact-form textarea,
.seller-form input,
.seller-form select,
.seller-form textarea {
  border-radius: 0 !important;
  border-color: var(--luxury-line) !important;
  background: rgba(255, 255, 255, 0.84) !important;
}

@media (min-width: 1200px) {
  #propertiesGrid.properties-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  #propertiesGrid.properties-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-page .featured-properties-slider {
    --featured-columns: 2;
  }
}

@media (max-width: 640px) {
  .container {
    width: min(100% - 1.25rem, 1240px);
  }

  .hero h1,
  .page-banner h1 {
    font-size: clamp(2.7rem, 16vw, 4.2rem) !important;
  }

  #propertiesGrid.properties-grid {
    grid-template-columns: 1fr;
  }

  .home-page .featured-properties-slider {
    --featured-columns: 1;
    grid-auto-columns: 100%;
  }

  .property-cover,
  #propertiesGrid .property-cover,
  .home-page #featuredGrid .property-cover,
  .home-page .home-matched-properties-grid .property-cover {
    aspect-ratio: 5 / 6 !important;
  }

  .property-meta.property-meta-icons,
  #propertiesGrid .property-meta.property-meta-icons,
  .home-page #featuredGrid .property-meta.property-meta-icons,
  .home-page .home-matched-properties-grid .property-meta.property-meta-icons {
    grid-template-columns: 1fr !important;
  }
}

/* === Premium education center page === */
.education-page {
  background: var(--luxury-cream, #fbfaf7);
  color: var(--luxury-ink, #172033);
}

.education-main {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 20%, rgba(184, 154, 94, 0.12), transparent 34rem),
    linear-gradient(180deg, #fbfaf7 0%, #f4f1ec 46%, #fbfaf7 100%) !important;
}

.education-hero {
  position: relative;
  min-height: clamp(620px, 92vh, 880px);
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  background: #10151c;
}

.education-hero-bg {
  position: absolute;
  inset: -10% 0 0;
  z-index: -3;
  background-image: url('../assets/imagenhero3.jpeg');
  background-position: center;
  background-size: cover;
  transform: scale(1.08);
  will-change: transform;
}

.education-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(8, 12, 18, 0.82) 0%, rgba(12, 18, 28, 0.54) 46%, rgba(12, 18, 28, 0.18) 100%),
    linear-gradient(180deg, rgba(8, 12, 18, 0.28), rgba(8, 12, 18, 0.7));
}

.education-hero::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 3rem;
  width: min(68rem, calc(100% - 2rem));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(214, 189, 128, 0.62), transparent);
}

.education-hero-content {
  padding-top: 6rem;
  max-width: 880px;
  color: #fff;
}

.education-kicker {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--luxury-gold, #b89a5e);
}

.education-hero h1 {
  max-width: 860px;
  margin: 0;
  font-family: var(--font-heading, 'Cormorant Garamond', serif) !important;
  font-size: clamp(4rem, 8.6vw, 8.4rem) !important;
  font-weight: 600;
  line-height: 0.88;
  letter-spacing: -0.045em;
  color: #fff !important;
}

.education-hero-content > p:not(.education-kicker) {
  max-width: 640px;
  margin: 1.5rem 0 0;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.84);
}

.education-hero-signature {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2.2rem;
}

.education-hero-signature span {
  padding: 0.68rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
}

.education-section {
  position: relative;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
}

.education-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.7fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}

.education-section-heading {
  max-width: 860px;
}

.education-section-heading h2,
.education-cta-card h2 {
  margin: 0;
  font-family: var(--font-heading, 'Cormorant Garamond', serif) !important;
  font-size: clamp(2.8rem, 5.8vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--luxury-navy, #0f1f33) !important;
}

.education-lead {
  margin: 0;
  padding-left: 1.5rem;
  border-left: 1px solid rgba(184, 154, 94, 0.42);
  color: rgba(23, 32, 51, 0.74);
  font-size: 1.05rem;
  line-height: 1.9;
}

.education-timeline-section,
.education-sellers {
  background: linear-gradient(180deg, rgba(255,255,255,0.58), rgba(244, 241, 236, 0.9));
}

.education-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 3rem;
}

.education-timeline::before {
  content: '';
  position: absolute;
  left: 4%;
  right: 4%;
  top: 2.35rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184, 154, 94, 0.52), transparent);
}

.education-step,
.education-card {
  position: relative;
  border: 1px solid rgba(15, 31, 51, 0.1);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 18px 44px rgba(15, 31, 51, 0.07);
  transition: transform 360ms ease, box-shadow 360ms ease, border-color 360ms ease, background 360ms ease;
}

.education-step {
  padding: 1.35rem;
  border-radius: 1.4rem;
  min-height: 250px;
  backdrop-filter: blur(18px);
}

.education-step:hover,
.education-card:hover {
  transform: translateY(-8px);
  border-color: rgba(184, 154, 94, 0.42);
  box-shadow: 0 24px 62px rgba(15, 31, 51, 0.12);
  background: rgba(255, 255, 255, 0.94);
}

.education-step-icon {
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  margin-bottom: 1.45rem;
  border: 1px solid rgba(184, 154, 94, 0.36);
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(184,154,94,0.14), rgba(255,255,255,0.72));
  color: #8a6a2d;
  font-family: var(--font-heading, 'Cormorant Garamond', serif);
  font-size: 1.7rem;
  line-height: 1;
}

.education-step small,
.education-card span {
  display: inline-block;
  margin-bottom: 0.8rem;
  color: var(--luxury-gold, #b89a5e);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.education-step h3,
.education-card h3 {
  margin: 0 0 0.85rem;
  font-family: var(--font-heading, 'Cormorant Garamond', serif) !important;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1;
  color: var(--luxury-navy, #0f1f33) !important;
}

.education-step p,
.education-card p {
  margin: 0;
  color: rgba(23, 32, 51, 0.68);
  line-height: 1.72;
}

.education-card-grid {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}

.education-card-grid-investors,
.education-card-grid-sellers {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.education-card {
  min-height: 260px;
  padding: 1.65rem;
  border-radius: 1.35rem;
}

.education-card::after {
  content: '';
  position: absolute;
  inset: auto 1.4rem 1.2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(184,154,94,0.48), transparent);
  transform: scaleX(0.35);
  transform-origin: left;
  transition: transform 360ms ease;
}

.education-card:hover::after {
  transform: scaleX(1);
}

.education-errors-panel {
  margin-top: 3rem;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(184, 154, 94, 0.22);
  border-radius: 2rem;
  background:
    linear-gradient(135deg, rgba(15, 31, 51, 0.96), rgba(30, 42, 61, 0.92)),
    radial-gradient(circle at top right, rgba(184, 154, 94, 0.24), transparent 22rem);
  box-shadow: 0 28px 70px rgba(15, 31, 51, 0.18);
}

.education-errors-panel ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  border-radius: 1.35rem;
}

.education-errors-panel li {
  min-height: 245px;
  padding: 1.45rem;
  background: rgba(255, 255, 255, 0.06);
  transition: background 320ms ease, transform 320ms ease;
}

.education-errors-panel li:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.11);
}

.education-errors-panel span {
  display: block;
  margin-bottom: 1rem;
  color: #f6ead8;
  font-family: var(--font-heading, 'Cormorant Garamond', serif);
  font-size: 1.7rem;
  line-height: 1;
}

.education-errors-panel p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.75;
}

.education-cta {
  padding-top: 2rem;
}

.education-cta-card {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 7vw, 6rem);
  border-radius: 2.4rem;
  background:
    linear-gradient(120deg, rgba(12, 18, 28, 0.94), rgba(31, 38, 51, 0.88)),
    url('../assets/imagenhero4.jpeg') center/cover;
  box-shadow: 0 34px 80px rgba(15, 31, 51, 0.24);
  text-align: center;
}

.education-cta-card::before {
  content: '';
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(214, 189, 128, 0.28);
  border-radius: 1.8rem;
  pointer-events: none;
}

.education-cta-card h2 {
  color: #fff !important;
}

.education-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
  padding: 0.95rem 1.55rem;
  border: 1px solid rgba(214, 189, 128, 0.5);
  border-radius: 999px;
  background: #fff;
  color: #10151c !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 320ms ease, background 320ms ease, color 320ms ease, box-shadow 320ms ease;
}

.education-cta-button:hover {
  transform: translateY(-4px);
  background: var(--luxury-gold, #b89a5e);
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
}

.education-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 760ms ease var(--reveal-delay, 0ms), transform 760ms ease var(--reveal-delay, 0ms), clip-path 900ms ease var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.education-reveal[data-reveal="fade-in"] { transform: none; }
.education-reveal[data-reveal="slide-reveal"] { clip-path: inset(0 100% 0 0); transform: translateY(18px); }
.education-reveal.is-visible { opacity: 1; transform: translateY(0); clip-path: inset(0 0 0 0); }

body.dark .education-main,
body.dark-mode .education-main {
  background:
    radial-gradient(circle at 10% 20%, rgba(214, 189, 128, 0.1), transparent 34rem),
    linear-gradient(180deg, #171b23 0%, #202631 48%, #171b23 100%) !important;
}

body.dark .education-lead,
body.dark-mode .education-lead,
body.dark .education-step p,
body.dark-mode .education-step p,
body.dark .education-card p,
body.dark-mode .education-card p {
  color: rgba(248, 241, 235, 0.72);
}

body.dark .education-step,
body.dark-mode .education-step,
body.dark .education-card,
body.dark-mode .education-card {
  background: rgba(30, 38, 50, 0.78);
  border-color: rgba(248, 241, 235, 0.12);
}

@media (max-width: 1180px) {
  .education-timeline,
  .education-card-grid-investors,
  .education-card-grid-sellers,
  .education-errors-panel ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .education-timeline::before { display: none; }
}

@media (max-width: 760px) {
  .education-hero { min-height: 720px; }
  .education-hero-content { padding-top: 8rem; }
  .education-hero h1 { font-size: clamp(3.25rem, 16vw, 5.2rem) !important; }
  .education-intro,
  .education-timeline,
  .education-card-grid-investors,
  .education-card-grid-sellers,
  .education-errors-panel ul {
    grid-template-columns: 1fr;
  }
  .education-lead { padding-left: 1rem; }
  .education-section { padding: 4rem 0; }
  .education-card,
  .education-step,
  .education-errors-panel li { min-height: auto; }
  .education-cta-card { border-radius: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .education-hero-bg,
  .education-reveal,
  .education-step,
  .education-card,
  .education-cta-button {
    transition: none !important;
    transform: none !important;
  }
}


/* Premium global typography and loader v2 */
:root {
  --premium-global-heading: 'Cormorant Garamond', Georgia, serif;
  --premium-global-body: 'Inter', system-ui, sans-serif;
  --premium-global-ui: 'Manrope', system-ui, sans-serif;
}

body { font-family: var(--premium-global-body); }
h1, h2, h3, h4, h5, h6 { font-family: var(--premium-global-heading) !important; }
.site-nav a, button, input, select, textarea, .btn, .button, .text-link { font-family: var(--premium-global-ui); }

.premium-preloader {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  background: #FAF9F7;
  opacity: 1;
  visibility: visible;
  transition: opacity 520ms ease, visibility 520ms ease;
}

.premium-preloader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.premium-preloader-card {
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 2rem;
  text-align: center;
}

.premium-preloader-logo {
  width: min(180px, 45vw);
  height: auto;
  object-fit: contain;
  animation: premiumLoaderLogo 1200ms cubic-bezier(.2,.8,.2,1) both;
}

.premium-preloader-text {
  margin: 0;
  color: #0F172A;
  font-family: var(--premium-global-ui);
  font-size: clamp(0.74rem, 2.6vw, 0.96rem);
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  animation: premiumLoaderText 900ms ease 280ms both;
}

.premium-preloader-line {
  width: min(190px, 54vw);
  height: 1px;
  background: #B89B5E;
  transform-origin: center;
  animation: premiumLoaderLine 900ms ease 520ms both;
}

@keyframes premiumLoaderLogo {
  0% { opacity: 0; transform: scale(0.94); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes premiumLoaderText {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes premiumLoaderLine {
  0% { opacity: 0; transform: scaleX(0); }
  100% { opacity: 1; transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  .premium-preloader-logo,
  .premium-preloader-text,
  .premium-preloader-line {
    animation: none;
  }
}

/* Premium agent dashboard refresh */
.agent-dashboard-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 7vw, 6rem) 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(203, 164, 82, 0.24), transparent 30%),
    linear-gradient(135deg, #07111f 0%, #102033 48%, #05070b 100%);
  color: #fff;
}

.agent-dashboard-hero::after {
  content: "";
  position: absolute;
  inset: 12% -8% auto auto;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(203, 164, 82, 0.35);
  border-radius: 50%;
}

.agent-dashboard-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.agent-dashboard-hero h1 {
  max-width: 820px;
  margin: 0.25rem 0 0.85rem;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  line-height: 0.98;
  color: #fff;
}

.agent-dashboard-hero p:not(.dashboard-eyebrow) {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.06rem;
}

.dashboard-eyebrow {
  margin: 0 0 0.35rem;
  color: #cba452;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.dashboard-hero-stats {
  display: grid;
  gap: 0.35rem;
  min-width: 220px;
  padding: 1.25rem;
  border: 1px solid rgba(203, 164, 82, 0.42);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(12px);
}

.dashboard-hero-stats strong {
  color: #f4d389;
  font-family: 'Playfair Display', serif;
  font-size: 1.65rem;
}

.agent-dashboard-shell {
  display: grid;
  gap: 1.3rem;
}

.dashboard-auth-box,
.dashboard-card {
  border: 1px solid rgba(203, 164, 82, 0.18);
  border-radius: 26px;
  padding: clamp(1.15rem, 2.5vw, 2rem);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,248,243,0.94));
  box-shadow: 0 22px 60px rgba(7, 17, 31, 0.09);
}

.dashboard-card-header {
  margin-bottom: 1.1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(203, 164, 82, 0.18);
}

.dashboard-card-header h2,
.shared-inventory-header h3 {
  margin: 0;
  color: #07111f;
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.dashboard-card-header p:last-child {
  margin: 0.35rem 0 0;
  color: #5d6674;
}

.dashboard-layout {
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.5fr);
  align-items: start;
  gap: 1.25rem;
}

.dashboard-property-editor { grid-row: span 2; }

.dashboard-form label,
.dashboard-checkbox-group legend,
.property-video-fieldset legend,
.dashboard-form-section > legend {
  color: #162033;
  font-weight: 800;
}

.dashboard-form input,
.dashboard-form select,
.dashboard-form textarea,
.shared-inventory-header input,
#propertyImageUrlInput,
#propertyImageFiles {
  width: 100%;
  margin-top: 0.35rem;
  border: 1px solid rgba(22, 32, 51, 0.12);
  border-radius: 16px;
  background: #fff;
  color: #111827;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
}

.dashboard-form input:focus,
.dashboard-form select:focus,
.dashboard-form textarea:focus,
.shared-inventory-header input:focus {
  outline: 2px solid rgba(203, 164, 82, 0.28);
  border-color: #cba452;
}

.dashboard-form-grid,
.dashboard-form--profile {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.form-span-2 { grid-column: 1 / -1; }

.dashboard-form-section {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 1.15rem;
  border: 1px solid rgba(203, 164, 82, 0.22);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
}

.dashboard-form-section > legend {
  padding: 0 0.65rem;
  color: #07111f;
  font-size: 1rem;
}

.dashboard-form-section > legend span {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: #cba452;
  color: #07111f;
}

.dashboard-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
  padding: 0.85rem;
  border: 1px dashed rgba(203, 164, 82, 0.42);
  border-radius: 18px;
}

.dashboard-checkbox-group label,
.image-mode-selector label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: auto;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: #f7f1e3;
  color: #253044;
}

.property-video-fieldset,
.property-video-placeholder {
  border-color: rgba(203, 164, 82, 0.26);
  background: linear-gradient(135deg, rgba(203, 164, 82, 0.10), rgba(255,255,255,0.82));
}

.property-video-fieldset legend,
.property-video-header h2 { color: #9a7429; }

.property-video-preview {
  display: grid;
  gap: 0.75rem;
}

.image-preview-card,
.shared-history-item,
.shared-select-card {
  border-color: rgba(203, 164, 82, 0.18);
  box-shadow: 0 12px 30px rgba(7, 17, 31, 0.08);
}

.dashboard-form-actions button:not(.button-secondary),
#createSharedListBtn {
  background: linear-gradient(135deg, #cba452, #f0d38a);
  border-color: #cba452;
  color: #07111f;
}

.button-secondary,
.image-preview-actions button {
  background: #fff;
  color: #07111f;
  border-color: rgba(203, 164, 82, 0.45);
}

.dashboard-sticky-actions {
  position: sticky;
  bottom: 1rem;
  z-index: 5;
  padding: 0.8rem;
  border: 1px solid rgba(203, 164, 82, 0.24);
  border-radius: 20px;
  background: rgba(255,255,255,0.9);
  box-shadow: 0 18px 45px rgba(7, 17, 31, 0.14);
  backdrop-filter: blur(12px);
}

.dashboard-message {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 16px;
  background: #f8f3e8;
  color: #273247;
}

.dashboard-message[data-type="success"] { color: #166534; background: #ecfdf3; }
.dashboard-message[data-type="error"] { color: #991b1b; background: #fff1f2; }

.dashboard-user-chip {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.dashboard-user-chip img {
  border: 2px solid rgba(203, 164, 82, 0.55);
  flex: 0 0 auto;
}

.shared-selected-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 999px;
  background: #07111f;
  color: #f4d389;
  font-weight: 800;
}

.shared-inventory-header {
  padding-top: 1rem;
  border-top: 1px solid rgba(203, 164, 82, 0.18);
}

.shared-select-checkbox {
  background: rgba(7, 17, 31, 0.82);
  border: 1px solid rgba(244, 211, 137, 0.55);
}

.dashboard-property-map {
  min-height: 320px;
  border-color: rgba(203, 164, 82, 0.35);
  box-shadow: 0 14px 35px rgba(7, 17, 31, 0.10);
}

body.dark .dashboard-card,
body.dark-mode .dashboard-card,
body.dark .dashboard-auth-box,
body.dark-mode .dashboard-auth-box {
  background: linear-gradient(180deg, rgba(15,23,42,0.98), rgba(17,24,39,0.94));
  border-color: rgba(203, 164, 82, 0.28);
}

body.dark .dashboard-card-header h2,
body.dark-mode .dashboard-card-header h2,
body.dark .shared-inventory-header h3,
body.dark-mode .shared-inventory-header h3,
body.dark .dashboard-form label,
body.dark-mode .dashboard-form label,
body.dark .dashboard-form-section > legend,
body.dark-mode .dashboard-form-section > legend {
  color: #fff;
}

body.dark .dashboard-form input,
body.dark .dashboard-form select,
body.dark .dashboard-form textarea,
body.dark-mode .dashboard-form input,
body.dark-mode .dashboard-form select,
body.dark-mode .dashboard-form textarea {
  background: rgba(255,255,255,0.06);
  color: #fff;
  border-color: rgba(203, 164, 82, 0.25);
}

@media (max-width: 980px) {
  .agent-dashboard-hero__inner,
  .dashboard-layout,
  .dashboard-form-grid,
  .dashboard-form--profile {
    grid-template-columns: 1fr;
  }
  .form-span-2 { grid-column: auto; }
  .dashboard-property-editor { grid-row: auto; }
}

@media (max-width: 640px) {
  .agent-dashboard-hero { padding: 2.5rem 0; }
  .dashboard-card,
  .dashboard-auth-box { border-radius: 20px; padding: 1rem; }
  .image-url-row { grid-template-columns: 1fr; }
  .dashboard-sticky-actions { position: static; }
}


/* === 2026-06-06 Global premium footer lock (day + night) === */
:root,
body.dark,
body.dark-mode,
[data-theme="dark"] {
  --footer-premium-bg: linear-gradient(135deg, #07162F 0%, #0A1E3A 55%, #030914 100%);
  --footer-premium-text: #FFFFFF;
  --footer-premium-text-hover: #FFCDD2;
  --footer-premium-border: rgba(255, 255, 255, 0.34);
  --footer-premium-social-bg: transparent;
  --footer-bg: var(--footer-premium-bg);
}

.site-footer,
body.dark .site-footer,
body.dark-mode .site-footer,
[data-theme="dark"] .site-footer {
  background: var(--footer-premium-bg) !important;
  color: var(--footer-premium-text) !important;
  border-top: 1px solid var(--footer-premium-border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 -18px 48px rgba(5, 5, 5, 0.16);
}

.site-footer :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, em, li, label),
.site-footer :is(a, a:link, a:visited, a:active),
.site-footer .footer-text,
.site-footer .footer-legal-link,
.site-footer .footer-columns h4,
.site-footer .footer-columns a,
.site-footer .footer-cta {
  color: var(--footer-premium-text) !important;
}

.site-footer :is(a:hover, a:focus-visible),
.site-footer .footer-legal-link:is(:hover, :focus-visible),
.site-footer .footer-columns a:is(:hover, :focus-visible),
.site-footer .footer-cta:is(:hover, :focus-visible) {
  color: var(--footer-premium-text-hover) !important;
}

.site-footer .footer-cta {
  background: rgba(5, 5, 5, 0.32) !important;
  border: 1px solid var(--footer-premium-border) !important;
  box-shadow: 0 12px 30px rgba(5, 5, 5, 0.24) !important;
}

.site-footer .footer-cta:is(:hover, :focus-visible) {
  background: rgba(5, 5, 5, 0.48) !important;
  border-color: var(--footer-premium-text-hover) !important;
}

.site-footer .footer-social-link,
.site-footer .footer-social a,
.site-footer .footer-social-link:active,
.site-footer .footer-social a:active {
  color: var(--footer-premium-text) !important;
  background: var(--footer-premium-social-bg) !important;
  border-color: var(--footer-premium-border) !important;
}

.site-footer .footer-social-link svg,
.site-footer .footer-social a svg {
  fill: currentColor !important;
}

.site-footer .footer-social-link:is(:hover, :focus-visible),
.site-footer .footer-social a:is(:hover, :focus-visible) {
  color: var(--footer-premium-text-hover) !important;
  background: rgba(5, 5, 5, 0.52) !important;
  border-color: var(--footer-premium-text-hover) !important;
  box-shadow: 0 14px 30px rgba(5, 5, 5, 0.28) !important;
}

.legal-document-card {
  margin-top: 1.4rem;
  padding: 1.25rem;
  border: 1px solid rgba(203, 164, 82, 0.28);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(248,243,232,0.86));
  box-shadow: 0 16px 42px rgba(7, 17, 31, 0.09);
}

.legal-document-heading {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 0.7rem;
}

.legal-document-heading h3 {
  margin: 0;
  color: #07111f;
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.legal-document-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: linear-gradient(135deg, #07111f, #1c2f4f);
  color: #f0d38a;
  box-shadow: 0 10px 24px rgba(7, 17, 31, 0.18);
}

.legal-upload-dropzone {
  display: grid;
  gap: 0.3rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed rgba(203, 164, 82, 0.7);
  border-radius: 18px;
  background: rgba(255,255,255,0.75);
  color: #07111f;
  cursor: pointer;
}

.legal-upload-dropzone span {
  font-weight: 800;
}

.legal-upload-dropzone small {
  color: #64748b;
}

.legal-upload-dropzone input {
  margin-top: 0.65rem;
}

.legal-document-existing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(28, 47, 79, 0.13);
  border-radius: 18px;
  background: #fff;
}

.legal-document-existing strong {
  color: #1c2f4f;
}

.legal-document-existing p {
  margin: 0.2rem 0 0;
  color: #64748b;
  word-break: break-word;
}

.legal-document-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.6rem;
}

.legal-document-actions a,
.legal-document-actions button,
.legal-document-existing > button {
  min-height: 40px;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
}

.danger-button {
  border: 1px solid #ef4444;
  background: #fff1f2;
  color: #991b1b;
}

#legalDocumentStatus[data-type="success"] { color: #166534; }
#legalDocumentStatus[data-type="error"] { color: #991b1b; }

body.dark .legal-document-card,
body.dark-mode .legal-document-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(28, 47, 79, 0.86));
  border-color: rgba(203, 164, 82, 0.42);
}

body.dark .legal-document-heading h3,
body.dark-mode .legal-document-heading h3 { color: #f8fafc; }

body.dark .legal-document-existing,
body.dark-mode .legal-document-existing,
body.dark .legal-upload-dropzone,
body.dark-mode .legal-upload-dropzone {
  background: rgba(15, 23, 42, 0.78);
  color: #f8fafc;
}

@media (max-width: 720px) {
  .legal-document-existing {
    align-items: stretch;
    flex-direction: column;
  }

  .legal-document-actions {
    justify-content: flex-start;
  }
}

/* Publication review badges for agent dashboard */
.publication-status-badge {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.publication-pending { background: #fff8e1; color: #8a5a00; border: 1px solid rgba(212, 175, 55, 0.45); }
.publication-approved { background: #ecfdf3; color: #166534; border: 1px solid rgba(22, 101, 52, 0.25); }
.publication-rejected { background: #fef2f2; color: #991b1b; border: 1px solid rgba(153, 27, 27, 0.25); }
.publication-draft { background: #f3f4f6; color: #374151; border: 1px solid rgba(107, 114, 128, 0.25); }
.publication-archived { background: #eef2ff; color: #3730a3; border: 1px solid rgba(55, 48, 163, 0.25); }
.rejection-reason {
  background: #fef2f2;
  border-left: 4px solid #991b1b;
  border-radius: 10px;
  color: #7f1d1d;
  padding: 0.7rem;
}

/* Active Google session card for private agent dashboard */
.dashboard-login-card,
.dashboard-active-session-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.dashboard-login-card h2 {
  margin: 0.15rem 0 0.35rem;
  color: #07111f;
  font-family: 'Playfair Display', serif;
}

.dashboard-login-card p:not(.dashboard-eyebrow) {
  margin: 0;
  color: #5d6674;
}

.dashboard-active-session-card {
  align-items: stretch;
}

.dashboard-session-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  align-self: center;
  border: 1px solid rgba(22, 101, 52, 0.18);
  border-radius: 999px;
  padding: 0.45rem 0.75rem;
  background: #ecfdf3;
  color: #166534;
  font-weight: 800;
}

.session-status-dot {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.16);
}

.dashboard-user-chip__details {
  display: grid;
  gap: 0.15rem;
  min-width: min(260px, 100%);
}

.dashboard-user-chip__details strong {
  color: #07111f;
  font-size: 1rem;
}

.dashboard-user-chip__details span {
  color: #5d6674;
  overflow-wrap: anywhere;
}

.nav-auth-container {
  display: inline-flex;
  align-items: center;
}

.nav-auth-session {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  max-width: min(420px, 100%);
  border: 1px solid rgba(203, 164, 82, 0.28);
  border-radius: 999px;
  padding: 0.35rem 0.45rem 0.35rem 0.35rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 30px rgba(7, 17, 31, 0.08);
}

.nav-auth-session img {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  object-fit: cover;
}

.nav-auth-session__text {
  display: grid;
  gap: 0.05rem;
  line-height: 1.15;
  min-width: 0;
}

.nav-auth-session__text strong,
.nav-auth-session__text small {
  display: block;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-auth-session__text strong {
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 800;
}

.nav-auth-session__text small {
  color: var(--muted);
  font-size: 0.76rem;
}

@media (max-width: 760px) {
  .nav-auth-container,
  .nav-auth-session {
    width: 100%;
  }

  .nav-auth-session {
    justify-content: space-between;
    border-radius: 18px;
  }
}

/* Final mobile navbar and hero advisor button fixes */
@media (max-width: 900px) {
  body:not(.dark):not(.dark-mode) .site-nav,
  body:not(.dark):not(.dark-mode) .site-nav.open,
  body:not(.dark):not(.dark-mode) .site-nav.active,
  body:not(.dark):not(.dark-mode) .main-nav,
  body:not(.dark):not(.dark-mode) .mobile-menu,
  body:not(.dark):not(.dark-mode) .nav-menu,
  body:not(.dark):not(.dark-mode) .nav-wrapper.menu-open {
    background: #f8f3ec !important;
    background-color: #f8f3ec !important;
    border-color: rgba(7, 22, 47, 0.12) !important;
  }

  body:not(.dark):not(.dark-mode) .site-nav a,
  body:not(.dark):not(.dark-mode) .site-nav.open a,
  body:not(.dark):not(.dark-mode) .site-nav.active a,
  body:not(.dark):not(.dark-mode) .main-nav a,
  body:not(.dark):not(.dark-mode) .mobile-menu a,
  body:not(.dark):not(.dark-mode) .nav-menu a {
    color: #07162f !important;
  }

  body.dark .site-nav,
  body.dark-mode .site-nav,
  body.dark .site-nav.open,
  body.dark-mode .site-nav.open,
  body.dark .site-nav.active,
  body.dark-mode .site-nav.active,
  body.dark .main-nav,
  body.dark-mode .main-nav,
  body.dark .mobile-menu,
  body.dark-mode .mobile-menu,
  body.dark .nav-menu,
  body.dark-mode .nav-menu,
  body.dark .nav-wrapper.menu-open,
  body.dark-mode .nav-wrapper.menu-open {
    background: rgba(5, 5, 5, 0.98) !important;
    background-color: rgba(5, 5, 5, 0.98) !important;
  }
}

.home-page .hero .premium-btn-secondary[href*="wa.me"],
.home-page .hero .premium-btn-secondary[href*="wa.me"]:hover,
.home-page .hero .premium-btn-secondary[href*="wa.me"]:focus-visible,
.home-page .hero .btn-secondary[href*="wa.me"],
.home-page .hero .btn-secondary[href*="wa.me"]:hover,
.home-page .hero .btn-secondary[href*="wa.me"]:focus-visible,
.home-page .hero .hero-advisor-button,
.home-page .hero .hero-advisor-button:hover,
.home-page .hero .hero-advisor-button:focus-visible {
  color: #d4af37 !important;
}

/* Diamantes Realty Group visual identity update: institutional red actions + graphite dark mode. */
:root {
  --brand-red: #B00008;
  --brand-red-hover: #C51A22;
  --brand-red-active: #930006;
  --premium-dark-gradient: linear-gradient(180deg, #181818 0%, #222222 50%, #2A2A2A 100%);
  --primary-red: var(--brand-red);
  --primary-red-dark: var(--brand-red-active);
  --primary-red-soft: var(--brand-red-hover);
  --primary-red-fixed: var(--brand-red);
  --accent-primary: var(--brand-red);
  --accent-strong: var(--brand-red-active);
  --accent-strong-hover: var(--brand-red-hover);
  --accent-gold: var(--brand-red);
  --accent-gold-soft: var(--brand-red-hover);
  --accent-gold-bright: var(--brand-red-hover);
  --diamond-red: var(--brand-red);
  --button-bg: var(--brand-red);
  --button-hover: var(--brand-red-hover);
  --button-text: #ffffff;
  --color-brand-red: var(--brand-red);
  --color-brand-gold: var(--brand-red);
  --premium-accent: var(--brand-red);
  --luxury-gold: var(--brand-red);
  --luxury-gold-soft: rgba(176, 0, 8, 0.18);
}

body.dark,
body.dark-mode,
[data-theme="dark"] {
  --bg-main: #181818;
  --bg-secondary: #222222;
  --section-dark: #181818;
  --bg-card: #242424;
  --card-bg: #242424;
  --text-main: #F5F5F5;
  --text-secondary: #D4D4D4;
  --text-inverse: #ffffff;
  --text-strong: #ffffff;
  --accent-primary: var(--brand-red);
  --accent-strong: var(--brand-red-active);
  --accent-strong-hover: var(--brand-red-hover);
  --button-bg: var(--brand-red);
  --button-hover: var(--brand-red-hover);
  --button-text: #ffffff;
  --header-scrolled: rgba(24, 24, 24, 0.88);
  --nav-mobile-bg: rgba(24, 24, 24, 0.98);
  --glass-card: rgba(34, 34, 34, 0.86);
  --glass-card-strong: rgba(42, 42, 42, 0.94);
  --glass-border: rgba(255, 255, 255, 0.16);
  --glass-border-strong: rgba(255, 255, 255, 0.24);
}

body.dark,
body.dark-mode,
[data-theme="dark"] {
  background: var(--premium-dark-gradient) !important;
  color: var(--text-main) !important;
}

body.dark main,
body.dark-mode main,
[data-theme="dark"] main,
body.dark .main,
body.dark-mode .main,
body.dark section,
body.dark-mode section,
body.dark .section,
body.dark-mode .section,
body.dark .premium-gradient-bg,
body.dark-mode .premium-gradient-bg,
body.dark .premium-stats-section,
body.dark-mode .premium-stats-section,
body.dark .premium-services-section,
body.dark-mode .premium-services-section,
body.dark .premium-trust-section,
body.dark-mode .premium-trust-section,
body.dark .home-matched-properties,
body.dark-mode .home-matched-properties,
body.dark .education-main,
body.dark-mode .education-main,
body.dark .section-properties,
body.dark-mode .section-properties,
body.dark .agent-dashboard-hero,
body.dark-mode .agent-dashboard-hero,
body.dark .agent-dashboard-shell,
body.dark-mode .agent-dashboard-shell {
  background: var(--premium-dark-gradient) !important;
  color: var(--text-main) !important;
}

body.dark .dashboard-card,
body.dark-mode .dashboard-card,
body.dark .dashboard-auth-box,
body.dark-mode .dashboard-auth-box,
body.dark .legal-document-card,
body.dark-mode .legal-document-card,
body.dark .shared-history-item,
body.dark-mode .shared-history-item,
body.dark .shared-select-card,
body.dark-mode .shared-select-card,
body.dark .property-card,
body.dark-mode .property-card,
body.dark .service-card,
body.dark-mode .service-card,
body.dark .trust-card,
body.dark-mode .trust-card,
body.dark .highlight-card,
body.dark-mode .highlight-card,
body.dark .contact-card,
body.dark-mode .contact-card {
  background: var(--premium-dark-gradient) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--text-main) !important;
}

body.dark .hero-overlay,
body.dark-mode .hero-overlay,
body.dark .premium-hero::before,
body.dark-mode .premium-hero::before {
  background: linear-gradient(90deg, rgba(24, 24, 24, 0.84) 0%, rgba(34, 34, 34, 0.58) 50%, rgba(42, 42, 42, 0.2) 100%) !important;
}

.btn,
.button,
button[type="submit"],
.premium-btn-primary,
.hero-search-submit,
.footer-cta,
.education-cta-button,
.btn-primary-property,
.review-auth-btn,
.dashboard-form-actions button:not(.button-secondary),
#createSharedListBtn,
.legal-document-actions button,
.legal-document-existing > button,
.agent-contact-button,
.property-contact-button {
  background: var(--brand-red) !important;
  background-color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(176, 0, 8, 0.22);
}

.btn:hover,
.button:hover,
button[type="submit"]:hover,
.premium-btn-primary:hover,
.hero-search-submit:hover,
.footer-cta:hover,
.education-cta-button:hover,
.btn-primary-property:hover,
.review-auth-btn:hover,
.dashboard-form-actions button:not(.button-secondary):hover,
#createSharedListBtn:hover,
.legal-document-actions button:hover,
.legal-document-existing > button:hover,
.agent-contact-button:hover,
.property-contact-button:hover {
  background: var(--brand-red-hover) !important;
  background-color: var(--brand-red-hover) !important;
  border-color: var(--brand-red-hover) !important;
  color: #ffffff !important;
}

.btn:active,
.button:active,
button[type="submit"]:active,
.premium-btn-primary:active,
.hero-search-submit:active,
.footer-cta:active,
.education-cta-button:active,
.btn-primary-property:active,
.review-auth-btn:active,
.dashboard-form-actions button:not(.button-secondary):active,
#createSharedListBtn:active,
.legal-document-actions button:active,
.legal-document-existing > button:active,
.agent-contact-button:active,
.property-contact-button:active {
  background: var(--brand-red-active) !important;
  background-color: var(--brand-red-active) !important;
  border-color: var(--brand-red-active) !important;
  color: #ffffff !important;
}

.menu-toggle,
.theme-toggle,
.ghost,
.button-secondary,
.image-preview-actions button {
  box-shadow: none;
}

.home-page .hero-search-content .premium-search .hero-search-submit,
.home-page .hero-search-content .premium-search .hero-search-submit:visited,
.home-page .premium-search .hero-search-submit,
body.dark .home-page .hero-search-content .premium-search .hero-search-submit,
body.dark-mode .home-page .hero-search-content .premium-search .hero-search-submit,
[data-theme="dark"] .home-page .hero-search-content .premium-search .hero-search-submit,
body:not(.dark):not(.dark-mode) .home-page .hero-search-content .premium-search .hero-search-submit {
  background: var(--brand-red) !important;
  background-color: var(--brand-red) !important;
  color: #ffffff !important;
  border-color: var(--brand-red) !important;
}

.home-page .hero-search-content .premium-search .hero-search-submit:hover,
.home-page .hero-search-content .premium-search .hero-search-submit:focus-visible,
.home-page .premium-search .hero-search-submit:hover,
.home-page .premium-search .hero-search-submit:focus-visible,
body.dark .home-page .hero-search-content .premium-search .hero-search-submit:hover,
body.dark .home-page .hero-search-content .premium-search .hero-search-submit:focus-visible,
body.dark-mode .home-page .hero-search-content .premium-search .hero-search-submit:hover,
body.dark-mode .home-page .hero-search-content .premium-search .hero-search-submit:focus-visible,
[data-theme="dark"] .home-page .hero-search-content .premium-search .hero-search-submit:hover,
[data-theme="dark"] .home-page .hero-search-content .premium-search .hero-search-submit:focus-visible {
  background: var(--brand-red-hover) !important;
  background-color: var(--brand-red-hover) !important;
  color: #ffffff !important;
  border-color: var(--brand-red-hover) !important;
}

.home-page .hero .premium-btn-secondary[href*="wa.me"],
.home-page .hero .premium-btn-secondary[href*="wa.me"]:hover,
.home-page .hero .premium-btn-secondary[href*="wa.me"]:focus-visible,
.home-page .hero .btn-secondary[href*="wa.me"],
.home-page .hero .btn-secondary[href*="wa.me"]:hover,
.home-page .hero .btn-secondary[href*="wa.me"]:focus-visible,
.home-page .hero .hero-advisor-button,
.home-page .hero .hero-advisor-button:hover,
.home-page .hero .hero-advisor-button:focus-visible {
  color: #ffffff !important;
}

/* Premium property pricing typography */
.property-card .price,
.property-price,
.detail-summary-price,
.map-preview-price,
.shared-detail-grid .price,
#propertiesGrid .price,
.home-page #featuredGrid .price,
.home-page .home-matched-properties-grid .price {
  display: block;
  color: #B00008 !important;
  font-family: "Inter", "Montserrat", "Manrope", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.1 !important;
  text-align: left;
  white-space: pre-line;
}

.price .price-usd,
.property-price .price-usd,
.detail-summary-price .price-usd,
.map-preview-price .price-usd {
  display: block;
  color: #B00008;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.1;
}

.price .price-nio,
.property-price .price-nio,
.detail-summary-price .price-nio,
.map-preview-price .price-nio {
  display: block;
  color: #B00008;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.5px;
  line-height: 1.1;
  opacity: 0.9;
  margin-top: 0.15rem;
}

.price .price-unavailable,
.property-price .price-unavailable,
.detail-summary-price .price-unavailable {
  display: block;
  color: #B00008;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.1;
  opacity: 0.9;
}

.detail-summary-price {
  margin: 0.18rem 0 0 !important;
}

/* Premium agents directory cards */
#agentsGrid.agents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(24px, 3vw, 32px);
  align-items: stretch;
}

#agentsGrid .agent-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: clamp(1.5rem, 2.5vw, 2rem);
  overflow: visible !important;
  border: 1px solid rgba(176, 0, 8, 0.16) !important;
  border-radius: 26px !important;
  background: #ffffff !important;
  color: #17313a !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.11) !important;
  opacity: 0;
  transform: translateY(24px);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.5s ease;
}

#agentsGrid .agent-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

#agentsGrid .agent-card:hover {
  transform: translateY(-8px);
  border-color: rgba(176, 0, 8, 0.42) !important;
  box-shadow: 0 26px 60px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(176, 0, 8, 0.08) !important;
}

#agentsGrid .agent-diamond-photo {
  width: 120px;
  height: 120px;
  flex: 0 0 120px;
  margin: 0.75rem auto 2rem;
  overflow: hidden;
  border: 4px solid #B00008;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 30px rgba(176, 0, 8, 0.2), 0 10px 24px rgba(15, 23, 42, 0.14);
  transform: rotate(45deg);
}

#agentsGrid .agent-diamond-photo .agent-photo,
#agentsGrid .agent-card .agent-diamond-photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  border-radius: 0 !important;
  transform: rotate(-45deg) scale(1.25);
  transform-origin: center;
}

#agentsGrid .agent-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  text-align: center;
}

#agentsGrid .agent-name,
#agentsGrid .agent-card h2.agent-name {
  width: 100%;
  margin: 0 0 0.75rem;
  overflow-wrap: anywhere;
  color: #14323b !important;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 2.6vw, 2.5rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  white-space: normal !important;
}

#agentsGrid .agent-description,
#agentsGrid .agent-card p.agent-description {
  display: -webkit-box;
  width: 100%;
  margin: 0 0 1.15rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: #5f6b74 !important;
  font-family: "Inter", system-ui, sans-serif;
  font-size: clamp(0.95rem, 1.5vw, 1rem);
  line-height: 1.65;
  white-space: normal !important;
}

#agentsGrid .agent-contact-list {
  display: grid;
  gap: 0.55rem;
  width: 100%;
  margin: 0.15rem 0 1.1rem;
}

#agentsGrid .agent-contact-row,
#agentsGrid .agent-card p.agent-contact-row {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-width: 0;
  margin: 0;
  color: #334155 !important;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.96rem;
  line-height: 1.5;
  white-space: normal !important;
}

#agentsGrid .agent-contact-row strong {
  flex: 0 0 auto;
  color: #14323b;
  font-weight: 800;
}

#agentsGrid .agent-contact-row a {
  min-width: 0;
  color: #334155 !important;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#agentsGrid .agent-contact-row a:hover {
  color: #B00008 !important;
}

#agentsGrid .agent-social {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  width: 100%;
  margin: auto 0 1.25rem;
}

#agentsGrid .agent-social:empty {
  display: none;
}

#agentsGrid .agent-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(176, 0, 8, 0.16);
  border-radius: 999px;
  background: rgba(176, 0, 8, 0.06) !important;
  color: #14323b !important;
  opacity: 1 !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

#agentsGrid .agent-social a svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

#agentsGrid .agent-social a:hover,
#agentsGrid .agent-social a:focus-visible {
  transform: translateY(-3px);
  border-color: #B00008;
  background: #B00008 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(176, 0, 8, 0.22);
}

#agentsGrid .agent-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  width: 100%;
  margin-top: 0;
}

#agentsGrid .agent-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 46px;
  padding: 0.8rem 1rem;
  border: 1.5px solid #B00008;
  border-radius: 999px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal !important;
  overflow-wrap: anywhere;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

#agentsGrid .agent-button-primary,
#agentsGrid .agent-button-primary:visited {
  background: #B00008 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(176, 0, 8, 0.22);
}

#agentsGrid .agent-button-secondary,
#agentsGrid .agent-button-secondary:visited {
  background: transparent !important;
  color: #B00008 !important;
}

#agentsGrid .agent-button:hover,
#agentsGrid .agent-button:focus-visible {
  transform: translateY(-2px);
  border-color: #930006 !important;
  background: #930006 !important;
  color: #ffffff !important;
  box-shadow: 0 15px 28px rgba(147, 0, 6, 0.25);
}

body.dark #agentsGrid .agent-card,
body.dark-mode #agentsGrid .agent-card,
html[data-theme="dark"] #agentsGrid .agent-card,
[data-theme="dark"] #agentsGrid .agent-card {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(35, 35, 35, 0.88) !important;
  color: #E5E5E5 !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.32) !important;
}

body.dark #agentsGrid .agent-card:hover,
body.dark-mode #agentsGrid .agent-card:hover,
html[data-theme="dark"] #agentsGrid .agent-card:hover,
[data-theme="dark"] #agentsGrid .agent-card:hover {
  border-color: rgba(176, 0, 8, 0.55) !important;
  box-shadow: 0 26px 62px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(176, 0, 8, 0.16) !important;
}

body.dark #agentsGrid .agent-name,
body.dark-mode #agentsGrid .agent-name,
html[data-theme="dark"] #agentsGrid .agent-name,
[data-theme="dark"] #agentsGrid .agent-name,
body.dark #agentsGrid .agent-card h2.agent-name,
body.dark-mode #agentsGrid .agent-card h2.agent-name,
html[data-theme="dark"] #agentsGrid .agent-card h2.agent-name,
[data-theme="dark"] #agentsGrid .agent-card h2.agent-name {
  color: #ffffff !important;
}

body.dark #agentsGrid .agent-description,
body.dark-mode #agentsGrid .agent-description,
html[data-theme="dark"] #agentsGrid .agent-description,
[data-theme="dark"] #agentsGrid .agent-description,
body.dark #agentsGrid .agent-contact-row,
body.dark-mode #agentsGrid .agent-contact-row,
html[data-theme="dark"] #agentsGrid .agent-contact-row,
[data-theme="dark"] #agentsGrid .agent-contact-row,
body.dark #agentsGrid .agent-contact-row a,
body.dark-mode #agentsGrid .agent-contact-row a,
html[data-theme="dark"] #agentsGrid .agent-contact-row a,
[data-theme="dark"] #agentsGrid .agent-contact-row a {
  color: #E5E5E5 !important;
}

body.dark #agentsGrid .agent-contact-row strong,
body.dark-mode #agentsGrid .agent-contact-row strong,
html[data-theme="dark"] #agentsGrid .agent-contact-row strong,
[data-theme="dark"] #agentsGrid .agent-contact-row strong {
  color: #ffffff;
}

body.dark #agentsGrid .agent-social a,
body.dark-mode #agentsGrid .agent-social a,
html[data-theme="dark"] #agentsGrid .agent-social a,
[data-theme="dark"] #agentsGrid .agent-social a {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  #agentsGrid.agents-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  #agentsGrid .agent-card {
    padding: 1.35rem;
  }

  #agentsGrid .agent-diamond-photo {
    width: 112px;
    height: 112px;
    flex-basis: 112px;
    margin-bottom: 1.75rem;
  }

  #agentsGrid .agent-actions {
    grid-template-columns: 1fr;
  }

  #agentsGrid .agent-contact-row {
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
  }
}

/* Public properties listing: compact entry without oversized hero */
.properties-compact-header {
  margin: 0 0 1.15rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(176, 0, 8, 0.12);
}

.properties-compact-header h1 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.6vw, 2.2rem) !important;
  line-height: 1.1;
  color: var(--luxury-navy, #0f1f33);
}

body:not(.home-page) .section.section-properties.container {
  margin-top: clamp(1.25rem, 3vw, 2rem);
  padding-top: clamp(1.2rem, 3vw, 2rem) !important;
  padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

/* Property detail: denser premium two-column layout */
#propertyDetail.section.container {
  padding-top: clamp(1.4rem, 3vw, 2.4rem);
}

.detail-grid.detail-grid--top {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.9fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

.detail-grid--top .detail-gallery,
.detail-grid--top .detail-summary-card {
  min-width: 0;
}

.detail-grid--top .detail-gallery {
  align-self: stretch;
}

.detail-grid--top .detail-gallery .gallery-viewport {
  height: 100%;
  min-height: clamp(360px, 46vw, 620px);
  aspect-ratio: auto;
}

.detail-summary-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.68rem;
  height: 100%;
  padding: clamp(1rem, 2vw, 1.45rem) !important;
}

.detail-summary-card .badge {
  align-self: flex-start;
  margin-bottom: 0.1rem;
}

.detail-summary-title {
  margin: 0;
  font-size: clamp(1.65rem, 3.1vw, 2.7rem) !important;
  line-height: 1.04;
}

.detail-summary-location,
.detail-summary-type,
.detail-summary-price,
.detail-summary-metric {
  margin: 0;
}

.detail-summary-price {
  padding: 0.6rem 0;
  border-top: 1px solid rgba(176, 0, 8, 0.11);
  border-bottom: 1px solid rgba(176, 0, 8, 0.11);
}

.detail-summary-metrics {
  display: grid;
  gap: 0.45rem;
  margin: 0.1rem 0;
}

.detail-summary-metric {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.68rem 0.75rem;
  border: 1px solid rgba(15, 31, 51, 0.08);
  border-radius: 14px;
  background: rgba(176, 0, 8, 0.035);
}

.detail-summary-card .property-main-actions {
  margin: 0.1rem 0 0;
}

.property-share-panel {
  display: grid;
  gap: 0.65rem;
  margin-top: auto;
  padding-top: 0.4rem;
}

.property-share-button,
.property-share-options a,
.property-share-options button {
  min-height: 44px;
  border: 1px solid #B00008;
  border-radius: 999px;
  background: transparent;
  color: #B00008;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.property-share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  width: 100%;
  padding: 0.72rem 1rem;
}

.property-share-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.property-share-options a,
.property-share-options button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.58rem 0.7rem;
  font-size: 0.86rem;
}

.property-share-button:hover,
.property-share-button:focus-visible,
.property-share-options a:hover,
.property-share-options a:focus-visible,
.property-share-options button:hover,
.property-share-options button:focus-visible {
  background: #930006;
  border-color: #930006;
  color: #ffffff;
  transform: translateY(-1px);
}

.property-share-feedback {
  min-height: 1.15rem;
  margin: 0;
  color: #B00008;
  font-size: 0.87rem;
  font-weight: 700;
}

.detail-extended-card {
  margin-top: clamp(1.2rem, 2.5vw, 1.8rem);
  padding: clamp(1rem, 2vw, 1.5rem) !important;
}

.detail-extended-block h2 {
  margin-bottom: 0.85rem;
  font-size: clamp(1.35rem, 2.4vw, 2rem) !important;
}

.property-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.property-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.62rem;
  min-width: 0;
  padding: 0.82rem 0.9rem;
  border: 1px solid rgba(15, 31, 51, 0.09);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(176, 0, 8, 0.035));
  box-shadow: 0 10px 24px rgba(15, 31, 51, 0.06);
}

.property-feature-item svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 0.12rem;
  fill: #B00008;
}

.property-feature-item span {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.property-feature-item strong {
  color: #111827;
  font-size: 0.84rem;
  line-height: 1.2;
}

.property-feature-item em {
  color: #4b5563;
  font-size: 0.93rem;
  font-style: normal;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body.dark .properties-compact-header h1,
body.dark-mode .properties-compact-header h1,
html[data-theme="dark"] .properties-compact-header h1 {
  color: #ffffff;
}

body.dark .detail-summary-metric,
body.dark-mode .detail-summary-metric,
html[data-theme="dark"] .detail-summary-metric,
body.dark .property-feature-item,
body.dark-mode .property-feature-item,
html[data-theme="dark"] .property-feature-item {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.045);
}

body.dark .property-feature-item strong,
body.dark-mode .property-feature-item strong,
html[data-theme="dark"] .property-feature-item strong {
  color: #ffffff;
}

body.dark .property-feature-item em,
body.dark-mode .property-feature-item em,
html[data-theme="dark"] .property-feature-item em {
  color: #d8dee8;
}

@media (max-width: 980px) {
  .detail-grid.detail-grid--top {
    grid-template-columns: 1fr;
  }

  .detail-grid--top .detail-gallery .gallery-viewport {
    min-height: 0;
    aspect-ratio: 16 / 11;
  }

  .property-share-panel {
    margin-top: 0.25rem;
  }

  .property-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body:not(.home-page) .section.section-properties.container {
    margin-top: 0.8rem;
  }

  .detail-summary-metric {
    display: grid;
  }

  .property-share-options,
  .property-feature-grid {
    grid-template-columns: 1fr;
  }
}

/* Shared lists advanced inventory filters */
.shared-inventory-header--stacked {
  align-items: flex-start;
}

.shared-inventory-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 0.85rem;
  margin: 0 0 1rem;
  padding: 1rem;
  border: 1px solid rgba(185, 28, 28, 0.16);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 247, 247, 0.82));
}

.shared-inventory-filters label {
  display: grid;
  gap: 0.35rem;
  color: #162033;
  font-weight: 800;
}

.shared-inventory-filters select,
.shared-inventory-filters input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(22, 32, 51, 0.12);
  border-radius: 14px;
  background: #fff;
  color: #111827;
}

.shared-inventory-filters select:focus,
.shared-inventory-filters input:focus {
  outline: 2px solid rgba(185, 28, 28, 0.16);
  border-color: #b91c1c;
}

.shared-inventory-filters__search {
  grid-column: span 2;
}

.shared-inventory-filters__actions {
  display: flex;
  align-items: end;
  gap: 0.55rem;
}

.shared-inventory-results {
  margin: 0 0 1rem;
  font-weight: 800;
}

.shared-select-card {
  border: 2px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.shared-select-card.is-selected {
  border-color: #b91c1c;
  box-shadow: 0 18px 44px rgba(185, 28, 28, 0.18);
}

.shared-card-code {
  margin: 0.15rem 0 0;
  color: #6b7280;
  font-size: 0.86rem;
  font-weight: 700;
}

.shared-select-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.shared-select-button {
  min-height: 42px;
  padding: 0.65rem 1rem;
  border: 1.5px solid #b91c1c;
  border-radius: 999px;
  background: #fff;
  color: #b91c1c;
  cursor: pointer;
  font-weight: 900;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.shared-select-button:hover,
.shared-select-button:focus-visible {
  background: rgba(185, 28, 28, 0.08);
  transform: translateY(-1px);
}

.shared-select-button.is-selected {
  background: #b91c1c;
  color: #fff;
}

@media (max-width: 1024px) {
  .shared-inventory-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .shared-inventory-filters {
    grid-template-columns: 1fr;
    padding: 0.85rem;
  }

  .shared-inventory-filters__search {
    grid-column: auto;
  }

  .shared-inventory-filters__actions,
  .shared-select-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .shared-inventory-filters__actions button,
  .shared-select-actions a,
  .shared-select-actions button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .shared-selected-counter {
    position: sticky;
    top: 0.75rem;
    z-index: 4;
    width: 100%;
  }
}

/* === 2026-06-13 Global footer institutional color lock ===
   Footer is intentionally independent from day/night theme selectors. */
.site-footer {
  background: linear-gradient(135deg, #07162F 0%, #0A1E3A 55%, #030914 100%) !important;
  color: #FFFFFF !important;
  border-top: 1px solid rgba(255, 255, 255, 0.34) !important;
}

.site-footer :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, em, li, label),
.site-footer :is(a, a:link, a:visited, a:active),
.site-footer .footer-brand-row h3,
.site-footer .footer-brand-row p,
.site-footer .footer-columns h4,
.site-footer .footer-columns a,
.site-footer .footer-legal-link,
.site-footer .footer-text {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

.site-footer :is(a:hover, a:focus-visible),
.site-footer .footer-legal-link:is(:hover, :focus-visible),
.site-footer .footer-columns a:is(:hover, :focus-visible) {
  color: #FFFFFF !important;
}

.site-footer .footer-cta,
.site-footer .footer-cta:visited,
.site-footer .footer-cta:active {
  background: #C00000 !important;
  background-color: #C00000 !important;
  border-color: #C00000 !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.site-footer .footer-cta:is(:hover, :focus-visible) {
  background: #A80000 !important;
  background-color: #A80000 !important;
  border-color: #A80000 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.site-footer .footer-social-link,
.site-footer .footer-social a,
.site-footer .footer-social-link:visited,
.site-footer .footer-social a:visited,
.site-footer .footer-social-link:active,
.site-footer .footer-social a:active {
  background: transparent !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
}

.site-footer .footer-social-link svg,
.site-footer .footer-social a svg {
  fill: currentColor !important;
}

.site-footer .footer-social-link:is(:hover, :focus-visible),
.site-footer .footer-social a:is(:hover, :focus-visible) {
  background: #C00000 !important;
  border-color: #C00000 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* Footer fixed text color: keep brand, description, and copyright white in all themes. */
.site-footer,
.site-footer * {
  color-scheme: normal;
}

.site-footer .footer-brand,
.site-footer .footer-brand-title,
.site-footer .footer-description,
.site-footer .footer-copy,
.site-footer .copyright,
.site-footer .footer-bottom,
.site-footer .footer-bottom span,
.site-footer .footer-brand-row h3,
.site-footer .footer-brand-row p,
.site-footer .footer-text,
.site-footer .footer-text span {
  color: #ffffff !important;
}

/* === 2026-06-13 Compact agent dashboard property cards === */
#agentPropertiesList.properties-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  align-items: start;
}

#agentPropertiesList .agent-property-card {
  max-height: 560px;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
}

#agentPropertiesList .property-cover {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 18px 18px 0 0;
}

#agentPropertiesList .property-card-content {
  padding: 1rem;
  gap: 0.45rem;
}

#agentPropertiesList .badge,
#agentPropertiesList .publication-status-badge,
#agentPropertiesList .property-status-tag {
  width: fit-content;
  font-size: 0.76rem;
  line-height: 1.1;
  padding: 0.22rem 0.52rem;
  margin: 0;
}

#agentPropertiesList .property-card h3 {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.22;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#agentPropertiesList .property-card p {
  margin: 0;
}

#agentPropertiesList .property-location,
#agentPropertiesList .property-price-area,
#agentPropertiesList .rejection-reason {
  font-size: 0.9rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#agentPropertiesList .price {
  font-size: 1.34rem;
  line-height: 1.08;
  font-weight: 800;
}

#agentPropertiesList .agent-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.35rem;
}

#agentPropertiesList .agent-actions button,
#agentPropertiesList .agent-actions a {
  min-height: 38px;
  padding: 0.55rem 0.62rem;
  border-radius: 11px;
  font-size: 0.86rem;
  line-height: 1.1;
  text-align: center;
}

@media (max-width: 640px) {
  #agentPropertiesList.properties-grid {
    grid-template-columns: 1fr;
  }

  #agentPropertiesList .agent-property-card {
    max-height: none;
  }
}

body::before {
  content: "DEPLOY TEST";
  display: none;
}

/* PUBLIC FIX VERIFIED 2026-06-13 */
/* Public web hard lock: footer, property cards, detail buttons, home sliders. */
.site-footer,
.site-footer * {
  color: #ffffff !important;
}

.site-footer {
  background: linear-gradient(135deg, #07162F 0%, #0A1E3A 55%, #030914 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.34) !important;
}

.footer-cta,
.site-footer .btn,
.site-footer .footer-button {
  background: #B00008 !important;
  color: #ffffff !important;
  border-color: #B00008 !important;
}

.footer-cta:hover,
.site-footer .btn:hover,
.site-footer .footer-button:hover {
  background: #930006 !important;
  color: #ffffff !important;
  border-color: #930006 !important;
}

.site-footer .footer-social-link,
.site-footer .footer-social a {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: transparent !important;
}

.site-footer .footer-social-link:hover,
.site-footer .footer-social-link:focus-visible,
.site-footer .footer-social a:hover,
.site-footer .footer-social a:focus-visible {
  background: #B00008 !important;
  border-color: #B00008 !important;
  color: #ffffff !important;
}

.property-card,
#propertiesGrid .property-card,
.home-page #featuredGrid .property-card,
.home-page #recentPropertiesGrid .property-card,
.home-page #farmsLandGrid .property-card,
.home-page .home-property-slider .property-card,
.shared-property-card {
  cursor: default !important;
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
}

.property-card h1,
.property-card h2,
.property-card h3,
.property-card p,
.property-card span,
.property-card .property-meta,
.shared-property-card h1,
.shared-property-card h2,
.shared-property-card h3,
.shared-property-card p,
.shared-property-card span {
  color: inherit;
}

body.dark .property-card,
body.dark-mode .property-card,
[data-theme="dark"] .property-card,
body.dark #propertiesGrid .property-card,
body.dark-mode #propertiesGrid .property-card,
body.dark .home-page .home-property-slider .property-card,
body.dark-mode .home-page .home-property-slider .property-card,
body.dark .shared-property-card,
body.dark-mode .shared-property-card {
  background: linear-gradient(135deg, #101827 0%, #07162F 100%) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

body.dark .property-card :not(.property-detail-button):not(.btn-primary-property),
body.dark-mode .property-card :not(.property-detail-button):not(.btn-primary-property),
[data-theme="dark"] .property-card :not(.property-detail-button):not(.btn-primary-property),
body.dark .shared-property-card :not(.property-detail-button):not(.btn-primary-property),
body.dark-mode .shared-property-card :not(.property-detail-button):not(.btn-primary-property) {
  color: #ffffff !important;
}

.property-slider .property-card,
.home-property-slider .property-card,
.home-page .home-property-slider .property-card,
.home-page #featuredGrid .property-card,
.home-page #recentPropertiesGrid .property-card,
.home-page #farmsLandGrid .property-card {
  flex: 0 0 340px !important;
  max-width: 340px !important;
  min-width: 340px !important;
  scroll-snap-align: start;
}

.property-slider .property-cover,
.home-property-slider .property-cover,
.home-page #featuredGrid .property-cover,
.home-page #recentPropertiesGrid .property-cover,
.home-page #farmsLandGrid .property-cover {
  aspect-ratio: auto !important;
  height: 210px !important;
}

.property-slider .property-cover-image,
.home-property-slider .property-cover-image,
.property-slider .property-card > img,
.home-property-slider .property-card > img {
  height: 210px !important;
  object-fit: cover !important;
}

.home-property-slider .property-card h3,
.property-slider .property-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-property-slider .price,
.property-slider .price {
  font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
  line-height: 1.1 !important;
}

.property-detail-button,
.btn-detail,
.btn-outline,
.btn-primary-property,
.property-card a[href*="propiedad.html"] {
  pointer-events: auto !important;
  position: relative;
  z-index: 20;
  display: block !important;
  width: 100%;
  text-align: center;
  background: #B00008 !important;
  color: #FFFFFF !important;
  border: 1px solid #B00008 !important;
}

.property-detail-button:hover,
.property-detail-button:focus-visible,
.btn-detail:hover,
.btn-detail:focus-visible,
.btn-outline:hover,
.btn-outline:focus-visible,
.btn-primary-property:hover,
.btn-primary-property:focus-visible,
.property-card a[href*="propiedad.html"]:hover,
.property-card a[href*="propiedad.html"]:focus-visible {
  background: #930006 !important;
  border-color: #930006 !important;
  color: #FFFFFF !important;
}

@media (max-width: 640px) {
  .property-slider .property-card,
  .home-property-slider .property-card,
  .home-page .home-property-slider .property-card,
  .home-page #featuredGrid .property-card,
  .home-page #recentPropertiesGrid .property-card,
  .home-page #farmsLandGrid .property-card {
    flex: 0 0 78vw !important;
    max-width: 78vw !important;
    min-width: 78vw !important;
  }

  .property-slider .property-cover,
  .home-property-slider .property-cover,
  .home-page #featuredGrid .property-cover,
  .home-page #recentPropertiesGrid .property-cover,
  .home-page #farmsLandGrid .property-cover,
  .property-slider .property-cover-image,
  .home-property-slider .property-cover-image,
  .property-slider .property-card > img,
  .home-property-slider .property-card > img {
    height: 180px !important;
  }
}

.home-property-slider,
.property-slider,
.home-page #featuredGrid.home-property-slider,
.home-page #recentPropertiesGrid.home-property-slider,
.home-page #farmsLandGrid.home-property-slider {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 1.2rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 0.75rem;
  scrollbar-width: none;
}

.home-property-slider::-webkit-scrollbar,
.property-slider::-webkit-scrollbar {
  display: none;
}
