:root {
    --lb-lime: #b9bf04;
    --lb-red: #d91e0d;
    --lb-brown: #260b01;
    --lb-gold: #d9a036;
    --lb-beige: #f0dec0;
    --lb-primary-500: #b9bf04;
    --lb-primary-600: #a3aa04;
    --lb-primary-700: #8c9303;
    --lb-danger-500: #d91e0d;
    --lb-danger-600: #bb190b;
    --lb-danger-700: #a01408;
    --lb-warm-surface: #f7f1e6;
    --lb-bg-gradient-page:
        radial-gradient(68rem 68rem at 95% 4%, rgba(185, 191, 4, 0.14), transparent 52%),
        radial-gradient(44rem 44rem at 6% 90%, rgba(217, 30, 13, 0.08), transparent 46%),
        linear-gradient(180deg, #f7f1e6 0%, #fdf9f2 100%);
    --lb-gradient-brand-header:
        radial-gradient(circle at 88% 12%, rgba(185, 191, 4, 0.24), transparent 42%),
        radial-gradient(circle at 8% 82%, rgba(140, 147, 3, 0.18), transparent 44%),
        linear-gradient(120deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.22) 100%);
    --lb-gradient-subtle-warm-surface: linear-gradient(145deg, #fdf8ef 0%, #f4e7d2 52%, #e6d6b8 100%);
    --lb-gradient-vibrant: linear-gradient(132deg, #b9bf04 0%, #d9a036 44%, #d91e0d 100%);
    --lb-gradient-darker-hero: linear-gradient(145deg, #1d0801 0%, #260b01 46%, #4a160a 100%);
    --lb-focus-ring-rgb: 185, 191, 4;
    --lb-focus-ring-color: rgba(var(--lb-focus-ring-rgb), 0.32);

    --cf-theme-core: var(--lb-lime);
    --cf-theme-100: #f7efe2;
    --cf-theme-150: var(--lb-beige);
    --cf-theme-200: #e3cfa8;
    --cf-theme-300: var(--lb-gold);
    --cf-theme-400: var(--lb-lime);
    --cf-theme-500: var(--lb-lime);
    --cf-theme-600: #768000;
    --cf-theme-700: #5e6800;
    --cf-theme-800: #454d00;
    --cf-theme-850: #3c0802;
    --cf-theme-900: var(--lb-brown);
}

.identity-message-shell {
    min-height: calc(100vh - 10rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.identity-message-card {
    width: min(36rem, 100%);
    border: 1px solid #e6d6b8;
    border-radius: 1rem;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #fcf7ee 100%);
    box-shadow: 0 14px 28px rgba(38, 11, 1, 0.12);
}

.identity-message-header {
    padding: 1rem 1rem 0.9rem;
    border-bottom: 1px solid #e6d6b8;
    background: var(--lb-gradient-brand-header), var(--lb-gradient-subtle-warm-surface);
    text-align: center;
}

.identity-message-logo {
    height: 44px;
    width: auto;
}

.identity-message-body {
    padding: 1.1rem 1.25rem 1.25rem;
}

.identity-message-title {
    margin: 0 0 0.45rem;
    color: #260b01;
}

.identity-message-danger {
    color: var(--lb-danger-500);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.btn:focus-visible {
    border-color: var(--lb-primary-500);
    box-shadow: 0 0 0 0.25rem var(--lb-focus-ring-color);
}

select.form-select option:checked,
select.form-control option:checked {
    background: var(--lb-primary-500);
    color: var(--lb-brown);
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--lb-brown);
    background-color: var(--lb-primary-500);
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--lb-brown);
    background-color: color-mix(in srgb, var(--lb-primary-500) 24%, #ffffff);
}

select.form-select option:hover,
select.form-control option:hover {
    background: color-mix(in srgb, var(--lb-primary-500) 45%, #ffffff);
    color: var(--lb-brown);
}

a {
    color: var(--cf-theme-600);
}

a:hover {
    color: var(--cf-theme-500);
}

.btn-primary {
    --bs-btn-color: #260b01;
    --bs-btn-bg: var(--lb-primary-500);
    --bs-btn-border-color: var(--lb-primary-500);
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: var(--lb-primary-600);
    --bs-btn-hover-border-color: var(--lb-primary-600);
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: var(--lb-primary-700);
    --bs-btn-active-border-color: var(--lb-primary-700);
    --bs-btn-disabled-color: #5a4639;
    --bs-btn-disabled-bg: var(--lb-primary-500);
    --bs-btn-disabled-border-color: var(--lb-primary-500);
}

.btn-outline-primary {
    --bs-btn-color: var(--lb-primary-600);
    --bs-btn-border-color: var(--lb-primary-500);
    --bs-btn-hover-bg: var(--lb-primary-500);
    --bs-btn-hover-border-color: var(--lb-primary-500);
    --bs-btn-hover-color: #260b01;
    --bs-btn-active-bg: var(--lb-primary-600);
    --bs-btn-active-border-color: var(--lb-primary-600);
    --bs-btn-disabled-color: var(--lb-primary-500);
    --bs-btn-disabled-border-color: var(--lb-primary-500);
}

.btn-secondary {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #e6d6b8;
    --bs-btn-border-color: #dbc8a4;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #dcc8a8;
    --bs-btn-hover-border-color: #d3bf9a;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #d1bb93;
    --bs-btn-active-border-color: #c8b188;
    --bs-btn-disabled-color: #5a4639;
    --bs-btn-disabled-bg: #e6d6b8;
    --bs-btn-disabled-border-color: #dbc8a4;
}

.btn-outline-secondary {
    --bs-btn-color: #5a4639;
    --bs-btn-border-color: #cdbb99;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #e6d6b8;
    --bs-btn-hover-border-color: #d3bf9a;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #dcc8a8;
    --bs-btn-active-border-color: #cdbb99;
    --bs-btn-disabled-color: #8f7a67;
    --bs-btn-disabled-border-color: #d8cab0;
}

.btn-info {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #f6efe4;
    --bs-btn-border-color: #e6d6b8;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #ede2cf;
    --bs-btn-hover-border-color: #dbc8a4;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #e6d6b8;
    --bs-btn-active-border-color: #d6c29c;
    --bs-btn-disabled-color: #5a4639;
    --bs-btn-disabled-bg: #f6efe4;
    --bs-btn-disabled-border-color: #e6d6b8;
}

.btn-outline-info {
    --bs-btn-color: #5a4639;
    --bs-btn-border-color: #d8cab0;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #f6efe4;
    --bs-btn-hover-border-color: #d8cab0;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #ede2cf;
    --bs-btn-active-border-color: #cdbb99;
}

.btn-warning {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #d9a036;
    --bs-btn-border-color: #d9a036;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #cf952b;
    --bs-btn-hover-border-color: #c78d22;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #c1871f;
    --bs-btn-active-border-color: #b77e17;
    --bs-btn-disabled-color: #260b01;
    --bs-btn-disabled-bg: #d9a036;
    --bs-btn-disabled-border-color: #d9a036;
}

.btn-outline-warning {
    --bs-btn-color: #8a5b14;
    --bs-btn-border-color: #d9a036;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #d9a036;
    --bs-btn-hover-border-color: #d9a036;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #cf952b;
    --bs-btn-active-border-color: #cf952b;
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--lb-danger-500);
    --bs-btn-border-color: var(--lb-danger-500);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--lb-danger-600);
    --bs-btn-hover-border-color: var(--lb-danger-600);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--lb-danger-700);
    --bs-btn-active-border-color: var(--lb-danger-700);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--lb-danger-500);
    --bs-btn-disabled-border-color: var(--lb-danger-500);
}

.btn-outline-danger {
    --bs-btn-color: var(--lb-danger-500);
    --bs-btn-border-color: var(--lb-danger-500);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--lb-danger-500);
    --bs-btn-hover-border-color: var(--lb-danger-500);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--lb-danger-600);
    --bs-btn-active-border-color: var(--lb-danger-600);
}

