/* KBCCTV Custom Styles & Design System */

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

:root {
    --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body {
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}
.dark ::-webkit-scrollbar-thumb {
    background: #334155;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.dark ::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* Reading Progress Bar */
#reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #0284c7, #38bdf8, #06b6d4);
    z-index: 9999;
    width: 0%;
    transition: width 0.1s ease-out;
}

/* Prose Typography Customization for Article Body */
.prose-kbcctv {
    color: #334155;
    line-height: 1.8;
    font-size: 1.0625rem;
}
.dark .prose-kbcctv {
    color: #cbd5e1;
}

.prose-kbcctv h2 {
    font-size: 1.65rem;
    font-weight: 700;
    color: #0f172a;
    margin-top: 2rem;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}
.dark .prose-kbcctv h2 {
    color: #f8fafc;
}

.prose-kbcctv h3 {
    font-size: 1.35rem;
    font-weight: 600;
    color: #1e293b;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.dark .prose-kbcctv h3 {
    color: #f1f5f9;
}

.prose-kbcctv p {
    margin-bottom: 1.4rem;
}

.prose-kbcctv blockquote {
    border-left: 4px solid #0284c7;
    padding-left: 1.25rem;
    font-style: italic;
    color: #475569;
    background: #f8fafc;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    border-radius: 0 0.5rem 0.5rem 0;
    margin: 1.5rem 0;
}
.dark .prose-kbcctv blockquote {
    color: #94a3b8;
    background: #0f172a;
    border-left-color: #38bdf8;
}

.prose-kbcctv ul, .prose-kbcctv ol {
    margin-bottom: 1.4rem;
    padding-left: 1.5rem;
}
.prose-kbcctv ul {
    list-style-type: disc;
}
.prose-kbcctv ol {
    list-style-type: decimal;
}
.prose-kbcctv li {
    margin-bottom: 0.5rem;
}

.prose-kbcctv strong {
    font-weight: 700;
    color: #0f172a;
}
.dark .prose-kbcctv strong {
    color: #f8fafc;
}

.prose-kbcctv img {
    border-radius: 0.75rem;
    margin: 1.5rem auto;
    max-width: 100%;
    height: auto;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05);
}

/* Glassmorphism Classes */
.glass-panel {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.dark .glass-panel {
    background: rgba(15, 23, 42, 0.85);
}

/* Mega Menu Animations */
.mega-menu-content {
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.mega-menu-trigger:hover .mega-menu-content,
.mega-menu-content:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Line Clamp Utilities */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
