/* ═══════════════════════════════════════════════════════════════
   DOMOTOOLS SOLAR — Dark & Premium Theme Override
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ─────────────────────────────────────────────────── */
:root {
  --gold:        #F59E0B;
  --gold-light:  #FBBF24;
  --gold-pale:   #FCD34D;
  --gold-dim:    rgba(245,158,11,.15);
  --gold-glow:   0 8px 32px rgba(245,158,11,.35);

  --dk-bg:       #080808;
  --dk-bg2:      #0e0e0e;
  --dk-surface:  #111111;
  --dk-surface2: #181818;
  --dk-surface3: #202020;
  --dk-border:   rgba(255,255,255,.07);
  --dk-border2:  rgba(255,255,255,.12);

  --tx-1: #FFFFFF;
  --tx-2: rgba(255,255,255,.65);
  --tx-3: rgba(255,255,255,.38);

  /* Override existing palette to dark */
  --solar-500: #F59E0B;
  --solar-600: #D97706;
  --solar-400: #FBBF24;
  --solar-100: rgba(245,158,11,.12);
  --sun-500:   #F59E0B;
  --sun-400:   #FBBF24;
  --sun-100:   rgba(245,158,11,.12);
  --sun-50:    rgba(245,158,11,.07);
  --neutral-900: #FFFFFF;
  --neutral-800: rgba(255,255,255,.88);
  --neutral-700: rgba(255,255,255,.65);
  --neutral-600: rgba(255,255,255,.55);
  --neutral-500: rgba(255,255,255,.42);
  --neutral-300: rgba(255,255,255,.14);
  --neutral-100: rgba(255,255,255,.06);
  --neutral-50:  rgba(255,255,255,.03);
  --white: #FFFFFF;

  --shadow-sm:  0 1px 4px rgba(0,0,0,.5);
  --shadow-md:  0 4px 20px rgba(0,0,0,.6);
  --shadow-lg:  0 12px 48px rgba(0,0,0,.7);
  --shadow-sun: var(--gold-glow);
}

/* ── BASE ────────────────────────────────────────────────────── */
html { background: var(--dk-bg); }
body {
  background: var(--dk-bg) !important;
  color: var(--tx-2) !important;
}

/* ── HEADER ──────────────────────────────────────────────────── */
.header {
  background: rgba(8,8,8,.92) !important;
  border-bottom: 1px solid var(--dk-border) !important;
  backdrop-filter: blur(20px) !important;
}
.header.scrolled { box-shadow: 0 4px 40px rgba(0,0,0,.8) !important; }

.logo__name { color: var(--tx-1) !important; }
.logo__tagline { color: var(--gold) !important; }
.logo__icon {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  box-shadow: 0 4px 16px rgba(245,158,11,.4) !important;
}

.nav__link { color: var(--tx-2) !important; }
.nav__link:hover { background: var(--gold-dim) !important; color: var(--gold) !important; }
.nav__link--active { color: var(--gold) !important; }

.header__phone { color: var(--tx-1) !important; }
.nav-toggle span { background: var(--tx-2) !important; }

.mobile-nav {
  background: var(--dk-surface) !important;
  border-bottom: 1px solid var(--dk-border) !important;
}
.mobile-nav .nav__link { color: var(--tx-2) !important; }
.mobile-nav .nav__link:hover { color: var(--gold) !important; }

/* ── HERO ────────────────────────────────────────────────────── */
.hero {
  background: radial-gradient(ellipse 80% 60% at 70% 40%, rgba(245,158,11,.07) 0%, transparent 60%),
              radial-gradient(ellipse 60% 60% at 20% 80%, rgba(245,158,11,.04) 0%, transparent 60%),
              var(--dk-bg) !important;
}
.hero__eyebrow { color: var(--gold) !important; }
.hero__title { color: var(--tx-1) !important; }
.hero__title span { color: var(--gold) !important; }
.hero__subtitle { color: var(--tx-2) !important; }
.hero__trust-badge { color: var(--tx-3) !important; }
.hero__trust-badge strong { color: var(--gold) !important; }

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn--primary {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: #080808 !important;
  box-shadow: var(--gold-glow) !important;
}
.btn--primary:hover { box-shadow: 0 16px 48px rgba(245,158,11,.50) !important; }

