/* IBC Académico — paleta institucional (logo) */
:root {
    --ibc-wine: #8F1D1D;
    --ibc-wine-dark: #6E1515;
    --ibc-wine-deep: #5C1010;
    --ibc-wine-hover: #A32424;
    --ibc-wine-active: #A82828;

    --ibc-red: #B3312D;
    --ibc-red-50: #F8EEED;

    --ibc-blue: #2E6FB7;
    --ibc-blue-dark: #1E5A9A;
    --ibc-blue-50: #EEF4FA;

    --ibc-gold: #D29A2E;
    --ibc-gold-bright: #E0B24F;

    --ibc-purple: #8A3A8E;

    --ibc-white: #FFFFFF;
    --ibc-bg: #FAFAFA;
    --ibc-ink: #2A1212;
    --ibc-muted: #6B3A3A;
    --ibc-line: #F0E4E4;
}

html { color-scheme: light; }

body.ibc-body {
    font-family: 'Source Sans 3', system-ui, sans-serif;
    background: var(--ibc-bg) !important;
    color: var(--ibc-ink);
}

.font-display { font-family: 'Fraunces', Georgia, serif; }

.ibc-stripe { display: flex; height: 4px; width: 100%; }
.ibc-stripe span:nth-child(1) { flex: 1; background: var(--ibc-red); }
.ibc-stripe span:nth-child(2) { flex: 1; background: var(--ibc-blue); }
.ibc-stripe span:nth-child(3) { flex: 1; background: var(--ibc-gold); }
.ibc-stripe span:nth-child(4) { flex: 1; background: var(--ibc-purple); }

.ibc-card {
    background: var(--ibc-white);
    border: 1px solid var(--ibc-line);
    border-radius: 1rem;
}

.ibc-btn-primary {
    background: var(--ibc-blue) !important;
    color: var(--ibc-white) !important;
}
.ibc-btn-primary:hover { background: var(--ibc-blue-dark) !important; }

.ibc-alert-ok {
    border: 1px solid #C5DDF0;
    background: var(--ibc-blue-50);
    color: var(--ibc-blue-dark);
    border-left: 4px solid var(--ibc-gold);
}

.ibc-badge-ok {
    background: var(--ibc-blue-50);
    color: var(--ibc-blue-dark);
}

/* Sidebar: rojo vino + texto blanco. Colores en hex para no depender de Tailwind. */
.ibc-sidebar {
    background: var(--ibc-wine) !important;
    color: #FFFFFF !important;
}

.ibc-sidebar a,
.ibc-sidebar button,
.ibc-sidebar p,
.ibc-sidebar span,
.ibc-sidebar .font-display {
    color: inherit;
}

.ibc-nav-label {
    color: var(--ibc-gold) !important;
    letter-spacing: 0.14em;
}

.ibc-sidebar-link {
    color: #FFFFFF !important;
    background: transparent;
}

.ibc-sidebar-link:hover {
    background: var(--ibc-wine-hover) !important;
    color: #FFFFFF !important;
}

.ibc-sidebar-link.is-active {
    background: var(--ibc-wine-dark) !important;
    color: #FFFFFF !important;
    box-shadow: inset 4px 0 0 var(--ibc-gold);
    border-left: 4px solid var(--ibc-gold);
    font-weight: 600;
}

.ibc-sidebar .ibc-wordmark-title { color: #FFFFFF !important; }
.ibc-sidebar .ibc-wordmark-sub { color: #FFE9B0 !important; }

.ibc-topbar {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ibc-line);
    box-shadow: 0 1px 0 var(--ibc-gold);
}

.ibc-login-panel {
    background:
        radial-gradient(circle at top right, rgba(210, 154, 46, 0.22), transparent 42%),
        var(--ibc-wine) !important;
    color: #FFFFFF !important;
}

.ibc-login-panel h1,
.ibc-login-panel .font-display,
.ibc-login-panel .ibc-wordmark-title { color: #FFFFFF !important; }
.ibc-login-panel .ibc-wordmark-sub { color: #FFE9B0 !important; }

body.ibc-body main h1,
body.ibc-body main h2.font-display {
    color: var(--ibc-wine);
}

<img.ibc-logo-img {
    object-fit: contain;
    object-position: center;
}

.ibc-input:focus,
input.ibc-input:focus {
    outline: none;
    border-color: var(--ibc-blue) !important;
    box-shadow: 0 0 0 3px rgba(46, 111, 183, 0.22);
}

.ibc-offering-card {
    background: #FFFFFF;
    border: 1px solid var(--ibc-line);
    box-shadow: 0 10px 24px rgba(143, 29, 29, 0.06);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ibc-offering-card:hover {
    transform: translateY(-2px);
    border-color: var(--ibc-gold);
    box-shadow: 0 14px 28px rgba(46, 111, 183, 0.12);
}
.ibc-offering-card .ibc-card-accent { height: 6px; }
.ibc-offering-card:nth-child(3n+1) .ibc-card-accent { background: var(--ibc-blue); }
.ibc-offering-card:nth-child(3n+2) .ibc-card-accent { background: var(--ibc-gold); }
.ibc-offering-card:nth-child(3n+3) .ibc-card-accent { background: var(--ibc-purple); }
