/*
 * GIRI – Scientific Monograph Styles (v1.3.0)
 * Single ingredient profile — 14-section layout
 * Compatible with TagDiv Newspaper theme (uses .giri-wrap scope)
 */

/* ── Layout: two-column with sticky TOC ─────────────────────────────────── */
#giri-monograph {
    display: grid;
    grid-template-columns: 240px 1fr;
    grid-template-areas: "toc main";
    align-items: start;
    gap: 0 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 80px;
}

.giri-toc        { grid-area: toc; }
.giri-monograph__main { grid-area: main; }

@media (max-width: 900px) {
    #giri-monograph {
        grid-template-columns: 1fr;
        grid-template-areas: "toc" "main";
        gap: 0;
    }
}

/* ── Sticky TOC ──────────────────────────────────────────────────────────── */
.giri-toc {
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding: 20px 0;
    scrollbar-width: thin;
}

.giri-toc__inner {
    background: var(--giri-surface, #fff);
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 10px;
    padding: 18px 20px;
}

.giri-toc__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--giri-text-faint, #8a94a6);
    margin: 0 0 12px;
}

.giri-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.giri-toc__list li { margin: 0; padding: 0; }

.giri-toc__list a {
    display: block;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--giri-text-secondary, #556070);
    text-decoration: none;
    padding: 5px 10px;
    border-radius: 6px;
    line-height: 1.35;
    transition: background .12s, color .12s;
}

