:root {
    /* Color Palette */
    --wed-brown-dark: #3d2b1f;
    --wed-brown-medium: #74583e;
    --wed-brown-light: #d4a589;
    --wed-beige-dark: #e5bda7;
    --wed-beige-light: #fff7ee;
    --wed-beige-off: #f8f0e8;
    --wed-white: #ffffff;

    --wed-green: #26b050;
    --wed-red: #c45a5a;
    --wed-red-bright: #e50000;

    /* Bootstrap Overrides */
    --bs-primary: var(--wed-brown-medium);
    --bs-primary-rgb: 116, 88, 62;

    --bs-secondary: var(--wed-brown-light);
    --bs-secondary-rgb: 212, 165, 137;

    --bs-success: var(--wed-green);
    --bs-success-rgb: 38, 176, 80;

    --bs-info: var(--wed-beige-dark);
    --bs-info-rgb: 229, 189, 167;

    --bs-warning: var(--wed-brown-light);
    --bs-warning-rgb: 212, 165, 137;

    --bs-danger: var(--wed-red);
    --bs-danger-rgb: 196, 90, 90;

    --bs-light: var(--wed-beige-light);
    --bs-light-rgb: 255, 247, 238;

    --bs-dark: var(--wed-brown-dark);
    --bs-dark-rgb: 61, 43, 31;

    /* Global Settings */
    --bs-body-color: var(--bs-dark);
    --bs-body-color-rgb: var(--bs-dark-rgb);
    --bs-body-bg: var(--bs-light);
    --bs-body-bg-rgb: var(--bs-light-rgb);
    --bs-card-bg: #ffffff;

    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-hover-color: var(--bs-dark);
    --bs-link-hover-color-rgb: var(--bs-dark-rgb);

    --bs-border-color: var(--wed-beige-dark);
    --bs-border-color-translucent: rgba(229, 189, 167, 0.175);

    /* Form specific */
    --bs-form-control-bg: var(--bs-light);
    --bs-form-control-border-color: var(--wed-beige-dark);
    --bs-form-control-focus-border-color: var(--bs-primary);
}

/* --- Bootstrap Component Overrides --- */

/* Buttons */
.btn-primary {
    --bs-btn-color: var(--bs-light);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-light);
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: var(--bs-light);
    --bs-btn-active-bg: var(--bs-dark);
    --bs-btn-active-border-color: var(--bs-dark);
}

.btn-secondary {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-light);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: var(--bs-light);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-light);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: var(--bs-light);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}

.btn-info {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
    --bs-btn-active-color: var(--bs-dark);
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
}

.btn-variable-token {
    --bs-btn-color: #212529;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #dee2e6;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #e2e6ea;
    --bs-btn-hover-border-color: #dae0e5;
    --bs-btn-focus-shadow-rgb: 216, 217, 219;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #dae0e5;
    --bs-btn-active-border-color: #d3d9df;
}

/* Form Controls */
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* Alerts */
.alert-primary {
    --bs-alert-color: var(--bs-light);
    --bs-alert-bg: var(--bs-primary);
    --bs-alert-border-color: var(--bs-dark);
}

.alert-secondary {
    --bs-alert-color: var(--bs-dark);
    --bs-alert-bg: var(--bs-secondary);
    --bs-alert-border-color: var(--bs-primary);
}

.alert-info {
    --bs-alert-color: var(--bs-dark);
    --bs-alert-bg: var(--bs-info);
    --bs-alert-border-color: var(--bs-secondary);
}

/* Badges */
.badge.bg-primary {
    background-color: var(--bs-primary) !important;
}

.badge.bg-warning {
    color: var(--wed-white) !important;
}

.badge.bg-secondary {
    background-color: var(--bs-secondary);
    color: var(--wed-white) !important;
}

/* Tables */
.table-primary {
    --bs-table-color: var(--bs-light);
    --bs-table-bg: var(--bs-primary);
}

.table-secondary {
    --bs-table-color: var(--bs-dark);
    --bs-table-bg: var(--bs-secondary);
}

/* Progress Bars */
.progress-bar {
    background-color: var(--bs-primary);
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(var(--bs-light-rgb), 0.15) 25%, transparent 25%, transparent 50%, rgba(var(--bs-light-rgb), 0.15) 50%, rgba(var(--bs-light-rgb), 0.15) 75%, transparent 75%, transparent);
}

/* Cards */
.card {
    background-color: var(--wed-white) !important;
    border-color: var(--bs-border-color);
}

.card-header {
    background-color: var(--bs-info);
    border-bottom-color: var(--bs-secondary);
    color: var(--bs-dark);
}

/* Pagination */
.page-link {
    color: var(--bs-primary);
}

.page-link:hover {
    color: var(--bs-dark);
    background-color: var(--bs-info);
    border-color: var(--bs-secondary);
}

.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-light);
}

/* Nav Pills */
.nav-pills .nav-link {
    color: var(--bs-primary);
}

.nav-pills .nav-link:hover {
    background-color: var(--bs-info);
    color: var(--bs-dark);
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background-color: var(--bs-primary);
    color: var(--bs-light);
}

/* Dropdown */
.dropdown-menu {
    background-color: var(--bs-light);
    border-color: var(--bs-border-color);
}

.dropdown-item {
    color: var(--bs-dark);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--bs-info);
    color: var(--bs-dark);
}

.dropdown-item.active {
    background-color: var(--bs-primary);
    color: var(--bs-light);
}

/* Modal */
.modal-content {
    background-color: var(--bs-light);
    border-color: var(--bs-border-color);
}

.modal-header {
    border-bottom-color: var(--bs-border-color);
}

.modal-footer {
    border-top-color: var(--bs-border-color);
}

/* Syncfusion Overrides handled by custom-syncfusion.css */
