/* ══════════════════════════════════════════════════════════════════════════
   Bastet · identidad 2026 (Brand Book) — sitio público: inicio y Marketplace
   Fondos blancos "premium", verde de marca, amarillo y naranja como acentos.
   Tipografías: Conso (títulos, subtítulos y botones) y Cabinet Grotesk (texto, labels y enlaces).
   Formas del manual: cuadrado, rectángulo, círculo, pastilla y arco.
   Se carga DESPUÉS de style.css y sustituye su aspecto oscuro/dorado; style.css conserva la estructura.
   Paleta: #3D4C3A verde · #F1BF46 amarillo · #EC6C2E naranja · #EEE6E0 arena · #1E2629 carbón
           #FBE6AB crema · #CEDDDE niebla · #B7BEAD salvia · #EFF8E7 verde suave · #412B21 café · #F7F9FB nube
   ══════════════════════════════════════════════════════════════════════════ */
body.brand {
  --br-green: #3D4C3A; --br-green-dark: #2F3B2D; --br-ink: #1E2629; --br-sand: #EEE6E0; --br-yellow: #F1BF46; --br-orange: #EC6C2E;
  --br-cream: #FBE6AB; --br-mist: #CEDDDE; --br-sage: #B7BEAD; --br-pale: #EFF8E7; --br-brown: #412B21; --br-cloud: #F7F9FB;
  --br-line: rgba(30,38,41,.12); --br-muted: rgba(30,38,41,.66);
  --br-shadow: 0 18px 44px -26px rgba(30,38,41,.38);
  /* variables heredadas de style.css, reasignadas al aspecto claro de la marca */
  --lux-black: #FFFFFF; --lux-black-2: #F7F9FB; --lux-text: #1E2629; --lux-text-strong: #1E2629; --lux-muted: rgba(30,38,41,.66);
  --lux-border: rgba(30,38,41,.12); --lux-border-strong: rgba(61,76,58,.45); --lux-gold: #3D4C3A; --lux-gold-light: #3D4C3A;
  --color-accent: #F1BF46; --color-primary: #3D4C3A; --font-serif: 'Conso', Georgia, serif; --font-sans: 'Cabinet Grotesk', 'Helvetica Neue', Arial, sans-serif;
  background: #FFFFFF; color: var(--br-ink); color-scheme: light; font-family: var(--font-sans);
}
html:has(body.brand) { scrollbar-color: rgba(61,76,58,.4) #FFFFFF; }
body.brand ::selection { background: var(--br-yellow); color: var(--br-ink); }
body.brand h1, body.brand h2, body.brand h3, body.brand h4 { font-family: var(--font-serif); font-weight: 400; color: var(--br-green); }
body.brand a { color: inherit; }

/* ───── Botones (pastilla) ───── */
.btn-pill, body.brand .cta-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 30px;
  font-family: var(--font-serif); font-size: 17px; font-weight: 500; letter-spacing: .01em; line-height: 1; text-decoration: none; white-space: nowrap;
  color: #FFFFFF; background: var(--br-green); border: 1.5px solid var(--br-green); border-radius: 999px; cursor: pointer; box-shadow: none; text-shadow: none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-pill:hover, body.brand .cta-button:hover { background: var(--br-green-dark); border-color: var(--br-green-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 12px 26px -16px rgba(61,76,58,.9); }
.btn-pill:focus-visible, body.brand .cta-button:focus-visible { outline: 3px solid var(--br-yellow); outline-offset: 3px; }
.btn-pill--line, body.brand .cta-button--glass, body.brand .cta-button--outline { color: var(--br-green); background: transparent; border: 1.5px solid var(--br-green); }
.btn-pill--line:hover, body.brand .cta-button--glass:hover, body.brand .cta-button--outline:hover { color: #fff; background: var(--br-green); border-color: var(--br-green); }
.btn-pill--yellow { color: var(--br-ink); background: var(--br-yellow); border-color: var(--br-yellow); }
.btn-pill--yellow:hover { color: var(--br-ink); background: #E5B13A; border-color: #E5B13A; }
body.brand .cta-button::before, body.brand .cta-button::after { display: none; }
body.brand .cta-button span { color: inherit; display: inline-flex; align-items: center; gap: 8px; }
body.brand .cta-button svg { stroke: currentColor; }
body.brand .cta-button--sm { min-height: 42px; padding: 0 20px; font-size: 15px; }
body.brand .cta-button--block { width: 100%; }

/* ───── Barra de navegación (blanca, fija) ───── */
body.brand .navbar, body.brand .navbar.is-scrolled {
  background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--br-line); box-shadow: none;
}
body.brand .navbar.is-menu-open { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.brand .navbar-inner { max-width: 1320px; height: 80px; }
body.brand .navbar-logo-img { height: 46px; width: auto; }
@media (max-width: 520px) { body.brand .navbar-logo-img { height: 38px; } body.brand .navbar-inner { height: 68px; } }
body.brand .navbar-links { gap: clamp(18px, 2.6vw, 38px); }
body.brand .navbar-link, body.brand .navbar-link--btn {
  color: var(--br-green); opacity: .78; font-family: var(--font-sans); font-size: 15.5px; font-weight: 400; letter-spacing: 0;
  background: none; border: 0; cursor: pointer; padding: 8px 0;
}
body.brand .navbar-link:hover, body.brand .navbar-link.is-active { opacity: 1; color: var(--br-ink); }
body.brand .navbar-link.is-active { font-weight: 500; }
body.brand .navbar-link::after { background: var(--br-yellow); height: 2px; }
.nav-pill {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 24px; border: 0; border-radius: 999px; cursor: pointer;
  font-family: var(--font-serif); font-size: 15.5px; font-weight: 500; color: var(--br-yellow); background: var(--br-green);
  transition: background-color .25s ease, transform .25s ease;
}
.nav-pill { white-space: nowrap; }
@media (min-width: 1080px) and (max-width: 1279px) {
  body.brand .navbar-links { gap: 14px; }
  body.brand .navbar-link, body.brand .navbar-link--btn { font-size: 14px; }
  .nav-pill { padding: 0 16px; font-size: 14.5px; }
}
.nav-pill:hover { background: var(--br-green-dark); transform: translateY(-1px); }
.nav-pill:focus-visible { outline: 3px solid var(--br-yellow); outline-offset: 3px; }
.nav-pill--block { width: 100%; margin-top: 8px; min-height: 52px; }
body.brand .navbar-burger span { background: var(--br-green); }
body.brand .navbar-burger span:last-child { background: var(--br-orange); }
body.brand .navbar-mobile-panel { top: 68px; background: #fff; border-top: 1px solid var(--br-line); box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; gap: 6px; }
body.brand .navbar-mobile-link { color: var(--br-green); font-family: var(--font-serif); font-size: 26px; border-bottom: 1px solid var(--br-line); width: 100%; background: none; border-left: 0; border-right: 0; border-top: 0; text-align: left; cursor: pointer; }
body.brand .navbar-mobile-link.is-active { color: var(--br-ink); }
body.brand .navbar-install { color: var(--br-green); border-color: var(--br-line); }
body.brand .navbar-install svg { stroke: var(--br-green); }

/* ───── Inicio: hero (pastilla verde suave + foto en arco) ───── */
.home-hero { padding-top: 80px; }
.home-hero-card {
  position: relative; background: var(--br-pale); border-radius: 0 0 56px 56px; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 72px);
  padding: clamp(40px, 6vw, 84px) clamp(20px, 6vw, 96px) clamp(64px, 8vw, 110px);
}
.home-hero-eyebrow { margin: 0 0 18px; font-size: 13px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--br-green); opacity: .8; }
.home-hero-title { margin: 0; max-width: 12em; font-family: var(--font-serif); font-weight: 400; font-size: clamp(40px, 5.4vw, 78px); line-height: 1.02; letter-spacing: -.01em; color: var(--br-green); }
.home-hero-tagline { margin: 26px 0 0; font-family: var(--font-serif); font-size: clamp(20px, 2vw, 27px); line-height: 1.3; color: var(--br-ink); }
.home-hero-sub { margin: 14px 0 0; max-width: 520px; font-size: 17px; line-height: 1.65; color: var(--br-muted); }
.home-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.home-hero-photo { justify-self: end; width: 100%; max-width: 560px; aspect-ratio: 1 / 1.08; border-radius: 999px 999px 40px 40px; overflow: hidden; box-shadow: 0 30px 70px -36px rgba(30,38,41,.55); background: var(--br-sage); }
.home-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 63% 50%; }
@media (max-width: 900px) {
  .home-hero-card { grid-template-columns: 1fr; border-radius: 0 0 36px 36px; padding-top: 36px; padding-bottom: 90px; }
  .home-hero-photo { justify-self: center; max-width: 440px; order: -1; aspect-ratio: 1 / .8; border-radius: 999px 999px 32px 32px; }
}
@media (max-width: 520px) { .home-hero { padding-top: 68px; } .home-hero-cta .btn-pill { width: 100%; } }

/* Barra de búsqueda tipo pastilla (inspirada en las plataformas de alojamiento) */
.search-pill {
  position: relative; z-index: 3; display: flex; align-items: stretch; width: min(920px, calc(100% - 32px)); margin: -44px auto 0;
  background: #fff; border: 1px solid var(--br-line); border-radius: 999px; box-shadow: 0 22px 50px -26px rgba(30,38,41,.45);
}
.search-field { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 14px 28px; border-radius: 999px; cursor: pointer; transition: background-color .2s ease; }
.search-field + .search-field { position: relative; }
.search-field + .search-field::before { content: ''; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--br-line); }
.search-field:hover, .search-field:focus-within { background: var(--br-cloud); }
.search-field span { font-size: 12px; font-weight: 500; letter-spacing: .02em; color: var(--br-ink); }
.search-field select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; padding: 0; font: inherit; font-size: 15px; color: var(--br-muted); cursor: pointer; outline: 0; text-overflow: ellipsis; }
.search-go { flex: none; width: 56px; height: 56px; margin: 8px 8px 8px 0; border: 0; border-radius: 50%; display: grid; place-items: center; cursor: pointer; color: var(--br-yellow); background: var(--br-green); transition: background-color .25s ease, transform .25s ease; }
.search-go:hover { background: var(--br-green-dark); transform: scale(1.06); }
.search-go svg { width: 22px; height: 22px; }
.search-go:focus-visible { outline: 3px solid var(--br-yellow); outline-offset: 3px; }
@media (max-width: 760px) {
  .search-pill { flex-direction: column; border-radius: 28px; margin-top: -60px; padding: 8px; }
  .search-field { padding: 12px 20px; border-radius: 20px; }
  .search-field + .search-field::before { left: 20px; right: 20px; top: 0; bottom: auto; width: auto; height: 1px; }
  .search-go { width: 100%; height: 52px; border-radius: 999px; margin: 6px 0 0; }
}