.btn--secondary {
  background: transparent !important;
  color: var(--tx-1) !important;
  border: 2px solid var(--dk-border2) !important;
}
.btn--secondary:hover { border-color: var(--gold) !important; color: var(--gold) !important; }

.btn--ghost {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--dk-border2) !important;
  color: var(--tx-1) !important;
}
.btn--ghost:hover { background: rgba(255,255,255,.12) !important; }

.btn--green {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: #080808 !important;
  box-shadow: var(--gold-glow) !important;
}

/* ── BADGES ──────────────────────────────────────────────────── */
.badge--sun {
  background: var(--gold-dim) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(245,158,11,.25) !important;
}
.badge--green {
  background: rgba(34,197,94,.1) !important;
  color: #4ade80 !important;
  border: 1px solid rgba(34,197,94,.2) !important;
}
.badge--white {
  background: rgba(255,255,255,.06) !important;
  color: var(--tx-1) !important;
  border: 1px solid var(--dk-border2) !important;
}

/* ── SECTION LABELS / TITLES ─────────────────────────────────── */
.section-label { color: var(--gold) !important; }
.section-title { color: var(--tx-1) !important; }
.section-title span { color: var(--gold) !important; }
.section-desc { color: var(--tx-2) !important; }

/* ── SECTIONS ────────────────────────────────────────────────── */
.section { background: transparent; }
.section--alt { background: var(--dk-bg2) !important; }
.section--dark { background: var(--dk-bg) !important; }

/* Force alternating dark sections */
section:nth-of-type(even) { background: var(--dk-bg2) !important; }

/* ── STATS BAR / TRUST ───────────────────────────────────────── */
.stats-bar, .trust-bar, .hero-stats {
  background: var(--dk-surface) !important;
  border: 1px solid var(--dk-border) !important;
}
.stat__value, .hero-stat__value, .trust-stat__value { color: var(--gold) !important; }
.stat__label, .hero-stat__label, .trust-stat__label { color: var(--tx-3) !important; }
.stat-divider { background: var(--dk-border) !important; }

/* ── CARDS ───────────────────────────────────────────────────── */
.card, .service-card, .step-card, .testimonial-card, .feature-card,
.proj-card, .projet-card, .blog-card, .faq-item, .aide-card,
.tech-card, .avantage-card, .legal-section, .info-card,
.process-step, .realisation-card {
  background: var(--dk-surface) !important;
  border: 1px solid var(--dk-border) !important;
  color: var(--tx-2) !important;
}
.card:hover, .service-card:hover, .projet-card:hover, .blog-card:hover {
  border-color: rgba(245,158,11,.3) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,.5) !important;
}

/* ── SERVICE CARDS ───────────────────────────────────────────── */
.service-card__icon {
  background: var(--gold-dim) !important;
  color: var(--gold) !important;
}
.service-card__title { color: var(--tx-1) !important; }
.service-card__desc { color: var(--tx-2) !important; }
.service-card__link { color: var(--gold) !important; }

/* ── FEATURE / AVANTAGE ──────────────────────────────────────── */
.feature-icon, .avantage-icon, .step-icon {
  background: var(--gold-dim) !important;
  color: var(--gold) !important;
  border-color: rgba(245,158,11,.2) !important;
}
.feature-title, .avantage-title, .step-title { color: var(--tx-1) !important; }
.feature-desc, .avantage-desc, .step-desc { color: var(--tx-2) !important; }

/* ── PROCESS / STEPS ─────────────────────────────────────────── */
.process-num { color: var(--gold) !important; }
.process-connector { background: var(--dk-border) !important; }
.process-step { background: var(--dk-surface) !important; border-color: var(--dk-border) !important; }

/* ── CTA SECTIONS ────────────────────────────────────────────── */
.cta-section, .section--cta {
  background: linear-gradient(135deg, #0f0e08 0%, #111008 50%, #0a0a08 100%) !important;
  border-top: 1px solid var(--dk-border) !important;
  border-bottom: 1px solid var(--dk-border) !important;
}
.cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(245,158,11,.06) 0%, transparent 70%);
  pointer-events: none;
}
.cta-title, .cta-section h2 { color: var(--tx-1) !important; }
.cta-desc, .cta-section p { color: var(--tx-2) !important; }

