/**
 * case_pages.css
 *
 * Styles specific to case analysis pages.
 * Used alongside navigation.css and Bootstrap 5.
 */

/* ============================================
   Layout Overrides
   ============================================ */
/* Constrain container to 960px on all screen sizes */
.container {
    max-width: 960px !important;
}

/* Increase base line height for better readability */
body {
    line-height: 1.75;
}

/* ============================================
   Prose Content Styling
   ============================================ */
.prose {
    line-height: 1.8;
}
.prose p {
    margin: 0 0 1rem;
}
.prose ul,
.prose ol {
    margin: 0.5rem 0 1rem 0.75rem;
}
/* More spacing between list items in prose sections (held, summary, etc.) */
.prose ol li,
.prose ul li {
    margin-bottom: 0.75rem;
}
.prose > :last-child {
    margin-bottom: 0;
}

/* ============================================
   Appeal Outcome Tints
   ============================================ */
.appeal-card {
    transition: background-color 0.15s ease;
}
.appeal-card.appeal-red {
    background: hsl(0 80% 96%);
    border-left: 4px solid hsl(0 70% 50%);
}
.appeal-card.appeal-green {
    background: hsl(120 40% 96%);
    border-left: 4px solid hsl(120 50% 40%);
}
.appeal-card.appeal-orange {
    background: hsl(35 90% 95%);
    border-left: 4px solid hsl(35 80% 50%);
}

/* Dark theme variants */
[data-bs-theme="dark"] .appeal-card.appeal-red {
    background: hsl(0 50% 18%);
    border-left-color: hsl(0 60% 45%);
}
[data-bs-theme="dark"] .appeal-card.appeal-green {
    background: hsl(120 30% 16%);
    border-left-color: hsl(120 40% 40%);
}
[data-bs-theme="dark"] .appeal-card.appeal-orange {
    background: hsl(35 50% 16%);
    border-left-color: hsl(35 70% 45%);
}

/* ============================================
   Treatment Sentiment Colors
   ============================================ */
.treatment-positive {
    color: var(--bs-success);
}
.treatment-negative {
    color: var(--bs-danger);
}
.treatment-neutral {
    color: var(--bs-primary);
}
.treatment-caution {
    color: var(--bs-warning);
}

/* ============================================
   Judicial Consideration Signals
   ============================================ */
.jc-signal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: text-bottom;
    width: 1.1em;
    height: 1.1em;
    margin-right: 0.375rem;
}
.jc-signal svg {
    width: 1em;
    height: 1em;
}
.jc-positive {
    color: var(--bs-success);
}
.jc-negative {
    color: var(--bs-danger);
}
.jc-neutral {
    color: var(--bs-secondary);
}
.jc-mixed {
    color: var(--bs-purple, #6f42c1);
}
.jc-unclear {
    color: var(--bs-gray-500, #adb5bd);
}

/* ============================================
   Badge Variants (Treatment/Outcome)
   ============================================ */
.badge-positive {
    background-color: #ecfdf5 !important;
    color: #065f46 !important;
}
.badge-negative {
    background-color: #fef2f2 !important;
    color: #7f1d1d !important;
}
.badge-neutral {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
}
.badge-mixed {
    background-color: #f5f3ff !important;
    color: #6b21a8 !important;
}
.badge-unclear {
    background-color: #f3f4f6 !important;
    color: #6b7280 !important;
}
.badge-outcome {
    background-color: #dbeafe !important;
    color: #1e3a8a !important;
}

/* Dark theme badge variants */
[data-bs-theme="dark"] .badge-positive {
    background-color: #064e3b !important;
    color: #a7f3d0 !important;
}
[data-bs-theme="dark"] .badge-negative {
    background-color: #7f1d1d !important;
    color: #fecaca !important;
}
[data-bs-theme="dark"] .badge-neutral {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
}
[data-bs-theme="dark"] .badge-mixed {
    background-color: #4c1d95 !important;
    color: #ddd6fe !important;
}
[data-bs-theme="dark"] .badge-unclear {
    background-color: #374151 !important;
    color: #d1d5db !important;
}
[data-bs-theme="dark"] .badge-outcome {
    background-color: #1e3a8a !important;
    color: #bfdbfe !important;
}

/* ============================================
   Court Badges
   ============================================ */
.court-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 0.8em;
    font-weight: 600;
    white-space: nowrap;
}
.court-badge.court-uksc {
    background: linear-gradient(135deg, #f6e27a, #e3b341 50%, #c9971a);
    box-shadow: inset 0 0 0 1px rgba(120, 85, 0, 0.35);
    color: #3b2a00;
}
.court-badge.court-ewca {
    background: linear-gradient(135deg, #f4f6f8, #d6dbe1 45%, #bfc6cf);
    box-shadow: inset 0 0 0 1px hsla(210, 8%, 51%, 0.45);
    color: #2f343a;
}
.court-badge.court-ukpc {
    background: linear-gradient(135deg, #e7def5, #c7b8e8);
    color: #3b2a63;
}
.court-badge.court-ewhc {
    background: #eef1f4;
    color: #3a3f44;
}
.court-badge.court-ukut {
    background: #e8f4f8;
    color: #1a4a5c;
}
.court-badge.court-ukftt {
    background: #f0f4e8;
    color: #3d4a2a;
}

/* ============================================
   Separator
   ============================================ */
.sep {
    opacity: 0.5;
    padding: 0 0.375rem;
}

/* ============================================
   Case Details Meta Grid
   ============================================ */
.case-meta-row {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}
.case-meta-row:last-child {
    border-bottom: none;
}
.case-meta-label {
    font-weight: 600;
    color: var(--bs-secondary-color);
}

/* ============================================
   Citation List Styling
   ============================================ */
.citation-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}
.citation-list li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}
.citation-list li:last-child {
    border-bottom: none;
}
.citation-list a {
    text-decoration: none;
}
.citation-list a:hover {
    text-decoration: underline;
}

/* ============================================
   Section Headers
   ============================================ */
.case-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--bs-primary);
}
