/* Public site surfaces: keep the brand in accents, give rental content a calm ground.
   Scoped to marketing chrome and named sections; app themes and demos retain their palettes. */
nav#site-nav,
nav#site-nav.nav-over-dark,
nav#site-nav.nav-over-light,
nav#site-nav.nav-flush {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
#site-nav :is(.mega-sheet, .sl-dropdown-grad, .sl-mobile-menu) {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
#site-nav :is(.nav-top, .pmega-title, .mega-ghost, .pq-link, .sl-v2-row,
 .sl-v2-sub, .sl-v2-quick-pill, .sl-v2-t, #mobile-menu-btn),
#site-nav .mega-sheet a:hover .pmega-title {
  color: var(--text) !important;
}
#site-nav :is(.pmega-sub, .pq-label, .sl-v2-d, .sl-v2-subsection, .sl-v2-foot) {
  color: var(--text-muted) !important;
}
#site-nav :is(.pmega-ico, .pq-chip, .pmega-pill, .mega-head, .sl-v2-row-ico, .sl-v2-chip) {
  color: var(--brand-deep-teal) !important;
  border-color: var(--border) !important;
}
#site-nav :is(.pq-strip, .pq-link, .mz-band, .mega-ghost, .sl-v2-quick-pill) {
  background: var(--surface-canvas) !important;
  border-color: var(--border) !important;
}
#site-nav .mega-sheet .mz-band :is(.text-slate-900, .text-slate-500, .text-slate-600) {
  color: var(--text-secondary);
}
#site-nav .mega-col a:hover { background: var(--surface-alt) !important; }
#site-nav :is(.sl-glow-purple, .sl-glow-teal) { opacity: .2; }
.public-footer {
  background: var(--surface-canvas);
  color: var(--text-muted);
  border-top: 1px solid var(--border);
}
.public-footer :is(h2, h3, h4, .sl-fcol-h, .text-white, .text-slate-200) {
  color: var(--text);
}
.public-footer :is(.text-slate-300, .text-slate-400, .text-slate-500, .text-emerald-400) {
  color: var(--text-muted);
}
.public-footer :is(.sl-foot-link:hover, a:hover) { color: var(--brand-deep-teal); }
.public-footer :is(.rf-cta, .rf-btn-ghost, .rf-index-toggle, .bg-slate-900,
 [class~="bg-slate-900/40"], .fdl-badge) {
  background: var(--surface);
  color: var(--text);
  border-color: var(--border);
}
.public-footer [class*="border-slate-"] { border-color: var(--border); }
.public-footer > .pointer-events-none { opacity: .2; }
/* Demo booking uses the same light canvas as contact and the walkthrough. */
.dmr-hero { background: var(--surface-canvas); color: var(--text); }
.dmr-hero::before, .dmr-hero::after { opacity: .18; }
.dmr-hero :is(.dmr-pill, .dmr-chip, .dmr-lede) {
  color: var(--text-secondary); border-color: var(--border-strong);
}
.dmr-hero .dmr-chip { background: var(--surface); }
.dmr-hero .dmr-chip i { color: var(--brand-deep-teal); }
.dmr-hero .dmr-h1 .g { background: none; color: var(--brand-deep-teal); }
/* Explicit opt-in for older resource and guide bands, including CTA bands. */
.public-light-section {
  background: var(--surface-canvas);
  color: var(--text);
  border-color: var(--border);
}
.public-light-section :is(h1, h2, h3) { color: var(--text); }
.public-light-section :is(p, li, .text-slate-300, .text-slate-400) {
  color: var(--text-muted);
}
.public-light-section :is(.text-white, .text-blue-400, .text-emerald-400):not(a, button, a *, button *) {
  color: var(--text);
}
.public-light-section a:not([class*="bg-"]) { color: var(--brand-deep-teal); }
nav#site-nav .nav-shell {
  background: var(--surface) !important;
  border-color: var(--border);
  box-shadow: none;
}
.public-footer .sl-foot-more { border-color: var(--border); }
.public-footer .sl-foot-more > summary {
  background: var(--surface); color: var(--text); border-color: var(--border);
}
.public-footer .sl-foot-more > summary:hover { color: var(--brand-deep-teal); }