.btn-success {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #b9bf04;
    --bs-btn-border-color: #b9bf04;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #adb304;
    --bs-btn-hover-border-color: #a3a904;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #999f04;
    --bs-btn-active-border-color: #939904;
    --bs-btn-disabled-color: #260b01;
    --bs-btn-disabled-bg: #b9bf04;
    --bs-btn-disabled-border-color: #b9bf04;
}

.btn-outline-success {
    --bs-btn-color: #768000;
    --bs-btn-border-color: #aeb404;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #b9bf04;
    --bs-btn-hover-border-color: #aeb404;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #a3a904;
    --bs-btn-active-border-color: #a3a904;
}

.btn-dark {
    --bs-btn-bg: var(--cf-theme-900);
    --bs-btn-border-color: var(--cf-theme-900);
    --bs-btn-hover-bg: var(--cf-theme-850);
    --bs-btn-hover-border-color: var(--cf-theme-850);
    --bs-btn-active-bg: var(--cf-theme-800);
    --bs-btn-active-border-color: var(--cf-theme-800);
    --bs-btn-disabled-bg: var(--cf-theme-900);
    --bs-btn-disabled-border-color: var(--cf-theme-900);
}

.btn-light {
    --bs-btn-bg: var(--cf-theme-150);
    --bs-btn-border-color: var(--cf-theme-150);
    --bs-btn-hover-bg: var(--cf-theme-200);
    --bs-btn-hover-border-color: var(--cf-theme-200);
    --bs-btn-active-bg: var(--cf-theme-300);
    --bs-btn-active-border-color: var(--cf-theme-300);
    --bs-btn-disabled-bg: var(--cf-theme-150);
    --bs-btn-disabled-border-color: var(--cf-theme-150);
}

