/*
 * Retrofit dark theme for the public site — activated by html.dark,
 * toggled from the header button and persisted in localStorage.
 * Covers the utility classes used across public Blade templates.
 */
html.dark body { background-color: #0f172a; color: #e2e8f0; }
html.dark .bg-white { background-color: #1e293b !important; }
html.dark .bg-gray-50 { background-color: #0f172a !important; }
html.dark .bg-gray-100 { background-color: #1e293b !important; }
html.dark .bg-slate-50 { background-color: #1e293b !important; }
html.dark .bg-blue-50 { background-color: #1e3a5f !important; }
html.dark .bg-green-50 { background-color: #064e3b !important; }
html.dark .bg-yellow-50 { background-color: #422006 !important; }
html.dark .bg-red-50 { background-color: #450a0a !important; }
html.dark .bg-emerald-50 { background-color: #064e3b !important; }

html.dark .text-gray-900 { color: #f1f5f9 !important; }
html.dark .text-gray-800 { color: #e2e8f0 !important; }
html.dark .text-gray-700 { color: #cbd5e1 !important; }
html.dark .text-gray-600 { color: #94a3b8 !important; }
html.dark .text-gray-500 { color: #94a3b8 !important; }
html.dark .text-gray-400 { color: #64748b !important; }

html.dark .border-gray-200 { border-color: #334155 !important; }
html.dark .border-gray-300 { border-color: #475569 !important; }
html.dark .border-gray-100 { border-color: #334155 !important; }
html.dark .border-blue-200 { border-color: #1e40af !important; }
html.dark .border-green-400 { border-color: #059669 !important; }
html.dark .border-green-200 { border-color: #065f46 !important; }
html.dark .border-blue-400 { border-color: #2563eb !important; }

html.dark .shadow-lg,
html.dark .shadow-xl,
html.dark .shadow-md,
html.dark .shadow-sm { box-shadow: 0 4px 6px -1px rgba(0,0,0,.5) !important; }

html.dark input:not([type="radio"]):not([type="checkbox"]),
html.dark select,
html.dark textarea {
    background-color: #1e293b !important;
    color: #e2e8f0 !important;
    border-color: #475569 !important;
}
html.dark input::placeholder,
html.dark textarea::placeholder { color: #64748b; }

html.dark .text-blue-600 { color: #93c5fd !important; }
html.dark .text-blue-700 { color: #93c5fd !important; }
html.dark .text-green-700 { color: #6ee7b7 !important; }
html.dark .text-yellow-700 { color: #fde68a !important; }
html.dark .text-red-700 { color: #fca5a5 !important; }
html.dark .text-emerald-700 { color: #6ee7b7 !important; }

html.dark .bg-green-100 { background-color: #064e3b !important; }
html.dark .bg-yellow-100 { background-color: #422006 !important; }
html.dark .bg-blue-100 { background-color: #1e3a5f !important; }
html.dark .bg-red-100 { background-color: #450a0a !important; }
html.dark .bg-emerald-100 { background-color: #064e3b !important; }
html.dark .bg-gray-200 { background-color: #334155 !important; }

html.dark header { background-color: #0f172a; }
html.dark .hover\:bg-gray-50:hover { background-color: #1e293b !important; }
html.dark .hover\:bg-blue-50:hover { background-color: #1e3a5f !important; }
html.dark .hover\:bg-green-50:hover { background-color: #064e3b !important; }
html.dark .hover\:bg-teal-50:hover { background-color: #134e4a !important; }
html.dark .hover\:bg-gray-100:hover { background-color: #334155 !important; }
html.dark .hover\:bg-gray-200:hover { background-color: #334155 !important; }
html.dark .hover\:bg-blue-100:hover { background-color: #1e40af !important; }

html.dark .bg-teal-50 { background-color: #134e4a !important; }
html.dark .text-teal-600 { color: #5eead4 !important; }
html.dark .bg-purple-50 { background-color: #3b0764 !important; }
html.dark .text-purple-600 { color: #c4b5fd !important; }
html.dark .bg-purple-100 { background-color: #3b0764 !important; }
html.dark .text-purple-700 { color: #c4b5fd !important; }
html.dark .bg-orange-50 { background-color: #431407 !important; }
html.dark .text-orange-600 { color: #fdba74 !important; }

/* Keep strong gradient/brand sections readable */
html.dark .bg-gradient-to-r.from-blue-600,
html.dark .bg-gradient-to-l.from-slate-900 { filter: brightness(.85); }
html.dark img { filter: brightness(.92); }

html.dark .divide-y > * + * { border-color: #334155 !important; }
html.dark .text-slate-900 { color: #f1f5f9 !important; }
html.dark .bg-slate-100 { background-color: #1e293b !important; }
html.dark .bg-slate-200 { background-color: #334155 !important; }
html.dark .text-slate-700 { color: #cbd5e1 !important; }
html.dark .text-slate-600 { color: #94a3b8 !important; }
html.dark .text-slate-500 { color: #94a3b8 !important; }
