/* ═══════════════════════════════════════════════════════════════
   Global Conflict Index — Widget Styles
   Scoped under .gci-widget to avoid theme conflicts.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Reset & Container ────────────────────────────────────────── */
.gci-widget {
    --gci-red: #C0392B;
    --gci-red-light: #E74C3C;
    --gci-orange: #E67E22;
    --gci-amber: #D4A017;
    --gci-gold: #D4A017;
    --gci-blue-gray: #7F8C8D;
    --gci-green: #27AE60;
    --gci-text: #1a1a1a;
    --gci-text-muted: #555;
    --gci-text-light: #888;
    --gci-bg: #ffffff;
    --gci-bg-alt: #f8f8f8;
    --gci-border: #e0e0e0;
    --gci-font-display: 'Cinzel', Georgia, serif;
    --gci-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    font-family: var(--gci-font-body);
    color: var(--gci-text);
    background: var(--gci-bg);
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0;
    line-height: 1.5;
    border: 1px solid var(--gci-border);
    border-radius: 8px;
    overflow: hidden;
    box-sizing: border-box;
}

.gci-widget *,
.gci-widget *::before,
.gci-widget *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ─── Header ───────────────────────────────────────────────────── */
.gci-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 28px 32px 20px;
    border-bottom: 3px solid var(--gci-red);
    background: var(--gci-bg);
}

.gci-header__left {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gci-header__label {
    display: inline-block;
    background: var(--gci-red);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 3px;
    width: fit-content;
}

.gci-header__title {
    'Cinzel', Georgia, serif
    font-weight: 800;
    font-size: 32px;
    line-height: 1.2;
    color: var(--gci-text);
    margin-top: 6px;
}

.gci-header__right {
    flex-shrink: 0;
}

.gci-header__updated {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gci-text-muted);
    background: var(--gci-bg-alt);
    border: 1px solid var(--gci-border);
    padding: 4px 12px;
    border-radius: 4px;
    white-space: nowrap;
}

/* ─── Stat Strip ───────────────────────────────────────────────── */
.gci-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--gci-border);
    background: var(--gci-bg-alt);
}

.gci-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 12px;
    text-align: center;
    border-right: 1px solid var(--gci-border);
}

.gci-stats__item:last-child {
    border-right: none;
}

.gci-stats__value {
    'Cinzel', Georgia, serif
    font-weight: 800;
    font-size: 30px;
    line-height: 1;
    color: var(--gci-red);
}

.gci-stats__label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--gci-text-muted);
    margin-top: 6px;
}

/* ─── Top Cards (Barometer + Exposure) ─────────────────────────── */
.gci-top-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-bottom: 1px solid var(--gci-border);
}

.gci-card {
    padding: 24px 28px;
}

.gci-card--barometer {
    border-right: 1px solid var(--gci-border);
}

.gci-card__heading {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gci-text-muted);
    margin-bottom: 16px;
}

/* Barometer */
.gci-barometer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.gci-barometer__score {
    display: flex;
    align-items: baseline;
}

.gci-barometer__number {
    'Cinzel', Georgia, serif
    font-weight: 900;
    font-size: 56px;
    line-height: 1;
    color: var(--gci-red);
}

.gci-barometer__max {
    'Cinzel', Georgia, serif
    font-weight: 700;
    font-size: 24px;
    color: var(--gci-text-light);
}

.gci-barometer__level {
    display: inline-block;
    background: var(--gci-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: 4px;
}

.gci-barometer__bar-track {
    width: 100%;
    height: 10px;
    background: linear-gradient(90deg, var(--gci-gold) 0%, var(--gci-red) 100%);
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    opacity: 0.2;
}

.gci-barometer__bar-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--gci-gold) 0%, var(--gci-red) 100%);
    border-radius: 5px;
    opacity: 1;
}

/* Override: make the track a light gray, fill is the gradient */
.gci-barometer__bar-track {
    background: #e8e4de;
    opacity: 1;
}

.gci-barometer__bar-fill {
    background: linear-gradient(90deg, var(--gci-gold) 0%, var(--gci-red-light) 50%, var(--gci-red) 100%);
}

.gci-barometer__delta {
    font-size: 12px;
    font-weight: 600;
    color: var(--gci-red);
    background: rgba(192, 57, 43, 0.08);
    padding: 4px 12px;
    border-radius: 4px;
}

