/* Night mode — Night Drive (from pop-c) */
html[data-mode="night"],
body[data-mode="night"] {
  --bg: #0B0F14;
  --card: rgba(22, 28, 36, 0.82);
  --ink: #F2F4F7;
  --ink-2: #C5CDD8;
  --muted: #8B95A5;
  --line: rgba(255,255,255,0.08);
  --brand: #E63946;
  --brand-dark: #FF4D5A;
  --brand-soft: rgba(230,57,70,0.18);
  --ok: #2DD4A8;
  --warn: #F4A261;
  --danger: #E63946;
  --radius: 18px;
  --radius-lg: 24px;
  --shadow: 0 12px 40px rgba(0,0,0,0.45);
  --shadow-sm: 0 4px 16px rgba(0,0,0,0.35);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --neon: #E63946;
  --glass: rgba(18, 24, 32, 0.72);
  font-family: var(--font);
  background: var(--bg);
  color: var(--ink);
}
body[data-mode="night"] .map-home,
body[data-mode="night"] .phone,
body[data-mode="night"] .app-shell,
body[data-mode="night"] .screen {
  background: var(--bg) !important;
  color: var(--ink);
}
body[data-mode="night"] .map-brand-float {
  background: var(--glass) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
  border: 1px solid rgba(230,57,70,0.35) !important;
  border-radius: 14px !important;
  box-shadow: 0 0 24px rgba(230,57,70,0.18), var(--shadow-sm) !important;
  padding: 7px 12px !important;
}
/* Invert wordmark for dark: use CSS filter on black parts — better: white chip behind wordmark */
body[data-mode="night"] .map-brand-float {
  background: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(230,57,70,0.5) !important;
  box-shadow: 0 0 20px rgba(230,57,70,0.35) !important;
}
body[data-mode="night"] .map-search {
  background: var(--glass) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 16px !important;
  color: #fff !important;
  box-shadow: var(--shadow-sm) !important;
}
body[data-mode="night"] .map-search input {
  color: #fff !important;
  background: transparent !important;
}
body[data-mode="night"] .map-search input::placeholder { color: #8B95A5; }
body[data-mode="night"] .map-search svg { color: #E63946 !important; }
body[data-mode="night"] .example-banner,
body[data-mode="night"] .map-home-banner {
  background: #000000 !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 10px !important;
}
body[data-mode="night"] .btn-primary {
  background: #E63946 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 0 20px rgba(230,57,70,0.45), 0 4px 12px rgba(0,0,0,0.4) !important;
  font-weight: 700 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body[data-mode="night"] .btn-primary:active {
  transform: scale(0.97);
  box-shadow: 0 0 12px rgba(230,57,70,0.6) !important;
}
body[data-mode="night"] .btn-secondary {
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
}
body[data-mode="night"] .tabbar {
  background: rgba(12,16,22,0.92) !important;
  backdrop-filter: blur(20px) !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}
body[data-mode="night"] .tabbar a { color: #8B95A5 !important; }
body[data-mode="night"] .tabbar a.active:not(.post-tab) {
  background: rgba(230,57,70,0.2) !important;
  color: #E63946 !important;
  box-shadow: 0 0 16px rgba(230,57,70,0.25) !important;
  border-radius: 14px !important;
}
body[data-mode="night"] .post-tab {
  background: transparent !important;
  box-shadow: none !important;
}
body[data-mode="night"] .post-tab .post-fab,
body[data-mode="night"] .tabbar .post-tab .post-fab {
  background: #E63946 !important;
  box-shadow: 0 0 24px rgba(230,57,70,0.55), 0 4px 12px rgba(0,0,0,0.4) !important;
  border: none !important;
}
body[data-mode="night"] .bottom-sheet {
  background: var(--glass) !important;
  backdrop-filter: blur(22px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.3) !important;
  border-top: 1px solid rgba(230,57,70,0.25) !important;
  box-shadow: 0 -16px 48px rgba(0,0,0,0.5) !important;
  color: var(--ink) !important;
}
body[data-mode="night"] .sale-card,
body[data-mode="night"] .inv-result-card,
body[data-mode="night"] .item-card,
body[data-mode="night"] .desk-card,
body[data-mode="night"] .pro-card {
  background: var(--glass) !important;
  backdrop-filter: blur(18px) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  box-shadow: var(--shadow-sm) !important;
  color: var(--ink) !important;
}
body[data-mode="night"] .inv-price {
  color: #FF5A66 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 12px rgba(230,57,70,0.45);
}
body[data-mode="night"] .chip-bar button,
body[data-mode="night"] .cat-chip {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: #C5CDD8 !important;
  border-radius: 999px !important;
}
body[data-mode="night"] .cat-chip.active,
body[data-mode="night"] .chip-bar button.active {
  background: rgba(230,57,70,0.25) !important;
  border-color: #E63946 !important;
  color: #fff !important;
  box-shadow: 0 0 12px rgba(230,57,70,0.3);
}
body[data-mode="night"] .yh-house.pin-b {
  filter: drop-shadow(0 0 6px rgba(230,57,70,0.7)) drop-shadow(0 0 14px rgba(230,57,70,0.4));
  animation: neonPulse 2.4s ease-in-out infinite, pinRise 0.5s ease-out both;
}
body[data-mode="night"] .yh-house.pin-b.active {
  filter: drop-shadow(0 0 10px rgba(230,57,70,0.95)) drop-shadow(0 0 22px rgba(230,57,70,0.6));
}
@keyframes neonPulse {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(230,57,70,0.65)) drop-shadow(0 0 12px rgba(230,57,70,0.35)); }
  50% { filter: drop-shadow(0 0 10px rgba(230,57,70,0.95)) drop-shadow(0 0 20px rgba(230,57,70,0.55)); }
}
@keyframes pinRise {
  from { transform: translateY(12px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
body[data-mode="night"] .locate-btn {
  background: var(--glass) !important;
  border: 1px solid rgba(230,57,70,0.4) !important;
  color: #E63946 !important;
  box-shadow: 0 0 16px rgba(230,57,70,0.25) !important;
}
body[data-mode="night"] .screen-head,
body[data-mode="night"] .screen-head h1,
body[data-mode="night"] .muted-note,
body[data-mode="night"] label {
  color: var(--ink) !important;
}
body[data-mode="night"] input,
body[data-mode="night"] select,
body[data-mode="night"] textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
}
body[data-mode="night"] .desk-panel {
  background: #0B0F14 !important;
  color: #F2F4F7 !important;
}
body[data-mode="night"] .desk-panel .pill {
  background: rgba(230,57,70,0.15) !important;
  border: 1px solid rgba(230,57,70,0.35) !important;
  color: #fff !important;
}
body[data-mode="night"] .leaflet-control-zoom a {
  background: var(--glass) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.1) !important;
}
body[data-mode="night"] .status-pill.available {
  background: rgba(45,212,168,0.2); color: #2DD4A8; border: 1px solid rgba(45,212,168,0.4);
}
body[data-mode="night"] .status-pill.reserved {
  background: rgba(230,57,70,0.2); color: #FF8A93; border: 1px solid rgba(230,57,70,0.4);
}
body[data-mode="night"] .form-stack,
body[data-mode="night"] .cat-section {
  color: var(--ink);
}
body[data-mode="night"] .cat-section summary {
  color: #fff;
}
body[data-mode="night"] a { color: #FF8A93; }


/* Darken light OSM tiles into night-drive look (no third-party API key) */
body[data-mode="night"] .leaflet-tile-pane {
  filter: invert(1) hue-rotate(180deg) brightness(0.9) contrast(1.05) saturate(0.35);
}
body[data-mode="night"] .leaflet-container {
  background: #0B0F14 !important;
}
/* Keep UI chrome un-inverted */
body[data-mode="night"] .yh-house.pin-b {
  /* pins sit above tiles; compensate so red stays red */
  filter: drop-shadow(0 0 6px rgba(230,57,70,0.7)) drop-shadow(0 0 14px rgba(230,57,70,0.4)) !important;
}
/* Readable glass cards — never washed-out white text on white */
body[data-mode="night"] .sale-card,
body[data-mode="night"] .inv-result-card,
body[data-mode="night"] .item-card,
body[data-mode="night"] .pin-card,
body[data-mode="night"] .sheet-list .sale-card {
  background: rgba(22, 28, 36, 0.92) !important;
  color: #F2F4F7 !important;
  border: 1px solid rgba(230,57,70,0.22) !important;
}
body[data-mode="night"] .sale-card strong,
body[data-mode="night"] .inv-result-body strong,
body[data-mode="night"] .sale-card h3,
body[data-mode="night"] .sheet-head h2 {
  color: #FFFFFF !important;
}
body[data-mode="night"] .sale-card .muted-note,
body[data-mode="night"] .inv-result-body .muted-note,
body[data-mode="night"] .sheet-head #sheetSub,
body[data-mode="night"] .sheet-osm {
  color: #A8B0BD !important;
}
body[data-mode="night"] .bottom-sheet {
  background: rgba(12, 16, 22, 0.88) !important;
}
body[data-mode="night"] .smooth-fade {
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Force readable sale cards over modern.css white overrides */
body[data-mode="night"] .sheet-list .sale-card,
body[data-mode="night"] .sale-card,
body[data-mode="night"] a.sale-card,
body[data-mode="night"] .inv-result-card,
body[data-mode="night"] a.inv-result-card {
  background: #161C24 !important;
  color: #F2F4F7 !important;
  border: 1px solid rgba(230,57,70,0.28) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.45) !important;
}
body[data-mode="night"] .sale-card *,
body[data-mode="night"] .inv-result-card * {
  color: inherit;
}
body[data-mode="night"] .sale-card strong,
body[data-mode="night"] .sale-card h3,
body[data-mode="night"] .sale-card h4,
body[data-mode="night"] .inv-result-body strong {
  color: #FFFFFF !important;
}
body[data-mode="night"] .sale-card .muted-note,
body[data-mode="night"] .sale-card span,
body[data-mode="night"] .inv-result-body span:not(.inv-price):not(.status-pill) {
  color: #B0B8C4 !important;
}
body[data-mode="night"][data-theme="clean"] .sale-card,
body[data-mode="night"][data-theme="clean"] .inv-result-card {
  background: #161C24 !important;
  color: #F2F4F7 !important;
}

/* sheet-card is the actual nearby-sales card class */
body[data-mode="night"] .sheet-card,
body[data-mode="night"] button.sheet-card,
body[data-mode="night"][data-theme="clean"] .sheet-card {
  background: #161C24 !important;
  color: #F2F4F7 !important;
  border: 1px solid rgba(230,57,70,0.3) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.45) !important;
  border-radius: 16px !important;
}
body[data-mode="night"] .sheet-card strong { color: #FFFFFF !important; }
body[data-mode="night"] .sheet-card span,
body[data-mode="night"] .sheet-card .muted-note { color: #B0B8C4 !important; }