/* ───── Secciones ───── */
body.brand .propiedades-section, body.brand .features-section, body.brand .pricing-section { background: #fff; }
body.brand .garantias-section, body.brand .testimonials-section { background: var(--br-cloud); border-top: 0; }
body.brand .features-section::before, body.brand .garantias-section::before, body.brand .testimonials-section::before, body.brand .pricing-section::before { display: none; }
body.brand .propiedades-section { padding: clamp(72px, 9vw, 120px) clamp(20px, 5vw, 56px) clamp(56px, 7vw, 90px); }
body.brand .propiedades-inner { max-width: 1320px; margin: 0 auto; }
body.brand .features-section, body.brand .garantias-section, body.brand .testimonials-section { padding: clamp(72px, 9vw, 120px) clamp(20px, 5vw, 56px); }
body.brand .section-heading, body.brand .section-heading--light, body.brand .section-heading--dark {
  font-family: var(--font-serif); font-weight: 400; font-size: clamp(34px, 4.4vw, 58px); line-height: 1.08; letter-spacing: -.01em; text-align: left;
  color: var(--br-green); background: none; -webkit-text-fill-color: currentColor; -webkit-background-clip: border-box; background-clip: border-box; padding: 0; margin: 0 0 14px;
}
body.brand .section-sub, body.brand .section-sub--light { color: var(--br-muted); opacity: 1; font-size: 17px; line-height: 1.6; max-width: 640px; margin: 0 0 8px; text-align: left; }
body.brand .features-section .section-heading, body.brand .garantias-section .section-heading, body.brand .pricing-section .section-heading, body.brand .testimonials-section .section-heading { max-width: 1320px; margin-inline: auto; }
body.brand .features-section .section-sub, body.brand .testimonials-section .section-sub { margin-inline: auto; max-width: 1320px; }
body.brand .prop-cta-wrap { justify-content: flex-start; }

body.brand .features-grid { max-width: 1320px; margin: 28px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 36px; }
@media (max-width: 900px) { body.brand .features-grid { grid-template-columns: 1fr; } }
body.brand .feature-item { display: flex; gap: 18px; align-items: flex-start; padding: 26px; background: var(--br-cloud); border: 0; border-radius: 28px; }
body.brand .feature-icon { flex: none; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--br-green); border: 0; box-shadow: none; font-family: var(--font-serif); font-size: 17px; color: var(--br-yellow); }
body.brand .feature-title { margin: 0 0 6px; font-family: var(--font-serif); font-size: 21px; font-weight: 400; color: var(--br-green); }
body.brand .feature-text { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--br-muted); opacity: 1; }