/* ── TESTIMONIALS ────────────────────────────────────────────── */
.testimonial-card {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.testimonial-card__text { color: var(--tx-2) !important; }
.testimonial-card__name { color: var(--tx-1) !important; }
.testimonial-card__role { color: var(--tx-3) !important; }
.testimonial-card__stars { color: var(--gold) !important; }
.stars { color: var(--gold) !important; }

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-item {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.faq-item.open { border-color: rgba(245,158,11,.25) !important; }
.faq-question { color: var(--tx-1) !important; }
.faq-answer { color: var(--tx-2) !important; }
.faq-icon { color: var(--gold) !important; background: var(--gold-dim) !important; }

/* ── REALISATIONS ────────────────────────────────────────────── */
.projet-card {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.projet-title { color: var(--tx-1) !important; }
.projet-desc { color: var(--tx-2) !important; }
.projet-meta { color: var(--tx-3) !important; }
.proj-stat__val { color: var(--gold) !important; }
.proj-stat__lab { color: var(--tx-3) !important; }
.projet-img { background: var(--dk-surface2) !important; }
.projet-img__kwc { color: var(--gold) !important; background: rgba(0,0,0,.7) !important; }

.gallery-filter-btn {
  background: var(--dk-surface) !important;
  border: 1px solid var(--dk-border) !important;
  color: var(--tx-2) !important;
}
.gallery-filter-btn.active, .gallery-filter-btn:hover {
  background: var(--gold-dim) !important;
  border-color: rgba(245,158,11,.3) !important;
  color: var(--gold) !important;
}

/* ── BLOG ────────────────────────────────────────────────────── */
.blog-card {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.blog-card__title { color: var(--tx-1) !important; }
.blog-card__excerpt { color: var(--tx-2) !important; }
.blog-card__meta { color: var(--tx-3) !important; }
.blog-tag { background: var(--gold-dim) !important; color: var(--gold) !important; }
.blog-hero { background: var(--dk-bg) !important; }

/* ── FORMS ───────────────────────────────────────────────────── */
.form-group label { color: var(--tx-2) !important; }
.form-control, .form-input, input, textarea, select {
  background: var(--dk-surface2) !important;
  border: 1px solid var(--dk-border2) !important;
  color: var(--tx-1) !important;
  border-radius: 8px !important;
}
.form-control:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.15) !important;
  outline: none !important;
  background: var(--dk-surface3) !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder {
  color: var(--tx-3) !important;
}
select option { background: var(--dk-surface2) !important; color: var(--tx-1) !important; }

.contact-info { background: var(--dk-surface) !important; border-color: var(--dk-border) !important; }
.contact-info__item { color: var(--tx-2) !important; }
.contact-info__label { color: var(--gold) !important; }

/* ── AIDES / PRIMES ──────────────────────────────────────────── */
.aide-card {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.aide-card__title { color: var(--tx-1) !important; }
.aide-card__amount { color: var(--gold) !important; }
.aide-card__desc { color: var(--tx-2) !important; }
.simulateur { background: var(--dk-surface) !important; border-color: var(--dk-border) !important; }
.simulateur__result { background: var(--gold-dim) !important; border-color: rgba(245,158,11,.2) !important; }
.result-value { color: var(--gold) !important; }

/* ── BORNES ──────────────────────────────────────────────────── */
.borne-card, .tech-spec {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.borne-card__title { color: var(--tx-1) !important; }

/* ── LEGAL / MENTIONS ────────────────────────────────────────── */
.legal-sidebar {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.legal-sidebar__link { color: var(--tx-2) !important; }
.legal-sidebar__link:hover, .legal-sidebar__link.active { color: var(--gold) !important; }
.legal-section {
  background: var(--dk-surface) !important;
  border-color: var(--dk-border) !important;
}
.legal-info-card {
  background: var(--dk-surface2) !important;
  border: 1px solid var(--dk-border) !important;
}
.legal-info-card strong { color: var(--gold) !important; }
h1, h2, h3, h4 { color: var(--tx-1) !important; }
p { color: var(--tx-2); }

/* ── PAGE HERO ───────────────────────────────────────────────── */
.page-hero {
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(245,158,11,.07) 0%, transparent 60%),
              var(--dk-bg) !important;
  border-bottom: 1px solid var(--dk-border) !important;
}
.page-hero__title { color: var(--tx-1) !important; }
.page-hero__title span { color: var(--gold) !important; }
.page-hero__desc { color: var(--tx-2) !important; }
.hero-stat__value { color: var(--gold) !important; }
.hero-stat__label { color: var(--tx-3) !important; }

/* ── FOOTER ──────────────────────────────────────────────────── */
.footer {
  background: #050505 !important;
  border-top: 1px solid var(--dk-border) !important;
}
.footer__col-title { color: var(--tx-1) !important; }
.footer__link { color: var(--tx-3) !important; }
.footer__link:hover { color: var(--gold) !important; }
.footer__tagline { color: var(--tx-3) !important; }
.footer__contact-item { color: var(--tx-3) !important; }
.footer__logo-name { color: var(--tx-1) !important; }
.footer__social-btn {
  background: var(--dk-surface) !important;
  color: var(--tx-3) !important;
  border: 1px solid var(--dk-border) !important;
}
.footer__social-btn:hover { background: var(--gold) !important; color: #080808 !important; }
.footer__bottom {
  background: #030303 !important;
  border-top: 1px solid var(--dk-border) !important;
  color: var(--tx-3) !important;
}
.footer__bottom a { color: var(--gold) !important; }

/* ── DIVIDERS ────────────────────────────────────────────────── */
hr, .divider { border-color: var(--dk-border) !important; }

/* ── TAGS / LABELS ───────────────────────────────────────────── */
.proj-tag { opacity: 0.9; }
.proj-tag--particulier { background: rgba(59,130,246,.2) !important; color: #93c5fd !important; }
.proj-tag--pro { background: rgba(168,85,247,.2) !important; color: #d8b4fe !important; }
.proj-tag--collectivite { background: rgba(34,197,94,.15) !important; color: #86efac !important; }
.proj-tag--borne { background: rgba(245,158,11,.15) !important; color: var(--gold) !important; }
.proj-tag--new { background: var(--gold-dim) !important; color: var(--gold) !important; }

/* ── SCROLLBAR ───────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dk-bg); }
::-webkit-scrollbar-thumb { background: var(--dk-surface3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* ── SELECTION ───────────────────────────────────────────────── */
::selection { background: rgba(245,158,11,.3); color: var(--tx-1); }

/* ── GOLDEN ACCENTS ──────────────────────────────────────────── */
a:not([class]) { color: var(--gold); }
strong { color: var(--tx-1); }

/* ── TABLE ───────────────────────────────────────────────────── */
table { border-collapse: collapse; }
th { background: var(--dk-surface2) !important; color: var(--gold) !important; border-color: var(--dk-border) !important; }
td { border-color: var(--dk-border) !important; color: var(--tx-2) !important; }
tr:nth-child(even) td { background: rgba(255,255,255,.02) !important; }

/* ── LISTS ───────────────────────────────────────────────────── */
ul li::marker { color: var(--gold); }
.check-list li::before { color: var(--gold) !important; }

/* ── NOTIFICATION / ALERT ────────────────────────────────────── */
.alert, .notice {
  background: var(--gold-dim) !important;
  border-left: 3px solid var(--gold) !important;
  color: var(--tx-2) !important;
}

/* ── GOLDEN LINE ACCENT ──────────────────────────────────────── */
.section-title::after {
  background: var(--gold) !important;
}

/* ── HERO STATS CARD ─────────────────────────────────────────── */
.hero__stats { background: rgba(255,255,255,.04) !important; border: 1px solid var(--dk-border) !important; }
.hero__stat-val { color: var(--gold) !important; }
.hero__stat-lab { color: var(--tx-3) !important; }
.hero__stat-divider { background: var(--dk-border) !important; }
