:root {
    --bs-body-font-family: "Geologica", sans-serif;
    --bs-body-font-size: 14px;
    --bs-primary: #F9C33E;
    --bs-primary-rgb: 249, 195, 62;
    --bs-primary-active: #D6A533;
    --bs-primary-active-rgb: 214, 165, 51;
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-hover-color: var(--bs-primary-active);
    --bs-link-hover-color-rgb: var(--bs-primary-active-rgb);
    --bs-body-color: #DBDBDB;
    --bs-body-color-rgb: 219, 219, 219;
    --bs-body-bg: #181818;
    --bs-body-bg-rgb: 35, 35, 35;
    --bs-border-color: #4B4B4B;
    --bs-border-radius: .5rem;
    --bs-border-radius-sm: .375rem;
    --bs-border-radius-lg: .625rem;
    --bs-border-radius-xl: .25rem;
    --bs-border-radius-xxl: .5rem;
}

.turbo-progress-bar {
    background: var(--bs-primary);
}

.btn {
    --bs-btn-focus-box-shadow: var(--bs-btn-box-shadow);

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

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

    &.btn-link {
        text-decoration: none;
    }
}

.dropdown {
    .dropdown-menu {
        --bs-dropdown-link-hover-bg: transparent;
        --bs-dropdown-link-hover-color: var(--bs-body-color);
        --bs-dropdown-link-active-bg: transparent;
        --bs-dropdown-link-active-color: var(--bs-body-color);
    }
}

.input-group {
    background: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;

    &:has(:focus) {
        border-color: var(--bs-primary);
    }

    &:has(.border-danger) {
        border-color: var(--bs-danger);
    }

    * {
        background: transparent;
        border: none;
    }
}

.form-check {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 0;
    margin: 0;
    padding: 0;

    .form-check-input {
        margin: 0;

        &:checked {
            background-color: var(--bs-primary);
            border-color: var(--bs-primary);

            &[type="checkbox"] {
                --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23232323' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
            }
        }
    }

    * {
        cursor: pointer;
        margin: 0;

        &:focus {
            border-color: var(--bs-primary);
            box-shadow: none;
        }
    }
}

.form-control:focus  {
    border-color: var(--bs-primary);
    box-shadow: none;
}
