*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

*:focus {
    outline: none !important;
}

button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus {
    outline: none !important;
}

/* Global Brand Color Overrides for Form Controls (Checkboxes, Radios, Sliders) */
input[type="checkbox"],
input[type="radio"],
input[type="range"],
.form-check-input,
.form-range {
    accent-color: var(--primary) !important;
}

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

.form-check-input:focus {
    border-color: var(--primary) !important;
    outline: none !important;
    box-shadow: none !important;
}

.form-range::-webkit-slider-thumb {
    background-color: var(--primary) !important;
}
.form-range::-moz-range-thumb {
    background-color: var(--primary) !important;
}

html, body {
    min-height: 100vh;
    height: auto;
    margin: 0;
    padding: 0;
    font-family: var(--font-primary);
    background-color: var(--bg-dark);
    color: var(--text-light);
    line-height: 1.6;
    overflow-x: clip;
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--transition-speed);
}

a:hover {
    color: var(--primary-hover);
}

ul {
    list-style: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.25);
}

/* For Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}