/* Button variants intended for dark backgrounds/gradients */
.btn-primary-on-dark {
    --bs-btn-color: #260b01;
    --bs-btn-bg: var(--lb-primary-500);
    --bs-btn-border-color: var(--lb-primary-500);
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: var(--lb-primary-600);
    --bs-btn-hover-border-color: var(--lb-primary-600);
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: var(--lb-primary-700);
    --bs-btn-active-border-color: var(--lb-primary-700);
}

.btn-outline-primary-on-dark,
.btn-outline-primary-light {
    --bs-btn-color: #f7f1e6;
    --bs-btn-border-color: rgba(247, 241, 230, 0.88);
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #f7f1e6;
    --bs-btn-hover-border-color: #f7f1e6;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #e6d6b8;
    --bs-btn-active-border-color: #e6d6b8;
    --bs-btn-disabled-color: rgba(247, 241, 230, 0.62);
    --bs-btn-disabled-border-color: rgba(247, 241, 230, 0.5);
}

.btn-secondary-on-dark {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #f0dec0;
    --bs-btn-border-color: #f0dec0;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #e6d6b8;
    --bs-btn-hover-border-color: #e6d6b8;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #dcc8a8;
    --bs-btn-active-border-color: #dcc8a8;
}

.btn-outline-secondary-on-dark {
    --bs-btn-color: #f0dec0;
    --bs-btn-border-color: rgba(240, 222, 192, 0.84);
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #f0dec0;
    --bs-btn-hover-border-color: #f0dec0;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #e6d6b8;
    --bs-btn-active-border-color: #e6d6b8;
}

.btn-success-on-dark {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #b9bf04;
    --bs-btn-border-color: #b9bf04;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #adb304;
    --bs-btn-hover-border-color: #adb304;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #a3a904;
    --bs-btn-active-border-color: #a3a904;
}

.btn-outline-success-on-dark {
    --bs-btn-color: #dce14d;
    --bs-btn-border-color: rgba(185, 191, 4, 0.9);
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #b9bf04;
    --bs-btn-hover-border-color: #b9bf04;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #a3a904;
    --bs-btn-active-border-color: #a3a904;
}

