/* HAUS. light / dark theme.
   Dark = the original design (nothing here changes it).
   Light = default. Every section that was painted Obsidian becomes Warm Ivory,
   Limestone or Champagne, and the text inside flips to Obsidian. Gold stays gold. */

:root { --ivory:#F4F0E8; --limestone:#D6CBBB; --champagne:#D8C5A2; --obsidian:#0B0B0A; --paper:#FBF9F5; --ink70:rgba(11,11,10,.7); --ink55:rgba(11,11,10,.55); --ink40:rgba(11,11,10,.4); }

html:not([data-theme="dark"]) {
  /* ── template pages (home, services, calculator, faq, book, kristina, neighborhoods, guides, 404) ── */
}
html:not([data-theme="dark"]) #nav .nav-links a,
html:not([data-theme="dark"]) #nav .nav-links .sub-toggle { color: rgba(11,11,10,.82); }
html:not([data-theme="dark"]) #nav .nav-links a:hover,
html:not([data-theme="dark"]) #nav .nav-links .sub-toggle:hover { color: var(--gold); }
html:not([data-theme="dark"]) #nav.scrolled,
html:not([data-theme="dark"]) #nav.solid { background: rgba(244,240,232,.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--limestone); }
html:not([data-theme="dark"]) .caret { border-color: currentColor; }
html:not([data-theme="dark"]) .mega-rail { background: var(--champagne); color: var(--obsidian); --cream: var(--obsidian); --white: var(--obsidian); }
html:not([data-theme="dark"]) .mobile-overlay { background: var(--ivory); --cream: var(--obsidian); --white: var(--obsidian); color: var(--obsidian); }
html:not([data-theme="dark"]) .mobile-overlay a,
html:not([data-theme="dark"]) .mobile-overlay button { color: var(--obsidian); }
html:not([data-theme="dark"]) .hamburger span,
html:not([data-theme="dark"]) .nav-toggle span,
html:not([data-theme="dark"]) .nav-mobile-toggle span { background: var(--obsidian); }

/* hero: the night skyline stays as texture under an ivory wash */
html:not([data-theme="dark"]) #hero { background: var(--ivory); }
html:not([data-theme="dark"]) .hero-bg { filter: none; opacity: .5; background-color: var(--ivory); }
html:not([data-theme="dark"]) #hero::before { content:""; position:absolute; inset:0; z-index:1; background: linear-gradient(180deg, rgba(244,240,232,.5) 0%, rgba(244,240,232,.3) 55%, rgba(244,240,232,.92) 100%); pointer-events:none; }
html:not([data-theme="dark"]) .hero-tagline { color: var(--obsidian); }
html:not([data-theme="dark"]) .hero-sub { color: var(--ink70); }
html:not([data-theme="dark"]) .hero-scroll-indicator { color: var(--ink40); }
html:not([data-theme="dark"]) .hero-scroll-indicator span::after,
html:not([data-theme="dark"]) .hero-scroll-line { background: var(--ink40); }
html:not([data-theme="dark"]) .btn-ghost { color: var(--obsidian); border-color: rgba(11,11,10,.45); }
html:not([data-theme="dark"]) .btn-ghost:hover { background: var(--obsidian); color: var(--ivory); border-color: var(--obsidian); }

html:not([data-theme="dark"]) .stat-bar { background: var(--paper); border-top: 1px solid var(--limestone); border-bottom: 1px solid var(--limestone); --cream: var(--obsidian); --white: var(--obsidian); }
html:not([data-theme="dark"]) .stat-item { border-color: var(--limestone) !important; }
html:not([data-theme="dark"]) .stat-label { color: var(--ink55); }

html:not([data-theme="dark"]) .about-photo { background: var(--limestone); }
html:not([data-theme="dark"]) #services,
html:not([data-theme="dark"]) #testimonials { background: var(--ivory); color: var(--obsidian); --cream: var(--obsidian); --white: var(--obsidian); }
html:not([data-theme="dark"]) .svc-card { background: var(--paper); border: 1px solid var(--limestone); }
html:not([data-theme="dark"]) .svc-tab { color: var(--ink55); }
html:not([data-theme="dark"]) .svc-tab.active { color: var(--obsidian); }
html:not([data-theme="dark"]) .svc-card p { color: var(--ink70); }
html:not([data-theme="dark"]) .included-item span { color: var(--ink70); }
html:not([data-theme="dark"]) .team-photo { background: var(--limestone); }
html:not([data-theme="dark"]) .team-photo svg { color: rgba(11,11,10,.18); }
html:not([data-theme="dark"]) .t-quote { color: rgba(11,11,10,.9); }
html:not([data-theme="dark"]) .t-location { color: var(--ink40); }
html:not([data-theme="dark"]) .calc-result { background: var(--paper); border: 1px solid var(--limestone); color: var(--obsidian); --cream: var(--obsidian); --white: var(--obsidian); }
html:not([data-theme="dark"]) .cta-band { background: var(--champagne); color: var(--obsidian); --cream: var(--obsidian); --white: var(--obsidian); }

html:not([data-theme="dark"]) footer,
html:not([data-theme="dark"]) .footer { background: #EAE3D6; color: var(--obsidian); border-top: 1px solid var(--limestone); --cream: var(--obsidian); --white: var(--obsidian); --border-dark: var(--limestone); --mid-gray: #6B6560; }
html:not([data-theme="dark"]) .footer-nav a,
html:not([data-theme="dark"]) .footer-link,
html:not([data-theme="dark"]) .footer a { color: var(--ink55); }
html:not([data-theme="dark"]) .footer-nav a:hover,
html:not([data-theme="dark"]) .footer a:hover { color: var(--gold); }
html:not([data-theme="dark"]) .footer-brokered { color: var(--ink70); }
html:not([data-theme="dark"]) .footer-copy,
html:not([data-theme="dark"]) .footer-bottom { color: var(--ink40); }
html:not([data-theme="dark"]) footer img[src*="white"],
html:not([data-theme="dark"]) .footer img[src*="white"],
html:not([data-theme="dark"]) footer img[src*="ivory"],
html:not([data-theme="dark"]) .footer img[src*="ivory"] { filter: invert(1) brightness(.2); }

/* dark buttons keep their ivory text even inside flipped sections */
html:not([data-theme="dark"]) .form-submit,
html:not([data-theme="dark"]) .btn-primary,
html:not([data-theme="dark"]) .btn-black,
html:not([data-theme="dark"]) .btn-dark { background: var(--obsidian); color: #F4F0E8; }
html:not([data-theme="dark"]) .btn-gold,
html:not([data-theme="dark"]) .nav-cta { color: var(--obsidian) !important; }

/* ── shared-stylesheet pages (about, team, contact, join, charlotte) ── */
html:not([data-theme="dark"]) .hero-bg-dark { background: var(--ivory); }
html:not([data-theme="dark"]) .section-dark,
html:not([data-theme="dark"]) .section-charcoal { background: var(--ivory); color: var(--obsidian); --white: var(--obsidian); --cream: var(--obsidian); --border-dark: var(--limestone); --mid-gray: #6B6560; --warm-gray: #6B6560; }
html:not([data-theme="dark"]) .section-dark.section-border-top,
html:not([data-theme="dark"]) .section-charcoal { border-top: 1px solid var(--limestone); }
html:not([data-theme="dark"]) .card-dark { background: var(--paper); border-color: var(--limestone); color: var(--obsidian); }
html:not([data-theme="dark"]) .card-dark:hover { border-color: var(--gold); }
html:not([data-theme="dark"]) .specialty-card:hover { background: var(--paper); }
html:not([data-theme="dark"]) .announce-photo { background: var(--limestone); }
html:not([data-theme="dark"]) .announce-footer { background: var(--champagne); --white: var(--obsidian); --cream: var(--obsidian); color: var(--obsidian); }
html:not([data-theme="dark"]) .mobile-menu { background: var(--ivory); --white: var(--obsidian); --cream: var(--obsidian); color: var(--obsidian); }
html:not([data-theme="dark"]) .form-dark .form-input,
html:not([data-theme="dark"]) .form-dark .form-select,
html:not([data-theme="dark"]) .form-dark .form-textarea { background: var(--paper); border-color: var(--limestone); color: var(--obsidian); }
html:not([data-theme="dark"]) .form-dark .form-label { color: #6B6560; }
html:not([data-theme="dark"]) .section-dark img[src*="white"],
html:not([data-theme="dark"]) .section-dark img[src*="ivory"] { filter: invert(1) brightness(.2); }

/* ── the toggle ── */
#haus-theme-toggle { position: fixed; right: 18px; bottom: 18px; z-index: 900; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(198,161,91,.55); background: var(--obsidian); color: var(--gold); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 20px rgba(0,0,0,.18); transition: transform .2s ease, background .3s ease; padding: 0; }
#haus-theme-toggle:hover { transform: translateY(-2px); }
#haus-theme-toggle svg { width: 18px; height: 18px; display: block; }
#haus-theme-toggle .sun { display: none; }
html[data-theme="dark"] #haus-theme-toggle { background: var(--ivory); color: var(--obsidian); border-color: rgba(11,11,10,.2); }
html[data-theme="dark"] #haus-theme-toggle .sun { display: block; }
html[data-theme="dark"] #haus-theme-toggle .moon { display: none; }
@media (max-width: 640px) { #haus-theme-toggle { right: 14px; bottom: 14px; width: 40px; height: 40px; } }

/* ── inline-styled dark blocks on the shared-stylesheet pages ── */
html:not([data-theme="dark"]) [style*="background:var(--charcoal)"],
html:not([data-theme="dark"]) [style*="background: var(--charcoal)"],
html:not([data-theme="dark"]) [style*="background:var(--black)"],
html:not([data-theme="dark"]) [style*="background: var(--black)"],
html:not([data-theme="dark"]) [style*="rgba(12,12,12"],
html:not([data-theme="dark"]) [style*="rgba(12, 12, 12"] { background: var(--ivory) !important; color: var(--obsidian); --white: var(--obsidian); --cream: var(--obsidian); --mid-gray: #6B6560; --warm-gray: #6B6560; --border-dark: var(--limestone); --charcoal: var(--paper); }
html:not([data-theme="dark"]) section[style*="var(--charcoal)"],
html:not([data-theme="dark"]) section[style*="var(--black)"] { border-top: 1px solid var(--limestone); border-bottom: 1px solid var(--limestone); }
html:not([data-theme="dark"]) div[style*="var(--charcoal)"],
html:not([data-theme="dark"]) div[style*="var(--black)"] { background: var(--paper) !important; border: 1px solid var(--limestone); }
html:not([data-theme="dark"]) [style*="rgba(242,237,227"],
html:not([data-theme="dark"]) [style*="rgba(242, 237, 227"] { color: var(--ink55) !important; }
html:not([data-theme="dark"]) [style*="color:var(--white)"],
html:not([data-theme="dark"]) [style*="color: var(--white)"] { color: var(--obsidian) !important; }
html:not([data-theme="dark"]) [style*="linear-gradient(transparent,rgba(0,0,0"],
html:not([data-theme="dark"]) [style*="linear-gradient(transparent, rgba(0,0,0"] { background: linear-gradient(transparent, rgba(244,240,232,.92)) !important; }
html:not([data-theme="dark"]) .nav-dark.scrolled { background: rgba(244,240,232,.97); border-bottom: 1px solid var(--limestone); }
html:not([data-theme="dark"]) .nav-dark .nav-link,
html:not([data-theme="dark"]) .nav-dark a { color: var(--obsidian); }

/* ── logo swaps: ivory marks become obsidian on the light hero and nav ── */
html:not([data-theme="dark"]) .hero-wordmark { background: url(/assets/brand/wordmark-black.png) center / contain no-repeat; }
html:not([data-theme="dark"]) .hero-wordmark img { opacity: 0; }
html:not([data-theme="dark"]) #nav .nav-logo { display: inline-block; background: url(/assets/brand/lockup-black.png) left center / contain no-repeat; }
html:not([data-theme="dark"]) #nav .nav-logo-img { opacity: 0; }
html:not([data-theme="dark"]) .hero-eyebrow { color: #9B7A2E; }
