/* ============================================================
   Cinerius Corporate Identity — Theme Overrides
   Palette aus cinerius.com (Elementor Global Colors)
   Schriften via Bunny Fonts (DSGVO-konform) als Open-Source-
   Pendant zu Cinerius' kommerzieller "Araboto"
   ============================================================ */

:root {
    /* Cinerius brand palette */
    --ci-primary:     #002B3B;
    --ci-primary-rgb: 0, 43, 59;
    --ci-primary-700: #001f2c;
    --ci-primary-100: #d6dde0;
    --ci-cream:       #E8E7E3;
    --ci-cream-soft:  #F4F3EF;
    --ci-copper:      #CA6511;
    --ci-copper-hover:#a85209;
    --ci-peach:       #FFBC7D;
    --ci-sage:        #85B09A;
    --ci-slate:       #71889E;

    /* Map onto Bootstrap CSS variables */
    --bs-primary:        var(--ci-primary);
    --bs-primary-rgb:    var(--ci-primary-rgb);
    --bs-dark:           var(--ci-primary);
    --bs-dark-rgb:       var(--ci-primary-rgb);
    --bs-link-color:     var(--ci-primary);
    --bs-link-hover-color: var(--ci-copper);
    --bs-body-color:     #1a2c34;
    --bs-body-font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --bs-heading-color:  var(--ci-primary);
}

/* ─── Typography ───────────────────────────────────────────── */

html, body {
    font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: #1a2c34;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.masthead-heading {
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 700;
    color: var(--ci-primary);
    letter-spacing: -0.01em;
}

.font-serif {
    font-family: 'Source Serif 4', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
}

/* ─── Dark surfaces (masthead, navbar, footer) ─────────────── */

.bg-dark,
.navbar-dark,
.top-app-bar.bg-dark,
header.masthead.bg-dark {
    background-color: var(--ci-primary) !important;
    background-image: linear-gradient(180deg, var(--ci-primary) 0%, var(--ci-primary-700) 100%);
}

.bg-dark .text-muted,
.navbar-dark .text-muted {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* ─── Buttons ──────────────────────────────────────────────── */

.btn-primary,
.btn-dark {
    background-color: var(--ci-primary);
    border-color: var(--ci-primary);
    color: #fff;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-dark:hover, .btn-dark:focus, .btn-dark:active {
    background-color: var(--ci-copper) !important;
    border-color: var(--ci-copper) !important;
    color: #fff !important;
}

.btn-outline-primary, .btn-outline-dark {
    color: var(--ci-primary);
    border-color: var(--ci-primary);
}

.btn-outline-primary:hover,
.btn-outline-dark:hover {
    background-color: var(--ci-primary);
    border-color: var(--ci-primary);
    color: #fff;
}

.btn-masthead {
    background-color: var(--ci-copper);
    border-color: var(--ci-copper);
    color: #fff;
}

.btn-masthead:hover {
    background-color: var(--ci-copper-hover);
    border-color: var(--ci-copper-hover);
    color: #fff;
}

/* ─── Links ────────────────────────────────────────────────── */

a {
    color: var(--ci-primary);
}

a:hover {
    color: var(--ci-copper);
}

.dropdown-menu .dropdown-item {
    color: var(--ci-primary);
}

/* ─── Navbar brand ─────────────────────────────────────────── */

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    font-size: 1.05rem;
}

.navbar-brand img {
    height: 1.65rem;
    width: auto;
    filter: brightness(0) invert(1);
}

.navbar-brand .brand-subtle {
    font-weight: 400;
    opacity: 0.75;
    margin-left: 0.18em;
}

/* Notifications badge stays Cinerius-warm */
.dropdown-notifications .badge.bg-danger {
    background-color: var(--ci-copper) !important;
}

/* Active drawer link uses Cinerius primary */
#layoutDrawer_nav .nav-link.active {
    color: var(--ci-primary);
    font-weight: 600;
}

/* ─── Page surfaces ────────────────────────────────────────── */

body.bg-light {
    background-color: var(--ci-cream-soft) !important;
}

/* Fixed top-app-bar overlap fix: give main content a top offset that
   mastheads cancel out via negative margin so the dark hero still
   reaches the top edge. Without this, plain pages (e.g. Home) get
   their first heading hidden under the navbar. */
body.nav-fixed > main {
    padding-top: 4.5rem;
}

body.nav-fixed > main > header.masthead:first-child {
    margin-top: -4.5rem;
}

.card,
.onb-section-card,
.onb-step-btn,
.onb-kpi {
    border-color: rgba(var(--ci-primary-rgb), 0.10);
}

.card-header {
    border-bottom-color: rgba(var(--ci-primary-rgb), 0.10);
}

/* ─── Cinerius utility classes ─────────────────────────────── */

.bg-ci-primary { background-color: var(--ci-primary) !important; color: #fff; }
.bg-ci-cream   { background-color: var(--ci-cream) !important; color: var(--ci-primary); }
.bg-ci-copper  { background-color: var(--ci-copper) !important; color: #fff; }
.bg-ci-sage    { background-color: var(--ci-sage) !important; color: #fff; }
.bg-ci-slate   { background-color: var(--ci-slate) !important; color: #fff; }

.text-ci-primary { color: var(--ci-primary) !important; }
.text-ci-copper  { color: var(--ci-copper) !important; }
.text-ci-sage    { color: var(--ci-sage) !important; }
.text-ci-slate   { color: var(--ci-slate) !important; }

.border-ci-primary { border-color: var(--ci-primary) !important; }
.border-ci-copper  { border-color: var(--ci-copper) !important; }

/* ─── Blazor error boundary (preserved from template) ──────── */

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, var(--ci-primary);
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "Es ist ein Fehler aufgetreten."
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}
