/* ============================================================
   RDY.cz — Tailwind utility palette overrides → Graphite Lime
   ============================================================
   Načítá se PO tailwind.min.css. Přemapuje barevné utility classy
   (indigo, stone, amber, ...) na graphite-lime tokeny — celý projekt
   pak používá konzistentní paletu bez ohledu na konkrétní třídu.
*/

/* === Indigo → Accent (lime) === */
.bg-indigo-50  { background-color: var(--accent-soft) !important; }
.bg-indigo-100 { background-color: var(--accent-soft) !important; }
.bg-indigo-200 { background-color: color-mix(in oklch, var(--accent) 35%, var(--surface)) !important; }
.bg-indigo-300 { background-color: color-mix(in oklch, var(--accent) 50%, var(--surface)) !important; }
.bg-indigo-400 { background-color: color-mix(in oklch, var(--accent) 70%, var(--surface)) !important; }
.bg-indigo-500 { background-color: var(--accent) !important; color: var(--accent-on); }
.bg-indigo-600 { background-color: var(--accent) !important; color: var(--accent-on); }
.bg-indigo-700 { background-color: var(--accent-hover) !important; color: var(--accent-on); }
.bg-indigo-800 { background-color: var(--accent-hover) !important; color: var(--accent-on); }

.text-indigo-50  { color: var(--accent-soft) !important; }
.text-indigo-100 { color: var(--accent-soft-border) !important; }
.text-indigo-200 { color: var(--accent) !important; }
.text-indigo-300 { color: var(--accent) !important; }
.text-indigo-400 { color: var(--accent) !important; }
.text-indigo-500 { color: var(--accent) !important; }
.text-indigo-600 { color: var(--accent) !important; }
.text-indigo-700 { color: var(--accent-hover) !important; }
.text-indigo-800 { color: var(--accent-hover) !important; }
.text-indigo-900 { color: var(--accent-2) !important; }

.border-indigo-100 { border-color: var(--accent-soft-border) !important; }
.border-indigo-200 { border-color: var(--accent-soft-border) !important; }
.border-indigo-300 { border-color: var(--accent-soft-border) !important; }
.border-indigo-400 { border-color: var(--accent) !important; }
.border-indigo-500 { border-color: var(--accent) !important; }
.border-indigo-600 { border-color: var(--accent) !important; }

.hover\:bg-indigo-50:hover  { background-color: var(--accent-soft) !important; }
.hover\:bg-indigo-100:hover { background-color: var(--accent-soft) !important; }
.hover\:bg-indigo-600:hover { background-color: var(--accent-hover) !important; }
.hover\:bg-indigo-700:hover { background-color: var(--accent-hover) !important; }
.hover\:text-indigo-600:hover { color: var(--accent) !important; }
.hover\:text-indigo-700:hover { color: var(--accent-hover) !important; }
.hover\:text-indigo-800:hover { color: var(--accent-hover) !important; }
.hover\:border-indigo-300:hover { border-color: var(--accent-soft-border) !important; }
.hover\:border-indigo-500:hover { border-color: var(--accent) !important; }

.peer-checked\:bg-indigo-50  { /* selected by peer */ }
.peer:checked ~ .peer-checked\:bg-indigo-50 { background-color: var(--accent-soft) !important; }
.peer:checked ~ .peer-checked\:border-indigo-500 { border-color: var(--accent) !important; }
.peer:checked ~ .peer-checked\:text-indigo-700 { color: var(--accent-hover) !important; }