/* Exposure */
.gci-exposure {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gci-exposure__headline {
    'Cinzel', Georgia, serif
    font-weight: 800;
    font-size: 28px;
    line-height: 1.2;
    color: var(--gci-text);
}

.gci-exposure__detail {
    font-size: 14px;
    line-height: 1.5;
    color: var(--gci-text-muted);
}

.gci-exposure__detail:last-child {
    font-weight: 600;
    color: var(--gci-red);
}

/* ─── Body: Conflicts + Flashpoints ────────────────────────────── */
.gci-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.gci-conflicts {
    padding: 24px 28px;
    border-right: 1px solid var(--gci-border);
}

.gci-flashpoints {
    padding: 24px 28px;
}

.gci-section-heading {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gci-text-muted);
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gci-red);
}

/* ── Conflict List ─────────────────────────────────────────────── */
.gci-conflicts__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.gci-conflict {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--gci-border);
}

.gci-conflict:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.gci-conflict__header {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.gci-conflict__rank {
    font-size: 13px;
    font-weight: 700;
    color: var(--gci-text-light);
    min-width: 24px;
    font-variant-numeric: tabular-nums;
}

.gci-conflict__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--gci-text);
    flex: 1;
}

.gci-conflict__score {
    font-size: 13px;
    font-weight: 700;
    color: var(--gci-red);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Tags */
.gci-conflict__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gci-tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 2px 8px;
    border-radius: 3px;
    white-space: nowrap;
}

.gci-tag--region {
    background: var(--gci-bg-alt);
    color: var(--gci-text-muted);
    border: 1px solid var(--gci-border);
}

.gci-tag--type {
    background: var(--gci-bg-alt);
    color: var(--gci-text-muted);
    border: 1px solid var(--gci-border);
}

.gci-tag--status {
    background: transparent;
    border: 1px solid;
    /* border-color and color set inline via PHP */
}

/* Severity Bar */
.gci-severity-bar {
    width: 100%;
    height: 5px;
    background: #eee;
    border-radius: 3px;
    overflow: hidden;
}

.gci-severity-bar__fill {
    height: 100%;
    background: var(--gci-red);
    border-radius: 3px;
    transition: width 0.6s ease;
}

/* ── Flashpoint List ───────────────────────────────────────────── */
.gci-flashpoints__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gci-flashpoint {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gci-border);
}

.gci-flashpoint:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.gci-flashpoint__header {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.gci-flashpoint__rank {
    font-size: 13px;
    font-weight: 700;
    color: var(--gci-text-light);
    min-width: 24px;
    font-variant-numeric: tabular-nums;
}

.gci-flashpoint__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--gci-text);
    flex: 1;
}

