/* Los Cabos composition adapted to Reef's existing data and components. */
:root { color-scheme:dark; --lvc-accent-text:#D79A86; --lvc-accent-text-hover:#E2AA98; --lvc-font-ui:'Outfit',sans-serif; }
html body { background:#050505; color:#f4f3f1; font-family:'Outfit',sans-serif; }
html .lvc-header { background:#0a0a0a; border-bottom:1px solid #232326; }
html .lvc-header__name { font-family:'Gilda Display',Georgia,serif; font-size:1.5rem; font-weight:400; letter-spacing:0; }
html .lvc-header__tagline { display:none; }
html .lvc-header__inner { min-height:84px; gap:1.5rem; }
html .lvc-header__actions .lvc-btn--ghost { display:none; }
html .lvc-nav a { font-family:'Outfit',sans-serif; font-size:.9rem; font-weight:500; }
html :is(.lvc-btn,.rrc-home-btn,.rrc-btn--primary,.lvc-fbar__submit) { border-radius:3px; background:#A94A35; color:#fff; border-color:#A94A35; box-shadow:none; }
html :is(.lvc-btn,.rrc-home-btn,.rrc-btn--primary,.lvc-fbar__submit):hover { background:#8F3F2B; color:#fff; border-color:#8F3F2B; }
html :is(.lvc-btn--ghost,.rrc-home-btn--ghost,.rrc-home-btn--hero-ghost,.rrc-btn--outline) { background:transparent; color:#f4f3f1; border:1px solid #55514E; }
html :is(.lvc-btn--ghost,.rrc-home-btn--ghost,.rrc-home-btn--hero-ghost,.rrc-btn--outline):hover { background:#151311; color:#E2AA98; border-color:#D79A86; }
html .rrc-home-hero { min-height:min(760px,86vh); padding:clamp(6rem,8vw,8rem) 0; align-items:center; }
html .rrc-home-hero > .rrc-home-wrap { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.42fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
html .rrc-home-hero h1 { font-family:'Gilda Display',Georgia,serif; font-size:clamp(2.7rem,4.4vw,5.25rem); font-weight:400; line-height:1.08; letter-spacing:0; }
html .rrc-home-hero h1 em { display:block; color:#D79A86; }
html .rrc-home-hero__sub { color:#c2c1c0; font-weight:400; font-size:1.05rem; line-height:1.78; }
html .rrc-home-kicker { color:#D79A86; font-size:.7rem; letter-spacing:.17em; }
html .rrc-home-match { padding:1.5rem; background:#151311; border:1px solid #443B35; color:#f4f3f1; }
html .rrc-home-match h2 { font:400 1.4rem/1.2 'Gilda Display',Georgia,serif; color:#f4f3f1; margin:0 0 .7rem; }
html .rrc-home-match p { color:#c2c1c0; font:400 .95rem/1.7 'Outfit',sans-serif; }
html .rrc-home-match__facts { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin:1.1rem 0; }
html .rrc-home-match__facts div { padding:.7rem; background:#1b1917; border:1px solid #232326; }
html .rrc-home-match__facts strong { display:block; font:400 1.4rem 'Gilda Display',Georgia,serif; }
html .rrc-home-match__facts span { display:block; margin-top:.4rem; font-size:.65rem; color:#c2c1c0; letter-spacing:.1em; text-transform:uppercase; }
html .lvc-fbar { background:#0a0a0a; border:1px solid #232326; box-shadow:none; backdrop-filter:none; border-radius:0; }
html :is(input,select,textarea) { color-scheme:dark; }
html .lvc-card { border:1px solid #232326; background:#151311; border-radius:0; }
html .lvc-card__body { background:#151311; box-shadow:none; border-radius:0; }
html :is(.rrc-stats-bar,.rrc-award-band) { background:#0a0a0a; }
html :is(.rrc-home-title,.rrc-title,.lvc-sec-title) { font-family:'Gilda Display',Georgia,serif; font-weight:400; letter-spacing:0; }
html .lvc-footer { background:#0a0a0a; border-top:1px solid #232326; }
html .lvc-footer::before { opacity:0; }
html .rrc-snapshot { background:#151311; backdrop-filter:none; }
html .lvc-availability { --lvc-cal-booked:#55514E; --lvc-cal-open:#151311; --lvc-cal-hatch:rgba(244,243,241,.18); }
@media(max-width:1000px) { html .rrc-home-hero > .rrc-home-wrap { grid-template-columns:1fr; } html .rrc-home-match { max-width:640px; } html .rrc-home-hero { min-height:auto; padding:5rem 0 4rem; } }
@media(max-width:600px) { html .lvc-header__name { font-size:1.05rem; white-space:normal; } html .rrc-home-hero h1 { font-size:2.55rem; } html .rrc-home-match { padding:1.25rem; } }
@media(prefers-reduced-motion:reduce) { html *,html *::before,html *::after { scroll-behavior:auto; } }
html .lvc-fbar__inner { background:#0a0a0a; backdrop-filter:none; -webkit-backdrop-filter:none; border-color:#232326; box-shadow:none; }
html .rrc-home-hero .rrc-home-btn:not(.rrc-home-btn--hero-ghost) { border-color:#A94A35; box-shadow:none; }
html .lvc-fbar__input { color-scheme:dark; }
html .rrc-sticky { background:#0a0a0a; color:#f4f3f1; backdrop-filter:none; }
@media(max-width:720px) {
 html .rrc-home-hero { background-color:#050505; }
 html .rrc-home-hero:before { background:linear-gradient(0deg,#050505 0%,rgba(0,0,0,.72) 24%,rgba(0,0,0,.62) 62%,rgba(0,0,0,.74) 100%),var(--home-hero-img-m,var(--home-hero-img,none)) center/cover no-repeat; }
}
/* Keep homepage photo edges covered and copy readable over bright imagery. */
html .rrc-bento__panel--photo,
html .rrc-area-tile {
  --lvc-soft: #ffffff;
  --lvc-accent: #f1c6b5;
  background-clip: padding-box;
  isolation: isolate;
}
html .rrc-bento__panel--photo::before,
html .rrc-area-tile::before {
  inset: -1px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5,5,5,.64), rgba(5,5,5,.82) 50%, rgba(5,5,5,.96)) !important;
}
html .rrc-bento__body,
html .rrc-area-tile__body {
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}
/* Inset the shared contact, guest-request and owner-request form panels. */
html .lvc-contact__form {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

/* Date search and nearby alternatives use the current Reef palette. */
.rrc-cfilter { flex-wrap: wrap; }
.rrc-cfilter input { min-width: 0; color-scheme: dark; }
.lvc-search-notice { margin: 1rem auto; max-width: 1400px; padding: 0 1rem; }
.lvc-similar { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--lvc-border); }
.lvc-similar > p { margin-bottom: 1.5rem; }
.lvc-card__availability, .lvc-card__dates { display: block; color: #f4e6d6; font-size: .85rem; line-height: 1.5; }
.lvc-card__dates { font-weight: 600; }
.lvc-similar .lvc-card { aspect-ratio: auto; }
.lvc-similar .lvc-card__img { position: relative; display: block; aspect-ratio: 4/3; }
.lvc-similar .lvc-card__body { position: relative; }
