/**
 * Public sponsor pages — [scoreboard_sponsors] and [scoreboard_sponsors valley="1"]
 *
 * @version 1.5.0
 * CHANGELOG
 * 1.5.0 (2026-10-29) - New. Self-contained dark panel (works on white themes
 *                      like Blog Over). Valley page gets the green treatment.
 */

.bsb-sponsor-dir {
    --bsb-bg:      #111827;
    --bsb-surface: #1E293B;
    --bsb-border:  #334155;
    --bsb-green:   #178508;
    --bsb-led:     #3fd42a;
    --bsb-amber:   #FFB000;
    --bsb-muted:   #94a3b8;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: var(--bsb-bg);
    color: #fff;
    border: 1px solid var(--bsb-border);
    border-top: 4px solid var(--bsb-amber);
    border-radius: 12px;
    padding: 24px;
    margin: 0 0 24px;
}
.bsb-sponsor-dir.is-valley { border-top-color: var(--bsb-green); }
.bsb-sponsor-dir *, .bsb-sponsor-dir *::before, .bsb-sponsor-dir *::after { box-sizing: border-box; }

.bsb-sponsor-dir .bsb-dir-title {
    font-family: inherit !important;
    font-size: 26px; font-weight: 800; letter-spacing: -0.02em;
    color: #fff; margin: 0 0 6px;
}
.bsb-dir-intro { color: #cbd5e1; margin: 0 0 20px; max-width: 720px; }
.bsb-dir-empty { color: var(--bsb-muted); margin: 0; }

.bsb-dir-group { margin-top: 22px; }
.bsb-dir-group:first-of-type { margin-top: 6px; }
.bsb-sponsor-dir .bsb-dir-group-title {
    font-family: 'DM Mono', ui-monospace, monospace !important;
    font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
    color: #cbd5e1; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--bsb-border);
}
.bsb-dir-group-title span { color: var(--bsb-muted); margin-left: 6px; }
.is-valley .bsb-dir-group-title { color: var(--bsb-led); }

.bsb-dir-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}
.bsb-sponsor-dir .bsb-dir-card {
    display: flex; gap: 14px; align-items: center;
    padding: 14px;
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: 10px;
    color: #fff; text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.bsb-sponsor-dir a.bsb-dir-card:hover { border-color: var(--bsb-amber); transform: translateY(-2px); color: #fff; }
.bsb-sponsor-dir.is-valley a.bsb-dir-card:hover,
.bsb-sponsor-dir a.bsb-dir-card.is-valley:hover { border-color: var(--bsb-green); }

.bsb-dir-logo {
    flex: none; width: 64px; height: 64px; border-radius: 8px;
    background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.bsb-dir-logo img { max-width: 56px; max-height: 56px; object-fit: contain; }
.bsb-dir-logo span { font-size: 26px; font-weight: 800; color: var(--bsb-bg); }
.bsb-dir-body { min-width: 0; }
.bsb-dir-name { font-weight: 700; font-size: 16px; line-height: 1.25; }
.bsb-dir-tagline { font-size: 13px; color: #cbd5e1; margin-top: 2px; }
.bsb-dir-meta { font-size: 12px; color: var(--bsb-muted); margin-top: 4px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.bsb-dir-badge {
    font: 500 10px/1 'DM Mono', ui-monospace, monospace; letter-spacing: 0.08em; text-transform: uppercase;
    padding: 3px 6px; border-radius: 4px; background: rgba(23, 133, 8, 0.2); color: var(--bsb-led);
}
.bsb-dir-supports { font-size: 12px; color: var(--bsb-muted); margin-top: 4px; }
.bsb-dir-supports b { color: #fff; font-weight: 600; }

.bsb-dir-powered {
    margin-top: 18px; text-align: right;
    font: 11px 'DM Mono', ui-monospace, monospace; color: var(--bsb-muted);
}
.bsb-dir-powered span { color: #fff; font-family: 'Inter', sans-serif; font-weight: 600; }
.bsb-dir-powered b { color: var(--bsb-green); }

@media (max-width: 560px) {
    .bsb-sponsor-dir { padding: 16px; }
    .bsb-dir-grid { grid-template-columns: 1fr; }
}