.gci-flashpoint__prob {
    font-size: 14px;
    font-weight: 700;
    color: var(--gci-amber);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.gci-flashpoint__type {
    font-size: 11px;
    font-weight: 500;
    color: var(--gci-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Probability Bar */
.gci-prob-bar {
    width: 100%;
    height: 5px;
    background: #eee;
    border-radius: 3px;
    overflow: hidden;
}

.gci-prob-bar__fill {
    height: 100%;
    background: linear-gradient(90deg, var(--gci-gold), var(--gci-amber));
    border-radius: 3px;
    transition: width 0.6s ease;
}

/* ─── Footer ───────────────────────────────────────────────────── */
.gci-footer {
    padding: 16px 28px;
    background: var(--gci-bg-alt);
    border-top: 1px solid var(--gci-border);
}

.gci-footer p {
    font-size: 11px;
    color: var(--gci-text-light);
    line-height: 1.5;
}

/* ─── Responsive ───────────────────────────────────────────────── */
@media (max-width: 768px) {
    .gci-widget {
        margin: 1rem;
        border-radius: 6px;
    }

    .gci-header {
        flex-direction: column;
        gap: 12px;
        padding: 20px 20px 16px;
    }

    .gci-header__title {
        font-size: 24px;
    }

    .gci-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .gci-stats__item {
        padding: 16px 10px;
    }

    .gci-stats__item:nth-child(2) {
        border-right: none;
    }

    .gci-stats__item:nth-child(1),
    .gci-stats__item:nth-child(2) {
        border-bottom: 1px solid var(--gci-border);
    }

    .gci-stats__value {
        font-size: 24px;
    }

    .gci-top-cards {
        grid-template-columns: 1fr;
    }

    .gci-card--barometer {
        border-right: none;
        border-bottom: 1px solid var(--gci-border);
    }

    .gci-card {
        padding: 20px;
    }

    .gci-barometer__number {
        font-size: 44px;
    }

    .gci-exposure__headline {
        font-size: 22px;
    }

    .gci-body {
        grid-template-columns: 1fr;
    }

    .gci-conflicts {
        border-right: none;
        border-bottom: 1px solid var(--gci-border);
        padding: 20px;
    }

    .gci-flashpoints {
        padding: 20px;
    }

    .gci-footer {
        padding: 14px 20px;
    }
}

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

    .gci-stats__item {
        border-right: none;
        border-bottom: 1px solid var(--gci-border);
    }

    .gci-stats__item:last-child {
        border-bottom: none;
    }

    .gci-conflict__header {
        flex-wrap: wrap;
    }

    .gci-flashpoint__header {
        flex-wrap: wrap;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Global Conflict Index — MINI WIDGET (.gci-mini)
   Shortcode: [global_conflict_index_mini]
   Newspaper / minimalist — matches Unseen Front MDI aesthetic.
   Fonts: Cinzel (display) + Inter (body). Sharp corners, ruled lines.
   ═══════════════════════════════════════════════════════════════ */

.gci-mini {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 14px;
    color: #111;
    background: #fff;
    border: 2px solid #111;
    border-radius: 0;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}

.gci-mini *,
.gci-mini *::before,
.gci-mini *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ── Header ───────────────────────────────────────────────────── */
.gci-mini__header {
    padding: 14px 16px 12px;
    border-bottom: 2px solid #111;
}

.gci-mini__label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 5px;
}

.gci-mini__title {
    display: block;
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.15;
    color: #111;
    letter-spacing: 0.3px;
    margin-bottom: 4px;
}

.gci-mini__updated {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #555;
}

/* ── Section cards ────────────────────────────────────────────── */
.gci-mini__card {
    padding: 14px 16px 16px;
}

.gci-mini__card--barometer {
    background: #fff;
    border-bottom: 1px solid #ccc;
}

.gci-mini__card--exposure {
    background: #f5f5f5;
}

.gci-mini__card-label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 10px;
}

/* ── Barometer score row ──────────────────────────────────────── */
.gci-mini__baro-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.gci-mini__baro-score {
    display: flex;
    align-items: baseline;
    gap: 3px;
    line-height: 1;
}

/* Score number — color set via inline style by PHP based on severity */
.gci-mini__baro-number {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1px;
    /* color injected inline */
}

.gci-mini__baro-max {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #888;
    align-self: flex-end;
    padding-bottom: 6px;
}

/* Level badge — plain border box, no fill */
.gci-mini__baro-level {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: 1px solid #111;
    padding: 4px 9px;
    border-radius: 0;
    white-space: nowrap;
    align-self: center;
    /* color injected inline for the border+text */
}

/* Progress bar */
.gci-mini__bar-track {
    width: 100%;
    height: 5px;
    background: #e0e0e0;
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 10px;
}

.gci-mini__bar-fill {
    height: 100%;
    border-radius: 0;
    transition: width 0.4s ease;
    /* background color injected inline */
}

/* Delta line */
.gci-mini__baro-delta {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: #555;
    letter-spacing: 0.3px;
}

/* ── Conflict Exposure ────────────────────────────────────────── */
.gci-mini__exp-headline {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    color: #111;
    margin-bottom: 6px;
    letter-spacing: 0.2px;
}

.gci-mini__exp-detail {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: #555;
    line-height: 1.5;
    margin-bottom: 12px;
}

.gci-mini__exp-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.gci-mini__exp-stat {
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 0;
    padding: 10px 12px;
}

.gci-mini__exp-stat-value {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700;
    font-size: 18px;
    color: #111;
    line-height: 1;
}

.gci-mini__exp-stat-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #555;
    line-height: 1.3;
}

/* ── Footer ───────────────────────────────────────────────────── */
.gci-mini__footer {
    padding: 0 0 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: #888;
    background: #fff;
    border-top: 1px solid #ccc;
    line-height: 1.4;
}

.gci-mini__footer-sources {
    display: block;
    padding: 8px 16px 0;
    color: #888;
    font-size: 11px;
}

/* ── Rankings Link — matches MDI "Full Rankings →" style ──────── */
.gci-mini__rankings-btn {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #C0392B;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.gci-mini__rankings-btn:hover {
    text-decoration: underline;
    color: #8B0000;
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 380px) {
    .gci-mini__baro-number { font-size: 40px; }
    .gci-mini__exp-headline { font-size: 16px; }
    .gci-mini__title { font-size: 18px; }
    .gci-mini__footer { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* ═══════════════════════════════════════════════════════════════
   THE UNSEEN DIMENSION — Full Widget Section (.gci-unseen)
   ═══════════════════════════════════════════════════════════════ */

.gci-unseen {
    border-top: 2px solid #111;
    margin-top: 0;
}

/* ── Section Header ───────────────────────────────────────────── */
.gci-unseen__header {
    padding: 20px 20px 16px;
    background: #111;
    color: #fff;
}

.gci-unseen__eyebrow {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 6px;
}

.gci-unseen__title {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700;
    font-size: 22px;
    color: #fff;
    margin: 0 0 10px 0;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.gci-unseen__subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #aaa;
    margin: 0;
    line-height: 1.6;
    font-style: italic;
}

/* ── World Analysis Block ─────────────────────────────────────── */
.gci-unseen__world {
    padding: 20px;
    background: #1a1a1a;
    border-bottom: 1px solid #333;
}

.gci-unseen__world-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #C0392B;
    margin-bottom: 12px;
}

.gci-unseen__world-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #ddd;
    line-height: 1.8;
}

/* ── Conflict Grid ────────────────────────────────────────────── */
.gci-unseen__conflicts {
    padding: 20px;
    background: #fff;
}

.gci-unseen__conflicts-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
}

