/**
 * CinevoPK global text readability / accessibility overrides.
 * Solid (non-transparent) text colors for light and dark modes.
 */

body {
  color: #000000 !important;
  opacity: 1 !important;
}

html.dark body,
.dark body {
  color: #ffffff !important;
}

/* Full opacity on typography and form controls */
:where(
  h1, h2, h3, h4, h5, h6,
  p, span, a, label, li, dt, dd, th, td,
  button, input, select, textarea, option,
  legend, summary, figcaption, small, strong, em, b, i, u, code, pre, blockquote
):not([aria-hidden="true"]) {
  opacity: 1 !important;
}

/*
 * Remap faded/muted slate utilities to solid high-contrast colors.
 * Skip slate-300 — used as light copy on dark hero panels.
 */
.text-slate-400,
.text-slate-500,
.text-slate-600,
.text-gray-400,
.text-gray-500,
.text-gray-600 {
  color: #000000 !important;
}

.dark .dark\:text-slate-300,
.dark .dark\:text-slate-400,
.dark .dark\:text-slate-500,
.dark .dark\:text-slate-600,
.dark .text-slate-400,
.dark .text-slate-500,
.dark .text-slate-600,
.dark .dark\:text-gray-400,
.dark .dark\:text-gray-500,
.dark .text-gray-400,
.dark .text-gray-500 {
  color: #ffffff !important;
}

.text-slate-700,
.text-slate-800,
.text-slate-900,
.text-slate-950,
.text-black {
  color: #000000 !important;
}

.dark .dark\:text-slate-50,
.dark .dark\:text-slate-100,
.dark .dark\:text-slate-200,
.dark .dark\:text-slate-300,
.dark .dark\:text-white,
.dark .text-white,
.dark .text-slate-100 {
  color: #ffffff !important;
}

/* Status badges: solid light text on dark surfaces */
.dark .dark\:text-emerald-200,
.dark .dark\:text-emerald-300,
.dark .text-emerald-200,
.dark .text-emerald-300 {
  color: #ffffff !important;
}

.dark .dark\:bg-emerald-700,
.dark .dark\:bg-brand-700,
.dark .dark\:bg-slate-700 {
  color: #ffffff;
}

/* Kill translucent Tailwind text modifiers (text-white/20, text-slate-950/20, etc.) */
[class*="text-white\/"] {
  color: #ffffff !important;
  opacity: 1 !important;
}

[class*="text-black\/"],
[class*="text-slate-950\/"],
[class*="text-slate-900\/"] {
  color: #000000 !important;
  opacity: 1 !important;
}

.dark [class*="text-slate-950\/"],
.dark [class*="text-slate-900\/"],
.dark [class*="text-black\/"] {
  color: #ffffff !important;
}

/* Placeholders: solid, readable (never alpha-faded) */
input::placeholder,
textarea::placeholder {
  color: #334155 !important; /* slate-700 */
  opacity: 1 !important;
}

.dark input::placeholder,
.dark textarea::placeholder {
  color: #e2e8f0 !important; /* slate-200 */
  opacity: 1 !important;
}

input,
select,
textarea {
  color: #000000 !important;
  opacity: 1 !important;
}

.dark input,
.dark select,
.dark textarea {
  color: #ffffff !important;
}

/* Inputs on white fields (e.g. hero search) stay dark even in dark mode page chrome */
input.bg-white,
select.bg-white,
textarea.bg-white,
.bg-white input,
.bg-white select,
.bg-white textarea {
  color: #000000 !important;
}

/* Disabled: solid muted style, not faded opacity */
button:disabled,
input:disabled,
select:disabled,
textarea:disabled,
[aria-disabled="true"] {
  opacity: 1 !important;
}

/* Brand / CTA buttons keep solid white label text */
.bg-brand-600,
.bg-brand-500,
.bg-brand-700,
button.bg-brand-600,
button.bg-brand-500,
button.bg-brand-700,
a.bg-brand-600,
a.bg-brand-500,
a.bg-brand-700 {
  color: #ffffff !important;
}

.text-brand-100,
.text-brand-200 {
  color: #ffffff !important;
}

.text-brand-600 {
  color: rgb(var(--brand-600)) !important;
}

.text-brand-700 {
  color: rgb(var(--brand-700)) !important;
}

.dark .dark\:text-brand-300,
.dark .text-brand-300 {
  color: rgb(var(--brand-300)) !important;
}

.dark .dark\:text-brand-400,
.dark .text-brand-400 {
  color: rgb(var(--brand-400)) !important;
}

.text-red-700,
.text-red-800 {
  color: #b91c1c !important;
}

.dark .dark\:text-red-200,
.dark .text-red-200 {
  color: #fecaca !important;
}

.text-emerald-700,
.text-emerald-800 {
  color: #047857 !important;
}

.dark .dark\:text-emerald-200,
.dark .text-emerald-200 {
  color: #a7f3d0 !important;
}

/* Light-on-dark panel copy (hero, CTAs) — solid white, not translucent slate */
.text-slate-300 {
  color: #e2e8f0 !important; /* solid slate-200-equivalent; still readable on dark panels */
}

.dark .text-slate-300,
.dark .dark\:text-slate-300 {
  color: #ffffff !important;
}