/* === Purple (linktree gradient) → accent-2 === */
.bg-purple-50, .bg-purple-100 { background-color: var(--accent-soft) !important; }
.bg-purple-500, .bg-purple-600 { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.text-purple-500, .text-purple-600, .text-purple-700 { color: var(--accent-2) !important; }
.border-purple-500 { border-color: var(--accent-2) !important; }

/* === Stone → surface tokens === */
.bg-stone-50  { background-color: var(--surface-2) !important; }
.bg-stone-100 { background-color: var(--surface-2) !important; }
.bg-stone-200 { background-color: var(--surface-2) !important; }
.bg-stone-300 { background-color: var(--border) !important; }
.bg-stone-400 { background-color: var(--muted) !important; color: var(--surface); }
.bg-stone-500 { background-color: var(--muted) !important; color: var(--surface); }
.bg-stone-600 { background-color: var(--accent-3) !important; color: var(--accent-3-on); }
.bg-stone-700 { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.bg-stone-800 { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.bg-stone-900 { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.bg-stone-950 { background-color: #0a0a0a !important; color: var(--accent-2-on); }

.text-stone-300 { color: var(--border) !important; }
.text-stone-400 { color: var(--muted) !important; }
.text-stone-500 { color: var(--muted) !important; }
.text-stone-600 { color: var(--muted) !important; }
.text-stone-700 { color: var(--fg) !important; }
.text-stone-800 { color: var(--fg) !important; }
.text-stone-900 { color: var(--fg) !important; }

.border-stone-100 { border-color: var(--border) !important; }
.border-stone-200 { border-color: var(--border) !important; }
.border-stone-300 { border-color: var(--border) !important; }
.border-stone-400 { border-color: var(--muted) !important; }
.border-stone-700 { border-color: var(--accent-2) !important; }
.border-stone-800 { border-color: var(--accent-2) !important; }

.hover\:bg-stone-50:hover  { background-color: var(--surface-2) !important; }
.hover\:bg-stone-100:hover { background-color: var(--surface-2) !important; }
.hover\:bg-stone-200:hover { background-color: var(--surface-2) !important; }
.hover\:bg-stone-300:hover { background-color: var(--border) !important; }
.hover\:bg-stone-700:hover { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.hover\:bg-stone-900:hover { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.hover\:text-stone-700:hover { color: var(--fg) !important; }
.hover\:text-stone-800:hover { color: var(--fg) !important; }
.hover\:text-stone-900:hover { color: var(--fg) !important; }
.hover\:border-stone-300:hover { border-color: var(--border) !important; }
.hover\:border-stone-400:hover { border-color: var(--muted) !important; }

/* === Amber → Warning === */
.bg-amber-50, .bg-amber-100 { background-color: var(--warning-bg) !important; color: var(--warning); }
.bg-amber-500, .bg-amber-600, .bg-amber-700 { background-color: var(--warning) !important; color: white; }
.text-amber-400, .text-amber-500, .text-amber-600, .text-amber-700, .text-amber-800 { color: var(--warning) !important; }
.border-amber-200, .border-amber-300, .border-amber-500 { border-color: var(--warning) !important; }
.hover\:bg-amber-700:hover { background-color: var(--warning) !important; opacity: 0.9; }

/* === Orange (similar to amber) === */
.bg-orange-50, .bg-orange-100 { background-color: var(--warning-bg) !important; }
.bg-orange-500, .bg-orange-600 { background-color: var(--warning) !important; color: white; }
.text-orange-500, .text-orange-600 { color: var(--warning) !important; }

/* === Green → Success === */
.bg-green-50, .bg-green-100 { background-color: var(--success-bg) !important; color: var(--success); }
.bg-green-500, .bg-green-600, .bg-green-700 { background-color: var(--success) !important; color: white; }
.text-green-500, .text-green-600, .text-green-700, .text-green-800 { color: var(--success) !important; }
.border-green-200, .border-green-300, .border-green-500 { border-color: var(--success) !important; }
.hover\:bg-green-700:hover { background-color: var(--success) !important; opacity: 0.9; }
.hover\:text-green-600:hover { color: var(--success) !important; }

/* === Lime (Tailwind built-in) → enhance with our accent === */
.bg-lime-50, .bg-lime-100 { background-color: var(--accent-soft) !important; }
.bg-lime-500, .bg-lime-600, .bg-lime-700 { background-color: var(--accent) !important; color: var(--accent-on); }
.text-lime-600, .text-lime-700, .text-lime-800 { color: var(--accent-hover) !important; }
.border-lime-200 { border-color: var(--accent-soft-border) !important; }

/* === Red → Danger === */
.bg-red-50, .bg-red-100 { background-color: var(--danger-bg) !important; color: var(--danger); }
.bg-red-500, .bg-red-600, .bg-red-700 { background-color: var(--danger) !important; color: white; }
.text-red-500, .text-red-600, .text-red-700, .text-red-800 { color: var(--danger) !important; }
.border-red-200, .border-red-300, .border-red-400, .border-red-500 { border-color: var(--danger) !important; }
.hover\:bg-red-700:hover { background-color: var(--danger) !important; opacity: 0.9; }
.hover\:text-red-600:hover { color: var(--danger) !important; }
.hover\:text-red-700:hover { color: var(--danger) !important; }

/* === Blue / Cyan → Info (default keep blue) === */
.bg-blue-50, .bg-blue-100 { background-color: var(--info-bg) !important; color: var(--info); }
.bg-blue-500, .bg-blue-600 { background-color: var(--info) !important; color: white; }
.text-blue-500, .text-blue-600, .text-blue-700, .text-blue-800 { color: var(--info) !important; }
.border-blue-200, .border-blue-300 { border-color: var(--info) !important; }

/* === Yellow / Pink (legacy) → map to accent === */
.bg-yellow-100, .bg-yellow-200 { background-color: var(--warning-bg) !important; }
.bg-yellow-500 { background-color: var(--warning) !important; color: white; }
.text-yellow-300, .text-yellow-400, .text-yellow-500, .text-yellow-600 { color: var(--warning) !important; }
.bg-pink-50, .bg-pink-100, .bg-pink-500 { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.text-pink-500, .text-pink-600 { color: var(--accent-2) !important; }

/* === White / black === */
.bg-white { background-color: var(--surface) !important; }
.text-white { color: var(--accent-on) !important; }
.bg-black { background-color: var(--accent-2) !important; color: var(--accent-2-on); }
.text-black { color: var(--fg) !important; }

/* === White-alpha overlays (for gradient hero overlays) === */
.bg-white\/10 { background-color: color-mix(in oklch, var(--accent-on) 10%, transparent) !important; }
.bg-white\/20 { background-color: color-mix(in oklch, var(--accent-on) 20%, transparent) !important; }
.bg-white\/30 { background-color: color-mix(in oklch, var(--accent-on) 30%, transparent) !important; }
.text-white\/80 { color: color-mix(in oklch, var(--accent-on) 80%, transparent) !important; }
.text-white\/90 { color: color-mix(in oklch, var(--accent-on) 90%, transparent) !important; }
.text-white\/60 { color: color-mix(in oklch, var(--accent-on) 60%, transparent) !important; }
.border-white\/20 { border-color: color-mix(in oklch, var(--accent-on) 20%, transparent) !important; }
.border-white\/30 { border-color: color-mix(in oklch, var(--accent-on) 30%, transparent) !important; }
.hover\:bg-white\/30:hover { background-color: color-mix(in oklch, var(--accent-on) 30%, transparent) !important; }

/* === Gradients → solid lime === */
.bg-gradient-to-r,
.bg-gradient-to-l,
.bg-gradient-to-t,
.bg-gradient-to-b,
.bg-gradient-to-tr,
.bg-gradient-to-tl,
.bg-gradient-to-br,
.bg-gradient-to-bl {
    background-image: none !important;
    background-color: var(--accent) !important;
    color: var(--accent-on);
}
[class*="from-indigo"], [class*="to-indigo"], [class*="via-indigo"],
[class*="from-purple"], [class*="to-purple"], [class*="via-purple"] {
    /* Cancel gradient stops — solid lime instead */
    --tw-gradient-from: var(--accent) !important;
    --tw-gradient-to: var(--accent) !important;
    --tw-gradient-via: var(--accent) !important;
}

/* === Project legacy classes === */
.gradient-bg, .gradient-nav { background: var(--accent) !important; color: var(--accent-on); }
.gradient-btn { background: var(--accent) !important; color: var(--accent-on); }
.gradient-btn:hover { background: var(--accent-hover) !important; }
.gradient-text {
    background: linear-gradient(135deg, var(--accent), var(--accent-hover)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

/* === Focus rings → lime === */
.focus\:ring-indigo-500:focus,
.focus\:ring-indigo-600:focus { --tw-ring-color: var(--accent) !important; box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 30%, transparent) !important; }
.focus\:border-indigo-500:focus { border-color: var(--accent) !important; }