.gci-unseen__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 640px) {
    .gci-unseen__grid {
        grid-template-columns: 1fr;
    }
}

/* ── Individual Conflict Entry ────────────────────────────────── */
.gci-unseen__entry {
    border: 1px solid #e0e0e0;
    border-left: 3px solid #111;
    padding: 12px 14px;
    background: #fafafa;
}

.gci-unseen__entry-header {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.gci-unseen__entry-rank {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #888;
    flex-shrink: 0;
}

.gci-unseen__entry-name {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 600;
    font-size: 13px;
    color: #111;
    flex: 1;
    line-height: 1.3;
}

.gci-unseen__entry-status {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: 1px solid currentColor;
    padding: 2px 6px;
    white-space: nowrap;
    flex-shrink: 0;
}

.gci-unseen__entry-note {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #333;
    line-height: 1.65;
    margin: 0 0 8px 0;
}

/* ── Expandable Deeper Analysis ───────────────────────────────── */
.gci-unseen__details {
    margin-top: 4px;
}

.gci-unseen__details-toggle {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #C0392B;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.gci-unseen__details-toggle::-webkit-details-marker {
    display: none;
}

.gci-unseen__details-toggle::before {
    content: '+ ';
}

.gci-unseen__details[open] .gci-unseen__details-toggle::before {
    content: '- ';
}

.gci-unseen__details-text {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #444;
    line-height: 1.7;
    margin: 10px 0 0 0;
    padding-top: 10px;
    border-top: 1px solid #e0e0e0;
}

/* ═══════════════════════════════════════════════════════════════
   MEMBERSHIP GATE (.gci-gate-*)
   Shown to non-members in place of [global_conflict_index]
   Matches MDI gate aesthetic exactly.
   ═══════════════════════════════════════════════════════════════ */

.gci-gate-full {
    font-family: 'Inter', -apple-system, sans-serif;
    border: 2px solid #111;
    overflow: hidden;
    background: #fff;
}

/* ── Teaser preview ───────────────────────────────────────────── */
.gci-gate-preview {
    position: relative;
    background: #f5f5f5;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
}

.gci-gate-preview-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #C0392B;
    padding: 10px 16px 7px;
    border-bottom: 1px solid #ddd;
    display: block;
}

.gci-gate-preview-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

.gci-gate-preview-rank {
    color: #888;
    font-size: 11px;
    min-width: 28px;
    flex-shrink: 0;
    font-family: 'Inter', sans-serif;
}

