:root,
[data-bs-theme="light"] {
    /* PRIMARY: #c2410c -> RGB: 194, 65, 12 */
    --bs-primary: #c2410c;
    --bs-primary-rgb: 194, 65, 12;

    /* SECONDARY: #78350f -> RGB: 120, 53, 15 */
    --bs-secondary: #78350f;
    --bs-secondary-rgb: 120, 53, 15;

    /* ACCENT: #fdba74 -> RGB: 253, 186, 116 */
    /* Note: Since 'accent' isn't a default Bootstrap class, 
       we map this to a custom CSS class below. */
    --bs-accent: #fdba74;
    --bs-accent-rgb: 253, 186, 116;
}

/* Custom button class for Accent since it doesn't exist by default */
.btn-accent {
    --bs-btn-color: #000;
    /* Use black text for light orange background */
    --bs-btn-bg: var(--bs-accent);
    --bs-btn-border-color: var(--bs-accent);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #eeb06d;
    /* Slightly darker manual hover */
    --bs-btn-hover-border-color: #eeb06d;
    --bs-btn-focus-shadow-rgb: var(--bs-accent-rgb);

    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
}

/* 2. Override Primary Button to use the global variable dynamically */
.btn-primary {
    /* Point background to the global variable */
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);

    /* AUTOMATIC HOVER: Mix 15% black into the primary color */
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary), black 15%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary), black 15%);

    /* AUTOMATIC ACTIVE: Mix 20% black */
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary), black 20%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary), black 20%);

    /* Focus Ring */
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

/* 3. Override Secondary Button (Same logic) */
.btn-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);

    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-secondary), black 15%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-secondary), black 15%);

    --bs-btn-active-bg: color-mix(in srgb, var(--bs-secondary), black 20%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-secondary), black 20%);

    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
}

body {
    padding-top: 0;
    margin: 0;
    position: relative;
    /* Essential for the pseudo-element to align */
}

body::before {
    content: "";
    background-image: url('/static/images/Compressed/Gemini_Generated_Image_vgr02dvgr02dvgr0(more compressed).webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;

    /* Control the transparency here */
    opacity: 0.5;

    /* Fix the positioning to cover the whole screen */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    /* Ensure it stays behind your content */
    z-index: -1;
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Bootstrap's .form-control already handles width: 100% within grid columns.
   The previous max-width: 280px was removed to let the grid control field widths. */

/* styles for validation helpers */
.field-validation-error {
    color: #b94a48;
}

.field-validation-valid {
    display: none;
}

input.input-validation-error {
    border: 1px solid #b94a48;
}

input[type="checkbox"].input-validation-error {
    border: 0 none;
}

.validation-summary-errors {
    color: #b94a48;
}

.validation-summary-valid {
    display: none;
}

/* 4. Custom Focus Styles using Accent Color */
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-accent);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-accent-rgb), 0.25);
}

/* 5. Custom Checkbox & Radio Styles */
.form-check-input:checked {
    background-color: var(--bs-accent);
    border-color: var(--bs-accent);
}

.form-check-input:focus {
    border-color: var(--bs-accent);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-accent-rgb), 0.25);
}

/* 6. Custom Select Chevron Color */
.form-select {
    /* Replaces the default black chevron with our accent color (#fdba74) */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fdba74' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* 7. Custom Selection Styles (Multi-select & Text Highlight) */
option:checked {
    background-color: var(--bs-accent) !important;
    box-shadow: 0 0 100px var(--bs-accent) inset;
    /* Force color on some browsers */
    color: #000 !important;
}

::selection {
    background-color: var(--bs-accent);
    color: #000;
}

/* 8. Experimental Single-Select Override */
.form-select {
    accent-color: var(--bs-accent);
    /* Hints to browser to use accent color where possible */
}

/* Specific overrides for options in case the browser allows it */
option:hover,
option:focus,
option:active {
    background-color: var(--bs-accent) !important;
    box-shadow: 0 0 100px var(--bs-accent) inset !important;
    color: #000 !important;
}