/*
 * Base Styles
 *
 * Core styles for body, navigation, buttons, forms, and common elements.
 */

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-family);
    font-weight: var(--font-weight-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-bottom: 100px;
}

a {
    color: var(--color-text);
}

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

nav {
    background-color: var(--color-primary);
}

.navbar-dark .nav-link,
.navbar-dark .navbar-brand {
    color: var(--color-text-inverse);
}

.navbar-dark .navbar-toggler {
    border-color: var(--color-text-inverse);
    border-width: 2px;
}

.navbar-dark .navbar-toggler-icon {
    background-image: none;
    background-color: var(--color-text-inverse);
    -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
}

h1 {
    font-weight: var(--font-weight-bold);
}

/* Modals */
.modal-content {
    color: var(--color-primary-dark);
}

/* Buttons */
.btn {
    border-radius: var(--btn-border-radius);
    font-weight: var(--font-weight-semibold);
}

.btn-primary,
.btn-danger,
.btn-success {
    --bs-btn-bg: var(--color-primary);
    --bs-btn-color: var(--color-text-inverse);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-bg: var(--color-bg);
    --bs-btn-hover-color: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-color: var(--color-text-inverse);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-focus-shadow-rgb: 255, 206, 8;
    --bs-btn-disabled-bg: var(--color-primary);
    --bs-btn-disabled-color: var(--color-text-inverse);
    --bs-btn-disabled-border-color: var(--color-primary);
}

.btn-secondary {
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-bg: var(--color-primary);
    --bs-btn-hover-color: var(--color-bg);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-color: var(--color-bg);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-focus-shadow-rgb: 255, 206, 8;
    border: 2px solid var(--color-primary);
}

.btn-secondary-dark {
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--color-bg);
    --bs-btn-border-color: var(--color-bg);
    --bs-btn-hover-bg: var(--color-bg);
    --bs-btn-hover-color: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-bg);
    --bs-btn-active-bg: var(--color-bg);
    --bs-btn-active-color: var(--color-primary);
    --bs-btn-active-border-color: var(--color-bg);
    --bs-btn-active-shadow: none;
    --bs-btn-focus-shadow-rgb: 110, 61, 184;
    border: 2px solid var(--color-bg);
}

/* Forms */
.form-control {
    border: 2px solid var(--color-primary);
}

.form-label {
    color: var(--color-primary);
    font-weight: bold;
    margin-bottom: 0rem;
}

/* Progress bar */
.progress {
    background-color: var(--color-progress-bg);
    border-radius: 20px;
    height: 20px;
    overflow: hidden;
}

.progress-bar {
    background-color: var(--color-primary);
    border-radius: 20px;
}

/* Progress bar container */
.progress-bar-container {
    background-color: var(--color-progress-bg);
    color: var(--color-primary-dark);
}

.progress-bar-container i {
    color: var(--color-primary-dark);
    font-size: 24px;
}

/* Emphasis text */
.emphasis-text {
    color: var(--color-primary);
}

/* Intro logo */
.intro-logo {
    width: 160px;
}
