:root { --brand: #1E3A5F; --brand-2: #1E3A5F; }
body { background: #f5f7fa; }
.bg-brand { background: var(--brand); }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: #173c5d; --bs-btn-hover-border-color: #173c5d; }
a { color: var(--brand-2); }
.card { border: 0; box-shadow: 0 1px 3px rgba(16, 24, 40, .08); }
.course-card { transition: box-shadow .15s; }
.course-card:hover { box-shadow: 0 4px 14px rgba(16, 24, 40, .12); }
.seats-bar { height: 6px; }
.table th { white-space: nowrap; font-weight: 600; }
.stat { font-size: 1.75rem; font-weight: 600; line-height: 1.1; }
.attendance-table td, .attendance-table th { text-align: center; vertical-align: middle; }
.attendance-table td:first-child, .attendance-table th:first-child { text-align: left; }
.text-pre { white-space: pre-line; }
.brand-logo { max-height: 34px; max-width: 170px; object-fit: contain; background: #fff; border-radius: 6px; padding: 2px 5px; }
.legal-text h2 { font-size: 1.15rem; margin-top: 1.5rem; }
.front-intro p:last-child, .front-intro ul:last-child { margin-bottom: 0; }

/* Asiakkaan pääväri myös navigaatioon, lomakkeisiin ja korostuksiin */
.nav-link { color: var(--brand-2); }
.nav-link:hover, .nav-link:focus { color: var(--brand); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--brand); }
.nav-tabs .nav-link.active { color: #212529; }
.navbar-dark .nav-link { color: rgba(255, 255, 255, .75); }
.navbar-dark .nav-link:hover, .navbar-dark .nav-link.active { color: #fff; }
.btn-outline-primary { --bs-btn-color: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand);
                       --bs-btn-hover-border-color: var(--brand); --bs-btn-active-bg: var(--brand); --bs-btn-active-border-color: var(--brand); }
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }
.page-link { color: var(--brand-2); }
.active > .page-link, .page-link.active { background-color: var(--brand); border-color: var(--brand); }