.giri-toc__list a:hover,
.giri-toc__list a.giri-toc--active {
    background: #f0f4ff;
    color: var(--giri-accent, #1a56db);
}

@media (max-width: 900px) {
    .giri-toc {
        position: static;
        max-height: none;
        padding: 16px 0 0;
    }
    .giri-toc__list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 4px;
    }
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.giri-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12.5px;
    color: var(--giri-text-faint, #8a94a6);
    padding: 20px 0 0;
    margin-bottom: 28px;
}

.giri-breadcrumb a {
    color: var(--giri-text-secondary, #556070);
    text-decoration: none;
}
.giri-breadcrumb a:hover { text-decoration: underline; color: var(--giri-accent, #1a56db); }
.giri-breadcrumb span[aria-current] { color: var(--giri-text-primary, #141820); font-weight: 600; }

/* ── Section base ────────────────────────────────────────────────────────── */
.giri-section {
    background: var(--giri-surface, #fff);
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 12px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.giri-section__header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 28px;
    border-bottom: 1px solid var(--giri-border, #e2e4ea);
    background: #f9fafb;
}

.giri-section__header h2 {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: var(--giri-text-primary, #141820);
    letter-spacing: -.01em;
}

.giri-sec-num {
    font-family: var(--giri-font-mono, 'Space Mono', monospace);
    font-size: 11px;
    font-weight: 700;
    color: var(--giri-text-faint, #8a94a6);
    background: var(--giri-border, #e2e4ea);
    padding: 3px 8px;
    border-radius: 4px;
    flex-shrink: 0;
    letter-spacing: .02em;
}

.giri-section__body {
    padding: 24px 28px;
}

.giri-section__intro {
    font-size: 14px;
    color: var(--giri-text-secondary, #556070);
    margin: 0 0 20px;
    line-height: 1.6;
}

/* ── §1: Score Panel ─────────────────────────────────────────────────────── */
.giri-section--score {
    margin-bottom: 24px;
    border-width: 2px;
}

.giri-section--low      { border-color: var(--giri-low-border, #99f6e4); }
.giri-section--moderate { border-color: var(--giri-moderate-border, #fde68a); }
.giri-section--high     { border-color: var(--giri-high-border, #fecaca); }
.giri-section--critical { border-color: var(--giri-critical-border, #ddd6fe); }

.giri-section--score .giri-section__header {
    background: transparent;
    border-bottom: none;
    padding-bottom: 0;
}

/* Identity side */

.giri-eyebrow-chip {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--giri-accent, #1a56db);
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    padding: 3px 10px;
    border-radius: 100px;
}

.giri-cat-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--giri-text-secondary, #556070);
    background: var(--giri-border, #e2e4ea);
    border: 1px solid #d1d5db;
    padding: 3px 10px;
    border-radius: 100px;
    text-decoration: none;
    transition: background .15s;
}
.giri-cat-badge:hover { background: #e5e7eb; }

.giri-label-text {
    font-weight: 600;
    color: var(--giri-text-secondary, #556070);
    margin-right: 4px;
}

/* Score meta row */

/* Risk badge */

.giri-updated-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--giri-text-faint, #8a94a6);
    background: var(--giri-bg, #f4f5f7);
    border: 1px solid var(--giri-border, #e2e4ea);
    padding: 5px 10px;
    border-radius: 6px;
}

/* Interpretation quote */

/* Gauge */

/* Scale bar */

/* ── §3: Classification grid ──────────────────────────────────────────── */
.giri-classification-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    margin: 0;
}

.giri-class-item {
    background: var(--giri-bg, #f4f5f7);
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 8px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.giri-class-item dt {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-class-item dd {
    font-size: 15px;
    font-weight: 600;
    color: var(--giri-text-primary, #141820);
    margin: 0;
}

.giri-mono {
    font-family: var(--giri-font-mono, 'Space Mono', monospace);
    font-size: 13px;
}

/* ── §5: Evidence badges ───────────────────────────────────────────────── */
.giri-evidence-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 100px;
    border: 1.5px solid;
    white-space: nowrap;
}

.giri-evidence-badge--strong       { color: #065f46; background: #ecfdf5; border-color: #a7f3d0; }
.giri-evidence-badge--moderate     { color: #78350f; background: #fffbeb; border-color: #fde68a; }
.giri-evidence-badge--limited      { color: #1e3a5f; background: #eff6ff; border-color: #bfdbfe; }
.giri-evidence-badge--experimental { color: #4c1d95; background: #faf5ff; border-color: #ddd6fe; }

.giri-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    font-size: 12px;
    color: var(--giri-text-secondary, #556070);
}

/* ── §6: PK grid ──────────────────────────────────────────────────────── */
.giri-pk-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.giri-pk-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--giri-bg, #f4f5f7);
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 10px;
    padding: 16px 18px;
}

.giri-pk-card__icon {
    font-size: 22px;
    line-height: 1;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: var(--giri-surface, #fff);
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.giri-pk-card__body { flex: 1; min-width: 0; }

.giri-pk-card__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--giri-text-faint, #8a94a6);
    margin: 0 0 4px;
}

.giri-pk-card__val {
    font-size: 14px;
    color: var(--giri-text-primary, #141820);
    line-height: 1.5;
    margin: 0;
}

/* ── §8: Adverse effects ──────────────────────────────────────────────── */
.giri-adverse-group {
    margin-bottom: 20px;
    padding: 16px 20px;
    border-radius: 10px;
    border: 1px solid var(--giri-border, #e2e4ea);
}

.giri-adverse-group:last-child { margin-bottom: 0; }

.giri-adverse-group--common { background: #fffbeb; border-color: #fde68a; }
.giri-adverse-group--rare   { background: #fff1f2; border-color: #fecaca; }
.giri-adverse-group--contra { background: #faf5ff; border-color: #ddd6fe; }

/* ── Safety Profile: signals subsection ─────────────────────────────────── */
.giri-adverse-group

.giri-adverse-group__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--giri-text-primary, #141820);
}

.giri-adverse-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.giri-adverse-dot--common  { background: var(--giri-moderate, #d97706); }
.giri-adverse-dot--rare    { background: var(--giri-high, #dc2626); }
.giri-adverse-dot--contra  { background: #7c3aed; }
.giri-adverse-dot--signal  { background: #0369a1; }

.giri-adverse-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.giri-adverse-list li {
    font-size: 14px;
    color: var(--giri-text-primary, #141820);
    padding-left: 16px;
    position: relative;
    line-height: 1.5;
}

.giri-adverse-list li::before {
    content: '–';
    position: absolute;
    left: 0;
    color: var(--giri-text-faint, #8a94a6);
}

/* ── §9: Warning tag ──────────────────────────────────────────────────── */
.giri-warning-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    background: #fff1f2;
    color: var(--giri-high, #dc2626);
    border: 1px solid var(--giri-high-border, #fecaca);
}

/* ── §10: Contraindications ───────────────────────────────────────────── */
.giri-contra-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.giri-contra-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--giri-text-primary, #141820);
    line-height: 1.5;
}

.giri-contra-list svg { flex-shrink: 0; margin-top: 2px; color: var(--giri-high, #dc2626); }

/* ── §12: Regulatory status ───────────────────────────────────────────── */
.giri-reg-status {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 100px;
    border: 1.5px solid;
}

.giri-reg-status--allowed    { color: #065f46; background: #ecfdf5; border-color: #a7f3d0; }
.giri-reg-status--restricted { color: #7f1d1d; background: #fff1f2; border-color: #fecaca; }
.giri-reg-status--warning    { color: #7c2d12; background: #fff7ed; border-color: #fed7aa; }
.giri-reg-status--monitored  { color: #78350f; background: #fffbeb; border-color: #fde68a; }
.giri-reg-status--no_data    { color: #6b7280; background: #f9fafb; border-color: #e5e7eb; font-weight: 400; font-style: italic; }

/* ── §12 Regulatory table layout ──────────────────────────────────────────── */
.giri-reg-table .giri-reg-authority { font-size: 12px; color: #4b5563; max-width: 220px; }
.giri-reg-table .giri-reg-notes     { font-size: 12px; color: #6b7280; }

/* Signal-derived rows — subtle left accent to distinguish from static data */

/* Small lightning-bolt badge next to signal-derived status pill */

/* ── §13: References ──────────────────────────────────────────────────── */
.giri-references {
    margin: 0;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.giri-references li {
    font-size: 13.5px;
    color: var(--giri-text-secondary, #556070);
    line-height: 1.6;
}

.giri-references li a { color: var(--giri-accent, #1a56db); }

/* ── Shared table styles ──────────────────────────────────────────────── */
.giri-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.giri-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.giri-table th {
    background: var(--giri-bg, #f4f5f7);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--giri-text-faint, #8a94a6);
    padding: 10px 14px;
    text-align: left;
    border-bottom: 2px solid var(--giri-border, #e2e4ea);
    white-space: nowrap;
}

.giri-table td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--giri-border, #e2e4ea);
    vertical-align: top;
    color: var(--giri-text-primary, #141820);
    line-height: 1.5;
}

.giri-table tbody tr:last-child td { border-bottom: none; }

.giri-table tbody tr:hover td { background: #fafbfc; }

.giri-table-note {
    font-size: 12px;
    color: var(--giri-text-faint, #8a94a6);
    margin-top: 12px;
    font-style: italic;
}

/* ── Prose content ────────────────────────────────────────────────────── */
.giri-prose {
    font-size: 15px;
    line-height: 1.75;
    color: var(--giri-text-primary, #141820);
}

.giri-prose p          { margin: 0 0 14px; }
.giri-prose p:last-child { margin-bottom: 0; }
.giri-prose strong     { font-weight: 700; }
.giri-prose em         { font-style: italic; }
.giri-prose ul, .giri-prose ol { padding-left: 20px; margin: 0 0 14px; }
.giri-prose li         { margin-bottom: 4px; }

/* ── Placeholder ──────────────────────────────────────────────────────── */
.giri-placeholder {
    font-size: 14px;
    color: var(--giri-text-faint, #8a94a6);
    font-style: italic;
    padding: 14px 0;
    margin: 0;
}

/* ── Back link ────────────────────────────────────────────────────────── */
.giri-back-link {
    padding: 24px 0 0;
    border-top: 1px solid var(--giri-border, #e2e4ea);
    margin-top: 8px;
}

.giri-back-link a {
    font-size: 14px;
    font-weight: 600;
    color: var(--giri-text-secondary, #556070);
    text-decoration: none;
}
.giri-back-link a:hover { color: var(--giri-accent, #1a56db); }

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 680px) {




    .giri-section__header { padding: 14px 20px; }
    .giri-section__body  { padding: 18px 20px; }
    .giri-classification-grid { grid-template-columns: 1fr 1fr; }
    .giri-pk-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .giri-classification-grid { grid-template-columns: 1fr; }

}

/* ── TagDiv Newspaper theme compatibility ─────────────────────────────── */
/* Override theme's aggressive resets inside our wrapper */
#giri-monograph h1, #giri-monograph h2, #giri-monograph h3 {
    letter-spacing: initial;
    text-transform: initial;
}

#giri-monograph table {
    width: 100%;
    margin: 0;
}

#giri-monograph ul, #giri-monograph ol {
    margin: 0;
    padding: 0;
}

/* TagDiv sometimes adds borders to all tables */
#giri-monograph .giri-table td,
#giri-monograph .giri-table th {
    border-color: var(--giri-border, #e2e4ea) !important;
}

/* ── Evidence Strength ────────────────────────────────────────────────────── */
.giri-evidence-strength {
    margin-top: 16px;
    padding: 14px 18px;
    background: #f8fafc;
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 10px;
}

.giri-evidence-strength__row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.giri-evidence-strength__row svg {
    flex-shrink: 0;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-evidence-strength__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--giri-text-secondary, #556070);
}

.giri-evidence-strength__badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 100px;
    border: 1.5px solid;
}

/* Badge colours — use existing evidence palette */
.giri-evidence-strength__badge--high      { color: #065f46; background: #ecfdf5; border-color: #a7f3d0; }
.giri-evidence-strength__badge--moderate  { color: #78350f; background: #fffbeb; border-color: #fde68a; }
.giri-evidence-strength__badge--low       { color: #1e3a5f; background: #eff6ff; border-color: #bfdbfe; }
.giri-evidence-strength__badge--very_low  { color: #4c1d95; background: #faf5ff; border-color: #ddd6fe; }

/* ── §13 Reference placeholder styles ──────────────────────────────────────── */

/* ── §12 Regulatory status — updated badge + notice styles ─────────────────── */

/* "No restrictions" notice — green */
.giri-reg-no-restrictions {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-left: 4px solid #059669;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #065f46;
    margin-bottom: 0;
}

.giri-reg-no-restrictions svg { flex-shrink: 0; color: #059669; }

/* Restriction alert — amber/red */

/* Warning notice banner — orange, signal-derived high/critical adverse events */

/* Caution notice banner — amber, softer than restriction-alert */

/* Caution badge — new amber tier between allowed and restricted */
.giri-reg-status--caution {
    color: #78350f;
    background: #fffbeb;
    border-color: #fde68a;
}

/* ── §13 Scientific References — PubMed styles ─────────────────────────────── */

/* Verified PubMed notice — green banner */

/* PubMed list item */
li

/* PubMed verified badge — small pill before the citation text */

/* PMID clickable link */
a.giri-pmid-link {
    font-size: 11px;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
    border-bottom: 1px dotted #93c5fd;
    white-space: nowrap;
}
a.giri-pmid-link:hover {
    color: #1e40af;
    border-bottom-style: solid;
}

/* ── Risk Summary section (v3.4.1) ──────────────────────────────────────── */
.giri-section--risk-summary {
    border-color: var(--giri-border, #e2e4ea);
    background: var(--giri-surface, #fff);
}
.giri-section--risk-summary.giri-section--low      { background: #f0fdfa; border-color: var(--giri-low-border, #99f6e4); }
.giri-section--risk-summary.giri-section--moderate { background: #fffbeb; border-color: var(--giri-moderate-border, #fde68a); }
.giri-section--risk-summary.giri-section--high     { background: #fff1f2; border-color: var(--giri-high-border, #fecaca); }
.giri-section--risk-summary.giri-section--critical { background: #faf5ff; border-color: var(--giri-critical-border, #ddd6fe); }

/* ═══════════════════════════════════════════════════════════════════════════
   GIRI v3.4.2 — Risk Summary + Score Breakdown two-column layout
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Summary + Breakdown wrapper ──────────────────────────────────────────── */

@media (max-width: 860px) {


}

/* ── Risk Summary section adjustments inside the layout ───────────────────── */

/* ── Score Breakdown Panel ────────────────────────────────────────────────── */

@media (max-width: 860px) {

}

/* Component list */

/* Progress bar track */

/* Filled portion — per-component colours */

/* Total row */

/* Signal adjustment note */

/* Level-tinted left border when rendered inside a risk-level section */
.giri-section--low
.giri-section--moderate
.giri-section--high
.giri-section--critical

/* ═══════════════════════════════════════════════════════════════════════════
   GIRI v3.6.1 — Safety Profile section
   ═══════════════════════════════════════════════════════════════════════════ */

.giri-section--safety-profile {
    background: var(--giri-surface, #fff);
}
.giri-section--safety-profile.giri-section--low      { background: #f0fdfa; border-color: var(--giri-low-border, #99f6e4); }
.giri-section--safety-profile.giri-section--moderate { background: #fffbeb; border-color: var(--giri-moderate-border, #fde68a); }
.giri-section--safety-profile.giri-section--high     { background: #fff1f2; border-color: var(--giri-high-border, #fecaca); }
.giri-section--safety-profile.giri-section--critical { background: #faf5ff; border-color: var(--giri-critical-border, #ddd6fe); }

/* ═══════════════════════════════════════════════════════════════════════════
   GIRI v3.4.2 — Evidence & Scientific Findings: sub-section layout
   ═══════════════════════════════════════════════════════════════════════════ */

.giri-evidence-body {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.giri-evidence-subsec {
    border-bottom: 1px solid var(--giri-border, #e2e4ea);
    padding: 24px 0;
}
.giri-evidence-subsec:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.giri-evidence-subsec:first-child {
    padding-top: 0;
}

/* Sub-section header: smaller than main section header */
.giri-evidence-subsec .giri-section__header {
    background: transparent;
    border: none;
    padding: 0 0 12px;
    min-height: auto;
}
.giri-evidence-subsec .giri-section__header h2 {
    font-size: 15px;
    font-weight: 700;
    color: var(--giri-text-primary, #141820);
    margin: 0;
}

/* Sub-section number pill becomes a text label */
.giri-sec-num__sub {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--giri-text-faint, #8a94a6);
    background: var(--giri-surface-muted, #f0f2f5);
    border: 1px solid var(--giri-border, #e2e4ea);
    border-radius: 4px;
    padding: 2px 7px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   GIRI v3.4.3 — §13 Structured Evidence Hierarchy
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Regulatory authority notice ─────────────────────────────────────────── */

/* ── Reference count + ranking note ──────────────────────────────────────── */

/* ── Tier group ───────────────────────────────────────────────────────────── */

/* Tier-specific accent on the group header left border */

/* ── Reference cards ──────────────────────────────────────────────────────── */

/* Card left-border colours by type */

/* ── Card meta row (index + badges) ──────────────────────────────────────── */

/* ── Type badges ──────────────────────────────────────────────────────────── */

/* ── Card body ────────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════════════════
   GIRI Score Breakdown — 4-component evidence formula (v3.7.0)
   Q × L × D × S  ·  No baseline score
══════════════════════════════════════════════════════════════════════════════ */

/* Component icon + variable letter inline with label */

/* Meta row: stat + description below the bar */

/* Formula block */

/* Variable key: Q = Quantity, L = Quality etc. */

/* Total row */

/* AI/editorial note */

/* Fill colours — 4 evidence-based components */

/* Direction: colour shifts with polarity */

/* Score-contrib rows: evidence and signal variants */

/* Weight badge inside score-contrib label */

/* Formula inline in the final row label */

/* ══════════════════════════════════════════════════════════════════════════════
   §13 Scientific Evidence Review — Summary block + traffic-light classification
   v3.8.0
══════════════════════════════════════════════════════════════════════════════ */

/* ── Summary block ─────────────────────────────────────────────────────────── */

/* Transparency note */

/* ── Traffic-light classification badge ────────────────────────────────────── */
.giri-ev-class-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 10px 3px 8px;
    border-radius: 100px;
    border: 1.5px solid transparent;
}

.giri-ev-class-badge::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ── Studies list ─────────────────────────────────────────────────────────── */

/* Colour dot per classification */

a

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 560px) {



}

/* ══════════════════════════════════════════════════════════════════════════════
   §1 Evidence Classification Hero  (v3.9.0)
   Replaces the GIRI Score gauge + Score Breakdown panel.
   Uses the existing .giri-ev-class-badge and colour-variant classes from §13.
══════════════════════════════════════════════════════════════════════════════ */

.giri-section--classification {
    background: #fff;
    border-bottom: 1px solid var(--giri-border, #e2e4ea);
}

/* ── Identity column ───────────────────────────────────────────────────────── */

/* ── Badge column ──────────────────────────────────────────────────────────── */

/* Larger hero variant of the existing .giri-ev-class-badge */
.giri-ev-class-badge--hero {
    font-size: 22px;
    font-weight: 900;
    padding: 10px 28px 10px 22px;
    border-radius: 100px;
    letter-spacing: 0.08em;
}

.giri-ev-class-badge--hero::before {
    width: 12px;
    height: 12px;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {




    .giri-ev-class-badge--hero {
        font-size: 18px;
    }
}

/* ══════════════════════════════════════════════════════════════════════════════
   §13 Scientific Evidence Review — v3.10.0 additions
   Per-study classification chip, AI explanation, Update button, empty state
══════════════════════════════════════════════════════════════════════════════ */

/* ── Per-study classification chip (inline, next to meta) ─────────────────── */
.giri-ev-study-chip {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 100px;
    border: 1.5px solid transparent;
    vertical-align: middle;
    margin-left: 4px;
}

.giri-ev-study-chip--green {
    background: #f0fdf4;
    color: #166534;
    border-color: #86efac;
}

.giri-ev-study-chip--yellow {
    background: #fffbeb;
    color: #92400e;
    border-color: #fcd34d;
}

.giri-ev-study-chip--red {
    background: #fef2f2;
    color: #991b1b;
    border-color: #fca5a5;
}

/* ── AI explanation line ───────────────────────────────────────────────────── */

/* ── "Last updated" row value ──────────────────────────────────────────────── */

/* ── Update References action bar ─────────────────────────────────────────── */
.giri-ev-update-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
    flex-wrap: wrap;
}

.giri-ev-refresh-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--giri-accent, #1a56db);
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    border-radius: 6px;
    padding: 6px 14px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    line-height: 1;
}

.giri-ev-refresh-btn:hover:not(:disabled) {
    background: #dbeafe;
    border-color: #93c5fd;
}

.giri-ev-refresh-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.giri-ev-refresh-btn--prominent {
    font-size: 13px;
    padding: 9px 20px;
    margin-top: 4px;
}

.giri-ev-refresh-status {
    font-size: 12px;
    color: var(--giri-text-faint, #8a94a6);
}

/* ── Empty state block ─────────────────────────────────────────────────────── */
.giri-ev-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 20px;
    text-align: center;
    background: #f8fafc;
    border: 1.5px dashed #cbd5e1;
    border-radius: 10px;
    color: var(--giri-text-secondary, #556070);
}

.giri-ev-empty-state p {
    margin: 0;
    font-size: 14px;
}

.giri-ev-empty-state svg {
    opacity: 0.35;
}

/* ══════════════════════════════════════════════════════════════════════════════
   §14 Regulatory Evidence Review  (v3.11.0)
   Authority chips, detail table, ref links.
   Reuses

/* ── Authority chip list ───────────────────────────────────────────────────── */
.giri-rer-authority-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.giri-rer-authority-chip {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 3px 9px;
    border-radius: 100px;
    border: 1.5px solid transparent;
    white-space: nowrap;
}

/* Inherit colour variants from the study chip palette */
.giri-rer-authority-chip--green {
    background: #f0fdf4;
    color: #166534;
    border-color: #86efac;
}

.giri-rer-authority-chip--yellow {
    background: #fffbeb;
    color: #92400e;
    border-color: #fcd34d;
}

.giri-rer-authority-chip--red {
    background: #fef2f2;
    color: #991b1b;
    border-color: #fca5a5;
}

/* ── Reference link ────────────────────────────────────────────────────────── */
.giri-rer-ref-link {
    font-size: 13px;
    color: var(--giri-accent, #1a56db);
    text-decoration: none;
    font-weight: 500;
}

.giri-rer-ref-link:hover {
    text-decoration: underline;
}

.giri-rer-ref-link--table {
    font-size: 12px;
}

/* ── Per-authority detail table ────────────────────────────────────────────── */
.giri-rer-table-wrap {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid var(--giri-border, #e2e4ea);
}

.giri-rer-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    color: var(--giri-text, #1e293b);
}

.giri-rer-table thead tr {
    background: #f1f5f9;
}

.giri-rer-table th {
    text-align: left;
    padding: 9px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--giri-text-secondary, #556070);
    border-bottom: 1px solid var(--giri-border, #e2e4ea);
    white-space: nowrap;
}

.giri-rer-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.45;
}

.giri-rer-table tbody tr:last-child td {
    border-bottom: none;
}

/* Row left-border accent by classification */
.giri-rer-table__row--red    td:first-child { border-left: 3px solid #dc2626; }
.giri-rer-table__row--yellow td:first-child { border-left: 3px solid #d97706; }
.giri-rer-table__row--green  td:first-child { border-left: 3px solid #16a34a; }

.giri-rer-table__authority {
    white-space: nowrap;
    min-width: 90px;
}

.giri-rer-table__code {
    white-space: nowrap;
    width: 90px;
}

.giri-rer-table__text {
    font-size: 12.5px;
    color: var(--giri-text-secondary, #556070);
    max-width: 460px;
}

.giri-rer-table__link {
    white-space: nowrap;
    width: 70px;
    text-align: center;
}

.giri-rer-table__no-url {
    color: #cbd5e1;
    font-size: 14px;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .giri-rer-table th:nth-child(3),
    .giri-rer-table td:nth-child(3) {
        display: none;   /* hide reference excerpt column on mobile */
    }
}

/* ── Section subtitle (used by §14 Safety Signal Evidence Review) ────────── */
.giri-section__subtitle {
    margin: 2px 0 0;
    font-size: 13px;
    font-weight: 400;
    color: var(--giri-text-faint, #8a94a6);
    line-height: 1.4;
}

/* ══════════════════════════════════════════════════════════════════════════════
   SETI — Scientific Evidence Transparency Index  (v3.20.0)
   Prefix: .giri-seti-*
   Shared with existing: .giri-ev-class-badge,

.giri-seti-meta-grid {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 16px;
    align-items: baseline;
    padding: 16px 18px;
    background: var(--giri-surface, #f8fafc);
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 8px;
}

.giri-seti-meta-row {
    display: contents;
}

.giri-seti-meta-key {
    font-size: 12px;
    font-weight: 600;
    color: var(--giri-text-faint, #8a94a6);
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.giri-seti-meta-val {
    font-size: 13.5px;
    color: var(--giri-text, #1e293b);
    line-height: 1.5;
}

.giri-seti-meta-val--italic {
    font-style: italic;
}

/* ── Score block: dial + domain table side by side ──────────────────────────── */
.giri-seti-score-block {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 20px 18px;
    background: var(--giri-surface, #f8fafc);
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 8px;
}

/* SVG ring dial */
.giri-seti-score-dial {
    position: relative;
    flex-shrink: 0;
    width: 96px;
    height: 96px;
}

.giri-seti-score-ring {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);  /* start arc at 12 o'clock */
}

.giri-seti-ring-track {
    fill: none;
    stroke: var(--giri-border, #e2e8f0);
    stroke-width: 7;
}

.giri-seti-ring-fill {
    fill: none;
    stroke-width: 7;
    stroke-linecap: round;
    transition: stroke-dashoffset .5s ease;
}

.giri-seti-score-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.giri-seti-score-number {
    font-size: 22px;
    font-weight: 700;
    color: var(--giri-text, #1e293b);
}

.giri-seti-score-denom {
    font-size: 11px;
    color: var(--giri-text-faint, #8a94a6);
    margin-top: 1px;
}

/* Score detail: label + badge + domain table */
.giri-seti-score-detail {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.giri-seti-score-label {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--giri-text-faint, #8a94a6);
}

/* Five-domain breakdown table */
.giri-seti-domain-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.giri-seti-domain-table td {
    padding: 3px 0;
    color: var(--giri-text-muted, #475569);
    vertical-align: middle;
}

.giri-seti-domain-score {
    text-align: right;
    font-weight: 600;
    color: var(--giri-text, #1e293b);
    white-space: nowrap;
}

.giri-seti-domain-max {
    font-weight: 400;
    color: var(--giri-text-faint, #8a94a6);
    font-size: 11px;
    margin-left: 1px;
}

/* ── Evidence summary block ──────────────────────────────────────────────────── */
.giri-seti-summary-block {
    padding: 16px 18px;
    background: var(--giri-surface, #f8fafc);
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 8px;
}

.giri-seti-summary-heading,
.giri-seti-policy-heading {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-seti-summary-list {
    margin: 0;
    padding: 0 0 0 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.giri-seti-summary-list li {
    font-size: 13px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.5;
}

.giri-seti-summary-list__red {
    color: #dc2626;
    font-weight: 500;
}

/* ── Evidence policy block ───────────────────────────────────────────────────── */
.giri-seti-policy-block {
    padding: 16px 18px;
    background: var(--giri-surface, #f8fafc);
    border: 1px solid var(--giri-border, #e2e8f0);
    border-left: 3px solid var(--giri-border-accent, #94a3b8);
    border-radius: 8px;
}

.giri-seti-policy-text {
    margin: 0;
    font-size: 12.5px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.6;
}

/* ── Last-updated note ───────────────────────────────────────────────────────── */
.giri-seti-updated-note {
    margin: 0;
    font-size: 11.5px;
    color: var(--giri-text-faint, #8a94a6);
}

/* ── Study list ──────────────────────────────────────────────────────────────── */
.giri-seti-study-list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: seti-study;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.giri-seti-study-list__item {
    position: relative;
    counter-increment: seti-study;
    padding: 16px 16px 16px 48px;
    background: #fff;
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.giri-seti-study-list__item::before {
    content: counter(seti-study);
    position: absolute;
    left: 14px;
    top: 18px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--giri-surface, #f1f5f9);
    color: var(--giri-text-faint, #8a94a6);
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.giri-seti-study-list__item--red    { border-left: 3px solid #dc2626; }
.giri-seti-study-list__item--yellow { border-left: 3px solid #d97706; }
.giri-seti-study-list__item--green  { border-left: 3px solid #16a34a; }

/* Chip row */
.giri-seti-study-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

/* Study-type chip (neutral) */
.giri-seti-type-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 500;
    background: var(--giri-surface, #f1f5f9);
    color: var(--giri-text-muted, #475569);
    border: 1px solid var(--giri-border, #e2e8f0);
    white-space: nowrap;
}

/* Evidence strength chips */
.giri-seti-strength-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.giri-seti-strength--high {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.giri-seti-strength--medium {
    background: #fef9c3;
    color: #854d0e;
    border: 1px solid #fde68a;
}

.giri-seti-strength--low {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

/* Study title link */
.giri-seti-study-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--giri-link, #2563eb);
    text-decoration: none;
    line-height: 1.45;
}

.giri-seti-study-title:hover {
    text-decoration: underline;
}

/* Journal · Year · PMID meta */
.giri-seti-study-meta {
    display: block;
    font-size: 12px;
    color: var(--giri-text-faint, #8a94a6);
    line-height: 1.4;
}

/* Key findings block */
.giri-seti-study-findings {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    background: var(--giri-surface, #f8fafc);
    border-radius: 5px;
    border-left: 2px solid var(--giri-border, #e2e8f0);
}

.giri-seti-study-findings__label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-seti-study-findings__text {
    font-size: 13px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.55;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 580px) {
    .giri-seti-score-block {
        flex-direction: column;
        align-items: center;
    }

    .giri-seti-domain-table {
        width: 100%;
    }

    .giri-seti-meta-grid {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .giri-seti-meta-key {
        margin-top: 8px;
    }
}

/* ── SETI Reference block (v3.21.0) ─────────────────────────────────────────── */
.giri-seti-ref-block {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 4px 14px;
    padding: 10px 12px;
    background: var(--giri-surface, #f8fafc);
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 6px;
    margin-top: 6px;
}

.giri-seti-ref-row {
    display: contents;
}

.giri-seti-ref-key {
    font-size: 11px;
    font-weight: 700;
    color: var(--giri-text-faint, #8a94a6);
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    padding-top: 1px;
}

.giri-seti-ref-val {
    font-size: 12.5px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.45;
    word-break: break-word;
}

.giri-seti-pmid-link,
.giri-seti-pubmed-url {
    color: var(--giri-link, #2563eb);
    text-decoration: none;
    font-size: 12px;
}

.giri-seti-pmid-link:hover,
.giri-seti-pubmed-url:hover {
    text-decoration: underline;
}

.giri-seti-pubmed-url {
    word-break: break-all;
    font-family: monospace;
    font-size: 11.5px;
}

/* Inline strength chip inside reference block */
.giri-seti-strength-chip--inline {
    font-size: 11px;
    padding: 1px 7px;
}

/* Relevance block slight visual distinction from key-findings */
.giri-seti-study-relevance {
    background: var(--giri-surface, #f0f4f8);
    border-left-color: var(--giri-border-accent, #94a3b8);
}

/* ══════════════════════════════════════════════════════════════════════════════
   EXECUTIVE SUMMARY  (v3.22.0)
   Prefix: .giri-exec-*
   Top-panel block inside the SETI section.
══════════════════════════════════════════════════════════════════════════════ */

.giri-exec-summary {
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 28px;
}

/* ── Heading row ─────────────────────────────────────────────────────────────── */
.giri-exec-summary__heading-row {
    padding: 14px 20px 12px;
    background: var(--giri-surface-dark, #f1f5f9);
    border-bottom: 1px solid var(--giri-border, #e2e8f0);
}

.giri-exec-summary__heading {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--giri-text, #1e293b);
    text-transform: uppercase;
    letter-spacing: .06em;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}

.giri-exec-summary__subheading {
    font-size: 12px;
    font-weight: 400;
    color: var(--giri-text-faint, #8a94a6);
    text-transform: none;
    letter-spacing: 0;
}

/* ── KPI strip ───────────────────────────────────────────────────────────────── */
.giri-exec-kpi-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid var(--giri-border, #e2e8f0);
}

.giri-exec-kpi {
    flex: 1 1 160px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 16px 18px;
    border-right: 1px solid var(--giri-border, #e2e8f0);
}

.giri-exec-kpi:last-child {
    border-right: none;
}

.giri-exec-kpi__label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-exec-kpi__value {
    font-size: 15px;
    font-weight: 700;
    color: var(--giri-text, #1e293b);
    line-height: 1.3;
}

.giri-exec-kpi__value--score {
    font-size: 26px;
}

.giri-exec-kpi__denom {
    font-size: 13px;
    font-weight: 400;
    color: var(--giri-text-faint, #8a94a6);
    margin-left: 1px;
}

.giri-exec-kpi__value--text {
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.45;
}

.giri-exec-kpi__value--risk {
    color: #b45309;
}

/* ── Evidence strength badge ─────────────────────────────────────────────────── */
.giri-exec-strength-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.giri-exec-strength--high {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.giri-exec-strength--moderate {
    background: #fef9c3;
    color: #854d0e;
    border: 1px solid #fde68a;
}

.giri-exec-strength--limited,
.giri-exec-strength--insufficient {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

/* ── Detail grid ─────────────────────────────────────────────────────────────── */
.giri-exec-detail-grid {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0;
    padding: 0;
}

.giri-exec-detail-row {
    display: contents;
}

.giri-exec-detail-row--full > .giri-exec-detail-key,
.giri-exec-detail-row--full > * {
    grid-column: auto;
}

/* Re-implement full-width rows inside a display:grid using subgrid trick
   by switching --full rows to a wrapping block layout */
.giri-exec-detail-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.giri-exec-detail-row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 8px 16px;
    padding: 11px 20px;
    border-bottom: 1px solid var(--giri-border, #e2e8f0);
    align-items: baseline;
}

.giri-exec-detail-row:last-child {
    border-bottom: none;
}

.giri-exec-detail-row--full {
    grid-template-columns: 160px 1fr;
    align-items: start;
}

.giri-exec-detail-key {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--giri-text-faint, #8a94a6);
    white-space: nowrap;
    padding-top: 2px;
}

.giri-exec-detail-val {
    font-size: 13.5px;
    color: var(--giri-text, #1e293b);
    line-height: 1.5;
}

.giri-exec-detail-val--italic {
    font-style: italic;
}

/* Evidence overview list */
.giri-exec-evidence-list {
    margin: 0;
    padding: 0 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.giri-exec-evidence-list li {
    font-size: 12.5px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.5;
}

/* Safety signals list */
.giri-exec-safety-list {
    margin: 0;
    padding: 0 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.giri-exec-safety-list li {
    font-size: 12.5px;
    color: #92400e;
    line-height: 1.5;
}

.giri-exec-safety-list li::marker {
    color: #d97706;
}

/* Final scientific interpretation */
.giri-exec-interpretation {
    margin: 0;
    font-size: 13px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.65;
    font-style: italic;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 580px) {
    .giri-exec-kpi-strip {
        flex-direction: column;
    }

    .giri-exec-kpi {
        border-right: none;
        border-bottom: 1px solid var(--giri-border, #e2e8f0);
        flex: none;
    }

    .giri-exec-kpi:last-child {
        border-bottom: none;
    }

    .giri-exec-detail-row,
    .giri-exec-detail-row--full {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .giri-exec-detail-key {
        margin-bottom: 0;
    }
}

/* ══════════════════════════════════════════════════════════════════════════════
   TRAFFIC-LIGHT PANEL + CONFIDENCE METER  (v3.23.0)
   Prefix: .giri-tl-*
══════════════════════════════════════════════════════════════════════════════ */

.giri-tl-panel {
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 16px;
}

/* KPI strip */
.giri-tl-panel__kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.giri-tl-kpi {
    flex: 1 1 140px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 16px;
    border-right: 1px solid var(--giri-border, #e2e8f0);
    border-bottom: 1px solid var(--giri-border, #e2e8f0);
    background: #fff;
}

.giri-tl-kpi:last-child {
    border-right: none;
}

.giri-tl-kpi__label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-tl-kpi__value {
    font-size: 20px;
    font-weight: 700;
    color: var(--giri-text, #1e293b);
    line-height: 1.2;
}

.giri-tl-kpi__value--score {
    font-size: 24px;
}

.giri-tl-kpi__denom {
    font-size: 12px;
    font-weight: 400;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-tl-kpi__value--text {
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.45;
}

.giri-tl-kpi__value--risk {
    color: #b45309;
}

/* Confidence badge */
.giri-tl-conf-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.giri-tl-conf--high     { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }
.giri-tl-conf--moderate { background: #fef9c3; color: #854d0e; border: 1px solid #fde68a; }
.giri-tl-conf--low      { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }

/* Confidence meter bar */
.giri-tl-conf-meter {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 16px;
    background: var(--giri-surface, #f8fafc);
    border-top: 1px solid var(--giri-border, #e2e8f0);
}

.giri-tl-conf-meter__label {
    font-size: 11.5px;
    color: var(--giri-text-muted, #475569);
    display: flex;
    align-items: center;
    gap: 8px;
}

.giri-tl-conf-bar-track {
    height: 7px;
    background: var(--giri-border, #e2e8f0);
    border-radius: 4px;
    overflow: hidden;
}

.giri-tl-conf-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width .4s ease;
}

.giri-tl-conf-bar--high     { background: #16a34a; }
.giri-tl-conf-bar--moderate { background: #d97706; }
.giri-tl-conf-bar--low      { background: #dc2626; }

.giri-tl-conf-meter__note {
    font-size: 11px;
    color: var(--giri-text-faint, #8a94a6);
    margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════════
   EVIDENCE DISTRIBUTION BLOCK  (v3.23.0)
   Prefix: .giri-ev-dist-*
══════════════════════════════════════════════════════════════════════════════ */

.giri-ev-dist {
    margin-bottom: 20px;
    padding: 16px 18px;
    background: var(--giri-surface, #f8fafc);
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 8px;
}

.giri-ev-dist__heading {
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--giri-text-faint, #8a94a6);
}

.giri-ev-dist__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.giri-ev-dist__item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    background: #fff;
    border: 1px solid var(--giri-border, #e2e8f0);
    border-radius: 6px;
}

.giri-ev-dist__count {
    font-size: 18px;
    font-weight: 700;
    color: var(--giri-text, #1e293b);
    line-height: 1;
}

.giri-ev-dist__label {
    font-size: 12px;
    color: var(--giri-text-muted, #475569);
    line-height: 1.3;
}

/* ══════════════════════════════════════════════════════════════════════════════
   EVIDENCE WATCH NOTIFICATION  (v3.23.0)
   Prefix: .giri-ev-watch
══════════════════════════════════════════════════════════════════════════════ */

.giri-ev-watch {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: 20px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 4px solid #d97706;
    border-radius: 8px;
}

.giri-ev-watch__icon {
    flex-shrink: 0;
    color: #d97706;
    margin-top: 1px;
}

.giri-ev-watch__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.giri-ev-watch__title {
    font-size: 13px;
    font-weight: 700;
    color: #92400e;
}

.giri-ev-watch__note {
    margin: 0;
    font-size: 12.5px;
    color: #92400e;
    line-height: 1.5;
}

/* ── Shared responsive ──────────────────────────────────────────────────────── */
@media (max-width: 580px) {
    .giri-tl-panel__kpis {
        flex-direction: column;
    }
    .giri-tl-kpi {
        border-right: none;
    }
    .giri-ev-dist__grid {
        flex-direction: column;
    }
}

/* ══════════════════════════════════════════════════════════════════
   §1 Hero panel — Risk Level + Evidence Strength + Narrative
   Colours match RISK_META in search.js — card and profile consistent.
   ══════════════════════════════════════════════════════════════════ */
.giri-hero-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 26px 28px;
    border: 1.5px solid;
    border-radius: 14px;
    min-width: 220px;
    max-width: 320px;
}
.giri-hero-panel__badge {
    display: inline-block;
    align-self: flex-start;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 999px;
    white-space: nowrap;
}
.giri-hero-panel__ev {
    font-size: 13px;
    margin: 0;
    color: #374151;
}
.giri-hero-panel__ev-label {
    color: #6b7280;
    margin-right: 4px;
}
.giri-hero-panel__narrative {
    font-size: 13px;
    line-height: 1.65;
    color: #4b5563;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(0,0,0,.07);
}
@media (max-width: 680px) {
    .giri-hero-panel { max-width: 100%; min-width: 0; }
}

/* ══════════════════════════════════════════════════════════════════
   §2 Score Transparency section
   ══════════════════════════════════════════════════════════════════ */

/* ── Colour tokens for each component variable ─────────────────── */
.giri-st-var--q { color: #0369a1; } /* blue   — quantity  */
.giri-st-var--l { color: #7c3aed; } /* purple — quality   */
.giri-st-var--d { color: #b45309; } /* amber  — direction */
.giri-st-var--s { color: #dc2626; } /* red    — signals   */

/* ── Formula banner ────────────────────────────────────────────── */
.giri-st-formula-banner {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 28px 32px;
    margin-bottom: 32px;
}
.giri-st-formula-eq {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.02em;
    margin-bottom: 16px;
}
.giri-st-formula-var {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    border: 2px solid currentColor;
    font-size: 20px;
    font-weight: 900;
    cursor: help;
}
.giri-st-formula-op    { font-size: 22px; color: #94a3b8; font-weight: 400; }
.giri-st-formula-const { font-size: 22px; color: #64748b; font-weight: 700; }
.giri-st-formula-result {
    font-size: 32px;
    font-weight: 900;
    color: #0f172a;
    margin-left: 6px;
}
.giri-st-formula-denom { font-size: 17px; font-weight: 500; color: #94a3b8; }
.giri-st-formula-caption {
    font-size: 13.5px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    max-width: 720px;
}

/* ── Component cards grid ──────────────────────────────────────── */
.giri-st-components {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 28px;
}
.giri-st-component {
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.giri-st-component__header {
    display: flex;
    align-items: center;
    gap: 14px;
}
.giri-st-component__var {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #f8fafc;
    border: 2px solid currentColor;
    font-size: 17px;
    font-weight: 900;
}
.giri-st-component__title-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.giri-st-component__title {
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
}
.giri-st-component__value {
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -.03em;
}

/* ── Progress bar ──────────────────────────────────────────────── */
.giri-st-bar-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}
.giri-st-bar {
    flex: 1;
    height: 8px;
    background: #f1f5f9;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}
.giri-st-bar--direction {
    display: flex;
    align-items: center;
    height: 28px;
    background: #ecfdf5;
    border-radius: 8px;
    overflow: visible;
    padding: 0 8px;
}
.giri-st-bar__pole {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    white-space: nowrap;
    flex-shrink: 0;
}
.giri-st-bar__pole--benefit { color: #059669; }
.giri-st-bar__pole--risk    { color: #dc2626; margin-left: auto; }
.giri-st-bar__fill {
    height: 100%;
    border-radius: 999px;
    transition: width .6s cubic-bezier(.4,0,.2,1);
}
.giri-st-bar__fill--q { background: #0369a1; }
.giri-st-bar__fill--l { background: #7c3aed; }
.giri-st-bar__fill--d {
    background: linear-gradient(90deg, #059669 0%, #d97706 50%, #dc2626 100%);
    width: 100% !important;
    opacity: 0;
}
/* Direction bar uses a dot indicator instead */
.giri-st-bar--direction .giri-st-bar__fill--d {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    background: rgba(220,38,38,.15);
    border-radius: 0;
    opacity: 1;
    width: var(--d-pct, 50%) !important;
}
.giri-st-bar__fill--s { background: #dc2626; }
.giri-st-bar__pct {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    min-width: 36px;
    text-align: right;
}

/* ── Explanation & method text ─────────────────────────────────── */
.giri-st-component__explain {
    font-size: 13px;
    color: #374151;
    margin: 0;
    line-height: 1.55;
}
.giri-st-component__method {
    font-size: 12px;
    color: #6b7280;
    margin: 0;
    line-height: 1.5;
    padding-top: 8px;
    border-top: 1px solid #f1f5f9;
}
.giri-st-component__method strong {
    color: #374151;
}

/* ── Final calculation row ─────────────────────────────────────── */
.giri-st-final {
    background: #0f172a;
    color: #f8fafc;
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 20px;
}
.giri-st-final__equation {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}
.giri-st-final__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}
.giri-st-final__step > span:first-child {
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -.03em;
}
.giri-st-var--q.giri-st-final__step > span:first-child,
.giri-st-final__step .giri-st-var--q { color: #38bdf8; }
.giri-st-final__step .giri-st-var--l { color: #c4b5fd; }
.giri-st-final__step .giri-st-var--d { color: #fcd34d; }
.giri-st-final__step .giri-st-var--s { color: #fca5a5; }
.giri-st-final__label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    opacity: .5;
}
.giri-st-final__op  { font-size: 22px; color: #64748b; font-weight: 300; padding-bottom: 4px; }
.giri-st-final__result {
    font-size: 36px;
    font-weight: 900;
    color: #f8fafc;
    margin-left: 4px;
}
.giri-st-final__denom { font-size: 18px; font-weight: 400; opacity: .4; }
.giri-st-final__caption {
    font-size: 12.5px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

/* ── Methodology collapsible ────────────────────────────────────── */
.giri-st-methodology {
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}
.giri-st-methodology__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    font-size: 13.5px;
    font-weight: 600;
    color: #374151;
    cursor: pointer;
    background: #f8fafc;
    list-style: none;
    user-select: none;
}
.giri-st-methodology__toggle::-webkit-details-marker { display: none; }
.giri-st-methodology__toggle::before {
    content: '▶';
    font-size: 9px;
    color: #94a3b8;
    transition: transform .2s;
}
details[open] .giri-st-methodology__toggle::before { transform: rotate(90deg); }
.giri-st-methodology__body {
    padding: 20px 24px;
    border-top: 1px solid #e2e8f0;
}
.giri-st-methodology__body p {
    font-size: 13.5px;
    color: #374151;
    margin: 0 0 12px;
    line-height: 1.6;
}
.giri-st-methodology__body ul {
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.giri-st-methodology__body li {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.55;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .giri-st-components { grid-template-columns: 1fr; }
    .giri-st-formula-eq { font-size: 22px; gap: 8px; }
    .giri-st-formula-var { width: 36px; height: 36px; font-size: 16px; }
    .giri-st-formula-result { font-size: 26px; }
    .giri-st-final__result { font-size: 28px; }
    .giri-st-formula-banner,
    .giri-st-final { padding: 20px 18px; }
}

/* ── Hero panel: score chip alongside badge ─────────────────────── */
.giri-hero-panel__top-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.giri-hero-panel__score-chip {
    display: flex;
    align-items: baseline;
    gap: 4px;
    background: rgba(0,0,0,.04);
    border-radius: 10px;
    padding: 6px 12px;
}
.giri-hero-panel__score-num {
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1;
}
.giri-hero-panel__score-denom {
    font-size: 13px;
    font-weight: 500;
    color: #9ca3af;
    margin-right: 8px;
}
.giri-hero-panel__score-link {
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-decoration: none;
    border-bottom: 1px dashed #d1d5db;
    white-space: nowrap;
}
.giri-hero-panel__score-link:hover { color: #374151; border-bottom-color: #9ca3af; }

/* ══════════════════════════════════════════════════════════════════
   §7 Risk Level Classification
   ══════════════════════════════════════════════════════════════════ */

/* Verdict banner */
.giri-rc-verdict {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    border: 2px solid;
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 28px;
}
.giri-rc-verdict__left {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
.giri-rc-verdict__badge {
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 999px;
    white-space: nowrap;
}
.giri-rc-verdict__score {
    font-size: 38px;
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1;
}
.giri-rc-verdict__denom { font-size: 17px; font-weight: 400; opacity: .4; }
.giri-rc-verdict__sentence {
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    flex: 1;
    min-width: 200px;
}

/* Scale */
.giri-rc-scale { margin-bottom: 36px; }
.giri-rc-scale__track {
    position: relative;
    display: flex;
    height: 56px;
    border-radius: 10px;
    overflow: visible;
    margin-bottom: 8px;
}
.giri-rc-scale__zone {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 4px;
}
.giri-rc-scale__zone--low      { background: #d1fae5; border-radius: 10px 0 0 10px; }
.giri-rc-scale__zone--moderate { background: #fef3c7; }
.giri-rc-scale__zone--high     { background: #fee2e2; }
.giri-rc-scale__zone--critical { background: #ede9fe; border-radius: 0 10px 10px 0; }
.giri-rc-scale__zone-label {
    font-size: 10px;
    font-weight: 800;
    text-align: center;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #374151;
}
.giri-rc-scale__zone-label small { font-size: 9px; font-weight: 500; opacity: .7; letter-spacing: 0; }
.giri-rc-scale__marker {
    position: absolute;
    top: -8px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    z-index: 2;
}
.giri-rc-scale__pin {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2.5px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
    margin-top: 21px;
}
.giri-rc-scale__pin-label {
    font-size: 11px;
    font-weight: 800;
    margin-top: 2px;
    white-space: nowrap;
}
.giri-rc-scale__caption {
    font-size: 12px;
    color: #9ca3af;
    margin: 6px 0 0;
}

/* Factor grid */
.giri-rc-factors__heading {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 16px;
}
.giri-rc-factors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 24px;
}
.giri-rc-factor {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.giri-rc-factor__header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.giri-rc-factor__icon { font-size: 18px; line-height: 1; flex-shrink: 0; }
.giri-rc-factor__title { font-size: 13px; color: #1e293b; flex: 1; }
.giri-rc-factor__value {
    font-size: 13px;
    font-weight: 700;
    color: #374151;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 2px 9px;
    border-radius: 999px;
    white-space: nowrap;
}
.giri-rc-factor__note {
    font-size: 12.5px;
    color: #4b5563;
    margin: 0;
    line-height: 1.55;
}

/* Methodology collapsible */
.giri-rc-methodology {
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}
.giri-rc-methodology__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    font-size: 13.5px;
    font-weight: 600;
    color: #374151;
    cursor: pointer;
    background: #f8fafc;
    list-style: none;
    user-select: none;
}
.giri-rc-methodology__toggle::-webkit-details-marker { display: none; }
.giri-rc-methodology__toggle::before {
    content: '▶';
    font-size: 9px;
    color: #94a3b8;
    transition: transform .2s;
}
details[open] .giri-rc-methodology__toggle::before { transform: rotate(90deg); }
.giri-rc-methodology__body {
    padding: 20px 24px;
    border-top: 1px solid #e2e8f0;
}
.giri-rc-methodology__body p {
    font-size: 13.5px;
    color: #374151;
    margin: 0 0 14px;
    line-height: 1.6;
}
.giri-rc-methodology__note {
    font-size: 12px;
    color: #9ca3af;
    margin: 12px 0 0;
}

/* Threshold table */
.giri-rc-threshold-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-bottom: 0;
}
.giri-rc-threshold-table th {
    text-align: left;
    padding: 8px 12px;
    background: #f1f5f9;
    font-weight: 700;
    color: #374151;
    border-bottom: 1.5px solid #e2e8f0;
}
.giri-rc-threshold-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #f1f5f9;
    color: #4b5563;
    vertical-align: top;
}
.giri-rc-badge {
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-block;
    white-space: nowrap;
}

/* Responsive */
@media (max-width: 640px) {
    .giri-rc-factors { grid-template-columns: 1fr; }
    .giri-rc-verdict { flex-direction: column; align-items: flex-start; }
    .giri-rc-scale__zone-label { font-size: 9px; }
}

/* ══════════════════════════════════════════════════════════════════
   BANNED / ALERT BANNER
   Shown on all critical-risk and Banned Substance ingredient pages
   ══════════════════════════════════════════════════════════════════ */
.giri-alert-banner {
    background: #7c0a0a;
    border-radius: 14px;
    margin-bottom: 24px;
    overflow: hidden;
}
.giri-alert-banner__inner {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
}
.giri-alert-banner__icon {
    color: #fca5a5;
    flex-shrink: 0;
    margin-top: 2px;
}
.giri-alert-banner__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.giri-alert-banner__title {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.01em;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.giri-alert-banner__sub {
    font-size: 13px;
    color: #fca5a5;
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 600px) {
    .giri-alert-banner__inner { padding: 16px; gap: 12px; }
    .giri-alert-banner__title { font-size: 13px; }
}
