
:root {
    --bg-color: #ffffff;
    --text-color: #212529;
    --card-bg: #f8f9fa;
    --alert-bg: #e9ecef;
    --input-bg: #ffffff;
    --input-border: #ced4da;
}

[data-theme='dark'] {
    --bg-color: #121212;
    --text-color: #f8f9fa;
    --card-bg: #1e1e1e;
    --alert-bg: #2c2c2c;
    --input-bg: #1f1f1f;
    --input-border: #555;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
}

.card {
    background-color: var(--card-bg);
    color: var(--text-color);
}

.navbar, footer {
    background-color: var(--card-bg) !important;
    color: var(--text-color);
}

h1, h2, h3, h4, h5, h6, p, a, label, .form-label, .card-title, .card-text {
    color: var(--text-color) !important;
}

.alert {
    background-color: var(--alert-bg) !important;
    color: var(--text-color) !important;
}

input, textarea, select {
    background-color: var(--input-bg) !important;
    color: var(--text-color) !important;
    border: 1px solid var(--input-border) !important;
}

.btn {
    color: var(--text-color);
}

input[type="email"],
input[type="date"],
input[type="file"],
input[type="text"],
input[type="number"],
input[type="tel"],
select {
    background-color: var(--input-bg) !important;
    color: var(--text-color) !important;
    border-color: var(--input-border) !important;
}

::placeholder {
    color: var(--text-color);
    opacity: 0.7;
}

footer {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
    border-top: 1px solid var(--input-border);
}

footer {
    background-color: #212529 !important;
    color: #f8f9fa !important;
    border-top: 1px solid #444;
}

footer a {
    color: #f8f9fa !important;
    text-decoration: underline;
}

footer {
    background-color: #212529 !important;
    color: #ffffff !important;
}

footer a {
    color: #ffffff !important;
    text-decoration: underline;
}

footer *, footer small {
    color: #ffffff !important;
}


body.homepage {
    background-image: url('../assets/icons/bg-pattern.png');
    background-repeat: repeat;
    background-size: 120px;
    background-attachment: fixed;
}