body.brand .trust-grid { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { body.brand .trust-grid { grid-template-columns: 1fr; } }
body.brand .trust-card { background: #fff; border: 0; border-radius: 40px 40px 28px 28px; padding: 40px 34px 36px; box-shadow: var(--br-shadow); }
body.brand .trust-card:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -26px rgba(30,38,41,.45); }
body.brand .trust-stat { display: block; margin-bottom: 14px; font-family: var(--font-serif); font-size: clamp(38px, 4vw, 52px); font-weight: 400; color: var(--br-orange); line-height: 1; }
body.brand .trust-text { margin: 0; font-size: 16px; line-height: 1.6; color: var(--br-muted); }
body.brand .garantias-section .section-heading { margin-bottom: 40px !important; }

body.brand .partners-strip { background: #fff; border: 0; border-top: 1px solid var(--br-line); border-bottom: 1px solid var(--br-line); }

body.brand .testi-ring-card { background: #fff; border: 0; border-radius: 28px; box-shadow: 0 20px 44px -24px rgba(30,38,41,.45); }
body.brand .testi-ring-name { color: var(--br-green); font-family: var(--font-serif); }
body.brand .testi-ring-role { color: var(--br-muted); opacity: 1; }
body.brand .testi-ring-quote { color: var(--br-ink); opacity: 1; }
body.brand .testi-ring-photo-placeholder { background: var(--br-pale); color: var(--br-green); }
body.brand .testi-ring-stage .ring-empty { color: var(--br-muted); }

/* Bloque final: verde de marca */
body.brand .pricing-section { padding: clamp(40px, 6vw, 80px) clamp(16px, 4vw, 48px); }
body.brand .pricing-inner { max-width: 1320px; margin: 0 auto; padding: clamp(44px, 7vw, 92px) clamp(24px, 6vw, 80px); background: var(--br-green); border-radius: 56px; text-align: left; display: grid; gap: 18px; justify-items: start; }
body.brand .pricing-section .section-heading { color: var(--br-cream); margin: 0; max-width: 760px; }
body.brand .pricing-text { margin: 0; max-width: 640px; font-size: 18px; line-height: 1.6; color: var(--br-sand); }
body.brand .pricing-section .cta-button { width: auto; color: var(--br-ink); background: var(--br-yellow); border-color: var(--br-yellow); }
body.brand .pricing-section .cta-button:hover { background: #E5B13A; border-color: #E5B13A; color: var(--br-ink); }

/* ───── Pie de página (arena, logo a color) ───── */
body.brand .footer { background: var(--br-sand); border-top: 0; padding: clamp(56px, 7vw, 88px) clamp(20px, 5vw, 56px) 40px; color: var(--br-ink); }
body.brand .footer-inner { max-width: 1320px; margin: 0 auto; }
body.brand .footer-logo-img { height: 130px; width: auto; }
body.brand .footer-contact-label { color: var(--br-green); letter-spacing: .2em; font-size: 12px; font-weight: 500; }
body.brand .footer-link, body.brand .footer-city { color: var(--br-ink); opacity: .85; }
body.brand .footer-link:hover { color: var(--br-green); opacity: 1; text-decoration: underline; }
body.brand .footer-copy { color: var(--br-muted); border-top: 1px solid rgba(30,38,41,.14); }
body.brand .footer-copy a { color: var(--br-green); }

/* ───── Marketplace: encabezado, pestañas de operación y filtros ───── */
body.brand .marketplace-section { padding-top: clamp(112px, 12vw, 150px); }
body.brand .marketplace-section .section-heading { text-align: left; }
body.brand .operation-filters {
  display: flex; gap: clamp(14px, 3vw, 40px); justify-content: flex-start; width: auto; max-width: 100%; margin: 28px 0 22px; padding: 0 0 0; overflow-x: auto;
  background: none; border: 0; border-bottom: 1px solid var(--br-line); border-radius: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.brand .operation-tab {
  position: relative; display: inline-flex; flex-direction: column; align-items: center; gap: 8px; padding: 6px 4px 16px; border: 0; border-radius: 0; background: none;
  font-family: var(--font-sans); font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--br-muted); opacity: 1; box-shadow: none;
}
body.brand .operation-tab svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
body.brand .operation-tab:hover { color: var(--br-ink); background: none; }
body.brand .operation-tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--br-green); transform: scaleX(0); transition: transform .3s var(--ease-out); }
body.brand .operation-tab:hover::after { transform: scaleX(1); background: var(--br-sage); }
body.brand .operation-tab.is-active { color: var(--br-green); background: none; box-shadow: none; }
body.brand .operation-tab.is-active::after { transform: scaleX(1); background: var(--br-green); }
body.brand .operation-tab-count { font-size: 11.5px; font-weight: 500; min-width: 0; padding: 1px 8px; border-radius: 999px; background: var(--br-pale); color: var(--br-green); }
body.brand .operation-tab.is-active .operation-tab-count { background: var(--br-green); color: #fff; }
body.brand .operation-tab--stay { margin-left: auto; }
@media (max-width: 560px) {
  body.brand .operation-filters { display: flex; width: 100%; border-radius: 0; gap: 18px; }
  body.brand .operation-tab { font-size: 14px; padding-bottom: 12px; }
}

/* Filtros: una pastilla blanca con campos separados */
body.brand .select-filters {
  display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start; gap: 0; margin: 0 0 22px; padding: 6px;
  background: #fff; border: 1px solid var(--br-line); border-radius: 36px; box-shadow: 0 18px 40px -28px rgba(30,38,41,.4);
}
body.brand .budget-filter { position: relative; flex: 1 1 150px; min-width: 0; padding: 8px 22px; gap: 2px; border-radius: 28px; transition: background-color .2s ease; }
body.brand .budget-filter + .budget-filter::before { content: ''; position: absolute; left: 0; top: 20%; bottom: 20%; width: 1px; background: var(--br-line); }
body.brand .budget-filter:hover, body.brand .budget-filter:focus-within { background: var(--br-cloud); }
body.brand .budget-filter-label { padding: 0; font-size: 11.5px !important; font-weight: 500; letter-spacing: .02em; text-transform: none; color: var(--br-ink); opacity: 1; }
body.brand .budget-filter-select, body.brand .brand-select-trigger {
  min-width: 0; width: 100%; padding: 2px 22px 2px 0; border: 0; border-radius: 0; background-color: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  font-family: var(--font-sans); font-size: 15px; color: var(--br-muted); cursor: pointer; text-align: left;
}
body.brand .budget-filter-input { cursor: text; background-image: none; padding-right: 0; width: 100%; }
body.brand .budget-filter-input::placeholder { color: rgba(30,38,41,.4); }
body.brand .budget-filter-select.is-set, body.brand .brand-select-trigger.is-set { color: var(--br-ink); font-weight: 500; border: 0; box-shadow: none; }
body.brand .budget-filter-select:hover, body.brand .budget-filter-select:focus-visible { border: 0; box-shadow: none; outline: 0; }
body.brand .brand-select-list { background: #fff; border: 1px solid var(--br-line); border-radius: 20px; box-shadow: 0 24px 50px -22px rgba(30,38,41,.45); padding: 6px; }
body.brand .brand-select-list li, body.brand .brand-select-option { color: var(--br-ink); }
body.brand .brand-select-option:hover, body.brand .brand-select-option.is-active, body.brand .brand-select-list [aria-selected="true"] { background: var(--br-pale); color: var(--br-green); }
body.brand .budget-filter-select option { color: var(--br-ink); background: #fff; }
@media (max-width: 760px) {
  body.brand .select-filters { border-radius: 24px; flex-direction: column; }
  body.brand .budget-filter { flex: 1 1 auto; }
  body.brand .budget-filter + .budget-filter::before { left: 22px; right: 22px; top: 0; bottom: auto; width: auto; height: 1px; }
}
body.brand .clear-filters { color: var(--br-green); background: transparent; border: 1px solid var(--br-line); }
body.brand .clear-filters:hover { background: var(--br-pale); color: var(--br-green); }

/* ───── Tarjetas de propiedad ───── */
body.brand .prop-results-title { margin: 30px 0 -8px; font-family: var(--font-serif); font-size: clamp(24px, 2.6vw, 32px); font-weight: 400; color: var(--br-green); text-align: left; }
body.brand .prop-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 34px 26px; margin-top: 34px; }
body.brand .prop-grid-empty { color: var(--br-muted); border: 1px dashed var(--br-sage); border-radius: 28px; background: var(--br-cloud); }
body.brand .prop-tile { background: #fff; border: 1px solid var(--br-line); border-radius: 28px; box-shadow: none; overflow: hidden; }
body.brand .prop-tile:hover { transform: translateY(-4px); border-color: var(--br-sage); box-shadow: var(--br-shadow); }
body.brand .prop-tile--featured { border-color: var(--br-yellow); box-shadow: 0 0 0 1px var(--br-yellow); }
body.brand .prop-tile-ph { background: var(--br-sand); }
body.brand .prop-tile-noimg { background: linear-gradient(135deg, var(--br-pale), var(--br-sand)); color: var(--br-green); }
body.brand .prop-tile-badge, body.brand .property-modal-tag {
  background: rgba(255,255,255,.94); border: 0; color: var(--br-green); text-shadow: none; box-shadow: 0 6px 16px -8px rgba(30,38,41,.5);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: .06em; padding: 8px 14px; border-radius: 999px;
}
body.brand .prop-tile-badge::before, body.brand .property-modal-tag::before { background: var(--br-green); box-shadow: none; transform: none; border-radius: 50%; width: 6px; height: 6px; }
body.brand .prop-tile-badge--gold { background: var(--br-yellow); color: var(--br-ink); border: 0; box-shadow: 0 8px 18px -8px rgba(241,191,70,.9); }
body.brand .prop-tile-badge--gold::before, body.brand .prop-tile-badge--gold::after { display: none; }
body.brand .prop-tile-badge--gold svg { filter: none; }
body.brand .prop-tile-eyebrow { color: var(--br-green); letter-spacing: .14em; font-weight: 500; opacity: .8; }
body.brand .prop-tile-title { color: var(--br-ink); font-family: var(--font-serif); font-size: 22px; }
body.brand .prop-tile-price { color: var(--br-ink); font-family: var(--font-serif); font-size: 24px; }
body.brand .prop-tile-price small, body.brand .prop-tile-facts, body.brand .prop-tile-agent-label { color: var(--br-muted); }
body.brand .prop-tile-code { background: var(--br-pale); color: var(--br-green); border: 0; }
body.brand .prop-tile-agent { border-top: 1px solid var(--br-line); }
body.brand .prop-tile-agent-name { color: var(--br-ink); }
body.brand .prop-tile-avatar { background: var(--br-pale); border: 1.5px solid var(--br-sage); }
body.brand .prop-tile-avatar--initial { color: var(--br-green); }
body.brand .prop-tile-wa { --btn-h: 46px; min-height: 46px; font-size: 15px; padding: 0 18px; }
body.brand .prop-tile-wa svg { fill: currentColor; stroke: none; }
body.brand .price-unit { font-family: var(--font-sans); font-size: .55em; font-weight: 400; opacity: .75; }
/* alojamientos temporales: foto grande, texto debajo */
body.brand .prop-grid--stay { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 36px 22px; }
body.brand .prop-tile--stay, body.brand .prop-tile--stay:hover { background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; transform: none; }
body.brand .prop-tile--stay .prop-tile-ph { aspect-ratio: 20 / 19; border-radius: 28px; }
body.brand .prop-tile--stay .prop-tile-body { padding: 14px 2px 6px; gap: 3px; }
body.brand .prop-tile--stay .prop-tile-title { font-family: var(--font-sans); font-weight: 500; font-size: 16px; -webkit-line-clamp: 1; }
body.brand .prop-tile--stay .prop-tile-eyebrow { text-transform: none; letter-spacing: .02em; font-size: 13px; opacity: .7; }
body.brand .prop-tile--stay .prop-tile-price { font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin-top: 4px; }
body.brand .prop-tile--stay .prop-tile-price .price-unit { font-size: 14px; font-weight: 400; }
body.brand .prop-tile--stay .prop-tile-agent { padding: 12px 2px 0; border-top: 0; }

/* ───── Ventanas (ficha de propiedad, acceso de agentes, vender) ───── */
body.brand .property-modal-backdrop { background: rgba(30,38,41,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.brand .property-modal { background: #fff; border: 0; border-radius: 32px; box-shadow: 0 40px 90px -30px rgba(30,38,41,.6); color: var(--br-ink); scrollbar-color: var(--br-sage) transparent; }
body.brand .property-modal-close { background: rgba(255,255,255,.95); color: var(--br-green); border: 1px solid var(--br-line); box-shadow: 0 8px 20px -10px rgba(30,38,41,.5); }
body.brand .property-modal-close:hover { background: var(--br-pale); }
body.brand .property-modal-gallery { background: var(--br-sand); }
body.brand .property-modal-nav { background: rgba(255,255,255,.9); color: var(--br-green); border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.brand .property-modal-nav:hover { background: #fff; }
body.brand .property-modal-dot { background: rgba(255,255,255,.7); }
body.brand .property-modal-dot.is-active { background: var(--br-yellow); }
body.brand .property-modal-title { color: var(--br-green); font-family: var(--font-serif); }
body.brand .property-modal-price { color: var(--br-ink); font-family: var(--font-serif); }
body.brand .property-modal-location, body.brand .property-modal-spec-label, body.brand .property-modal-feature-label, body.brand .property-modal-agent-label { color: var(--br-green); opacity: .75; }
body.brand .property-modal-desc, body.brand .property-modal-rate { color: var(--br-ink); opacity: .78; }
body.brand .property-modal-spec-value, body.brand .property-modal-feature-value, body.brand .property-modal-agent-name { color: var(--br-ink); }
body.brand .property-modal-specs { border-color: var(--br-line); }
body.brand .property-modal-agent, body.brand .property-modal-feature { background: var(--br-cloud); border: 0; border-radius: 20px; }
body.brand .property-modal-agent-avatar-placeholder { background: var(--br-pale); }
body.brand .property-modal-code { background: var(--br-green); color: var(--br-yellow); border: 0; }

body.brand .agent-modal-title, body.brand .agent-success-title { background: none; -webkit-text-fill-color: currentColor; color: var(--br-green); font-family: var(--font-serif); font-size: clamp(26px, 3vw, 34px); }
body.brand .agent-tabs { background: var(--br-cloud); box-shadow: none; }
body.brand .agent-tab { color: var(--br-muted); }
body.brand .agent-tab:hover { color: var(--br-ink); }
body.brand .agent-tab.is-active { color: #fff; background: var(--br-green); box-shadow: none; }
body.brand .agent-form-hint { color: var(--br-ink); opacity: .72; }
body.brand .agent-field > span { color: var(--br-green); font-weight: 500; }
body.brand .agent-field input, body.brand .agent-field select, body.brand .agent-field textarea { background: var(--br-cloud); color: var(--br-ink); border: 1px solid var(--br-line); border-radius: 16px; font-family: var(--font-sans); caret-color: var(--br-green); }
body.brand .agent-field input::placeholder, body.brand .agent-field textarea::placeholder { color: rgba(30,38,41,.42); }
body.brand .agent-field input:focus, body.brand .agent-field select:focus, body.brand .agent-field textarea:focus { background: #fff; border-color: var(--br-green); box-shadow: 0 0 0 4px rgba(61,76,58,.14); }
body.brand .agent-field select option { background: #fff; color: var(--br-ink); }
body.brand .agent-field input:-webkit-autofill { -webkit-text-fill-color: var(--br-ink); -webkit-box-shadow: 0 0 0 1000px var(--br-cloud) inset; }
body.brand .agent-form-error { color: #8C2F1F; background: #FBEAE5; border: 1px solid #F2C9BE; }
body.brand .agent-form-link { color: var(--br-green); }
body.brand .agent-form-note { color: var(--br-brown); background: var(--br-cream); border-color: var(--br-yellow); }
body.brand .agent-form-note a { color: var(--br-green); }
body.brand .pw-toggle { color: var(--br-green); }
body.brand .google-btn { color: var(--br-green); border: 1.5px solid var(--br-green); border-radius: 999px; background: #fff; min-height: 52px; font-family: var(--font-serif); font-size: 16px; }
body.brand .google-btn:hover { background: var(--br-pale); }
body.brand .google-divider { color: var(--br-muted); }

body.brand .lead-form { border-top: 1px solid var(--br-line); }
body.brand .lead-form-title { color: var(--br-green); }
body.brand .lead-consent { color: var(--br-ink); }
body.brand .lead-privacy { color: var(--br-muted); }
body.brand .lead-privacy a:hover, body.brand .footer-copy a:hover, body.brand .agent-form-hint a:hover { color: var(--br-green); }

/* "Vender mi inmueble" */
body.brand .sell-section { border: 1px solid var(--br-line); background: #fff; border-radius: 24px; }
body.brand .sell-section legend { color: var(--br-green); font-family: var(--font-serif); font-size: 17px; font-weight: 500; }
body.brand .sell-section legend span { color: #fff; background: var(--br-green); }
body.brand .sell-search input { background: var(--br-cloud); color: var(--br-ink); border: 1px solid var(--br-line); border-radius: 999px; padding: 12px 18px; }
body.brand .sell-search input:focus { border-color: var(--br-green); box-shadow: 0 0 0 4px rgba(61,76,58,.14); }
body.brand .sell-mini-btn { color: #fff; background: var(--br-green); border: 1px solid var(--br-green); border-radius: 999px; font-family: var(--font-serif); }
body.brand .sell-mini-btn--ghost { color: var(--br-green); background: transparent; }
body.brand .sell-search-results { background: #fff; border-color: var(--br-line); border-radius: 18px; }
body.brand .sell-search-results button { color: var(--br-ink); border-bottom-color: var(--br-line); }
body.brand .sell-search-results button:hover { background: var(--br-pale); }
body.brand .sell-search-msg, body.brand .sell-map-status { color: var(--br-muted); }
body.brand .sell-map-status.is-set, body.brand .sell-doc-count { color: var(--br-green); }
body.brand .sell-map-status b { color: var(--br-green); }
body.brand .sell-map-wrap { border: 1px solid var(--br-line); border-radius: 20px; }
body.brand .sell-map, body.brand .sell-map .leaflet-container { background: var(--br-sand); }
body.brand .sell-map .leaflet-tile-pane { filter: none; }
body.brand .sell-map-fail { color: var(--br-muted); }
body.brand .sell-pin { background: var(--br-green); border-color: #fff; box-shadow: 0 6px 14px rgba(30,38,41,.4); }
body.brand .sell-pin::after { background: var(--br-yellow); }
body.brand .sell-map .leaflet-control-attribution { background: rgba(255,255,255,.85); color: var(--br-muted); }
body.brand .sell-map .leaflet-control-attribution a { color: var(--br-green); }
body.brand .sell-map .leaflet-bar a { background: #fff; color: var(--br-green); border-bottom-color: var(--br-line); }
body.brand .sell-choice > span { border: 1px solid var(--br-line); background: #fff; border-radius: 18px; }
body.brand .sell-choice > span::before { border-color: var(--br-sage); }
body.brand .sell-choice b { color: var(--br-ink); }
body.brand .sell-choice small { color: var(--br-muted); }
body.brand .sell-choice input:checked + span { border-color: var(--br-green); background: var(--br-pale); }
body.brand .sell-choice input:checked + span::before { background: radial-gradient(circle, var(--br-green) 0 45%, transparent 50%); border-color: var(--br-green); }
body.brand .sell-choice input:focus-visible + span { outline: 2px solid var(--br-yellow); }
body.brand .sell-slot { border: 1px dashed var(--br-sage); background: var(--br-cloud); border-radius: 18px; }
body.brand .sell-slot.has-files { border-style: solid; border-color: var(--br-green); background: var(--br-pale); }
body.brand .sell-slot-head b { color: var(--br-ink); }
body.brand .sell-slot-head small { color: var(--br-muted); }
body.brand .sell-attach span { color: var(--br-green); border: 1px solid var(--br-green); }
body.brand .sell-attach span:hover { background: var(--br-pale); }
body.brand .sell-files li { color: var(--br-ink); background: #fff; }
body.brand .sell-files li em { color: var(--br-muted); }
body.brand .sell-files button { border-color: var(--br-sage); color: var(--br-green); }
body.brand .sell-check { color: var(--br-ink); }
body.brand .sell-check input, body.brand .lead-consent input { accent-color: var(--br-green); }
body.brand .sell-check a { color: var(--br-green); }

/* ───── Barra inferior (celular / tablet) ───── */
@media (max-width: 1079px) {
  body.brand .quick-bar { background: rgba(255,255,255,.97); border-top: 1px solid var(--br-line); box-shadow: 0 -10px 30px -20px rgba(30,38,41,.5); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  body.brand .qb-item { color: var(--br-muted); }
  body.brand .qb-item.is-active { color: var(--br-green); }
  body.brand .qb-item.is-active::after { background: var(--br-green); }
  body.brand .qb-item:active { color: var(--br-orange); }
}
body.brand .operation-tab-label { display: inline-flex; align-items: center; gap: 8px; }
body.brand .btn-pill { color: #FFFFFF; }
body.brand .btn-pill:hover { color: #FFFFFF; }
body.brand .btn-pill--line { color: var(--br-green); }
body.brand .btn-pill--line:hover { color: #FFFFFF; }
body.brand .btn-pill--yellow, body.brand .btn-pill--yellow:hover { color: var(--br-ink); }
body.brand .nav-pill { color: var(--br-yellow); }
body.brand .navbar-logo-img { height: 52px; }
body.brand .prop-tile--featured { border-color: var(--br-line); box-shadow: none; }
body.brand .prop-tile--featured:hover { border-color: var(--br-sage); box-shadow: var(--br-shadow); }
body.brand .operation-tab--stay { margin-left: clamp(8px, 2vw, 24px); padding-left: clamp(10px, 2vw, 24px); border-left: 1px solid var(--br-line); }
body.brand .testi-ring-photo-placeholder { border-color: var(--br-sage); }
body.brand .trust-stat { font-size: clamp(34px, 3.4vw, 46px); }

/* "Instalar app" solo en celular y tablet: en computadora no se muestra (el menú y el botón de la barra superior) */
@media (min-width: 1080px) { [data-install-app] { display: none !important; } }

/* ───── Barra al hacer scroll: verde de marca con efecto vidrio ───── */
body.brand .navbar.is-scrolled {
  background: rgba(61, 76, 58, .78); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid rgba(255,255,255,.14); box-shadow: 0 10px 30px rgba(30, 38, 41, .18);
}
body.brand .navbar.is-scrolled.is-menu-open { background: #fff; border-bottom-color: var(--br-line); }
body.brand .navbar.is-scrolled:not(.is-menu-open) .navbar-link,
body.brand .navbar.is-scrolled:not(.is-menu-open) .navbar-link--btn { color: #EFF8E7; opacity: .82; }
body.brand .navbar.is-scrolled:not(.is-menu-open) .navbar-link:hover,
body.brand .navbar.is-scrolled:not(.is-menu-open) .navbar-link.is-active { color: #fff; opacity: 1; }
body.brand .navbar.is-scrolled:not(.is-menu-open) .nav-pill { background: #EFF8E7; color: var(--br-green); }
body.brand .navbar.is-scrolled:not(.is-menu-open) .nav-pill:hover { background: #fff; }
body.brand .navbar.is-scrolled:not(.is-menu-open) .navbar-install { color: #EFF8E7; border-color: rgba(239,248,231,.45); background: transparent; }
body.brand .navbar.is-scrolled:not(.is-menu-open) .navbar-install svg { stroke: #EFF8E7; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { body.brand .navbar.is-scrolled { background: rgba(61, 76, 58, .96); } }

/* ───── Propiedades · móvil primero: pestañas de operación, «Temporal» destacada y filtros plegables ───── */
body.brand .operation-tab-sub, body.brand .operation-tab-arrow { display: none; }
body.brand .filters-toggle { display: none; }

/* Escritorio y tableta: «Temporal» es una píldora verde con el sol dorado, imposible de pasar por alto */
body.brand .operation-tab--stay {
  flex-direction: row; gap: 10px; align-self: center; margin: 0 0 8px auto; padding: 9px 18px 9px 14px; border: 0; border-radius: 999px;
  background: var(--br-green); color: #fff; box-shadow: 0 12px 26px -14px rgba(61,76,58,.9); transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
body.brand .operation-tab--stay::after { display: none; }
body.brand .operation-tab--stay svg { width: 24px; height: 24px; stroke: var(--br-yellow); }
body.brand .operation-tab--stay:hover { background: var(--br-green-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 16px 30px -14px rgba(61,76,58,.95); }
body.brand .operation-tab--stay .operation-tab-count { background: var(--br-yellow); color: var(--br-ink); }
body.brand .operation-tab--stay .operation-tab-arrow { display: inline-block; width: 16px; height: 16px; stroke: var(--br-yellow); fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
body.brand .operation-tab--stay:hover .operation-tab-arrow { transform: translateX(3px); }
body.brand .operation-tab--stay .operation-tab-main { display: inline-flex; flex-direction: column; }

@media (max-width: 700px) {
  /* Tres operaciones como tarjetas táctiles + «Temporal» como banner a todo el ancho: todo visible, sin deslizar */
  body.brand .operation-filters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; overflow: visible; border-bottom: 0; margin: 20px 0 14px; }
  body.brand .operation-tab { min-height: 84px; justify-content: center; gap: 6px; padding: 12px 6px; border: 1px solid var(--br-line); border-radius: 20px; background: #fff; font-size: 13.5px; -webkit-tap-highlight-color: transparent; transition: transform .15s ease, border-color .2s ease, background-color .2s ease; }
  body.brand .operation-tab:active { transform: scale(.97); }
  body.brand .operation-tab::after { display: none; }
  body.brand .operation-tab svg { width: 26px; height: 26px; }
  body.brand .operation-tab .operation-tab-label { flex-direction: column; gap: 4px; }
  body.brand .operation-tab.is-active { background: var(--br-pale); border-color: var(--br-green); color: var(--br-green); box-shadow: 0 10px 22px -16px rgba(61,76,58,.8); }

  body.brand .operation-tab--stay {
    grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; gap: 14px; min-height: 0; margin: 0; padding: 16px 18px; border: 0; border-radius: 26px; position: relative; overflow: hidden; text-align: left;
    background: linear-gradient(135deg, #3D4C3A 0%, #2F3B2D 58%, #4B5F47 100%); color: #fff; box-shadow: 0 18px 34px -20px rgba(47,59,45,.95);
  }
  body.brand .operation-tab--stay::before { content: ''; position: absolute; right: -40px; top: -50px; width: 170px; height: 170px; border-radius: 50%; background: radial-gradient(circle, rgba(241,191,70,.34) 0%, rgba(241,191,70,0) 68%); pointer-events: none; }
  body.brand .operation-tab--stay > svg:first-child { width: 36px; height: 36px; flex: none; stroke: var(--br-yellow); stroke-width: 1.5; position: relative; }
  body.brand .operation-tab--stay .operation-tab-main { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; flex: 1; min-width: 0; position: relative; }
  body.brand .operation-tab--stay .operation-tab-label { flex-direction: row; gap: 10px; font-family: var(--font-serif); font-size: 20px; font-weight: 400; color: #fff; }
  body.brand .operation-tab--stay .operation-tab-sub { display: block; font-size: 13px; color: var(--br-cream); opacity: .92; line-height: 1.35; }
  body.brand .operation-tab--stay .operation-tab-arrow { width: 38px; height: 38px; flex: none; padding: 10px; border-radius: 50%; background: var(--br-yellow); stroke: var(--br-ink); position: relative; }
  body.brand .operation-tab--stay:hover .operation-tab-arrow { transform: none; }

  /* Filtros plegados detrás de un botón (con la cantidad activa) para no ocupar toda la pantalla */
  body.brand .filters-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; margin: 0 0 12px; padding: 13px 18px; border: 1px solid var(--br-line); border-radius: 999px; background: #fff; color: var(--br-green); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  body.brand .filters-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  body.brand .filters-toggle .ft-left { display: inline-flex; align-items: center; gap: 10px; }
  body.brand .filters-toggle .ft-badge { min-width: 22px; padding: 1px 8px; border-radius: 999px; background: var(--br-green); color: #fff; font-size: 12px; text-align: center; }
  body.brand .filters-toggle .ft-badge:empty { display: none; }
  body.brand .filters-toggle .ft-chevron { transition: transform .25s ease; }
  body.brand .filters-toggle[aria-expanded="true"] .ft-chevron { transform: rotate(180deg); }
  body.brand .filters-toggle[aria-expanded="true"] { background: var(--br-pale); border-color: var(--br-green); }
  body.brand .select-filters:not(.is-open) { display: none; }
  body.brand .propiedades-section { padding-left: 16px; padding-right: 16px; }
  body.brand .prop-results-title { margin-top: 22px; font-size: 26px; }
  body.brand .prop-grid { gap: 26px; margin-top: 24px; }
}
@media (min-width: 701px) and (max-width: 1079px) {
  body.brand .prop-grid { grid-template-columns: repeat(2, 1fr); }
  body.brand .operation-filters { flex-wrap: wrap; row-gap: 10px; }
}
@media (max-width: 700px) {
  body.brand .operation-tab--stay .operation-tab-label { white-space: nowrap; line-height: 1.15; align-items: center; }
  body.brand .operation-tab--stay .operation-tab-count { font-family: var(--font-sans); font-size: 12px; line-height: 1.5; }
  body.brand .operation-tab--stay .operation-tab-sub { font-size: 12.5px; }
}

/* ───── Pie de página: verde de la paleta con el imagotipo dorado y el logotipo blanco ───── */
body.brand .footer { background: var(--br-green); color: var(--br-pale); }
body.brand .footer-logo-img { height: clamp(128px, 14vw, 168px); width: auto; max-width: 100%; }
body.brand .footer-contact-label { color: var(--br-yellow); }
body.brand .footer-link, body.brand .footer-city { color: var(--br-pale); opacity: .9; }
body.brand .footer-link:hover { color: #fff; opacity: 1; }
body.brand .footer-copy { color: rgba(239,248,231,.7); border-top: 1px solid rgba(239,248,231,.18); opacity: 1; padding-top: 18px; }
body.brand .footer-copy a { color: var(--br-cream); }
body.brand .footer-copy a:hover { color: #fff; }