.btn-warning-on-dark {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #d9a036;
    --bs-btn-border-color: #d9a036;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #cf952b;
    --bs-btn-hover-border-color: #cf952b;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #c1871f;
    --bs-btn-active-border-color: #c1871f;
}

.btn-outline-warning-on-dark {
    --bs-btn-color: #f0ca83;
    --bs-btn-border-color: rgba(217, 160, 54, 0.9);
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #d9a036;
    --bs-btn-hover-border-color: #d9a036;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #cf952b;
    --bs-btn-active-border-color: #cf952b;
}

.btn-danger-on-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--lb-danger-500);
    --bs-btn-border-color: var(--lb-danger-500);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--lb-danger-600);
    --bs-btn-hover-border-color: var(--lb-danger-600);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--lb-danger-700);
    --bs-btn-active-border-color: var(--lb-danger-700);
}

.btn-outline-danger-on-dark {
    --bs-btn-color: #f7b2ab;
    --bs-btn-border-color: rgba(217, 30, 13, 0.9);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--lb-danger-500);
    --bs-btn-hover-border-color: var(--lb-danger-500);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--lb-danger-600);
    --bs-btn-active-border-color: var(--lb-danger-600);
}

.btn-dark-on-dark {
    --bs-btn-color: #f7f1e6;
    --bs-btn-bg: #1b0701;
    --bs-btn-border-color: #8b7a69;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #f0dec0;
    --bs-btn-hover-border-color: #f0dec0;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #e6d6b8;
    --bs-btn-active-border-color: #e6d6b8;
}

.btn-light-on-dark {
    --bs-btn-color: #260b01;
    --bs-btn-bg: #f7f1e6;
    --bs-btn-border-color: #f7f1e6;
    --bs-btn-hover-color: #260b01;
    --bs-btn-hover-bg: #f0dec0;
    --bs-btn-hover-border-color: #f0dec0;
    --bs-btn-active-color: #260b01;
    --bs-btn-active-bg: #e6d6b8;
    --bs-btn-active-border-color: #e6d6b8;
}

[data-cf-theme="local-bites"] {
    --cf-theme-core: var(--lb-lime);
    --cf-theme-100: #f7efe2;
    --cf-theme-150: var(--lb-beige);
    --cf-theme-200: #e3cfa8;
    --cf-theme-300: var(--lb-gold);
    --cf-theme-400: var(--lb-lime);
    --cf-theme-500: var(--lb-lime);
    --cf-theme-600: #768000;
    --cf-theme-700: #5e6800;
    --cf-theme-800: #454d00;
    --cf-theme-850: #3c0802;
    --cf-theme-900: var(--lb-brown);
}

/* Brand status colors for alerts and toasts */
.alert-info {
    --bs-alert-color: #260b01;
    --bs-alert-bg: #f7efe2;
    --bs-alert-border-color: #e3cfa8;
}

.alert-success {
    --bs-alert-color: #2f3700;
    --bs-alert-bg: #eef2b0;
    --bs-alert-border-color: #cfd66a;
}

.alert-warning {
    --bs-alert-color: #3f2400;
    --bs-alert-bg: #f9e7c3;
    --bs-alert-border-color: #eac06f;
}

.alert-danger {
    --bs-alert-color: #5a0c05;
    --bs-alert-bg: #f7c7c2;
    --bs-alert-border-color: #eb8e85;
}

.toast {
    --bs-toast-bg: #fffaf2;
    --bs-toast-border-color: #e3cfa8;
    --bs-toast-color: #260b01;
}

.toast.text-bg-success {
    background-color: #b9bf04 !important;
    color: #260b01 !important;
}

.toast.text-bg-info {
    background-color: #f0dec0 !important;
    color: #260b01 !important;
}

.toast.text-bg-warning {
    background-color: #d9a036 !important;
    color: #260b01 !important;
}

.toast.text-bg-danger {
    background-color: #d91e0d !important;
    color: #fff !important;
}
