/* Shared visual plane, independent of RealHomes data and layout ownership. */
body.velas-nocturne-space {
 --space-night: #080914;
 --space-light: #f7eee9;
 isolation: isolate;
 background: var(--space-night);
}
.velas-space {
 position: fixed;
 z-index: -1;
 inset: 0;
 overflow: hidden;
 pointer-events: none;
 contain: strict;
 background: radial-gradient(ellipse at 75% 32%,#24172b 0%,#100f21 36%,#080914 76%);
}
.velas-space canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
.velas-space__halo {
 position:absolute; inset:-20%;
 background:radial-gradient(ellipse at 76% 25%,rgba(199,113,144,.22),transparent 30%),radial-gradient(ellipse at 18% 74%,rgba(99,163,192,.17),transparent 32%);
}
.velas-space__dust {
 position:absolute; inset:0; opacity:.55;
 background-image:radial-gradient(1.3px 1.3px at 14% 21%,#ffddd2 90%,transparent),radial-gradient(1.5px 1.5px at 74% 62%,#c4eaf2 90%,transparent),radial-gradient(1px 1px at 47% 83%,#f2bbaa 90%,transparent);
 background-size:219px 283px,347px 321px,191px 419px;
}
.velas-space__arc {
 position:absolute; width:112vw; height:60vw; left:-8vw; top:10vh;
 border:1px solid rgba(246,184,167,.24); border-radius:50%; transform:rotate(-24deg);
 box-shadow:0 -16px 80px rgba(181,94,119,.11),inset 0 14px 55px rgba(117,175,202,.08);
}
.velas-space[data-profile="catalog"] .velas-space__arc { transform:rotate(24deg); left:-26vw; }
.velas-space[data-profile="property"] .velas-space__arc { transform:rotate(-38deg); top:23vh; }
.velas-space[data-profile="service"] .velas-space__arc { transform:rotate(32deg); }
.velas-space[data-profile="editorial"] .velas-space__arc { transform:rotate(-12deg); top:27vh; }
.velas-space-toggle {
 position:fixed; z-index:999; left:16px; bottom:20px;
 min-height:44px; max-width:calc(100vw - 100px); padding:10px 15px;
 border:1px solid rgba(247,238,233,.45); border-radius:24px;
 background:#171422; color:#f7eee9; font:500 12px/1.4 Inter,Arial,sans-serif;
 cursor:pointer; box-shadow:0 3px 18px #08091466;
}
.velas-space-toggle[hidden] { display:none !important; }
.velas-space-toggle:focus-visible { outline:3px solid #b4e6f5; outline-offset:4px; }
body.velas-nocturne-space .rh_wrap,
body.velas-nocturne-space .rh_section,
body.velas-nocturne-space .rh_wrap--padding,
body.velas-nocturne-space .rh_wrap--topPadding { background:transparent; }
body.velas-nocturne-space .velas-nocturne {
 background:linear-gradient(180deg,rgba(8,9,20,.12),rgba(8,9,20,.24));
}
body.velas-nocturne-space .velas-nocturne::after { opacity:.25; }
body.velas-nocturne-space .velas-nocturne__atmosphere { display:none; }
body.velas-nocturne-space :is(.velas-nocturne-service-page,.velas-nocturne-journal-page) { background:transparent; }
body.velas-nocturne-space :is(.velas-nocturne-article-page,.velas-nocturne-article.rh_blog__post) { background:transparent; }
body.velas-nocturne-space .velas-nocturne-service-hero { background:transparent; }
body.velas-nocturne-space .velas-nocturne-service-hero > img { opacity:.38; }
body.velas-nocturne-space .velas-nocturne-service-hero__shade {
 background:linear-gradient(90deg,rgba(8,9,20,.72),rgba(8,9,20,.25));
}
body.velas-nocturne-space :is(.velas-nocturne-article-hero,.velas-nocturne-journal-hero) {
 background:linear-gradient(120deg,rgba(8,9,20,.18),rgba(33,19,39,.38));
}
body.velas-nocturne-space :is(.velas-nocturne-article-layout,.velas-nocturne-service-content) {
 background:#fffdf8; padding:clamp(24px,4vw,52px);
 box-shadow:0 24px 80px rgba(0,0,0,.28);
}
body.velas-nocturne-space .rh_footer {
 background:rgba(8,9,20,.5) !important;
 border-top:1px solid rgba(243,190,176,.2);
 color:#ddd3db;
}
body.velas-nocturne-space .rh_footer :is(a,h2,h3,h4) { color:#f7eee9; }
body.velas-nocturne-space .rh_header,
body.velas-nocturne-space .rh_temp_header_large_screens {
 background:rgba(8,9,20,.74) !important;
}
/* Keep native controls and reading surfaces stable and opaque. Only their
   surroundings show the moving scene; cards/photos never move with the pointer. */
body.velas-nocturne-space.velas-nocturne-surface :is(.rh_page__head,.rh_page__property_title) { color:#f7eee9; }
body.velas-nocturne-space.velas-nocturne-surface :is(.rh_page__head,.rh_page__property_title) :is(h1,h2,.rh_page__title) { color:#f7eee9 !important; }
/* Native catalog spans set their own color; parent heading inheritance cannot
   override the light-surface rule after the shared dark scene is enabled. */
body.velas-nocturne-space.velas-nocturne-catalog .rh_page__title > .title { color:#f7eee9 !important; }
/* Native property headings now sit over the shared dark scene, not white. */
body.velas-nocturne-space.velas-nocturne-property .rh_page__property_price .price { color:#f3b9ac !important; }
body.velas-nocturne-space.velas-nocturne-property :is(.rh_page__property_price .status,.rh_page__property_title a) { color:#e2d6df !important; }
body.velas-nocturne-space.velas-nocturne-surface .rh_page__contact {
 background:#fffdf8;
 box-shadow:0 24px 80px rgba(0,0,0,.28);
}
body.velas-nocturne-space.velas-nocturne-surface :is(.rh_sidebar,.velas-nocturne-context) {
 background:#fffdf8;
}
body.velas-nocturne-space.velas-nocturne-surface .rh_sidebar { padding:24px; }
/* The native search widget sits on ivory, not on the surrounding night.
   Keep this correction scoped: dark empty-result headings stay light. */
body.velas-nocturne-space.velas-nocturne-surface .rh_sidebar .search-heading {
 color:#241824 !important;
}
body.velas-nocturne-space.velas-nocturne-surface .rh_sidebar .velas-nocturne-action {
 color:#943d38 !important;
 text-decoration:underline !important; text-underline-offset:4px;
}
/* Actual gallery/property QA showed comet trails bleeding through the form.
   Motion belongs behind the dossier; evidence and reading remain opaque. */
body.velas-nocturne-space.velas-nocturne-property .rh_property__content,
body.velas-nocturne-space.velas-nocturne-property .single-property-section .container {
 background:#fffdf8;
}
body.velas-nocturne-space.velas-nocturne-property .rh_page__property_title .rh_page__title {
 text-wrap:balance;
}
/* Long legacy titles are content, not an oversized poster. Keep their full
   wording while bringing the start of the article into the first viewport. */
body.velas-nocturne-space .velas-nocturne-article-hero h1 {
 font-size:clamp(38px,5.2vw,76px); line-height:1.06;
 text-wrap:balance; letter-spacing:-.04em;
}
body.velas-nocturne-space .velas-nocturne-article-hero .velas-nocturne-back {
 margin-bottom:clamp(32px,4vw,56px);
}
body.velas-nocturne-space .velas-nocturne-journal-index { background:transparent; }
body.velas-nocturne-space .velas-nocturne-empty { background:#fffdf8; box-shadow:0 20px 52px #05050d38; }
/* Native map controls/attribution take priority over our floating utility. */
body.velas-nocturne-space:has(#velas-nocturne-space[data-map-visible="true"]) #scroll-top {
 visibility:hidden !important; pointer-events:none !important;
}
/* A shared material treatment, not pointer-driven card tilt. Keyboard focus
   receives the same elevation as hover; touch does not retain a hover lift. */
body.velas-nocturne-space.velas-nocturne-surface :where(.rh_prop_card,.rh-ultra-grid-card,.rh_property_card_stylish) {
 box-shadow:0 3px 8px #05050d26,0 18px 42px #05050d38;
}
body.velas-nocturne-space.velas-nocturne-surface :where(.rh_prop_card,.rh-ultra-grid-card,.rh_property_card_stylish):focus-within {
 border-color:#d58e80;
 box-shadow:0 0 0 2px #d58e8055,0 24px 52px #05050d66;
}
body.velas-nocturne-space.velas-nocturne-surface .rh_sidebar .velas-nocturne-action:focus-visible {
 outline:3px solid #943d38; outline-offset:4px;
}
@media (hover:none) {
 body.velas-nocturne-space.velas-nocturne-surface :where(.rh_prop_card,.rh-ultra-grid-card,.rh_property_card_stylish):hover {
  transform:none;
 }
}
body.velas-nocturne-space .velas-nocturne-property-map__copy .velas-nocturne-kicker { color:#e8a9a0; }
body.velas-nocturne-space .velas-nocturne-related .velas-nocturne-kicker { color:#9d362f; }
/* Dark hero labels need a light accent; the inherited red belongs to ivory
   reading panels. Gradient backgrounds can prevent automated contrast checks. */
body.velas-nocturne-space :is(.velas-nocturne-article-hero,.velas-nocturne-journal-hero,.velas-nocturne-service-hero) .velas-nocturne-kicker {
 color:#f3b9ac; text-shadow:0 1px 6px #080914;
}
body.velas-nocturne-space .rh_pagination a { color:#e2d6df !important; }
body.velas-nocturne-space .rh_pagination a:is(:hover,:focus-visible) {
 background:#f3b9ac !important; color:#171422 !important;
}
body.velas-nocturne-space.velas-nocturne-catalog :is(.highlight_stats,.rh_pagination__next,.rh_pagination__last),
body.velas-nocturne-space.velas-nocturne-search :is(.highlight_stats,.rh_pagination__next,.rh_pagination__last) { color:#e2d6df !important; }
/* The one surviving direct contact remains readable and labelled on mobile. */
body.velas-nocturne-space .velas-marketplace-header-contact__whatsapp {
 display:inline-flex !important; align-items:center; gap:8px;
 min-height:44px; padding:8px 12px; color:#f7eee9 !important;
}
body.velas-nocturne-space .velas-marketplace-header-contact__whatsapp.contact-number span {
 display:inline !important; position:static; width:auto; height:auto;
 margin:0; overflow:visible; clip:auto;
}
body.velas-nocturne-space .velas-marketplace-header-contact__whatsapp svg { fill:currentColor; width:18px; height:18px; opacity:1; }
body.velas-nocturne-space .velas-marketplace-contact-detail--whatsapp .label { display:none; }
body.velas-nocturne-space .velas-marketplace-contact-detail--whatsapp svg { display:none; }
body.velas-nocturne-space .velas-marketplace-contact-detail--whatsapp a {
 display:inline-flex; align-items:center; min-height:44px;
 color:#14563e; text-decoration:underline; text-underline-offset:4px; font-weight:600;
}
@media (max-width:900px) {
 .velas-space__arc { width:210vw; height:110vw; left:-60vw; top:25vh; }
 .velas-space-toggle { bottom:54px; left:12px; padding:10px 12px; font-size:11px; }
 /* RealHomes raises its 42px floating strip above the 70px agent bar. */
 body.single-property.has-agent-sticky-bar .velas-space-toggle { bottom:calc(128px + env(safe-area-inset-bottom, 0px)); }
 body.velas-nocturne-space .rh_menu__user { background:rgba(8,9,20,.78) !important; }
}
@media (prefers-reduced-motion:reduce) {
 .velas-space-toggle { display:none; }
 body.velas-nocturne-space { scroll-behavior:auto; }
}
@media print {
 .velas-space,.velas-space-toggle { display:none !important; }
}
/* Editorial source images keep their real detail; never stretch a 300px legacy
   illustration into a full-width banner. Source URL/content are unchanged. */
body.velas-nocturne-space .velas-nocturne-article-image {
 width:fit-content; max-width:calc(100% - 48px);
}
body.velas-nocturne-space .velas-nocturne-article-image img {
 width:auto; max-width:100%; height:auto; max-height:none; aspect-ratio:auto;
 object-fit:contain;
}
/* Native form skin only. Keep RealHomes field widths, wrapping, row heights,
   collapsed/open states and popup placement under the vendor controller. */
body.velas-nocturne-space .rh_prop_search_form_header {
  --vp-search-panel: #171422;
  --vp-search-raised: #292033;
  --vp-search-muted: #cfc2ce;
  --vp-search-text: #fffdf8;
  --vp-search-accent: #f3b9ac;
  --vp-search-divider: rgba(243, 190, 176, .20);
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__fields,
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__option,
body.velas-nocturne-space .rh_prop_search_form_header .rh_form_fat_collapsed_fields_wrapper,
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__dropdown {
  background: var(--vp-search-panel) !important;
  border-color: var(--vp-search-divider);
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__option > label {
  color: var(--vp-search-muted) !important;
  font-family: Inter, Arial, sans-serif;
  font-weight: 500;
  padding-inline: 18px;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_mod_text_field > :is(input[type="text"], input[type="number"]) {
  background: transparent;
  color: var(--vp-search-text);
  padding-inline: 18px;
  /* No !important on colour/outline: inline invalid-range feedback must win. */
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_mod_text_field > input::placeholder {
  color: var(--vp-search-muted);
  opacity: 1;
}
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger > button.dropdown-toggle,
body.velas-nocturne-space .rh_prop_search_form_header .select2-selection--single {
  background: var(--vp-search-panel) !important;
  color: var(--vp-search-text) !important;
  border-color: var(--vp-search-divider);
  border-radius: 0;
  padding-inline: 18px;
}
body.velas-nocturne-space .rh_prop_search_form_header .select2-selection__rendered {
  color: var(--vp-search-text) !important;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__option:focus-within,
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_bs_is_open {
  background: var(--vp-search-raised) !important;
  box-shadow: inset 0 -2px var(--vp-search-accent);
}
/* Bootstrap-select menus remain in their existing parent; never clip them. */
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger div.dropdown-menu {
  background: var(--vp-search-raised) !important;
  color: var(--vp-search-text);
  border: 1px solid var(--vp-search-divider);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .35);
}
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger .dropdown-menu :is(a, .actions-btn),
body.velas-nocturne-space .rh_prop_search_form_header .more-options-wrapper label {
  color: var(--vp-search-text) !important;
}
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger .dropdown-menu :is(li.selected, li:hover),
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger .dropdown-menu .actions-btn:hover {
  background: #493146 !important;
}
body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger .bs-searchbox input {
  background: var(--vp-search-panel);
  color: var(--vp-search-text);
  border-color: var(--vp-search-divider);
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__buttons .rh_prop_search__advance {
  background: var(--vp-search-raised) !important;
  flex: 0 0 56px;
  width: 56px;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__advance_btn {
  color: var(--vp-search-text) !important;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__advance_btn:hover,
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__advance_btn:focus-visible {
  background: #493146 !important;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__searchBtn .rh_btn__prop_search {
  background: var(--vp-search-accent) !important;
  color: #171422 !important;
  gap: 8px;
  padding-inline: 12px;
  font-weight: 600;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__searchBtn .rh_btn__prop_search > span {
  color: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__searchBtn .rh_btn__prop_search:hover {
  background: #ffd0c5 !important;
}
body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__searchBtn .rh_btn__prop_search:disabled {
  opacity: .55;
  cursor: not-allowed;
}
body.velas-nocturne-space .rh_prop_search_form_header :is(.rh_prop_search__advance_btn, .rh_btn__prop_search) svg {
  fill: currentColor;
}
@media (max-width: 767px) {
  body.velas-nocturne-space .rh_prop_search_form_header .rh_prop_search__option > label,
  body.velas-nocturne-space .rh_prop_search_form_header .rh_mod_text_field > :is(input[type="text"], input[type="number"]),
  body.velas-nocturne-space .rh_prop_search_form_header .inspiry_select_picker_trigger > button.dropdown-toggle,
  body.velas-nocturne-space .rh_prop_search_form_header .select2-selection--single {
    padding-inline: 14px;
  }
}
/* Native empty/error contrast. Actual protected-stage DOM verified 2026-09-10.
   No query, response status, content, banner geometry or custom image changes. */
body.velas-nocturne-space.search-no-results .rh_banner.rh_banner__default,
body.velas-nocturne-space.error404 .rh_banner.rh_banner__default {
  background: transparent;
}
body.velas-nocturne-space.search-no-results .rh_page__title :is(.title, .sub),
body.velas-nocturne-space.search-no-results .rh_page__main h4.no-results,
body.velas-nocturne-space.search-no-results .rh_page__sidebar .widget > h3.title,
body.velas-nocturne-space.error404 .rh_section > .rh_page > :is(h2, h4) {
  color: #f5eee8;
}
body.velas-nocturne-space.error404 .rh_section > .rh_page > img[src$="/realhomes/common/images/404-image.png"] {
  filter: invert(1);
}
