@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ============================================
   TURTOOLS — CORPORATE LIGHT THEME v2
   ============================================ */
:root {
    --primary: #2563eb; --primary-dark: #1d4ed8;
    --bg: #f8fafc; --bg-card: #ffffff; --border: #e2e8f0;
    --text: #475569; --text-heading: #0f172a; --text-muted: #94a3b8;
}

.dark {
    --primary: #3b82f6; --primary-dark: #60a5fa;
    --bg: #0f172a; --bg-card: #1e293b; --border: #334155;
    --text: #94a3b8; --text-heading: #f8fafc; --text-muted: #64748b;
}

*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    background-color: var(--bg) !important;
    color: var(--text) !important;
}
body::before { display: none !important; }

/* HEADER */
.glass-panel {
    background: rgba(255,255,255,0.97) !important;
    backdrop-filter: blur(12px) !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: 0 1px 8px rgba(0,0,0,.05) !important;
}

/* CARDS */
.glass-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 1rem !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.04) !important;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
    animation: fadeUp .4s ease both;
}
.glass-card::before { display: none !important; }
.glass-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.07) !important;
    border-color: #bfdbfe !important;
}

/* TYPOGRAPHY */
.text-white { color: var(--text-heading) !important; }
.text-gray-100, .text-gray-200, .text-gray-300 { color: var(--text) !important; }
.text-gray-400, .text-gray-500 { color: var(--text-muted) !important; }
.text-gray-900 { color: var(--text-heading) !important; }