.gci-gate-preview-name {
    flex: 1;
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 600;
    font-size: 13px;
    color: #111;
}

.gci-gate-preview-score {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700;
    font-size: 14px;
}

.gci-gate-blurred {
    opacity: 0.3;
    filter: blur(4px);
    user-select: none;
    pointer-events: none;
}

.gci-gate-preview-fade {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 70px;
    background: linear-gradient(transparent, #f5f5f5);
}

/* ── CTA block ────────────────────────────────────────────────── */
.gci-gate-cta {
    padding: 28px 24px 32px;
}

.gci-gate-headline {
    font-family: 'Cinzel', Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin: 0 0 10px;
    letter-spacing: 0.3px;
    line-height: 1.3;
}

.gci-gate-sub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #444;
    margin: 0 0 18px;
    line-height: 1.6;
}

.gci-gate-features {
    margin: 0 0 24px;
    padding: 0 0 0 18px;
    list-style: disc;
}

.gci-gate-features li {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #333;
    padding: 4px 0;
    line-height: 1.5;
}

.gci-gate-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 360px;
}

.gci-gate-btn-primary {
    display: block;
    padding: 13px 22px;
    background: #111;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    border-radius: 0;
    transition: background 0.15s ease;
}

.gci-gate-btn-primary:hover {
    background: #C0392B;
    text-decoration: none !important;
}

.gci-gate-btn-secondary {
    display: block;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #666 !important;
    text-decoration: none !important;
    padding: 8px 0;
    border-top: 1px solid #eee;
    transition: color 0.15s ease;
}

.gci-gate-btn-secondary:hover {
    color: #111 !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   MINI WIDGET — UPGRADED "View Full Index" CTA BUTTON
   Replaces the small plain text link with a visible button
   ═══════════════════════════════════════════════════════════════ */

.gci-mini__rankings-cta {
    display: block;
    width: 100%;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #fff !important;
    background: #111;
    text-decoration: none !important;
    padding: 10px 16px;
    margin-bottom: 8px;
    border-radius: 0;
    transition: background 0.15s ease;
}

.gci-mini__rankings-cta:hover {
    background: #C0392B;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   CONFLICT MAP (.gci-map-*)
   ═══════════════════════════════════════════════════════════════ */

.gci-map-section {
    border-top: 1px solid #e0e0e0;
    padding: 0;
    background: #111;
}

.gci-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 20px 10px;
    border-bottom: 1px solid #2a2a2a;
}

.gci-map-header .gci-section-heading {
    color: #aaa;
    margin: 0;
    border: none;
    padding: 0;
}

.gci-map-legend {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.gci-map-legend__item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.5px;
    color: #888;
    text-transform: uppercase;
}

.gci-map-dot {
    display: inline-block;
    border-radius: 50%;
    flex-shrink: 0;
}

.gci-map-container {
    width: 100%;
    height: 400px;
    background: #0d1117;
}

/* Leaflet popup styled to match widget theme */
.gci-leaflet-popup .leaflet-popup-content-wrapper {
    background: #fff;
    border: 1px solid #111;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    padding: 0;
}

.gci-leaflet-popup .leaflet-popup-tip {
    background: #fff;
}

.gci-leaflet-popup .leaflet-popup-content {
    margin: 0;
}

.gci-map-popup {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    padding: 10px 14px;
    max-width: 240px;
}

.gci-map-popup strong {
    font-family: 'Cinzel', Georgia, serif;
    font-size: 13px;
    font-weight: 700;
    color: #111;
    display: block;
    margin-bottom: 5px;
    line-height: 1.3;
}

.gci-map-popup p {
    color: #444;
    font-size: 12px;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 600px) {
    .gci-map-container { height: 280px; }
}

/* ═══════════════════════════════════════════════════════════════
   THIS WEEK'S MAJOR UPDATES (.gci-updates)
   ═══════════════════════════════════════════════════════════════ */

.gci-updates {
    padding: 16px 20px 20px;
    background: #fff;
    border-top: 2px solid #111;
}

.gci-updates__list {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
}

.gci-updates__item {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #222;
    line-height: 1.7;
    padding: 10px 0 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.gci-updates__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 60%;
    background: #C0392B;
}

.gci-updates__item:last-child {
    border-bottom: none;
}

