:root {
    --libr-paper: #f5f0e6;
    --libr-surface: #fffdf8;
    --libr-ink: #1d1a16;
    --libr-muted: #6b645a;
    --libr-primary: #2e5a47;
    --libr-primary-rgb: 46, 90, 71;
    --libr-primary-hover: #1f3f32;
    --libr-primary-soft: #e3ece7;
    --libr-success: #1f7a4d;
    --libr-success-rgb: 31, 122, 77;
    --libr-warning: #8a5a22;
    --libr-warning-rgb: 138, 90, 34;
    --libr-danger: #a8431f;
    --libr-danger-rgb: 168, 67, 31;
    --libr-info: #266b8f;
    --libr-info-rgb: 38, 107, 143;

    --bs-primary: var(--libr-primary);
    --bs-primary-rgb: var(--libr-primary-rgb);
    --bs-primary-text-emphasis: var(--libr-primary-hover);
    --bs-primary-bg-subtle: var(--libr-primary-soft);
    --bs-primary-border-subtle: #b9cdc2;
    --bs-success: var(--libr-success);
    --bs-success-rgb: var(--libr-success-rgb);
    --bs-success-bg-subtle: #dcebe2;
    --bs-warning: var(--libr-warning);
    --bs-warning-rgb: var(--libr-warning-rgb);
    --bs-warning-bg-subtle: #f6ebc8;
    --bs-danger: var(--libr-danger);
    --bs-danger-rgb: var(--libr-danger-rgb);
    --bs-danger-bg-subtle: #f9e7df;
    --bs-info: var(--libr-info);
    --bs-info-rgb: var(--libr-info-rgb);
    --bs-info-bg-subtle: #dcebf2;
    --bs-body-bg: var(--libr-paper);
    --bs-body-bg-rgb: 250, 249, 245;
    --bs-body-color: var(--libr-muted);
    --bs-body-color-rgb: 107, 106, 104;
    --bs-heading-color: var(--libr-ink);
    --bs-link-color: var(--libr-primary);
    --bs-link-color-rgb: var(--libr-primary-rgb);
    --bs-link-hover-color: var(--libr-primary-hover);
    --bs-link-hover-color-rgb: 31, 63, 50;
    --bs-border-color: #d9cfbd;
}

body {
    background-color: var(--libr-paper);
}

.card,
.navbar-detached {
    background-color: var(--libr-surface);
}

.card {
    border-color: #d9cfbd;
    box-shadow: 0 0.125rem 0.375rem rgba(29, 26, 22, 0.04);
}

.btn-primary {
    --bs-btn-bg: var(--libr-primary);
    --bs-btn-border-color: var(--libr-primary);
    --bs-btn-hover-bg: var(--libr-primary-hover);
    --bs-btn-hover-border-color: var(--libr-primary-hover);
    --bs-btn-active-bg: var(--libr-primary-hover);
    --bs-btn-active-border-color: var(--libr-primary-hover);
}

.btn-label-primary {
    --bs-btn-color: var(--libr-primary);
    --bs-btn-bg: var(--libr-primary-soft);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--libr-primary);
    --bs-btn-hover-border-color: var(--libr-primary);
}

.bg-lighter {
    background-color: #efe8da !important;
}

:focus-visible {
    outline: 3px solid rgba(var(--libr-primary-rgb), 0.45);
    outline-offset: 2px;
}
