/* General Variables */
:root {
    --text-color-light: #212529;
    --text-color-dark: #f8f9fa;
    --bg-color-light: #ffffff;
    --bg-color-dark: #121212;
    --card-bg-dark: #333;
    --list-bg-light: #f8f9fa;
    --list-bg-dark: #333;
    --text-muted-light: #6c757d;
    --text-muted-dark: #adb5bd;
    --primary-color: #007bff;

    /* Footer-specific colors */
    --footer-text-light: #333;
    --footer-text-dark: #f8f9fa;
    --footer-link-light: #6c757d;
    --footer-link-dark: #f8f9fa;
}

/* Light Mode Styles */
[data-bs-theme="light"] {
    background-color: var(--bg-color-light);
    color: var(--text-color-light);
}

[data-bs-theme="light"] .footer-dark .footer-text,
[data-bs-theme="light"] .footer-dark .footer-link {
    color: var(--footer-text-light) !important;
}

[data-bs-theme="light"] .text-muted,
[data-bs-theme="light"] .opacity-50 {
    color: var(--text-muted-light) !important;
}

[data-bs-theme="light"] .list-group-item {
    background-color: var(--list-bg-light);
    color: var(--text-color-light);
}

/* Dark Mode Styles */
[data-bs-theme="dark"] {
    background-color: var(--bg-color-dark);
    color: var(--text-color-dark);
}

[data-bs-theme="dark"] .card {
    background-color: var(--card-bg-dark);
    color: var(--text-color-dark);
}

[data-bs-theme="dark"] .footer-dark .footer-text,
[data-bs-theme="dark"] .footer-dark .footer-link {
    color: var(--footer-text-dark) !important;
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .opacity-50 {
    color: var(--text-muted-dark) !important;
}

[data-bs-theme="dark"] .list-group-item {
    background-color: var(--list-bg-dark);
    color: var(--text-color-dark);
}

/* Breadcrumb Styling */
.breadcrumb {
    background: inherit; /* Transparent for theme support */
    padding: 0;
    margin: 0;
}

.breadcrumb-sm .breadcrumb-item {
    font-size: 0.85rem; /* Smaller text size for breadcrumbs */
}

/* Tool Container */
.tool-container {
    background-color: var(--bg-color-light);
    color: var(--text-color-light);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

[data-bs-theme="dark"] .tool-container {
    background-color: var(--card-bg-dark);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
}

/* Icon Link Styling */
.icon-link {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.icon-link:hover {
    color: #0b5ed7; /* Slightly darker for hover */
    text-decoration: underline;
}

/* List Group Customizations */
.list-group-large-icon .list-group-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.list-group-large-icon .list-group-item i {
    font-size: 2rem;
    color: var(--primary-color);
}

.list-group-inline .list-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    border-bottom: 1px solid var(--text-muted-light);
}

/* Shadowed Titles */
.shadowed-title {
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.7); /* Increased blur and opacity */
}

.small-text-shadow {
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6); /* Softer shadow */
}

/* Card Cover Overlay */
.card-cover::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15%; /* Adjust as needed */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
    z-index: 1;
}

.card-cover .d-flex {
    position: relative;
    z-index: 2; /* Ensures text appears above the overlay */
}

/* CTA Section */
[data-bs-theme="light"] .cta-section {
    background-color: var(--bg-color-light);
    color: var(--text-color-light);
}

[data-bs-theme="dark"] .cta-section {
    background-color: var(--bg-color-dark);
    color: var(--text-color-dark);
}

/* Page Header Styling */
.page-title,
.page-description {
    color: var(--text-color-light);
}

[data-bs-theme="dark"] .page-title,
[data-bs-theme="dark"] .page-description {
    color: var(--text-color-dark);
}

/* Form Label Styling */
.form-label {
    color: var(--text-color-light);
}

[data-bs-theme="dark"] .form-label {
    color: var(--text-color-dark);
}