.text-blue-400, .text-blue-500, .text-blue-600   { color: #2563eb !important; }
.text-cyan-400, .text-cyan-500                   { color: #0284c7 !important; }
.text-green-400, .text-green-500, .text-green-600 { color: #16a34a !important; }
.text-purple-400, .text-purple-500, .text-purple-600 { color: #7c3aed !important; }
.text-red-400, .text-red-500, .text-red-600       { color: #dc2626 !important; }
.text-orange-400, .text-orange-500                { color: #ea580c !important; }
.text-yellow-400, .text-yellow-500                { color: #d97706 !important; }
.text-cyan-300   { color: #0369a1 !important; }
.text-cyan-200   { color: #0369a1 !important; }
.text-red-200    { color: #dc2626 !important; }
.text-green-200  { color: #16a34a !important; }
.text-blue-200   { color: #1d4ed8 !important; }
.text-purple-200 { color: #6d28d9 !important; }
.text-yellow-200 { color: #92400e !important; }

.text-transparent.bg-clip-text {
    background: linear-gradient(135deg, #1e40af, #3b82f6) !important;
    -webkit-background-clip: text !important;
    color: transparent !important;
}

/* INPUTS */
.glass-input, input[type="text"], input[type="email"], input[type="url"],
input[type="number"], input[type="password"], textarea, select {
    background: #f8fafc !important;
    border: 1.5px solid var(--border) !important;
    color: var(--text-heading) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 500 !important;
    border-radius: .75rem !important;
    transition: border-color .2s, box-shadow .2s !important;
}
.glass-input:focus, input:focus, textarea:focus, select:focus {
    background: #fff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,.1) !important;
    outline: none !important;
}
.glass-input::placeholder, input::placeholder, textarea::placeholder {
    color: var(--text-muted) !important; font-weight: 400 !important;
}
label { color: var(--text) !important; font-weight: 600 !important; }

/* BUTTONS */
.btn-primary, button[type="submit"], a.btn-primary {
    background: var(--primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: .875rem !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(37,99,235,.25) !important;
    transition: background .2s, transform .2s, box-shadow .2s !important;
    text-shadow: none !important;
    cursor: pointer;
}
.btn-primary:hover, button[type="submit"]:hover, a.btn-primary:hover {
    background: var(--primary-dark) !important;
    box-shadow: 0 6px 20px rgba(37,99,235,.35) !important;
    transform: translateY(-2px) !important;
}
.bg-gradient-to-r { background: var(--primary) !important; color: #fff !important; }

/* CODE BLOCKS */
pre, code, .bg-\[\#0f172a\] {
    background: #f8fafc !important;
    border: 1px solid var(--border) !important;
    color: #1e293b !important;
    border-radius: .75rem !important;
}
.font-mono { color: #1e3a5f !important; }

/* DARK BGs → LIGHT */
.bg-black\/50, .bg-black\/40, .bg-black\/30, .bg-black\/20 {
    background: #fff !important; border: 1px solid var(--border) !important;
}
.bg-white\/5, .bg-white\/10 {
    background: #f8fafc !important; border: 1px solid var(--border) !important;
}
.bg-white\/10:hover { background: #f1f5f9 !important; }

/* ICON BADGE BGs */
.bg-blue-500\/20   { background: #eff6ff !important; }
.bg-cyan-500\/20   { background: #e0f2fe !important; }
.bg-green-500\/20  { background: #f0fdf4 !important; }
.bg-purple-500\/20 { background: #f5f3ff !important; }
.bg-red-500\/20    { background: #fef2f2 !important; }
.bg-orange-500\/20 { background: #fff7ed !important; }

/* ALERT CARDS */
.bg-red-500\/10, .bg-red-500\/20     { background: #fef2f2 !important; border-color: #fecaca !important; }
.bg-green-500\/10, .bg-green-500\/20 { background: #f0fdf4 !important; border-color: #bbf7d0 !important; }
.bg-yellow-500\/10, .bg-yellow-500\/20 { background: #fefce8 !important; border-color: #fde68a !important; }
.bg-blue-500\/10, .bg-blue-500\/20   { background: #eff6ff !important; border-color: #bfdbfe !important; }

/* Dark mode basic backgrounds for alerts/icons to prevent blinding white */
.dark .bg-red-500\/20, .dark .bg-red-50 { background: rgba(220, 38, 38, 0.1) !important; border-color: rgba(220, 38, 38, 0.2) !important; }
.dark .bg-green-500\/20, .dark .bg-green-50 { background: rgba(22, 163, 74, 0.1) !important; border-color: rgba(22, 163, 74, 0.2) !important; }
.dark .bg-blue-500\/20, .dark .bg-blue-50 { background: rgba(37, 99, 235, 0.1) !important; border-color: rgba(37, 99, 235, 0.2) !important; }
.dark .bg-purple-500\/20, .dark .bg-purple-50 { background: rgba(124, 58, 237, 0.1) !important; border-color: rgba(124, 58, 237, 0.2) !important; }
.dark .bg-orange-500\/20, .dark .bg-orange-50 { background: rgba(234, 88, 12, 0.1) !important; border-color: rgba(234, 88, 12, 0.2) !important; }
.dark .bg-white { background: var(--bg-card) !important; }
.dark .bg-gray-50 { background: #162032 !important; }
.dark .border-gray-200 { border-color: var(--border) !important; }
.dark .border-gray-100 { border-color: rgba(255,255,255,0.05) !important; }
.dark .bg-gray-100 { background: #1e293b !important; }

/* BORDERS */
.border-white\/10, .border-white\/5,
.border-cyan-500\/30, .border-blue-500\/30,
.border-purple-500\/30, .border-green-500\/30,
.border-red-500\/30, .border-orange-500\/30 { border-color: var(--border) !important; }

/* TABLES */
table thead tr { background: #f8fafc !important; }
table tbody tr { border-bottom: 1px solid var(--border) !important; }
table tbody tr:hover { background: #f1f5f9 !important; }
th { color: var(--text-heading) !important; font-weight: 700 !important; }
td { color: var(--text) !important; }

/* FOOTER */
footer { background: var(--bg-card) !important; border-top: 1px solid var(--border) !important; }
footer .text-white { color: var(--text-heading) !important; }
.dark footer { background: #0f172a !important; }

/* REMOVE NEON / GLOW */
[class*="shadow-\[0_0_"] { box-shadow: none !important; }
.neon-text { text-shadow: none !important; }
.drop-shadow-\[0_0_10px_currentColor\] { filter: none !important; }

/* SCROLLBAR */
.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 99px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ANIMATIONS */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
#result-container { animation: fadeUp .35s ease forwards; }

/* CATEGORY FILTER */
.cat-btn.active {
    background: var(--primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37,99,235,.25) !important;
}
.cat-btn.active span { background: rgba(255,255,255,.25) !important; color: #fff !important; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
