/**
 * ZorgCursus Brand Style — DigiD Thema (SCHOON)
 * DONKER: Zwart (#0a0a0a) achtergrond, Oranje (#FF8C00) accenten, Wit (#fff) tekst
 * 1 bestand, 0 overrides.
 */

:root {
    --zc-bg: #0a0a0a;
    --zc-bg-card: #111111;
    --zc-bg-input: #1a1a1a;
    --zc-text: #ffffff;
    --zc-text-muted: #b0b0b0;
    --zc-text-subtle: #888888;
    --zc-primary: #FF8C00;
    --zc-primary-hover: #E67E00;
    --zc-primary-glow: rgba(255, 140, 0, 0.25);
    --zc-border: rgba(255, 255, 255, 0.08);
    --zc-border-accent: rgba(255, 140, 0, 0.3);
}

/* ═══ BODY ═══ */
body, body.zorgcursus-branding {
    font-family: 'Montserrat', -apple-system, sans-serif;
    background: var(--zc-bg) !important;
    color: var(--zc-text) !important;
    overflow-x: hidden; line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 { color: #fff !important; font-family: 'Poppins', sans-serif; }
h2, h3 { color: #FF8C00 !important; }
p, .lead, span, li, td, th, label, small, dd, dt { color: rgba(255,255,255,0.9); }
a:not(.btn):not(.nav-link):not(.btn-zorg):not(.btn-zorg-outline):not(.btn-inschrijven):not(.other-city-link):not(.pc-link):not(.city-card):not(.kb-cat-btn):not(.sidebar-nav-link):not([class*="btn-"]):not([style*="background"]) { color: #FF8C00; }
a:not(.btn):not(.nav-link):not([class*="btn-"]):not([style*="background"]):hover { color: #ff9f1a; }
.text-muted { color: var(--zc-text-muted) !important; }
.text-white { color: #fff !important; }
.text-white-50 { color: rgba(255,255,255,0.6) !important; }
.text-warning { color: #FF8C00 !important; }

.skip-link { position: absolute; top: -3rem; left: 0.5rem; z-index: 10000; padding: 0.5rem 1rem; background: var(--zc-primary); color: #fff !important; font-weight: 600; text-decoration: none; border-radius: 0.25rem; }
.skip-link:focus { top: 0.5rem; outline: 2px solid #fff; }

/* ═══ NAV ═══ */
.nav, nav#navbar { background: #000 !important; border-bottom: 2px solid #FF8C00 !important; box-shadow: 0 2px 20px rgba(0,0,0,0.5) !important; position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 0 20px; height: 60px; }
.nav *, .nav-link, .nav .logo span { color: #fff !important; }
.nav-link:hover, .nav-link.active { color: #FF8C00 !important; }
.nav .logo i { color: #FF8C00 !important; }
.nav .btn-primary { background: #FF8C00 !important; color: #fff !important; }
.nav .btn-secondary { border-color: #FF8C00 !important; color: #FF8C00 !important; }
.mobile-sidebar { background: #0a0a0a !important; }
.mobile-sidebar * { color: #fff !important; }
.sidebar-nav-link:hover { color: #FF8C00 !important; background: rgba(255,140,0,0.1) !important; }

/* ═══ HERO ═══ */
.zc-hero, .zc-hero-v2 { min-height: 100vh; padding-top: 100px; display: flex; align-items: center; background: linear-gradient(135deg, #0a0a0a, #1a1a2e); position: relative; overflow: hidden; }
.zc-hero *, .zc-hero h1, .zc-hero h2, .zc-hero p, .zc-hero .lead, .zc-hero span { color: #fff !important; }
.zc-hero .container { position: relative; z-index: 3; }
.zc-hero-v2 .zc-hero-badge { display: inline-block; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #fff !important; margin-bottom: 0.75rem; padding: 0.35rem 0.9rem; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); border-radius: 2rem; }
.zc-hero-v2 .zc-hero-title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; color: #fff !important; margin: 0 0 1rem; line-height: 1.15; text-shadow: 0 2px 20px rgba(0,0,0,0.5); }
.zc-hero-v2 .zc-hero-subtitle { font-size: clamp(1rem, 2vw, 1.2rem); color: #fff !important; max-width: 32rem; margin: 0 auto 2rem; line-height: 1.6; }
.zc-hero-v2 .zc-hero-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.zc-hero-v2 .zc-hero-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.75rem; font-size: 1rem; font-weight: 600; border-radius: 0.5rem; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; }
.zc-hero-v2 .zc-hero-btn-primary { background: #FF8C00 !important; color: #fff !important; border: 2px solid #fff !important; }
.zc-hero-v2 .zc-hero-btn-primary:hover { background: #fff !important; color: #FF8C00 !important; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.3); }
.zc-hero-v2 .zc-hero-btn-outline { background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,0.8) !important; }
.zc-hero-v2 .zc-hero-btn-outline:hover { background: rgba(255,255,255,0.15) !important; transform: translateY(-2px); }
@media (max-width: 575px) { .zc-hero-v2 .zc-hero-buttons { flex-direction: column; } .zc-hero-v2 .zc-hero-btn { width: 100%; justify-content: center; } }

.zc-hero-bg { position: absolute; inset: 0; opacity: 0.35; z-index: 0; }
.zc-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.zc-hero-slider { opacity: 0.35; overflow: hidden; }
.zc-hero-slider .zc-hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.zc-hero-slider .zc-hero-slide.active { opacity: 1; z-index: 1; }
.zc-hero-slider .zc-hero-slide img { width: 100%; height: 100%; object-fit: cover; }
.zc-hero-overlay { position: absolute; inset: 0; z-index: 2; background: linear-gradient(to bottom, rgba(0,0,0,0.6), rgba(0,0,0,0.4)); }

.hero, .kb-hero, .reg-hero, .regio-hero { padding-top: 100px !important; }
.hero *, .kb-hero *, .reg-hero *, .regio-hero * { color: #fff !important; }

/* ═══ CARDS ═══ */
.card, .zc-card { background: var(--zc-bg-card) !important; border: 1px solid var(--zc-border-accent) !important; border-radius: 0.75rem; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; color: #fff; }
.card:hover, .zc-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(255,140,0,0.15) !important; border-color: #FF8C00 !important; }
.card-title, .card h3, .card h4 { color: #fff !important; }
.card-text, .card p { color: rgba(255,255,255,0.8) !important; }
.card small, .card .text-muted { color: var(--zc-text-muted) !important; }
.card-body { background: var(--zc-bg-card); }
.zc-card-img { width: 100%; height: 200px; object-fit: cover; }
.badge-zc { background: rgba(255,140,0,0.3); color: #fff; font-size: 0.75rem; padding: 0.25rem 0.6rem; border-radius: 1rem; }

.provider-card { background: var(--zc-bg-card) !important; border: 1px solid var(--zc-border-accent) !important; border-radius: 14px; padding: 24px; }
.provider-card:hover { border-color: #FF8C00 !important; }
.provider-card .pc-name { color: #fff !important; }
.provider-card .pc-desc { color: var(--zc-text-muted) !important; }
.provider-card .pc-meta { color: var(--zc-text-subtle) !important; }
.provider-card .pc-link { background: #FF8C00; color: #fff !important; border-radius: 8px; padding: 8px 16px; font-weight: 600; }
.provider-card .pc-accred span { background: rgba(255,140,0,0.2); color: #FF8C00; }

.agenda-card, .featured-card, .course-card { background: var(--zc-bg-card) !important; color: #fff; }
.agenda-card h3, .featured-card h3 { color: #fff !important; }
.agenda-card p, .featured-card p { color: var(--zc-text-muted) !important; }

.kb-item { background: var(--zc-bg-card) !important; border-radius: 12px; border: 1px solid var(--zc-border) !important; }
.kb-question { color: #fff !important; }
.kb-question:hover { background: rgba(255,140,0,0.08) !important; }
.kb-answer { color: var(--zc-text-muted) !important; }
.kb-article-card { background: var(--zc-bg-card) !important; }
.kb-article-card h3 a { color: #fff !important; }
.kb-article-card p { color: var(--zc-text-muted) !important; }
.kb-stat { background: var(--zc-bg-card) !important; }
.kb-stat .num { color: #FF8C00 !important; }
.kb-stat .lbl { color: var(--zc-text-muted) !important; }
.kb-section-header h2 { color: #FF8C00 !important; }
.kb-cat-btn { background: var(--zc-bg-card) !important; color: var(--zc-text-muted) !important; border: 2px solid var(--zc-border) !important; }
.kb-cat-btn:hover { border-color: #FF8C00 !important; color: #FF8C00 !important; }
.kb-cat-btn.active { background: #FF8C00 !important; color: #fff !important; border-color: #FF8C00 !important; }

.stat-card { background: var(--zc-bg-card) !important; border: 1px solid var(--zc-border-accent) !important; }
.regio-card, .city-card { background: var(--zc-bg-card) !important; border: 1px solid var(--zc-border-accent) !important; }
.regio-card h3, .city-card h3 { color: #fff !important; }
.regio-card p, .city-card p { color: var(--zc-text-muted) !important; }

/* ═══ KNOPPEN ═══ */
.btn-primary, .btn-zc-primary, .btn-login, button[type="submit"], .btn-submit, a.btn-primary { background: #FF8C00 !important; color: #fff !important; border-color: #FF8C00 !important; font-weight: 600; border-radius: 8px; }
.btn-primary:hover, .btn-zc-primary:hover { background: #e67e00 !important; transform: translateY(-2px); }
.btn-zc-outline, .btn-outline-primary { background: transparent !important; color: #FF8C00 !important; border: 2px solid #FF8C00 !important; }
.btn-zc-outline:hover, .btn-outline-primary:hover { background: #FF8C00 !important; color: #fff !important; }
.btn-secondary { border-color: #FF8C00 !important; color: #FF8C00 !important; background: transparent !important; }
.btn-light { background: #fff !important; color: #FF8C00 !important; }
.btn-outline-light { color: #fff !important; border-color: rgba(255,255,255,0.6) !important; background: transparent !important; }
.btn-outline-light:hover { background: rgba(255,255,255,0.15) !important; }

/* ═══ FORMULIEREN ═══ */
input:not([type="checkbox"]):not([type="radio"]), textarea, select, .form-control, .form-select { background: var(--zc-bg-input) !important; color: #fff !important; border: 2px solid var(--zc-border-accent) !important; border-radius: 10px; }
input:focus, textarea:focus, select:focus, .form-control:focus { border-color: #FF8C00 !important; box-shadow: 0 0 0 3px var(--zc-primary-glow) !important; }
input::placeholder, textarea::placeholder { color: var(--zc-text-subtle) !important; }

/* ═══ SECTIES ═══ */
.zc-section { padding: 5rem 0; }
section h2, section h3 { color: #FF8C00 !important; }
section p { color: rgba(255,255,255,0.85); }
.zc-cta, .kb-cta { color: #fff !important; }
.zc-cta *, .kb-cta * { color: #fff !important; }
.zc-cta a.btn, .kb-cta a.btn { background: #fff !important; color: #FF8C00 !important; }
.display-4, .fw-bold.display-4 { color: #FF8C00 !important; }

/* ═══ FOOTER ═══ */
.zorgcursus-footer { background: #000 !important; color: rgba(255,255,255,0.8) !important; border-top: 2px solid #FF8C00; }
.zorgcursus-footer *, .zorgcursus-footer p, .zorgcursus-footer a { color: rgba(255,255,255,0.7) !important; }
.zorgcursus-footer a:hover { color: #FF8C00 !important; }

/* ═══ TABELLEN ═══ */
table, .table { color: #fff; }
th { background: rgba(255,140,0,0.15) !important; color: #FF8C00 !important; }
td { color: rgba(255,255,255,0.85); border-color: var(--zc-border) !important; }

/* ═══ BADGES ═══ */
.badge.bg-secondary, .badge.bg-dark { background: rgba(255,140,0,0.25) !important; color: #FF8C00 !important; }
.tag, .blog-tag { background: rgba(255,140,0,0.2) !important; color: #FF8C00 !important; }

/* ═══ LOGIN ═══ */
.login-form-side { background: #0a0a0a; }
.login-form { background: var(--zc-bg-card) !important; }
.login-form h2, .login-logo h1 { color: #fff !important; }
.login-form p, .login-footer, .login-logo p { color: var(--zc-text-muted) !important; }
.login-visual, .login-visual * { color: #fff !important; }

/* ═══ BLOG ═══ */
.blog-card, .blog-post { background: var(--zc-bg-card) !important; border: 1px solid var(--zc-border) !important; border-radius: 12px; }
.blog-card h3, .blog-post h2 { color: #fff !important; }
.blog-card p { color: var(--zc-text-muted) !important; }

/* ═══ ALERTS ═══ */
.alert-error { background: rgba(198,40,40,0.15); color: #ef9a9a; border: 1px solid rgba(198,40,40,0.3); }
.alert-success { background: rgba(46,125,50,0.15); color: #a5d6a7; border: 1px solid rgba(46,125,50,0.3); }

/* ═══ ADMIN ═══ */
.admin-nav { background: #111 !important; }
.admin-nav * { color: #fff !important; }
.admin-menu a.active { border-left: 3px solid #FF8C00; background: rgba(255,140,0,0.15); }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 768px) { .zc-hero { padding-top: 80px; min-height: 80vh; } .nav { height: 55px; } }

/* ═══ BOOTSTRAP CLASS OVERRIDES voor donker thema ═══ */
.text-primary { color: #FF8C00 !important; }
.text-secondary { color: #b0b0b0 !important; }
.text-dark { color: #fff !important; }
.text-body { color: #fff !important; }
.text-body-secondary { color: #999 !important; }
.text-body-tertiary { color: #888 !important; }
.bg-light { background: #111 !important; }
.bg-white { background: #111 !important; }
.bg-body { background: #0a0a0a !important; }
.bg-body-secondary { background: #111 !important; }
.border { border-color: rgba(255,140,0,0.15) !important; }
.border-bottom { border-bottom-color: rgba(255,140,0,0.15) !important; }
.shadow-sm { box-shadow: 0 2px 8px rgba(255,140,0,0.08) !important; }
.shadow { box-shadow: 0 4px 16px rgba(255,140,0,0.1) !important; }
