/* ZHurn — custom styles */

/* Article prose */
.prose h2 { margin-top: 2.5rem; margin-bottom: 1rem; font-size: 1.5rem; font-family: 'Merriweather', Georgia, serif; }
.prose h3 { margin-top: 2rem; margin-bottom: 0.75rem; font-size: 1.25rem; }
.prose p { margin-bottom: 1.25rem; line-height: 1.85; }
.prose ul, .prose ol { margin-bottom: 1.25rem; padding-left: 1.5rem; }
.prose li { margin-bottom: 0.5rem; line-height: 1.7; }
.prose blockquote {
    border-left: 3px solid #4263eb;
    padding: 1rem 1.25rem;
    margin: 2rem 0;
    font-style: italic;
    color: #495057;
    background: #f8f9ff;
    border-radius: 0 0.5rem 0.5rem 0;
}
.prose blockquote p:last-child { margin-bottom: 0; }
.prose img { border-radius: 0.75rem; margin: 1.5rem 0; }
.prose strong { color: #212529; }
.prose em { color: #495057; }
.prose hr { border: none; border-top: 1px solid #dee2e6; margin: 2.5rem 0; }
.prose code { background: #f1f3f5; padding: 0.15em 0.4em; border-radius: 0.25rem; font-size: 0.9em; color: #364fc7; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.prose th, .prose td { border: 1px solid #dee2e6; padding: 0.6rem 0.8rem; text-align: left; font-size: 0.95em; }
.prose th { background: #f8f9fa; font-weight: 600; }

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

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #ced4da; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #868e96; }

/* Selection */
::selection { background: #dbe4ff; color: #364fc7; }

/* Focus reset */
input:focus, textarea:focus, select:focus { outline: none; }

/* Print */
@media print { header, footer, .no-print { display: none !important; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
