/* Dark mode overrides — activated via html[data-theme="dark"] */

html {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
}

body {
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* ── Backgrounds ── */

html[data-theme="dark"] .bg-warm-white {
  background-color: rgb(26 31 43) !important;
}

html[data-theme="dark"] .bg-warm-white\/95 {
  background-color: rgba(26, 31, 43, 0.95) !important;
}

html[data-theme="dark"] .bg-white {
  background-color: rgb(36 43 56) !important;
}

html[data-theme="dark"] .bg-light-beige {
  background-color: rgb(45 53 69) !important;
}

html[data-theme="dark"] .bg-light-beige\/40 {
  background-color: rgba(196, 168, 130, 0.08) !important;
}

html[data-theme="dark"] .bg-anthracite {
  background-color: rgb(20 24 32) !important;
}

html[data-theme="dark"] .bg-anthracite\/60 {
  background-color: rgba(10, 12, 18, 0.75) !important;
}

html[data-theme="dark"] .bg-border-color {
  background-color: rgb(58 69 86) !important;
}

/* ── Text ── */

html[data-theme="dark"] .text-anthracite {
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .text-slate-gray {
  color: rgb(168 176 189) !important;
}

html[data-theme="dark"] .text-warm-gray {
  color: rgb(122 132 148) !important;
}

html[data-theme="dark"] .text-soft-beige {
  color: rgb(196 168 130) !important;
}

html[data-theme="dark"] .text-warm-white {
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .text-warm-white\/60 {
  color: rgba(236, 234, 230, 0.6) !important;
}

html[data-theme="dark"] .text-warm-white\/70 {
  color: rgba(236, 234, 230, 0.7) !important;
}

html[data-theme="dark"] .text-warm-white\/40 {
  color: rgba(236, 234, 230, 0.4) !important;
}

/* ── Borders ── */

html[data-theme="dark"] .border-border-color {
  border-color: rgb(58 69 86) !important;
}

html[data-theme="dark"] .border-soft-beige {
  border-color: rgb(196 168 130) !important;
}

html[data-theme="dark"] .border-soft-beige\/30 {
  border-color: rgba(196, 168, 130, 0.3) !important;
}

html[data-theme="dark"] .border-warm-white\/10 {
  border-color: rgba(236, 234, 230, 0.1) !important;
}

html[data-theme="dark"] .border-l-soft-beige {
  border-left-color: rgb(196 168 130) !important;
}

/* ── Components ── */

html[data-theme="dark"] .nav-link {
  color: rgb(168 176 189) !important;
}

html[data-theme="dark"] .nav-link:hover {
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .btn-primary {
  background-color: rgb(196 168 130) !important;
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] .btn-primary:hover {
  background-color: rgb(212 188 154) !important;
}

html[data-theme="dark"] .btn-secondary {
  border-color: rgb(58 69 86) !important;
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .btn-secondary:hover {
  background-color: rgb(45 53 69) !important;
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .service-card {
  background-color: rgb(36 43 56) !important;
  border-color: rgb(58 69 86) !important;
}

/* ── Hovers ── */

html[data-theme="dark"] .hover\:text-anthracite:hover {
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .hover\:text-soft-beige:hover {
  color: rgb(212 188 154) !important;
}

html[data-theme="dark"] .hover\:text-warm-white:hover {
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] .hover\:bg-light-beige:hover {
  background-color: rgb(45 53 69) !important;
}

html[data-theme="dark"] .hover\:bg-warm-white:hover {
  background-color: rgb(36 43 56) !important;
}

/* ── Forms ── */

html[data-theme="dark"] input,
html[data-theme="dark"] textarea {
  background-color: rgb(26 31 43) !important;
  border-color: rgb(58 69 86) !important;
  color: rgb(236 234 230) !important;
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus {
  border-color: rgb(196 168 130) !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: rgb(122 132 148);
}

/* ── Logo mark ── */

html[data-theme="dark"] .bg-anthracite.text-warm-white {
  background-color: rgb(196 168 130) !important;
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] .bg-warm-white\/10 {
  background-color: rgba(236, 234, 230, 0.1) !important;
}

/* ── CTA inline buttons (anthracite sections) ── */

html[data-theme="dark"] .bg-anthracite .bg-warm-white.text-anthracite {
  background-color: rgb(236 234 230) !important;
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] .bg-anthracite .bg-warm-white.text-anthracite:hover,
html[data-theme="dark"] .bg-anthracite a.bg-warm-white:hover {
  background-color: rgb(212 188 154) !important;
}

/* ── Footer (light band + dark text in dark mode) ── */

html[data-theme="dark"] footer.bg-anthracite,
html[data-theme="dark"] footer.bg-warm-white {
  background-color: rgb(220 216 208) !important;
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] footer.text-warm-white {
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] footer .text-warm-white {
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] footer .text-warm-white\/60 {
  color: rgb(74 85 104) !important;
}

html[data-theme="dark"] footer .text-warm-white\/70 {
  color: rgb(45 55 72) !important;
}

html[data-theme="dark"] footer .text-warm-white\/40 {
  color: rgb(113 128 150) !important;
}

html[data-theme="dark"] footer .text-slate-gray {
  color: rgb(74 85 104) !important;
}

html[data-theme="dark"] footer .text-warm-gray {
  color: rgb(113 128 150) !important;
}

html[data-theme="dark"] footer .border-warm-white\/10,
html[data-theme="dark"] footer .border-border-color {
  border-color: rgb(188 182 172) !important;
}

html[data-theme="dark"] footer .bg-warm-white\/10 {
  background-color: rgb(45 55 72) !important;
}

html[data-theme="dark"] footer .bg-warm-white\/10.text-warm-white {
  color: rgb(248 247 244) !important;
}

html[data-theme="dark"] footer .bg-anthracite.text-warm-white {
  background-color: rgb(45 55 72) !important;
  color: rgb(248 247 244) !important;
}

html[data-theme="dark"] footer .hover\:text-warm-white:hover {
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] footer .hover\:text-anthracite:hover {
  color: rgb(26 31 43) !important;
}

html[data-theme="dark"] footer a:hover {
  color: rgb(139 115 85) !important;
}

/* ── Images ── */

html[data-theme="dark"] img {
  opacity: 0.92;
}

/* ── Theme toggle ── */

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.theme-toggle:hover {
  color: rgb(139 115 85);
}

html[data-theme="dark"] .theme-toggle {
  color: rgb(196 168 130);
}

html[data-theme="dark"] .theme-toggle:hover {
  color: rgb(236 234 230);
}