/* Tema claro/escuro exclusivo da home pública */
.landing-theme-toggle {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .55rem .7rem;
  border: 1px solid rgba(99,14,212,.22);
  border-radius: .8rem;
  background: rgba(255,255,255,.88);
  color: #630ed4;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 10px rgba(99,14,212,.08);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.landing-theme-toggle:hover {
  border-color: rgba(99,14,212,.5);
  background: #f7f1ff;
  transform: translateY(-1px);
}
.landing-theme-toggle:focus-visible {
  outline: 3px solid rgba(124,58,237,.3);
  outline-offset: 2px;
}
.landing-theme-toggle .material-symbols-outlined { font-size: 1.2rem; }

body, header, main, section, [class*="bg-"] {
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] .bg-background {
  background-color: #090713 !important;
  color: #f8fafc;
}
html[data-theme="dark"] header {
  background: rgba(12,9,26,.92) !important;
  border-color: rgba(167,139,250,.2) !important;
}
html[data-theme="dark"] .landing-theme-toggle {
  background: rgba(30,24,58,.9);
  border-color: rgba(196,181,253,.35);
  color: #fbbf24;
}
html[data-theme="dark"] .landing-theme-toggle:hover { background: #2a2048; }

html[data-theme="dark"] [class*="from-[#fdf8ff]"],
html[data-theme="dark"] [class*="from-purple-100"],
html[data-theme="dark"] [class*="via-pink-50"] {
  background-image: linear-gradient(135deg,#120d24 0%,#1b1230 48%,#241426 100%) !important;
}
html[data-theme="dark"] section.bg-white,
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] [class~="bg-white/80"],
html[data-theme="dark"] [class~="bg-white/90"],
html[data-theme="dark"] [class~="bg-white/95"],
html[data-theme="dark"] .bg-surface-container,
html[data-theme="dark"] .bg-surface-container-low,
html[data-theme="dark"] .bg-surface-container-high {
  background-color: #151024 !important;
}
html[data-theme="dark"] .bg-slate-50,
html[data-theme="dark"] .bg-slate-100 {
  background-color: #211a34 !important;
}
html[data-theme="dark"] .border-slate-100,
html[data-theme="dark"] .border-slate-200,
html[data-theme="dark"] [class*="border-slate-200/"],
html[data-theme="dark"] [class*="border-outline-variant"] {
  border-color: rgba(203,213,225,.17) !important;
}
html[data-theme="dark"] .text-on-surface,
html[data-theme="dark"] .text-slate-900,
html[data-theme="dark"] .text-slate-800,
html[data-theme="dark"] .text-slate-700 {
  color: #f8fafc !important;
}
html[data-theme="dark"] .text-on-surface-variant,
html[data-theme="dark"] .text-slate-600,
html[data-theme="dark"] .text-slate-500 {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background-color: #100b1d !important;
  border-color: rgba(203,213,225,.25) !important;
  color: #f8fafc !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #94a3b8 !important; }
html[data-theme="dark"] details { box-shadow: 0 8px 24px rgba(0,0,0,.2); }
html[data-theme="dark"] footer { border-color: rgba(148,163,184,.18) !important; }

@media (max-width: 639px) {
  .landing-theme-toggle { padding: .55rem; }
}
@media (prefers-reduced-motion: reduce) {
  body, header, main, section, [class*="bg-"], .landing-theme-toggle { transition: none; }
}
