/* İçtihat Pro - Custom Styles */

/* Line clamp utilities */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: break-word; word-break: break-word; }
.line-clamp-2 * { display: inline !important; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: break-word; word-break: break-word; }
.line-clamp-3 * { display: inline !important; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #cbd5e1; }
.dark ::-webkit-scrollbar-thumb { background: #334155; }
.dark ::-webkit-scrollbar-thumb:hover { background: #475569; }
.scrollbar-thin::-webkit-scrollbar { width: 4px; }

/* Search highlight */
mark { background: #fef08a; color: inherit; padding: 1px 3px; border-radius: 3px; font-weight: 500; }
.dark mark { background: #854d0e; color: #fef9c3; }

/* ── Prose Typography (replaces @tailwindcss/typography) ── */
.prose { color: #374151; font-size: 1rem; line-height: 1.8; }
.prose > * + * { margin-top: 1.25em; }
.prose h2 { font-size: 1.625rem; font-weight: 800; color: #111827; margin-top: 2.5em; margin-bottom: 0.75em; padding-bottom: 0.5em; border-bottom: 1px solid #e5e7eb; letter-spacing: -0.01em; line-height: 1.3; }
.prose h3 { font-size: 1.25rem; font-weight: 700; color: #1f2937; margin-top: 2em; margin-bottom: 0.5em; line-height: 1.4; }
.prose h4 { font-size: 1.1rem; font-weight: 600; color: #374151; margin-top: 1.5em; margin-bottom: 0.5em; }
.prose p { margin-top: 0.75em; margin-bottom: 0.75em; }
.prose strong { color: #111827; font-weight: 600; }
.prose a { color: #2563eb; text-decoration: underline; text-underline-offset: 2px; transition: color 0.15s; }
.prose a:hover { color: #1d4ed8; }
.prose ul, .prose ol { margin-top: 0.75em; margin-bottom: 0.75em; padding-left: 1.75em; }
.prose ul { list-style-type: disc; }
.prose ol { list-style-type: decimal; }
.prose li { margin-top: 0.375em; margin-bottom: 0.375em; padding-left: 0.375em; }
.prose li::marker { color: #9ca3af; }
.prose blockquote { border-left: 4px solid #3b82f6; padding: 1em 1.25em; margin: 1.5em 0; background: #f8fafc; border-radius: 0 0.5rem 0.5rem 0; font-style: italic; color: #4b5563; }
.prose code { font-size: 0.875em; background: #f1f5f9; padding: 0.125em 0.375em; border-radius: 0.25rem; color: #be185d; font-weight: 500; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.5em 0; }
.prose table th { background: #f9fafb; font-weight: 600; text-align: left; padding: 0.75em 1em; border-bottom: 2px solid #e5e7eb; color: #111827; font-size: 0.875rem; }
.prose table td { padding: 0.75em 1em; border-bottom: 1px solid #f3f4f6; font-size: 0.875rem; }
.prose table tr:hover { background: #f9fafb; }
.prose hr { border: none; border-top: 1px solid #e5e7eb; margin: 2em 0; }
.prose img { border-radius: 0.75rem; margin: 1.5em 0; }
.prose .not-prose { all: revert; }

/* Prose sizes */
.prose-lg { font-size: 1.0625rem; line-height: 1.85; }

/* Dark mode prose */
.dark .prose { color: #d1d5db; }
.dark .prose strong { color: #f3f4f6; }
.dark .prose h2 { color: #f9fafb; border-bottom-color: #374151; }
.dark .prose h3 { color: #f3f4f6; }
.dark .prose h4 { color: #e5e7eb; }
.dark .prose a { color: #60a5fa; }
.dark .prose a:hover { color: #93bbfd; }
.dark .prose li::marker { color: #6b7280; }
.dark .prose blockquote { background: #111827; border-left-color: #3b82f6; color: #9ca3af; }
.dark .prose code { background: #1e293b; color: #f472b6; }
.dark .prose table th { background: #1f2937; border-bottom-color: #374151; color: #f9fafb; }
.dark .prose table td { border-bottom-color: #1f2937; }
.dark .prose table tr:hover { background: #111827; }
.dark .prose hr { border-top-color: #374151; }

/* Selection */
::selection { background: #3b82f6; color: white; }

/* Focus ring */
input:focus, select:focus, textarea:focus { outline: none; }
.focus-ring:focus { box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3); }

/* Glass effect enhancement */
.glass { backdrop-filter: blur(12px) saturate(150%); -webkit-backdrop-filter: blur(12px) saturate(150%); }

/* Card hover lift */
.card-hover { transition: transform 200ms ease, box-shadow 200ms ease; }
.card-hover:hover { transform: translateY(-1px); }

/* Gradient text */
.gradient-text {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hukuki Belge Tipografisi (karar-detay ve search panel ortak) */
.karar-belge {
    font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;
    font-size: 15px;
    line-height: 1.85;
    color: #1f2937;
}
.dark .karar-belge {
    color: #d1d5db;
}
.karar-baslik p {
    margin: 0;
    line-height: 1.5;
}
.karar-meta {
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    font-size: 13px;
    line-height: 1.6;
}
.karar-bolum-baslik h3 {
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    letter-spacing: 0.05em;
}
.karar-para {
    margin-bottom: 1.25em;
    text-align: justify;
    text-indent: 2em;
    hyphens: auto;
    -webkit-hyphens: auto;
    word-break: break-word;
}
.karar-bolum-baslik + .karar-para:first-of-type,
.karar-para:first-child {
    text-indent: 0;
}
.karar-numbered {
    text-indent: 0;
    margin-bottom: 0.75em;
}
.karar-sub-item {
    text-indent: 0;
    margin-bottom: 0.5em;
    font-size: 14px;
}
.karar-hukum-icerik .karar-para {
    text-indent: 0;
}
.karar-hukum-icerik .karar-numbered {
    padding-left: 2em;
    position: relative;
    border-left: 2px solid #e5e7eb;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    margin-bottom: 0.5em;
}
.dark .karar-hukum-icerik .karar-numbered {
    border-left-color: #374151;
}
.karar-imza p {
    margin: 0.25em 0;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    font-size: 13px;
}

/* Print styles */
@media print {
    nav, aside, header, footer, button, .no-print { display: none !important; }
    main { padding: 0 !important; margin: 0 !important; }
    body { background: white !important; color: black !important; }
}
