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

:root {
  color-scheme: light;
  --habita-ivory: #F7F6F2;
  --habita-stone: #EEE8DF;
  --habita-sand: #E6DCCB;
  --habita-sage-soft: #DCE3D6;
  --habita-sage: #6D7F6B;
  --habita-ink: #2F2F2F;
  --habita-gold: #7B7167;
  --habita-white: rgba(255, 255, 255, .92);
  --habita-line: rgba(109, 127, 107, .22);
  --habita-shadow: 0 18px 48px rgba(47, 47, 47, .12);
  --habita-shadow-soft: 0 10px 28px rgba(47, 47, 47, .09);
  --habita-radius-xl: 24px;
  --habita-radius-lg: 18px;
  --habita-radius-md: 14px;
}

html,
body {
  background: var(--habita-ivory) !important;
  color: var(--habita-ink) !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body {
  background-image:
    radial-gradient(circle at 8% 0%, rgba(230, 220, 203, .58), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(220, 227, 214, .72), transparent 35%) !important;
  background-attachment: fixed !important;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.how-title,
.step-title,
.section-title,
.habita-brand-title {
  color: var(--habita-ink) !important;
  font-family: "Montserrat", sans-serif !important;
  letter-spacing: -.025em;
}

p,
li,
label,
input,
textarea,
select,
button { font-family: "Inter", sans-serif !important; }

a { color: var(--habita-sage); }
a:hover { color: var(--habita-gold); }

::selection {
  background: rgba(109, 127, 107, .24);
  color: var(--habita-ink);
}

/* Encabezados compartidos */
.habita-page-header,
body > header,
.top,
.head,
.wrap > .nav {
  background: rgba(247, 246, 242, .92) !important;
  border-color: rgba(109, 127, 107, .18) !important;
  box-shadow: 0 8px 30px rgba(47, 47, 47, .06) !important;
  backdrop-filter: blur(18px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.06) !important;
}

.habita-page-header,
body > header {
  min-height: 78px !important;
}

.habita-page-brand,
.brand,
.habita-brand-title {
  color: var(--habita-gold) !important;
  -webkit-text-fill-color: var(--habita-gold) !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
  text-decoration: none !important;
}

.brand small,
.habita-page-brand small {
  color: var(--habita-sage) !important;
  -webkit-text-fill-color: var(--habita-sage) !important;
  letter-spacing: .07em !important;
}

.brand:not(a)::before {
  content: "";
  display: inline-block;
  width: 42px;
  height: 42px;
  margin-right: 10px;
  border-radius: 12px;
  vertical-align: middle;
  background: rgba(255,255,255,.82) url('./assets/habita-a-mark.svg') center / 72% 72% no-repeat;
  box-shadow: 0 8px 22px rgba(65,57,47,.10);
  filter: none;
}

.brand img,
.habita-page-brand img {
  content: normal !important;
  object-fit: contain !important;
  padding: 6px !important;
  background: rgba(255, 255, 255, .82) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(65,57,47,.10) !important;
  filter: none !important;
}

a.brand,
a.habita-page-brand {
  position: relative !important;
  isolation: isolate !important;
}

a.brand::before,
a.habita-page-brand::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  z-index: 0 !important;
  width: 47px !important;
  height: 47px !important;
  transform: translateY(-50%) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 8px 22px rgba(65,57,47,.10) !important;
}

a.brand > img,
a.habita-page-brand > img {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: brightness(.56) contrast(1.32) saturate(.82) sepia(.10) !important;
}

.habita-back,
.back,
.menu-btn,
.habita-menu-button {
  color: var(--habita-ink) !important;
  background: rgba(255, 255, 255, .48) !important;
  border-color: rgba(109, 127, 107, .22) !important;
  text-decoration: none !important;
}

.habita-back svg path,
.menu-btn svg path,
.habita-menu-button svg path {
  stroke: var(--habita-ink) !important;
}

.habita-nav-menu,
.habita-menu,
.menu {
  z-index: 2100 !important;
  color: var(--habita-ink) !important;
  background: rgba(247, 246, 242, .97) !important;
  border: 1px solid rgba(109, 127, 107, .18) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 55px rgba(47, 47, 47, .18) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

.habita-nav-item,
.habita-menu a,
.menu a {
  color: var(--habita-ink) !important;
  border-radius: 12px !important;
}

.habita-nav-item:hover,
.habita-nav-item:focus-visible,
.habita-menu a:hover,
.menu a:hover {
  color: var(--habita-ink) !important;
  background: rgba(220, 227, 214, .72) !important;
}

.habita-nav-icon {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .62) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

.habita-nav-icon svg,
.habita-nav-icon svg * {
  stroke: currentColor !important;
}

/* Superficies y formularios */
.card,
.panel,
.notice,
.gate,
.timeline,
.table,
.sheet,
.habita-filter-content,
.habita-property-card,
.habita-matching-card,
.habita-transition-card,
.admin-panel-card,
.admin-metric {
  color: var(--habita-ink) !important;
  background: rgba(238, 232, 223, .90) !important;
  border: 1px solid rgba(255, 255, 255, .84) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

.card,
.panel,
.notice,
.gate,
.timeline,
.sheet,
.habita-filter-content,
.admin-panel-card { border-radius: var(--habita-radius-lg) !important; }

.sub,
.lead,
.small,
.date,
.meta,
.note,
.privacy,
.how-subtitle,
.how-intro p,
.step-copy,
.metriclabel,
.label {
  color: rgba(47, 47, 47, .66) !important;
}

.eyebrow,
.how-kicker,
.step-eyebrow,
.visual-label {
  color: var(--habita-sage) !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

input,
textarea,
select,
.search,
.filter,
.input {
  color: var(--habita-ink) !important;
  caret-color: var(--habita-sage) !important;
  background: rgba(255, 255, 255, .76) !important;
  border: 1px solid rgba(109, 127, 107, .22) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70) !important;
}

input::placeholder,
textarea::placeholder { color: rgba(47, 47, 47, .43) !important; }

input:focus,
textarea:focus,
select:focus {
  outline: 3px solid rgba(109, 127, 107, .17) !important;
  border-color: rgba(109, 127, 107, .58) !important;
}

.btn,
.submit,
.cta,
.open-wa,
.copy,
.admin-action,
button.primary,
.primary,
.habita-chat-ready button {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
  border-radius: 999px !important;
  box-shadow: 0 9px 22px rgba(109, 127, 107, .20) !important;
}

.secondary,
.btn.secondary {
  color: var(--habita-ink) !important;
  background: rgba(255, 255, 255, .54) !important;
  border-color: rgba(109, 127, 107, .26) !important;
}

.btn:hover,
.submit:hover,
.cta:hover,
.open-wa:hover,
.copy:hover,
.admin-action:hover,
button.primary:hover,
.primary:hover {
  filter: brightness(.96);
  transform: translateY(-1px);
}

.status,
.pill,
.badge,
.ai-tag {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .76) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

/* Páginas editoriales */
.how-hero {
  background:
    linear-gradient(180deg, rgba(47,47,47,.18), rgba(47,47,47,.52)),
    url('./assets/hero-ventana.jpg') center / cover !important;
  border-color: rgba(255,255,255,.35) !important;
}

.how-title,
.how-title span,
.how-subtitle,
.how-kicker {
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
}

.how-title span { color: var(--habita-sage-soft) !important; }

.how-intro h2 span,
.step-number,
.match-score { color: var(--habita-sage) !important; }

.journey-step,
.step-visual,
.phone-demo,
.chat-bubble,
.match-card,
.compare-item {
  color: var(--habita-ink) !important;
  background: rgba(238, 232, 223, .90) !important;
  border-color: rgba(109, 127, 107, .18) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

.journey-arrow,
.step-toggle { color: var(--habita-sage) !important; }

article,
.content,
.legal,
.privacy-content,
.terms-content {
  color: var(--habita-ink) !important;
}

article h2,
article h3,
.content h2,
.content h3 { color: var(--habita-ink) !important; }

article strong,
.content strong { color: var(--habita-sage) !important; }

/* Catálogo, HabiBot, matching y administración */
.habita-home-catalog,
.habita-results-grid {
  background: transparent !important;
}

.habita-catalog-tools {
  background: rgba(247, 246, 242, .90) !important;
  border-color: rgba(109, 127, 107, .18) !important;
  backdrop-filter: blur(18px) !important;
}

.habita-filter-panel > summary,
.habita-sort {
  color: var(--habita-ink) !important;
  background: rgba(255,255,255,.80) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

.habita-property-card {
  overflow: hidden !important;
  border-radius: 18px !important;
}

.habita-property-image { background: var(--habita-sand) !important; }
.habita-property-body { background: rgba(238,232,223,.96) !important; }

.habita-chat-ready {
  color: var(--habita-ink) !important;
  background: rgba(220, 227, 214, .84) !important;
  border-color: rgba(109, 127, 107, .28) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

.habita-chat-ready span { color: rgba(47,47,47,.66) !important; }

.habita-transition-backdrop {
  z-index: 2300 !important;
  background: rgba(47, 47, 47, .30) !important;
  backdrop-filter: blur(12px) !important;
}

.habita-transition-icon {
  color: #fff !important;
  background: var(--habita-sage) !important;
  box-shadow: 0 12px 30px rgba(109,127,107,.24) !important;
}

.habita-matching-stage::before,
.habita-matching-stage::after {
  background: rgba(230, 220, 203, .76) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

.habita-matching-card { border-radius: 24px !important; }

.habita-matching-choice.reject {
  color: #8A5B5B !important;
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(138,91,91,.28) !important;
}

.habita-matching-choice.approve {
  color: var(--habita-sage) !important;
  background: rgba(255,255,255,.90) !important;
  border-color: rgba(109,127,107,.30) !important;
}

.admin-metric,
.admin-panel-card { background: rgba(238,232,223,.90) !important; }

.admin-trend-chart,
.admin-list-row { border-color: rgba(109,127,107,.18) !important; }

.admin-trend-users { background: linear-gradient(180deg, #9EAF99, var(--habita-sage)) !important; }
.admin-trend-properties { background: linear-gradient(180deg, #D5BE96, var(--habita-gold)) !important; }

/* Paneles administrativos externos */
.wrap,
.main,
main {
  color: var(--habita-ink) !important;
}

.side {
  color: var(--habita-ink) !important;
  background: rgba(238, 232, 223, .94) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

.side .nav button {
  color: rgba(47,47,47,.68) !important;
  background: transparent !important;
}

.side .nav button.active,
.side .nav button:hover {
  color: var(--habita-ink) !important;
  background: rgba(220,227,214,.78) !important;
}

.row,
.th,
.property { border-color: rgba(109,127,107,.16) !important; }

.drawer { background: rgba(47,47,47,.28) !important; }
.drawer { z-index: 2300 !important; }
.habibot-history-modal,
[role="dialog"] { z-index: 2400 !important; }
.close { color: var(--habita-ink) !important; background: rgba(255,255,255,.62) !important; }

/* Confirmaciones administrativas destructivas */
.habita-delete-user-btn {
  color: #764B4B !important;
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(118,75,75,.32) !important;
}

#habita-delete-user-overlay {
  background: rgba(47,47,47,.34) !important;
  backdrop-filter: blur(12px) !important;
}

#habita-delete-user-modal {
  color: var(--habita-ink) !important;
  background: rgba(247,246,242,.98) !important;
  border-color: rgba(255,255,255,.84) !important;
  box-shadow: 0 30px 90px rgba(47,47,47,.24) !important;
}

#habita-delete-user-modal p { color: rgba(47,47,47,.62) !important; }
.habita-delete-reason { border-color: rgba(109,127,107,.16) !important; }
#habita-delete-notes,
#habita-delete-confirm,
.habita-delete-preview {
  color: var(--habita-ink) !important;
  background: rgba(238,232,223,.74) !important;
  border-color: rgba(109,127,107,.20) !important;
}

.habita-delete-cancel {
  color: var(--habita-ink) !important;
  background: rgba(255,255,255,.68) !important;
  border-color: rgba(109,127,107,.20) !important;
}

.habita-delete-confirm-btn {
  color: #fff !important;
  background: #765252 !important;
  border-color: #765252 !important;
}

/* Home exacto según el boceto */
[data-habita-home="true"] .habita-main-header {
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: 1200 !important;
  min-height: 110px !important;
  height: 110px !important;
  padding: 22px 20px !important;
  color: var(--habita-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

[data-habita-home="true"] .habita-brand-center {
  position: relative !important;
  isolation: isolate !important;
  gap: 14px !important;
}

[data-habita-home="true"] .habita-brand-center::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  z-index: 0 !important;
  width: 67px !important;
  height: 66px !important;
  transform: translateY(-50%) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 8px 24px rgba(65,57,47,.10) !important;
}

[data-habita-home="true"] .habita-brand-center img {
  content: normal !important;
  width: 67px !important;
  height: 66px !important;
  padding: 7px !important;
  position: relative !important;
  z-index: 1 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  filter: brightness(.56) contrast(1.32) saturate(.82) sepia(.10) !important;
}

[data-habita-home="true"] .habita-brand-title {
  color: var(--habita-gold) !important;
  -webkit-text-fill-color: var(--habita-gold) !important;
  font: 400 28px/1 "Inter", sans-serif !important;
  letter-spacing: .8px !important;
}

[data-habita-home="true"] .habita-desktop-links {
  display: flex !important;
  align-items: center !important;
  gap: 19px !important;
  margin-left: 40px !important;
}

[data-habita-home="true"] .habita-desktop-links a {
  color: var(--habita-ink) !important;
  font: 600 8.5px "Inter", sans-serif !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

[data-habita-home="true"] .habita-header-actions { gap: 11px !important; }

[data-habita-home="true"] .habita-user-letter,
[data-habita-home="true"] .habita-header-actions > button {
  width: 36px !important;
  height: 36px !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: rgba(109,127,107,.92) !important;
  box-shadow: 0 6px 18px rgba(47,47,47,.11) !important;
}

[data-habita-home="true"] .habita-user-letter {
  width: 39px !important;
  height: 39px !important;
}

[data-habita-home="true"] .habita-header-actions svg path,
[data-habita-home="true"] .habita-header-actions svg line {
  stroke: var(--habita-ink) !important;
}

[data-habita-home="true"] .habita-header-actions > button:last-child {
  color: var(--habita-ink) !important;
  background: rgba(255,255,255,.38) !important;
}

[data-habita-home="true"] .habita-home-hero {
  min-height: 1124px !important;
  background: var(--habita-sage-soft) !important;
}

[data-habita-home="true"] .habita-home-hero-media { display: none !important; }

[data-habita-home="true"] .habita-home-hero-fallback {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  filter: saturate(.88) brightness(.96) contrast(1.02) !important;
}

[data-habita-home="true"] .habita-home-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(18,18,18,.02) 0%, rgba(18,18,18,.14) 42%, rgba(18,18,18,.34) 76%, rgba(18,18,18,.58) 100%) !important;
}

[data-habita-home="true"] .habita-metasearch-stage {
  position: relative !important;
  z-index: 3 !important;
  min-height: 1124px !important;
  padding: 162px 0 96px clamp(79px, 11.1vw, 126px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

[data-habita-home="true"] .habita-metasearch-copy {
  width: 484px !important;
  max-width: calc(100vw - 120px) !important;
  margin: 0 0 34px !important;
}

[data-habita-home="true"] .habita-metasearch-copy h1 {
  max-width: 430px !important;
  margin: 0 0 15px !important;
  color: #fff !important;
  font: 700 48px/1.03 "Montserrat", sans-serif !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 2px 16px rgba(26,30,27,.18) !important;
}

[data-habita-home="true"] .habita-metasearch-copy h1 span { color: var(--habita-sage-soft) !important; }

[data-habita-home="true"] .habita-metasearch-copy p {
  max-width: 390px !important;
  margin: 0 !important;
  color: #fff !important;
  font: 400 20px/1.42 "Inter", sans-serif !important;
  text-shadow: 0 2px 14px rgba(26,30,27,.22) !important;
}

[data-habita-home="true"] .habita-home-search { width: 484px !important; max-width: calc(100vw - 80px) !important; }

[data-habita-home="true"] .habita-search-shell {
  width: 484px !important;
  max-width: 100% !important;
  min-height: 64px !important;
  height: 64px !important;
  padding: 7px 8px 7px 16px !important;
  gap: 12px !important;
  border: 1px solid rgba(255,255,255,.90) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 14px 36px rgba(34,39,34,.15) !important;
  backdrop-filter: blur(13px) !important;
}

[data-habita-home="true"] .habita-search-shell textarea {
  color: var(--habita-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  font: 400 14px/1.35 "Inter", sans-serif !important;
}

[data-habita-home="true"] .habita-search-submit {
  min-width: 112px !important;
  width: 112px !important;
  height: 50px !important;
  border: 0 !important;
  border-radius: 17px !important;
  color: #fff !important;
  background: var(--habita-sage) !important;
  box-shadow: 0 8px 20px rgba(109,127,107,.22) !important;
}

[data-habita-home="true"] .habita-source-context {
  width: 484px !important;
  margin: 30px 0 12px !important;
  color: #fff !important;
  font: 600 11px/1.3 "Inter", sans-serif !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

[data-habita-home="true"] .habita-source-list {
  width: 484px !important;
  max-width: calc(100vw - 80px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, max-content) !important;
  gap: 10px 12px !important;
}

[data-habita-home="true"] .habita-source-list span::before {
  display: inline-block !important;
  width: 15px !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

[data-habita-home="true"] .habita-source-list span:nth-child(1)::before { content: "🤝" !important; }
[data-habita-home="true"] .habita-source-list span:nth-child(2)::before { content: "⌂" !important; color: #F7F6F2 !important; }
[data-habita-home="true"] .habita-source-list span:nth-child(3)::before { content: "▦" !important; color: #AFC7D8 !important; }
[data-habita-home="true"] .habita-source-list span:nth-child(4)::before { content: "🐓" !important; }
[data-habita-home="true"] .habita-source-list span:nth-child(5)::before { content: "📍" !important; }

[data-habita-home="true"] .habita-source-list span {
  height: 38px !important;
  padding: 0 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
  font: 500 11px "Inter", sans-serif !important;
  background: rgba(30,30,30,.14) !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  backdrop-filter: blur(4px) !important;
}

[data-habita-home="true"] .habita-featured-strip-wrap {
  width: 514px !important;
  max-width: calc(100vw - 80px) !important;
  margin-top: 30px !important;
}

[data-habita-home="true"] .habita-featured-strip {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 249px) !important;
  gap: 16px !important;
  overflow: visible !important;
}

[data-habita-home="true"] .habita-feature-card {
  position: relative !important;
  display: block !important;
  width: 249px !important;
  min-width: 249px !important;
  height: 269px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--habita-ink) !important;
  background: rgba(247,246,242,.95) !important;
  border: 1px solid rgba(247,246,242,.62) !important;
  border-radius: 17px !important;
  box-shadow: 0 8px 24px rgba(18,20,18,.20) !important;
  backdrop-filter: blur(10px) saturate(.9) !important;
  transform: none !important;
}

[data-habita-home="true"] .habita-feature-card:nth-child(n+3) { display: none !important; }
[data-habita-home="true"] .habita-feature-card > div { height: 100% !important; padding: 0 !important; }

[data-habita-home="true"] .habita-feature-photo {
  width: 100% !important;
  height: 174px !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: var(--habita-champagne) !important;
  background-image: url('./assets/habita-reference-board.jpeg') !important;
  background-size: 417.96% auto !important;
  background-repeat: no-repeat !important;
}

[data-habita-home="true"] .habita-feature-card:nth-child(1) .habita-feature-photo {
  background-position: 10.4% 52% !important;
}

[data-habita-home="true"] .habita-feature-card:nth-child(2) .habita-feature-photo {
  background-position: 44.42% 52% !important;
}

[data-habita-home="true"] .habita-feature-photo::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  background-color: var(--habita-champagne) !important;
  background-image: url('./assets/habita-reference-board.jpeg') !important;
  background-size: 417.96% auto !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}

[data-habita-home="true"] .habita-feature-card:nth-child(1) .habita-feature-photo::before {
  background-position: 10.4% 52% !important;
}

[data-habita-home="true"] .habita-feature-card:nth-child(2) .habita-feature-photo::before {
  background-position: 44.42% 52% !important;
}

[data-habita-home="true"] .habita-feature-photo + div {
  position: relative !important;
  width: 100% !important;
  height: 95px !important;
  margin: 0 !important;
  padding: 12px 42px 12px 14px !important;
  color: var(--habita-ink) !important;
  background: rgba(247,246,242,.95) !important;
}

[data-habita-home="true"] .habita-feature-photo > div {
  min-width: 89px !important;
  min-height: 27px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font: 600 9px/1 "Inter", sans-serif !important;
  letter-spacing: .06em !important;
  background: rgba(47,47,47,.76) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 14px !important;
}

[data-habita-home="true"] .habita-feature-photo + div > div:first-child {
  color: var(--habita-ink) !important;
  font: 500 13px/1.2 "Inter", sans-serif !important;
}

[data-habita-home="true"] .habita-feature-photo + div > div:first-child::before {
  content: "⌾" !important;
  margin-right: 6px !important;
  color: rgba(47,47,47,.58) !important;
  font-size: 13px !important;
}

[data-habita-home="true"] .habita-feature-photo + div > div:nth-child(2) {
  margin-top: 6px !important;
  color: rgba(47,47,47,.55) !important;
  font: 400 12px/1.2 "Inter", sans-serif !important;
}

[data-habita-home="true"] .habita-feature-photo + div > div:nth-child(3) {
  margin-top: 6px !important;
  color: var(--habita-ink) !important;
  font: 700 14px/1.2 "Inter", sans-serif !important;
}

[data-habita-home="true"] .habita-feature-photo + div > a { display: none !important; }

[data-habita-home="true"] .habita-feature-card::after {
  content: "♡" !important;
  position: absolute !important;
  right: 12px !important;
  bottom: 13px !important;
  width: 31px !important;
  height: 31px !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(47,47,47,.68) !important;
  font-size: 19px !important;
  background: rgba(255,255,255,.54) !important;
  border: 1px solid rgba(109,127,107,.16) !important;
  border-radius: 50% !important;
}

[data-habita-home="true"] .habita-orb-chat {
  position: absolute !important;
  right: 22px !important;
  bottom: 89px !important;
  z-index: 8 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

[data-habita-home="true"] .habita-stage-bot-bubble {
  width: 177px !important;
  min-width: 177px !important;
  min-height: 69px !important;
  padding: 13px 15px !important;
  color: var(--habita-ink) !important;
  background: rgba(255,255,255,.93) !important;
  border: 1px solid rgba(255,255,255,.90) !important;
  border-radius: 18px 18px 5px 18px !important;
  box-shadow: 0 12px 30px rgba(24,28,24,.16) !important;
}

[data-habita-home="true"] .habita-stage-bot-bubble strong {
  font: 600 16px/1.25 "Inter", sans-serif !important;
}

[data-habita-home="true"] .habita-orb-button,
[data-habita-home="true"] .habibot-orb {
  width: 81px !important;
  height: 81px !important;
  flex: 0 0 81px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(255,255,255,.90) !important;
  box-shadow: 0 14px 36px rgba(24,28,24,.18) !important;
}

[data-habita-home="true"] .habita-orb-button {
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}

[data-habita-home="true"] .habibot-orb {
  position: relative !important;
  background: transparent !important;
  overflow: visible !important;
}

[data-habita-home="true"] .habibot-orb svg { display: none !important; }
[data-habita-home="true"] .habibot-orb::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 16% !important;
  z-index: 1 !important;
  background: transparent url('./assets/habita-a-mark.svg') center / contain no-repeat !important;
  filter: brightness(.56) contrast(1.32) saturate(.82) sepia(.10) !important;
  pointer-events: none !important;
}

[data-habita-home="true"] .habibot-orb::after {
  z-index: 2 !important;
  right: -1px !important;
  bottom: -1px !important;
  width: 14px !important;
  height: 14px !important;
  background: #3FBC7E !important;
  border: 2px solid #F7F6F2 !important;
  box-shadow: 0 2px 7px rgba(28, 56, 40, .22) !important;
}

[data-habita-home="true"] .habita-scroll-cue {
  position: absolute !important;
  left: 50% !important;
  bottom: 34px !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 680px) {
  [data-habita-home="true"] .habita-desktop-links { display: none !important; }

  [data-habita-home="true"] .habita-main-header {
    position: relative !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 7px 17px !important;
    background: rgba(247,246,242,.96) !important;
    backdrop-filter: blur(18px) !important;
  }

  [data-habita-home="true"] .habita-brand-center { gap: 8px !important; }
  [data-habita-home="true"] .habita-brand-center::before { width: 50px !important; height: 50px !important; border-radius: 12px !important; }
  [data-habita-home="true"] .habita-brand-center img { width: 50px !important; height: 50px !important; padding: 5px !important; border-radius: 12px !important; }
  [data-habita-home="true"] .habita-brand-title { font-size: 20px !important; letter-spacing: .6px !important; }
  [data-habita-home="true"] .habita-header-actions { gap: 9px !important; }
  [data-habita-home="true"] .habita-user-letter,
  [data-habita-home="true"] .habita-header-actions > button { width: 32px !important; height: 32px !important; font-size: 12px !important; }

  [data-habita-home="true"] .habita-home-hero { min-height: 1010px !important; }
  [data-habita-home="true"] .habita-home-hero-fallback { object-position: 58% center !important; }
  [data-habita-home="true"] .habita-home-hero-overlay { background: linear-gradient(180deg,rgba(18,18,18,.12) 0%,rgba(18,18,18,.30) 38%,rgba(18,18,18,.52) 75%,rgba(18,18,18,.64) 100%) !important; }

  [data-habita-home="true"] .habita-metasearch-stage {
    min-height: 1010px !important;
    padding: 41px 0 94px !important;
  }

  [data-habita-home="true"] .habita-metasearch-copy {
    width: min(63vw, 246px) !important;
    max-width: none !important;
    margin-left: 12.1vw !important;
    margin-bottom: 20px !important;
  }

  [data-habita-home="true"] .habita-metasearch-copy h1 {
    max-width: 350px !important;
    margin-bottom: 8px !important;
    font-size: 32px !important;
    line-height: 1.04 !important;
  }

  [data-habita-home="true"] .habita-metasearch-copy p {
    max-width: min(59vw, 230px) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  [data-habita-home="true"] .habita-home-search {
    width: min(84vw, 328px) !important;
    max-width: none !important;
    align-self: center !important;
  }

  [data-habita-home="true"] .habita-search-shell { width: 100% !important; max-width: 100% !important; }

  [data-habita-home="true"] .habita-search-shell {
    min-height: 56px !important;
    height: 56px !important;
    padding: 6px 7px 6px 14px !important;
    border-radius: 18px !important;
  }

  [data-habita-home="true"] .habita-search-shell textarea { font-size: 16px !important; }

  [data-habita-home="true"] .habita-search-submit {
    min-width: 78px !important;
    width: 78px !important;
    height: 44px !important;
    padding: 0 11px !important;
    border-radius: 14px !important;
  }

  [data-habita-home="true"] .habita-source-context {
    width: min(38vw, 148px) !important;
    margin: 22px 0 9px 12.1vw !important;
    font-size: 9.5px !important;
    line-height: 1.3 !important;
  }

  [data-habita-home="true"] .habita-source-list {
    width: min(76vw, 300px) !important;
    max-width: none !important;
    margin-left: 12.1vw !important;
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    gap: 7px 8px !important;
  }

  [data-habita-home="true"] .habita-source-list span {
    height: 34px !important;
    padding: 0 11px !important;
    font-size: 10px !important;
  }

  [data-habita-home="true"] .habita-featured-strip-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 17px !important;
  }

  [data-habita-home="true"] .habita-featured-strip {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 6px !important;
  }

  [data-habita-home="true"] .habita-feature-card {
    width: min(77vw, 300px) !important;
    max-width: 300px !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 16px !important;
  }

  [data-habita-home="true"] .habita-feature-photo { height: 64.65% !important; }
  [data-habita-home="true"] .habita-feature-photo + div { height: 35.35% !important; padding: 9px 40px 9px 12px !important; }
  [data-habita-home="true"] .habita-orb-chat { right: 14px !important; bottom: 36px !important; gap: 8px !important; }
  [data-habita-home="true"] .habita-orb-button,
  [data-habita-home="true"] .habibot-orb { width: 58px !important; height: 58px !important; flex-basis: 58px !important; }
  [data-habita-home="true"] .habibot-orb::after { width: 12px !important; height: 12px !important; border-width: 1.5px !important; }
  [data-habita-home="true"] .habita-stage-bot-bubble { width: 140px !important; min-width: 140px !important; min-height: 52px !important; padding: 8px 10px !important; border-radius: 14px 14px 4px 14px !important; font-size: 11px !important; }
  [data-habita-home="true"] .habita-stage-bot-bubble strong { font-size: 12px !important; }
}

/* Habità catalog — independent cards in a horizontal carousel, preview step 3B. */
body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-strip-wrap {
  position: relative !important;
  width: 514px !important;
  max-width: calc(100vw - 80px) !important;
  height: 269px !important;
  min-width: 0 !important;
  margin-top: 42px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"] {
  --habita-catalog-gap: 16px;
  width: 100% !important;
  height: 269px !important;
  max-height: 269px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: var(--habita-catalog-gap) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
  touch-action: pan-x pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"]:focus-visible {
  outline: 2px solid rgba(220,227,214,.9) !important;
  outline-offset: 5px !important;
  border-radius: 18px !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"]::-webkit-scrollbar {
  display: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"] > .habita-feature-card {
  display: block !important;
  flex: 0 0 calc((100% - var(--habita-catalog-gap)) / 2) !important;
  width: calc((100% - var(--habita-catalog-gap)) / 2) !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 269px !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"] > .habita-feature-card:nth-child(n+3) {
  display: block !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"]
> .habita-feature-card:nth-child(n+3) .habita-feature-photo {
  background-image: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-carousel="true"]
> .habita-feature-card:nth-child(n+3) .habita-feature-photo::before {
  content: none !important;
  display: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-arrow {
  display: flex !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-arrow:disabled {
  visibility: hidden !important;
  opacity: 0 !important;
  filter: none !important;
  pointer-events: none !important;
}

@media (max-width: 680px) {
  body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-strip-wrap {
    width: min(72vw, 280px) !important;
    max-width: 280px !important;
    height: min(72vw, 280px) !important;
    margin: 64px auto 0 !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip[data-habita-catalog-carousel="true"] {
    --habita-catalog-gap: 14px;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip[data-habita-catalog-carousel="true"] > .habita-feature-card {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-arrow-prev {
    left: -18px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-arrow-next {
    right: -18px !important;
  }
}

@media (max-width: 430px) {
  [data-habita-home="true"] .habita-metasearch-stage { padding-left: 0 !important; padding-right: 0 !important; }
  [data-habita-home="true"] .habita-metasearch-copy h1 { font-size: 30px !important; }
  [data-habita-home="true"] .habita-source-list span { padding: 0 10px !important; font-size: 9.5px !important; }

  .habita-page-header,
  body > header { min-height: 72px !important; }

  .card,
  .panel,
  .notice,
  .gate,
  .timeline,
  .admin-panel-card { border-radius: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* User-supplied bronze Habità mark: no header tile, one mark everywhere. */
a.brand::before,
a.habita-page-brand::before,
[data-habita-home="true"] .habita-brand-center::before {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

.brand img,
.habita-page-brand img,
a.brand > img,
a.habita-page-brand > img,
[data-habita-home="true"] .habita-brand-center img {
  width: 40px !important;
  height: 36px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
}

.brand:not(a)::before {
  content: "" !important;
  display: inline-block !important;
  width: 40px !important;
  height: 36px !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
  background: transparent url('./assets/habita-a-bronze-transparent-v2.png') center / contain no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

[data-habita-home="true"] .habibot-orb svg { display: none !important; }
[data-habita-home="true"] .habibot-orb::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 16% !important;
  z-index: 1 !important;
  background: transparent url('./assets/habita-a-bronze-transparent-v2.png') center / contain no-repeat !important;
  filter: none !important;
  pointer-events: none !important;
}

/* More breathing room between the source chips and property results. */
[data-habita-home="true"] .habita-featured-strip-wrap {
  margin-top: 42px !important;
}

@media (max-width: 680px) {
  [data-habita-home="true"] .habita-brand-center img,
  .brand img,
  .habita-page-brand img,
  a.brand > img,
  a.habita-page-brand > img {
    width: 32px !important;
    height: 30px !important;
    padding: 0 !important;
  }

  .brand:not(a)::before {
    width: 32px !important;
    height: 30px !important;
  }

  [data-habita-home="true"] .habita-featured-strip-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /*
   * On touch devices home-catalog.js intentionally skips creating the
   * optional .habita-featured-strip-wrap (it is only needed for desktop
   * mouse controls).  Put the requested breathing room on the strip itself
   * so the gap is present on the actual mobile DOM as well.
   */
  [data-habita-home="true"] .habita-featured-strip {
    margin-top: 64px !important;
  }

  [data-habita-home="true"] .habita-feature-card {
    width: min(72vw, 280px) !important;
    max-width: 280px !important;
  }

  /* Compact three-across source grid requested for mobile. */
  [data-habita-home="true"] .habita-source-list {
    width: min(90vw, 360px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  [data-habita-home="true"] .habita-source-list span {
    width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 0 6px !important;
    justify-content: center !important;
    gap: 5px !important;
    font-size: 8.5px !important;
    white-space: nowrap !important;
  }

  [data-habita-home="true"] .habita-source-list span:nth-child(4) {
    grid-column: 1 !important;
  }

  [data-habita-home="true"] .habita-source-list span:nth-child(5) {
    grid-column: 3 !important;
  }
}

/* --------------------------------------------------------------------------
   Manual de marca Habità 2.0 — cobertura integral de la aplicación
   Esta capa final reemplaza los restos visuales de la identidad anterior.
   -------------------------------------------------------------------------- */

:root {
  --habita-champagne: #E6DCCB;
  --habita-muted: #665F58;
  --habita-online: #3FBC7E;
  --habita-success-ink: #2E684B;
  --habita-success-surface: rgba(63, 188, 126, .12);
  --habita-danger: #765252;
  --habita-danger-surface: rgba(118, 82, 82, .11);
  --habita-focus: rgba(109, 127, 107, .28);
  --habita-surface: rgba(247, 246, 242, .94);
  --habita-surface-raised: rgba(255, 255, 255, .88);
  --habita-surface-soft: rgba(238, 232, 223, .88);
}

html[data-habita-theme="brand-manual-2"] {
  color-scheme: light !important;
}

html[data-habita-theme="brand-manual-2"],
html[data-habita-theme="brand-manual-2"] body {
  background-color: var(--habita-ivory) !important;
}

html[data-habita-theme="brand-manual-2"] body {
  color: var(--habita-ink) !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

html[data-habita-theme="brand-manual-2"] :where(h1, h2, h3, h4, h5, h6) {
  color: var(--habita-ink) !important;
  font-family: "Montserrat", sans-serif !important;
  font-style: normal !important;
}

html[data-habita-theme="brand-manual-2"] [style*="font-family:'Newsreader'" i],
html[data-habita-theme="brand-manual-2"] [style*='font-family:"Newsreader"' i] {
  font-family: "Montserrat", sans-serif !important;
  font-style: normal !important;
}

html[data-habita-theme="brand-manual-2"] [style*="font-family:'Manrope'" i],
html[data-habita-theme="brand-manual-2"] [style*='font-family:"Manrope"' i] {
  font-family: "Inter", sans-serif !important;
}

html[data-habita-theme="brand-manual-2"] :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--habita-focus) !important;
  outline-offset: 3px !important;
}

html[data-habita-theme="brand-manual-2"] :where(button, input, textarea, select):disabled {
  cursor: not-allowed !important;
  filter: saturate(.55) !important;
  opacity: .58 !important;
}

html[data-habita-theme="brand-manual-2"] :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--habita-sage) !important;
}

/* Encabezado, marca y navegación compartidos. */
html[data-habita-theme="brand-manual-2"] :where(.habita-page-header, body > header, .habita-main-header) {
  color: var(--habita-ink) !important;
  background-color: rgba(247, 246, 242, .94) !important;
  border-color: rgba(109, 127, 107, .18) !important;
  box-shadow: 0 9px 30px rgba(47, 47, 47, .07) !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.04) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-page-brand, .brand, .habita-brand-title) {
  color: var(--habita-gold) !important;
  -webkit-text-fill-color: var(--habita-gold) !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 600 !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-back, .back, .menu-btn, .habita-menu-button) {
  color: var(--habita-ink) !important;
  background: rgba(255, 255, 255, .58) !important;
  border: 1px solid rgba(109, 127, 107, .24) !important;
  box-shadow: 0 6px 18px rgba(47, 47, 47, .06) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-back, .back, .menu-btn, .habita-menu-button) svg * {
  stroke: var(--habita-ink) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-nav-menu, .habita-menu, .menu) {
  color: var(--habita-ink) !important;
  background: rgba(247, 246, 242, .98) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

html[data-habita-theme="brand-manual-2"] .habita-nav-item[aria-current="page"],
html[data-habita-theme="brand-manual-2"] :where(.habita-menu, .menu) a[aria-current="page"] {
  color: #fff !important;
  background: var(--habita-sage) !important;
  box-shadow: 0 7px 18px rgba(109, 127, 107, .18) !important;
}

html[data-habita-theme="brand-manual-2"] .habita-nav-item[aria-current="page"] .habita-nav-icon {
  color: var(--habita-sage) !important;
  background: var(--habita-ivory) !important;
  border-color: rgba(255, 255, 255, .72) !important;
  box-shadow: none !important;
}

html[data-habita-theme="brand-manual-2"] .habita-nav-item:not([aria-current="page"]):hover,
html[data-habita-theme="brand-manual-2"] .habita-nav-item:not([aria-current="page"]):focus-visible {
  color: var(--habita-ink) !important;
  background: var(--habita-sage-soft) !important;
}

/* Botones, controles, mensajes y estados semánticos. */
html[data-habita-theme="brand-manual-2"] :where(.btn, .submit, .cta, .admin-action.primary, button.primary, .primary, .habita-chat-ready button) {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
  box-shadow: 0 9px 22px rgba(109, 127, 107, .20) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.secondary, .btn.secondary, .copy, .open-wa) {
  color: var(--habita-sage) !important;
  background: rgba(255, 255, 255, .68) !important;
  border-color: rgba(109, 127, 107, .24) !important;
  box-shadow: none !important;
}

html[data-habita-theme="brand-manual-2"] :where(.danger, .btn.danger, .admin-action.danger, .habita-delete-user-btn, .habita-delete-confirm-btn) {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .34) !important;
  box-shadow: none !important;
}

html[data-habita-theme="brand-manual-2"] .habita-delete-confirm-btn {
  color: #fff !important;
  background: var(--habita-danger) !important;
  border-color: var(--habita-danger) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.status.success, [data-status="success"], .success[role="status"]) {
  color: var(--habita-success-ink) !important;
  background: var(--habita-success-surface) !important;
  border-color: rgba(63, 188, 126, .28) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.status.error, [data-status="error"], .error[role="alert"]) {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .30) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.pill, .badge, .status, .ai-tag) {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .76) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

/* Formularios y superficies elevadas. */
html[data-habita-theme="brand-manual-2"] :where(input, textarea, select, .admin-field) {
  color: var(--habita-ink) !important;
  caret-color: var(--habita-sage) !important;
  background-color: rgba(255, 255, 255, .82) !important;
  border-color: rgba(109, 127, 107, .24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

html[data-habita-theme="brand-manual-2"] :where(input, textarea)::placeholder {
  color: rgba(47, 47, 47, .48) !important;
  opacity: 1 !important;
}

html[data-habita-theme="brand-manual-2"] :where(.card, .panel, .notice, .gate, .timeline, .sheet, .habita-filter-content, .habita-property-card, .habita-matching-card, .habita-transition-card, .admin-panel-card, .admin-metric, .habibot-history-card) {
  color: var(--habita-ink) !important;
  background-color: var(--habita-surface-soft) !important;
  background-image: none !important;
  border-color: rgba(109, 127, 107, .20) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

/* Pies de página coherentes en páginas editoriales y legales. */
html[data-habita-theme="brand-manual-2"] :where(footer, .habita-brand-footer) {
  color: var(--habita-muted) !important;
  background: transparent !important;
  border-color: rgba(109, 127, 107, .20) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

html[data-habita-theme="brand-manual-2"] .habita-brand-footer {
  width: min(920px, calc(100% - 40px));
  margin: 42px auto 0;
  padding: 22px 0 calc(env(safe-area-inset-bottom, 0px) + 12px);
  text-align: center;
  border-top: 1px solid rgba(109, 127, 107, .20);
}

html[data-habita-theme="brand-manual-2"] :where(footer, .habita-brand-footer) a {
  color: var(--habita-sage) !important;
  font-weight: 600 !important;
}

/* Contacto. */
body[data-habita-page="contacto"] {
  background: var(--habita-ivory) !important;
}

body[data-habita-page="contacto"] header {
  min-height: 84px !important;
  height: auto !important;
}

body[data-habita-page="contacto"] main {
  color: var(--habita-ink) !important;
}

body[data-habita-page="contacto"] h1 {
  max-width: 760px;
  color: var(--habita-ink) !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
}

body[data-habita-page="contacto"] :where(.lead, .intro, .reply, .privacy, .card small) {
  color: var(--habita-muted) !important;
}

body[data-habita-page="contacto"] :where(.panel, .card) {
  color: var(--habita-ink) !important;
  background: var(--habita-surface-raised) !important;
  border-color: rgba(109, 127, 107, .20) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

body[data-habita-page="contacto"] .value {
  color: var(--habita-ink) !important;
}

body[data-habita-page="contacto"] .wa .value,
body[data-habita-page="contacto"] .copy-note {
  color: var(--habita-sage) !important;
}

body[data-habita-page="contacto"] footer {
  padding-top: 22px !important;
  border-top: 1px solid rgba(109, 127, 107, .18) !important;
}

/* Privacidad y términos. */
body:is([data-habita-page="privacidad"], [data-habita-page="terminos"]) {
  background: var(--habita-ivory) !important;
  color: var(--habita-ink) !important;
}

body:is([data-habita-page="privacidad"], [data-habita-page="terminos"]) main {
  max-width: 860px !important;
  color: var(--habita-ink) !important;
}

body:is([data-habita-page="privacidad"], [data-habita-page="terminos"]) :where(p, li) {
  color: rgba(47, 47, 47, .76) !important;
}

body:is([data-habita-page="privacidad"], [data-habita-page="terminos"]) .notice {
  color: var(--habita-ink) !important;
  background: rgba(220, 227, 214, .72) !important;
  border-color: rgba(109, 127, 107, .26) !important;
}

body:is([data-habita-page="privacidad"], [data-habita-page="terminos"]) footer {
  padding-top: 24px !important;
  border-top: 1px solid rgba(109, 127, 107, .20) !important;
}

/* Quiénes somos. */
body[data-habita-page="quienes-somos"] x-dc > div {
  background: var(--habita-ivory) !important;
  background-image:
    radial-gradient(circle at 8% 0%, rgba(230, 220, 203, .48), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(220, 227, 214, .60), transparent 35%) !important;
}

body[data-habita-page="quienes-somos"] .habita-scroll {
  width: min(900px, 100%);
  margin-inline: auto;
  color: var(--habita-ink) !important;
}

body[data-habita-page="quienes-somos"] .habita-scroll > div[style*="font-size:14px" i] {
  color: rgba(47, 47, 47, .76) !important;
}

body[data-habita-page="quienes-somos"] .habita-scroll > div[style*="font-size:18px" i],
body[data-habita-page="quienes-somos"] .habita-scroll > div[style*="font-size:28px" i] {
  color: var(--habita-ink) !important;
  font-family: "Montserrat", sans-serif !important;
  font-style: normal !important;
}

body[data-habita-page="quienes-somos"] .habita-scroll > div[style*="height:1px" i] {
  background: rgba(109, 127, 107, .22) !important;
}

body[data-habita-page="quienes-somos"] .habita-scroll [style*="color:#fff" i] {
  color: var(--habita-ink) !important;
}

body[data-habita-page="quienes-somos"] .habita-scroll [style*="color:#D8D9DB" i],
body[data-habita-page="quienes-somos"] .habita-scroll [style*="color:#B7B1A8" i] {
  color: var(--habita-muted) !important;
}

/* Cómo funciona: conservar la foto, reemplazar toda la interfaz azul. */
body[data-habita-page="como-funciona"] x-dc > div {
  background: var(--habita-ivory) !important;
  background-image: none !important;
  color: var(--habita-ink) !important;
}

body[data-habita-page="como-funciona"] .how-hero {
  background:
    linear-gradient(180deg, rgba(47, 47, 47, .18), rgba(47, 47, 47, .56)),
    url('./assets/hero-ventana.jpg') center / cover !important;
  border-color: rgba(255, 255, 255, .38) !important;
}

body[data-habita-page="como-funciona"] :where(.how-title, .how-title span, .how-subtitle, .how-kicker) {
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
}

body[data-habita-page="como-funciona"] .how-title span {
  color: var(--habita-sage-soft) !important;
}

body[data-habita-page="como-funciona"] :where(.how-intro p, .step-copy, .step-copy li, .how-note, .video-copy span, .final-demo, .final-demo span) {
  color: var(--habita-muted) !important;
}

body[data-habita-page="como-funciona"] .journey-step details {
  color: var(--habita-ink) !important;
  background: var(--habita-surface-soft) !important;
  border: 1px solid rgba(109, 127, 107, .20) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

body[data-habita-page="como-funciona"] .journey-step details[open] {
  background: rgba(247, 246, 242, .96) !important;
  box-shadow: var(--habita-shadow) !important;
}

body[data-habita-page="como-funciona"] :where(.step-title, .step-copy strong, .video-copy b, .final-demo b, .compare-item b) {
  color: var(--habita-ink) !important;
}

body[data-habita-page="como-funciona"] :where(.step-number, .step-toggle, .how-hint, .how-note-icon) {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .74) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="como-funciona"] .step-content {
  border-color: rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="como-funciona"] :where(.step-visual, .phone-demo, .chat-bubble, .ai-tag, .match-card, .compare-item, .group-result, .how-note) {
  color: var(--habita-ink) !important;
  background: rgba(247, 246, 242, .84) !important;
  border-color: rgba(109, 127, 107, .18) !important;
  box-shadow: none !important;
}

body[data-habita-page="como-funciona"] .phone-screen {
  background: #fff !important;
}

body[data-habita-page="como-funciona"] .chat-bubble.user {
  color: #fff !important;
  background: var(--habita-sage) !important;
}

body[data-habita-page="como-funciona"] :where(.ai-core, .play-button, .key-icon) {
  color: #fff !important;
  background: linear-gradient(145deg, #82917F, var(--habita-sage)) !important;
  box-shadow: 0 10px 24px rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="como-funciona"] :where(.journey-arrow, .match-score, .step-eyebrow, .visual-label) {
  color: var(--habita-sage) !important;
}

body[data-habita-page="como-funciona"] .journey-arrow span::before {
  background: linear-gradient(180deg, rgba(109, 127, 107, .12), var(--habita-sage)) !important;
}

/* Aplicación principal: remapeo de estilos inline heredados. */
body[data-habita-page="app"] [data-habita-home="false"],
body[data-habita-page="app"] [data-habita-home="false"] > .habita-scroll {
  color: var(--habita-ink) !important;
  background-color: var(--habita-ivory) !important;
  background-image: none !important;
}

body[data-habita-page="app"] :not(button)[style*="background:var(--habita-black)" i] {
  background: var(--habita-ivory) !important;
  background-image: none !important;
}

body[data-habita-page="app"] button[style*="background:var(--habita-black)" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
}

body[data-habita-page="app"] :where(div, section, article, aside, textarea)[style*="background:#0B0B0B" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#101010" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#111" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#151515" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#171717" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#181818" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#1D1D1D" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#202020" i],
body[data-habita-page="app"] :where(div, section, article, aside)[style*="background:#252525" i] {
  background: var(--habita-surface-soft) !important;
  background-image: none !important;
}

body[data-habita-page="app"] [style*="background:#F3F1EC" i] {
  background-color: var(--habita-ivory) !important;
}

body[data-habita-page="app"] [style*="background:#E9E6DF" i],
body[data-habita-page="app"] [style*="background:#EDEAE2" i] {
  background-color: var(--habita-stone) !important;
}

body[data-habita-page="app"] [style*="background:linear-gradient" i][style*="#2E6DA4" i],
body[data-habita-page="app"] [style*="background:linear-gradient" i][style*="#5E9BC9" i],
body[data-habita-page="app"] [style*="background:linear-gradient" i][style*="#6E1F2A" i],
body[data-habita-page="app"] [style*="background:linear-gradient" i][style*="#8A2E3A" i] {
  background: var(--habita-sage) !important;
  background-image: none !important;
}

body[data-habita-page="app"] [style*="background:rgba(46,109,164" i],
body[data-habita-page="app"] [style*="background:rgba(94,155,201" i] {
  background: rgba(220, 227, 214, .72) !important;
  background-image: none !important;
}

body[data-habita-page="app"] [style*="background:rgba(110,31,42" i],
body[data-habita-page="app"] [style*="background:rgba(138,46,58" i] {
  background: var(--habita-danger-surface) !important;
  background-image: none !important;
}

body[data-habita-page="app"] [style*="background:#6E1F2A" i],
body[data-habita-page="app"] [style*="background:#8A2E3A" i] {
  background: var(--habita-danger) !important;
}

body[data-habita-page="app"] [style*="color:#F3F1EC" i],
body[data-habita-page="app"] [style*="color:#D8D9DB" i] {
  color: var(--habita-ink) !important;
}

body[data-habita-page="app"] [style*="color:#B7B1A8" i],
body[data-habita-page="app"] [style*="color:#8A8378" i],
body[data-habita-page="app"] [style*="color:#5C574F" i],
body[data-habita-page="app"] [style*="color:#C7C2BA" i] {
  color: var(--habita-muted) !important;
}

body[data-habita-page="app"] [style*="color:#2E6DA4" i],
body[data-habita-page="app"] [style*="color:#5E9BC9" i],
body[data-habita-page="app"] [style*="color:#8CC0E8" i],
body[data-habita-page="app"] [style*="color:#A9D1ED" i],
body[data-habita-page="app"] [style*="color:#214F76" i],
body[data-habita-page="app"] [style*="color:#174B75" i],
body[data-habita-page="app"] [style*="color:#BFD7EA" i] {
  color: var(--habita-sage) !important;
}

body[data-habita-page="app"] [style*="color:#6E1F2A" i],
body[data-habita-page="app"] [style*="color:#8A2E3A" i],
body[data-habita-page="app"] [style*="color:#F0C7CD" i],
body[data-habita-page="app"] [style*="color:#E6A2AD" i],
body[data-habita-page="app"] [style*="color:#D6AEB4" i] {
  color: var(--habita-danger) !important;
}

body[data-habita-page="app"] [style*="border"][style*="rgba(46,109,164" i],
body[data-habita-page="app"] [style*="border"][style*="rgba(94,155,201" i],
body[data-habita-page="app"] [style*="border"][style*="rgba(216,217,219" i] {
  border-color: rgba(109, 127, 107, .22) !important;
}

body[data-habita-page="app"] :where(button, a)[style*="background:#2E6DA4" i],
body[data-habita-page="app"] :where(button, a)[style*="background:#5E9BC9" i],
body[data-habita-page="app"] :where(button, a)[style*="background:linear-gradient" i][style*="#2E6DA4" i],
body[data-habita-page="app"] :where(button, a)[style*="background:linear-gradient" i][style*="#5E9BC9" i],
body[data-habita-page="app"] :where(button, a)[style*="background:linear-gradient" i][style*="#6E1F2A" i],
body[data-habita-page="app"] :where(button, a)[style*="background:linear-gradient" i][style*="#8A2E3A" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
  box-shadow: 0 8px 20px rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="app"] :where(a, button)[style*="color:#2E6DA4" i][style*="background:none" i] {
  color: var(--habita-sage) !important;
}

body[data-habita-page="app"] [role="alert"] {
  color: var(--habita-danger) !important;
  background-color: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .30) !important;
}

body[data-habita-page="app"] input[type="checkbox"],
body[data-habita-page="app"] input[type="radio"] {
  accent-color: var(--habita-sage) !important;
}

body[data-habita-page="app"] svg [stroke="#2E6DA4" i],
body[data-habita-page="app"] svg [stroke="#5E9BC9" i],
body[data-habita-page="app"] svg [stroke="#8CC0E8" i] {
  stroke: var(--habita-sage) !important;
}

body[data-habita-page="app"] svg [fill="#2E6DA4" i],
body[data-habita-page="app"] svg [fill="#5E9BC9" i] {
  fill: var(--habita-sage) !important;
}

/* HabiBot: mismo símbolo bronze y superficies claras. */
html[data-habita-theme="brand-manual-2"] .habibot-chat-avatar {
  background: rgba(255, 255, 255, .88) url('./assets/habita-a-bronze-transparent-v2.png') center / 72% auto no-repeat !important;
  border: 1px solid rgba(109, 127, 107, .20) !important;
  box-shadow: 0 5px 13px rgba(47, 47, 47, .10) !important;
}

body[data-habita-page="app"] #habibot-chat-messages [style*="background:var(--habita-black)" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
}

body[data-habita-page="app"] #habibot-chat-messages [style*="background:#fff" i] {
  color: var(--habita-ink) !important;
  background: rgba(255, 255, 255, .88) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="app"] .habita-chat-ready {
  color: var(--habita-ink) !important;
  background: rgba(220, 227, 214, .82) !important;
  border-color: rgba(109, 127, 107, .28) !important;
}

/* Matching. */
body[data-habita-page="app"] .habita-transition-card,
body[data-habita-page="app"] .habita-matching-card {
  color: var(--habita-ink) !important;
  background: var(--habita-surface-raised) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="app"] .habita-matching-stage::before,
body[data-habita-page="app"] .habita-matching-stage::after {
  background: var(--habita-sand) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="app"] .habita-matching-floating-actions {
  background: rgba(247, 246, 242, .88) !important;
  border-color: rgba(109, 127, 107, .22) !important;
  box-shadow: 0 16px 45px rgba(47, 47, 47, .16) !important;
}

body[data-habita-page="app"] .habita-matching-choice.reject {
  color: var(--habita-danger) !important;
  background: rgba(255, 255, 255, .90) !important;
  border-color: rgba(118, 82, 82, .38) !important;
}

body[data-habita-page="app"] .habita-matching-choice.approve {
  color: var(--habita-sage) !important;
  background: rgba(255, 255, 255, .90) !important;
  border-color: rgba(109, 127, 107, .38) !important;
}

body[data-habita-page="app"] .habita-swipe-stamp.like {
  color: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
}

body[data-habita-page="app"] .habita-swipe-stamp.nope {
  color: var(--habita-danger) !important;
  border-color: var(--habita-danger) !important;
}

/* Administración y listados. */
body[data-habita-page="app"] :where(.admin-panel-card, .admin-metric) {
  color: var(--habita-ink) !important;
  background: var(--habita-surface-soft) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="app"] .admin-tabs {
  background: rgba(238, 232, 223, .96) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="app"] .admin-tabs button[style*="background:#202020" i] {
  color: var(--habita-muted) !important;
  background: rgba(255, 255, 255, .62) !important;
  border: 1px solid rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="app"] .admin-tabs button[style*="background:#2E6DA4" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
}

body[data-habita-page="app"] :where(.admin-list-row, .admin-trend-chart) {
  border-color: rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="app"] .admin-trend-users {
  background: linear-gradient(180deg, #9EAF99, var(--habita-sage)) !important;
}

body[data-habita-page="app"] .admin-trend-properties {
  background: linear-gradient(180deg, #D5BE96, var(--habita-gold)) !important;
}

body[data-habita-page="app"] .admin-action {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .72) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

body[data-habita-page="app"] .admin-action.primary {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
}

body[data-habita-page="app"] .admin-action.danger {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .32) !important;
}

/* Mantener la portada fotográfica exactamente dentro del lenguaje aprobado. */
body[data-habita-page="app"] [data-habita-home="true"] .habita-home-hero :where(h1, p),
body[data-habita-page="app"] [data-habita-home="true"] .habita-source-context,
body[data-habita-page="app"] [data-habita-home="true"] .habita-source-list span {
  color: #fff !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-metasearch-copy h1 span {
  color: var(--habita-sage-soft) !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-main-header {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 680px) {
  body[data-habita-page="app"] [data-habita-home="true"] .habita-main-header {
    background: rgba(247, 246, 242, .96) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }
}

@media (pointer: coarse) {
  html[data-habita-theme="brand-manual-2"] :where(.btn, .submit, .cta, .admin-action, .habita-search-submit, a.habita-back, label.menu-btn, label.habita-menu-button, summary) {
    min-height: 44px;
  }
}

/* App móvil: su plantilla histórica es casi enteramente inline.  Esta capa
   semántica conserva la fotografía del hero y migra controles, tarjetas,
   navegación, detalle y autenticación al sistema claro. */
body[data-habita-page="mobile-app"],
body[data-habita-page="mobile-app"] x-dc > div,
body[data-habita-page="mobile-app"] .habita-scroll {
  color: var(--habita-ink) !important;
  background-color: var(--habita-ivory) !important;
  background-image: none !important;
}

body[data-habita-page="mobile-app"] x-dc > div > div:first-of-type {
  color: var(--habita-ink) !important;
  background: rgba(247, 246, 242, .96) !important;
  border-color: rgba(109, 127, 107, .18) !important;
  box-shadow: 0 9px 30px rgba(47, 47, 47, .07) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body[data-habita-page="mobile-app"] x-dc > div > div:first-of-type img {
  width: 32px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}

body[data-habita-page="mobile-app"] x-dc > div > div:first-of-type [style*="linear-gradient(135deg,#707070" i] {
  color: var(--habita-gold) !important;
  background: none !important;
  -webkit-text-fill-color: var(--habita-gold) !important;
  animation: none !important;
}

body[data-habita-page="mobile-app"] :not(button):not(a)[style*="background:var(--habita-black)" i] {
  color: var(--habita-ink) !important;
  background: var(--habita-stone) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="mobile-app"] :where(button, a)[style*="background:var(--habita-black)" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
}

body[data-habita-page="mobile-app"] [style*="background:var(--habita-black)" i] [style*="color:#fff" i] {
  color: var(--habita-ink) !important;
}

body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#0B0B0B" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#101010" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#111" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#121212" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#151515" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#171717" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#181818" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#1D1D1D" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#202020" i],
body[data-habita-page="mobile-app"] :where(div, section, article, aside, nav)[style*="background:#252525" i] {
  color: var(--habita-ink) !important;
  background: var(--habita-stone) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#0B0B0B" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#111" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#151515" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#171717" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#202020" i] {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .74) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

body[data-habita-page="mobile-app"] [style*="background:linear-gradient" i][style*="#2E6DA4" i],
body[data-habita-page="mobile-app"] [style*="background:linear-gradient" i][style*="#5E9BC9" i],
body[data-habita-page="mobile-app"] [style*="background:linear-gradient" i][style*="#6E1F2A" i],
body[data-habita-page="mobile-app"] [style*="background:linear-gradient" i][style*="#8A2E3A" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#2E6DA4" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#5E9BC9" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#6E1F2A" i],
body[data-habita-page="mobile-app"] :where(button, a)[style*="background:#8A2E3A" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
  box-shadow: 0 9px 22px rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="mobile-app"] [style*="background:rgba(46,109,164" i],
body[data-habita-page="mobile-app"] [style*="background:rgba(94,155,201" i] {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .76) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

body[data-habita-page="mobile-app"] [style*="background:rgba(110,31,42" i],
body[data-habita-page="mobile-app"] [style*="background:rgba(138,46,58" i] {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .30) !important;
}

body[data-habita-page="mobile-app"] [style*="color:#D8D9DB" i],
body[data-habita-page="mobile-app"] [style*="color:#B7B1A8" i],
body[data-habita-page="mobile-app"] [style*="color:#8A8378" i],
body[data-habita-page="mobile-app"] [style*="color:#5C574F" i],
body[data-habita-page="mobile-app"] [style*="color:#777" i],
body[data-habita-page="mobile-app"] [style*="color:#858585" i] {
  color: var(--habita-muted) !important;
}

body[data-habita-page="mobile-app"] [style*="color:#2E6DA4" i],
body[data-habita-page="mobile-app"] [style*="color:#5E9BC9" i],
body[data-habita-page="mobile-app"] [style*="color:#8CC0E8" i],
body[data-habita-page="mobile-app"] [style*="color:#A9D1ED" i],
body[data-habita-page="mobile-app"] a {
  color: var(--habita-sage) !important;
}

body[data-habita-page="mobile-app"] [style*="color:#6E1F2A" i],
body[data-habita-page="mobile-app"] [style*="color:#8A2E3A" i],
body[data-habita-page="mobile-app"] [style*="color:#F0C7CD" i],
body[data-habita-page="mobile-app"] [style*="color:#E6A2AD" i] {
  color: var(--habita-danger) !important;
}

body[data-habita-page="mobile-app"] [style*="border"][style*="rgba(216,217,219" i],
body[data-habita-page="mobile-app"] [style*="border"][style*="rgba(46,109,164" i],
body[data-habita-page="mobile-app"] [style*="border"][style*="rgba(94,155,201" i] {
  border-color: rgba(109, 127, 107, .24) !important;
}

body[data-habita-page="mobile-app"] svg [stroke="#2E6DA4" i],
body[data-habita-page="mobile-app"] svg [stroke="#5E9BC9" i],
body[data-habita-page="mobile-app"] svg [stroke="#8CC0E8" i] {
  stroke: var(--habita-sage) !important;
}

body[data-habita-page="mobile-app"] svg [fill="#2E6DA4" i],
body[data-habita-page="mobile-app"] svg [fill="#5E9BC9" i] {
  fill: var(--habita-sage) !important;
}

/* Estados heredados generados en runtime: traducidos por significado, no por
   sustitución textual. Esto cubre métricas, badges, matching y moderación. */
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#65C996" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#A9E7C7" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#8AF0B5" i] {
  color: var(--habita-success-ink) !important;
}

body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="background:rgba(46,158,107" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="background:rgba(101,201,150" i] {
  background: var(--habita-success-surface) !important;
  border-color: rgba(63, 188, 126, .28) !important;
}

body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#E8C56A" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#D7BB75" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#A8751C" i] {
  color: var(--habita-gold) !important;
}

body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="background:rgba(214,168,60" i] {
  color: var(--habita-gold) !important;
  background: rgba(230, 220, 203, .76) !important;
  border-color: rgba(123, 113, 103, .28) !important;
}

body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#B9A7E8" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="background:rgba(132,105,194" i] {
  color: var(--habita-sage) !important;
  background-color: rgba(220, 227, 214, .72) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#FF9EAA" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#FF8F9E" i],
body:is([data-habita-page="app"], [data-habita-page="mobile-app"]) [style*="color:#E6B6BE" i] {
  color: var(--habita-danger) !important;
}

body[data-habita-page="app"] [style*="#65C996" i] { --metric-color: var(--habita-success-ink) !important; }
body[data-habita-page="app"] [style*="#E8C56A" i],
body[data-habita-page="app"] [style*="#D7BB75" i] { --metric-color: var(--habita-gold) !important; }
body[data-habita-page="app"] [style*="#B9A7E8" i] { --metric-color: var(--habita-sage) !important; }

/* Inmobiliarias y superficies operativas. */
body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) {
  color: var(--habita-ink) !important;
  background: var(--habita-ivory) !important;
}

body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(main, .main, .wrap, .app) {
  color: var(--habita-ink) !important;
  background-color: transparent !important;
}

body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.top, .head, .wrap > .nav) {
  padding: 16px 18px !important;
  border: 1px solid rgba(109, 127, 107, .18) !important;
  border-radius: var(--habita-radius-lg) !important;
}

body[data-habita-page="panel-inmobiliaria"] .app {
  background: var(--habita-ivory) !important;
}

body[data-habita-page="panel-inmobiliaria"] .side {
  color: var(--habita-ink) !important;
  background: rgba(238, 232, 223, .94) !important;
  border-color: rgba(109, 127, 107, .20) !important;
  box-shadow: 10px 0 30px rgba(47, 47, 47, .05) !important;
}

body[data-habita-page="panel-inmobiliaria"] .side .nav button {
  color: var(--habita-muted) !important;
  background: transparent !important;
}

body[data-habita-page="panel-inmobiliaria"] .side .nav button:hover,
body[data-habita-page="panel-inmobiliaria"] .side .nav button:focus-visible {
  color: var(--habita-ink) !important;
  background: rgba(220, 227, 214, .72) !important;
}

body[data-habita-page="panel-inmobiliaria"] .side .nav button.active {
  color: #fff !important;
  background: var(--habita-sage) !important;
  box-shadow: 0 8px 20px rgba(109, 127, 107, .18) !important;
}

body[data-habita-page="panel-inmobiliaria"] .side .nav button.active span {
  color: #fff !important;
}

body:is(
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.table, .drop, .detailbox, .meta > div) {
  color: var(--habita-ink) !important;
  background: rgba(255, 255, 255, .62) !important;
  border-color: rgba(109, 127, 107, .20) !important;
  box-shadow: none !important;
}

body:is(
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.row, .property, .source, .step) {
  border-color: rgba(109, 127, 107, .18) !important;
}

body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.lead, .sub, .small, .label, .metriclabel, .meta, .mail, .note, .empty, .th, .source small, .step p) {
  color: var(--habita-muted) !important;
}

body:is(
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"]
) :where(.ghost, .more, .close) {
  color: var(--habita-sage) !important;
  background: rgba(255, 255, 255, .70) !important;
  border: 1px solid rgba(109, 127, 107, .24) !important;
}

body[data-habita-page="admin-inmobiliarias"] .drawer {
  background: rgba(47, 47, 47, .42) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

body[data-habita-page="admin-inmobiliarias"] .sheet {
  color: var(--habita-ink) !important;
  background: var(--habita-ivory) !important;
  border-color: rgba(109, 127, 107, .20) !important;
}

body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.notice.ok, .connect.on) {
  color: var(--habita-success-ink) !important;
  background: var(--habita-success-surface) !important;
  border-color: rgba(63, 188, 126, .28) !important;
}

body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.notice.pending, .pill.pending, .dot.pending) {
  color: var(--habita-gold) !important;
  background-color: rgba(230, 220, 203, .76) !important;
  border-color: rgba(123, 113, 103, .32) !important;
}

body:is(
  [data-habita-page="inmobiliarias"],
  [data-habita-page="panel-inmobiliaria"],
  [data-habita-page="admin-inmobiliarias"],
  [data-habita-page="admin-property-sources"]
) :where(.notice.bad, .notice.err, .gate.err, .pill.suspended, .pill.rejected) {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .32) !important;
}

body[data-habita-page="admin-property-sources"] .dot:not(.pending) {
  background: var(--habita-online) !important;
}

body[data-habita-page="admin-property-sources"] .btn.disabled {
  color: var(--habita-muted) !important;
  background: rgba(238, 232, 223, .86) !important;
  border: 1px solid rgba(109, 127, 107, .18) !important;
}

/* La página Cómo funciona conserva componentes ilustrativos propios; todos
   usan ahora el mismo bronze, sage y champagne del sistema general. */
body[data-habita-page="como-funciona"] x-dc > div > div:first-of-type [style*="linear-gradient(135deg,#707070" i] {
  color: var(--habita-gold) !important;
  background: none !important;
  -webkit-text-fill-color: var(--habita-gold) !important;
  animation: none !important;
}

body[data-habita-page="como-funciona"] x-dc > div > div:first-of-type img {
  width: 40px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}

body[data-habita-page="como-funciona"] x-dc > div > div:first-of-type button[style*="width:32px" i] svg *,
body[data-habita-page="como-funciona"] x-dc > div > div:first-of-type button[style*="width:34px" i] svg * {
  stroke: var(--habita-ink) !important;
}

body[data-habita-page="como-funciona"] :where(button, a)[style*="background:linear-gradient" i][style*="#2E6DA4" i],
body[data-habita-page="como-funciona"] :where(button, a)[style*="background:linear-gradient" i][style*="#5E9BC9" i],
body[data-habita-page="como-funciona"] :where(button, a)[style*="background:linear-gradient" i][style*="#6E1F2A" i],
body[data-habita-page="como-funciona"] :where(button, a)[style*="background:linear-gradient" i][style*="#8A2E3A" i] {
  color: #fff !important;
  background: var(--habita-sage) !important;
  border-color: var(--habita-sage) !important;
  box-shadow: 0 9px 22px rgba(109, 127, 107, .20) !important;
}

body[data-habita-page="como-funciona"] :where(.mini-avatar, .match-photo) {
  color: var(--habita-ink) !important;
  background: linear-gradient(135deg, var(--habita-champagne), var(--habita-sage-soft)) !important;
  border-color: rgba(109, 127, 107, .24) !important;
}

body[data-habita-page="como-funciona"] .how-intro h2 span {
  color: var(--habita-sage) !important;
}

/* Módulo de tráfico anónimo del dashboard. */
html[data-habita-theme="brand-manual-2"] #habita-anon-traffic-card {
  color: var(--habita-ink) !important;
  background: var(--habita-stone) !important;
  border-color: rgba(109, 127, 107, .20) !important;
  box-shadow: var(--habita-shadow-soft) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-anon-kpi, .habita-conn) {
  color: var(--habita-ink) !important;
  background: rgba(255, 255, 255, .64) !important;
  border-color: rgba(109, 127, 107, .18) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-anon-sub, .habita-anon-kpi span, .habita-anon-row, .habita-anon-row.header, .habita-conn-meta, .habita-anon-empty) {
  color: var(--habita-muted) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-anon-kpi b, .habita-conn-count, .habita-conn-ip) {
  color: var(--habita-sage) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-anon-row strong, .habita-conn-time, .habita-conn-title) {
  color: var(--habita-ink) !important;
}

html[data-habita-theme="brand-manual-2"] .habita-anon-refresh {
  color: var(--habita-sage) !important;
  background: rgba(220, 227, 214, .76) !important;
  border-color: rgba(109, 127, 107, .26) !important;
}

html[data-habita-theme="brand-manual-2"] .habita-anon-error {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .32) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-anon-table, .habita-anon-row) {
  border-color: rgba(109, 127, 107, .16) !important;
}

/* Loader y recuperación ante errores: también forman parte del producto. */
html[data-habita-theme="brand-manual-2"] #habita-boot-status {
  color: var(--habita-ink) !important;
  background: var(--habita-ivory) !important;
  font-family: "Inter", sans-serif !important;
}

html[data-habita-theme="brand-manual-2"] #habita-boot-status > div[style*="border-top-color"] {
  border-color: rgba(109, 127, 107, .18) !important;
  border-top-color: var(--habita-sage) !important;
}

html[data-habita-theme="brand-manual-2"] #habita-boot-status > div[style*="color:rgba"] {
  color: var(--habita-muted) !important;
}

html[data-habita-theme="brand-manual-2"] #habita-boot-retry {
  color: #fff !important;
  background: var(--habita-sage) !important;
}

/* Reafirmar estados después de los estilos genéricos de pill/badge/status. */
html[data-habita-theme="brand-manual-2"] :where(.status.success, [data-status="success"], .success[role="status"]) {
  color: var(--habita-success-ink) !important;
  background: var(--habita-success-surface) !important;
  border-color: rgba(63, 188, 126, .28) !important;
}

html[data-habita-theme="brand-manual-2"] :where(.status.error, [data-status="error"], .error[role="alert"]) {
  color: var(--habita-danger) !important;
  background: var(--habita-danger-surface) !important;
  border-color: rgba(118, 82, 82, .30) !important;
}

body[data-habita-page="inmobiliarias"] label {
  color: var(--habita-muted) !important;
}

@media (max-width: 800px) {
  body[data-habita-page="como-funciona"] x-dc > div > div:first-of-type img {
    width: 32px !important;
    height: 30px !important;
  }

  body[data-habita-page="panel-inmobiliaria"] .side {
    box-shadow: 0 8px 24px rgba(47, 47, 47, .05) !important;
  }

  body:is(
    [data-habita-page="inmobiliarias"],
    [data-habita-page="panel-inmobiliaria"],
    [data-habita-page="admin-inmobiliarias"],
    [data-habita-page="admin-property-sources"]
  ) :where(.top, .head, .wrap > .nav) {
    padding: 14px !important;
  }
}

/* Habità navigation layer contract — 2026-08-25.
 *
 * Los fondos del hero móvil usan elementos posicionados y el encabezado usa
 * backdrop-filter. En WebKit/iOS esa combinación puede crear un contexto de
 * apilamiento propio y dejar el menú visible por detrás del contenido. El
 * encabezado, el fondo de cierre y el panel reciben aquí capas explícitas
 * para que nunca queden atrapados dentro del hero o del área desplazable.
 */
html[data-habita-theme="brand-manual-2"] body[data-habita-page="app"]
.habita-main-header:has(.habita-nav-menu) {
  z-index: 2200 !important;
  overflow: visible !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-habita-theme="brand-manual-2"] body[data-habita-page="app"]
.habita-header-actions:has(.habita-nav-menu) {
  position: relative !important;
  z-index: 2200 !important;
  overflow: visible !important;
}

html[data-habita-theme="brand-manual-2"] body[data-habita-page="app"]
.habita-main-header [style*="position:fixed"][style*="z-index:95"] {
  z-index: 2201 !important;
}

html[data-habita-theme="brand-manual-2"] body[data-habita-page="app"]
.habita-main-header .habita-nav-menu {
  z-index: 2202 !important;
  pointer-events: auto !important;
}

/* Los menús con checkbox permanecen en el flujo; elevar únicamente el
   encabezado que tiene el control marcado preserva la jerarquía de modales. */
html[data-habita-theme="brand-manual-2"] :where(
  .habita-page-header:has(.habita-menu-toggle:checked),
  body[data-habita-page="contacto"] > header:has(.toggle:checked)
) {
  z-index: 2200 !important;
  overflow: visible !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-habita-theme="brand-manual-2"] :where(
  .habita-menu-wrap:has(.habita-menu-toggle:checked),
  .menu-wrap:has(.toggle:checked)
) {
  z-index: 2200 !important;
  overflow: visible !important;
}

html[data-habita-theme="brand-manual-2"] :where(.habita-menu-backdrop, .backdrop) {
  z-index: 2201 !important;
}

html[data-habita-theme="brand-manual-2"] :where(
  .habita-menu-wrap .habita-nav-menu,
  .menu-wrap .habita-nav-menu
) {
  z-index: 2202 !important;
}

/* La página explicativa usa un encabezado anónimo; darle una capa propia
   evita que su menú absoluto quede bajo el contenido desplazable. */
html[data-habita-theme="brand-manual-2"] body[data-habita-page="como-funciona"]
x-dc > div > div:first-of-type {
  position: relative !important;
  z-index: 1200 !important;
  overflow: visible !important;
}

html[data-habita-theme="brand-manual-2"] body[data-habita-page="como-funciona"]
x-dc > div > div:first-of-type:has(.habita-nav-menu) {
  z-index: 2200 !important;
}

html[data-habita-theme="brand-manual-2"] body[data-habita-page="como-funciona"]
x-dc > div > div:first-of-type [style*="position:fixed"][style*="z-index:95"] {
  z-index: 2201 !important;
}

html[data-habita-theme="brand-manual-2"] body[data-habita-page="como-funciona"]
x-dc > div > div:first-of-type .habita-nav-menu {
  z-index: 2202 !important;
}

/* Habità hero title lines — preview step 1, 2026-08-25. */
body[data-habita-page="app"] [data-habita-home="true"] .habita-metasearch-copy {
  width: min(640px, calc(100vw - 120px)) !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-metasearch-copy h1 {
  max-width: 640px !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-hero-title-line {
  display: block !important;
  white-space: nowrap !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-metasearch-copy h1 > .habita-hero-title-line {
  color: #fff !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-metasearch-copy h1 .habita-hero-title-accent {
  color: var(--habita-sage-soft, #DCE3D6) !important;
}

@media (min-width: 681px) and (max-width: 900px) {
  body[data-habita-page="app"] [data-habita-home="true"] .habita-metasearch-copy h1 {
    font-size: 42px !important;
  }
}

@media (max-width: 680px) {
  body[data-habita-page="app"] [data-habita-home="true"] .habita-metasearch-copy {
    width: calc(100vw - 40px) !important;
    max-width: 390px !important;
    margin-left: 20px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-metasearch-copy h1 {
    max-width: none !important;
    font-size: clamp(22px, 7vw, 28px) !important;
  }
}

/* Habità full home catalog — internal vertical menu, preview step 3, 2026-08-25. */
body[data-habita-page="app"] [data-habita-home="true"] .habita-home-catalog-menu {
  position: relative !important;
  width: 514px !important;
  max-width: calc(100vw - 80px) !important;
  min-width: 0 !important;
  margin-top: 42px !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"] {
  width: 100% !important;
  height: 269px !important;
  max-height: 269px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 16px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scroll-snap-type: y proximity !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(220,227,214,.78) rgba(247,246,242,.16) !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"]::-webkit-scrollbar {
  width: 5px !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"]::-webkit-scrollbar-track {
  background: rgba(247,246,242,.16) !important;
  border-radius: 999px !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"]::-webkit-scrollbar-thumb {
  background: rgba(220,227,214,.78) !important;
  border-radius: 999px !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"] > .habita-feature-card {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 269px !important;
  scroll-snap-align: start !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"] > .habita-feature-card:nth-child(n+3) {
  display: block !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"]
> .habita-feature-card:nth-child(n+3) .habita-feature-photo {
  background-image: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-featured-strip[data-habita-catalog-scroll="true"]
> .habita-feature-card:nth-child(n+3) .habita-feature-photo::before {
  content: none !important;
  display: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-catalog-scroll-fade {
  position: absolute !important;
  z-index: 8 !important;
  left: 0 !important;
  right: 5px !important;
  bottom: 0 !important;
  height: 58px !important;
  border-radius: 0 0 17px 17px !important;
  background: linear-gradient(180deg, transparent, rgba(35,37,34,.72)) !important;
  pointer-events: none !important;
  opacity: 1 !important;
  transition: opacity .2s ease !important;
}

body[data-habita-page="app"] [data-habita-home="true"] .habita-catalog-scroll-feedback {
  position: absolute !important;
  z-index: 9 !important;
  left: 50% !important;
  bottom: 9px !important;
  transform: translateX(-50%) !important;
  min-height: 27px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 999px !important;
  background: rgba(47,55,46,.86) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(18,20,18,.18) !important;
  backdrop-filter: blur(10px) !important;
  font: 700 10px/1 "Inter", sans-serif !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-home-catalog-menu.habita-catalog-at-end .habita-catalog-scroll-fade {
  opacity: 0 !important;
}

body[data-habita-page="app"] [data-habita-home="true"]
.habita-home-catalog-menu.habita-catalog-no-scroll .habita-catalog-scroll-fade,
body[data-habita-page="app"] [data-habita-home="true"]
.habita-home-catalog-menu.habita-catalog-no-scroll .habita-catalog-scroll-feedback {
  display: none !important;
}

@media (max-width: 680px) {
  body[data-habita-page="app"] [data-habita-home="true"] .habita-home-catalog-menu {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 64px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip[data-habita-catalog-scroll="true"] {
    height: calc(min(144vw, 560px) + 14px) !important;
    max-height: calc(min(144vw, 560px) + 14px) !important;
    margin: 0 !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 14px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip[data-habita-catalog-scroll="true"] > .habita-feature-card {
    width: min(72vw, 280px) !important;
    max-width: 280px !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }
}


/* Mobile home polish — HabiBot, two-card carousel and login icon, 2026-09-05. */
[data-habita-home="true"] .habita-login-person-icon {
  width: 19px !important;
  height: 19px !important;
  display: block !important;
  color: currentColor !important;
  pointer-events: none !important;
}

@media (max-width: 680px) {
  body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-strip-wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 34px 0 0 !important;
    overflow: visible !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-strip,
  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip[data-habita-catalog-carousel="true"] {
    --habita-catalog-gap: 10px;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 34px 0 0 !important;
    padding: 0 16px 8px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    justify-items: initial !important;
    gap: var(--habita-catalog-gap) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 16px !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    box-sizing: border-box !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip-wrap > .habita-featured-strip {
    margin-top: 0 !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-featured-strip > .habita-feature-card,
  body[data-habita-page="app"] [data-habita-home="true"]
  .habita-featured-strip[data-habita-catalog-carousel="true"] > .habita-feature-card {
    display: block !important;
    flex: 0 0 clamp(138px, 41vw, 176px) !important;
    width: clamp(138px, 41vw, 176px) !important;
    max-width: 176px !important;
    min-width: 138px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    scroll-snap-align: start !important;
    border-radius: 16px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-feature-photo {
    height: 62% !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-feature-photo + div {
    height: 38% !important;
    padding: 8px 32px 8px 10px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-feature-photo + div > div:first-child {
    font-size: 11px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-feature-photo + div > div:nth-child(2) {
    margin-top: 4px !important;
    font-size: 9.5px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-feature-photo + div > div:nth-child(3) {
    margin-top: 4px !important;
    font-size: 12.5px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-feature-card::after {
    right: 8px !important;
    bottom: 8px !important;
    width: 27px !important;
    height: 27px !important;
    font-size: 17px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-orb-chat {
    left: 16px !important;
    right: auto !important;
    bottom: 94px !important;
    width: auto !important;
    max-width: calc(100vw - 32px) !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-orb-button,
  body[data-habita-page="app"] [data-habita-home="true"] .habibot-orb {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-stage-bot-bubble {
    width: 164px !important;
    min-width: 164px !important;
    min-height: 50px !important;
    padding: 8px 11px !important;
    border-radius: 14px 14px 14px 4px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  body[data-habita-page="app"] [data-habita-home="true"] .habita-stage-bot-bubble strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
}
