:root {
    --caadex-primary: #840320;
    --caadex-accent: #f4a261;
}

body {
    background-color: #f6f7f9;
    color: #1f2933;
}

/* Header */
#topbar {
    background: var(--caadex-primary);
    color: #fff;
}

header h1 {
    color: var(--caadex-primary);
    letter-spacing: .04em;
}

/* Navigation */
.navbar {
    background: #fff;
    border-bottom: 3px solid var(--caadex-primary);
}

.navbar .nav-link {
    color: var(--caadex-primary);
    font-weight: 500;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: var(--caadex-accent);
}

.navbar form .nav-link.btn {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

/* Cards & content */
.card-header {
    background: var(--caadex-primary);
    color: #fff;
    font-weight: 600;
}

.content-block :is(h1, h2, h3) {
    color: var(--caadex-primary);
}

.btn-primary {
    --bs-btn-bg: var(--caadex-primary);
    --bs-btn-border-color: var(--caadex-primary);
    --bs-btn-hover-bg: #0a2f52;
    --bs-btn-hover-border-color: #0a2f52;
}

/* Footer */
footer {
    background: var(--caadex-primary);
    color: #fff;
}

footer a {
    color: #fff;
}

/* Calculator: keep input/output labels readable when wrapped */
.calc-input,
.calc-output {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.input-group-text.flex-fill {
    white-space: normal;
    font-size: .8rem;
    line-height: 1.15;
}

output.calc-output {
    background: #eef2f7;
}
