body {
    background-color: #212529; /* Dark background to match navbar */
    color: #fff;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Main content should grow to push footer down */
.container {
    flex: 1;
}

h1 {
    color: #fff;
    margin-bottom: 2rem;
}

.card {
    transition: transform 0.2s;
    background-color: #2c3034;
    border-color: #404448;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}

.card-body {
    color: #fff;
}

/* Form inputs styling for dark theme */
.form-control {
    background-color: #2c3034;
    border-color: #6c757d;
    border-width: 2px;
    color: #fff;
}

.form-control:focus {
    background-color: #2c3034;
    border-color: #0d6efd;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-control::placeholder {
    color: #6c757d;
}

.form-label {
    color: #e9ecef;
    font-weight: 500;
}

/* Text muted styling for dark theme */
.text-muted {
    color: #adb5bd !important;
}

.badge {
    font-size: 0.9rem;
}


.badge:has-text('untagged') {
    background-color: #6c757d !important;
}


[data-tag="untagged"] .badge {
    background-color: #6c757d !important;
}

.tag-card {
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.tag-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.link-item {
    cursor: pointer;
}

.link-item:hover {
    text-decoration: underline !important;
}

.link-item a {
    color: #adb5bd;
}

.link-item a:hover {
    color: #e9ecef;
}

#viewLinkList .list-group-item {
    border-left: 0;
    border-right: 0;
}

#viewLinkList .list-group-item:first-child {
    border-top: 0;
}

#viewLinkList .list-group-item:last-child {
    border-bottom: 0;
}

/* Filter styling */
#tagFilter {
    border-radius: 0;
    background-color: #2c3034;
    color: #fff;
    border-color: #6c757d;
    border-width: 2px;
}

#tagFilter::placeholder {
    color: #6c757d;
}

#clearFilter {
    border-left: 0;
    background-color: #2c3034;
    border-color: #6c757d;
    border-width: 2px;
    color: #adb5bd;
}

#clearFilter:hover {
    background-color: #404448;
    color: #fff;
}

.input-group-text {
    background-color: #2c3034;
    border-right: 0;
    border-color: #6c757d;
    border-width: 2px;
    color: #6c757d;
}

#filterStatus {
    display: block;
    margin-top: 8px;
    font-size: 0.875rem;
    color: #6c757d;
}

/* Hide filtered cards */
.tag-card-wrapper.hidden {
    display: none;
}

/* Smooth transitions for filtering */
.tag-card-wrapper {
    transition: opacity 0.2s ease-in-out;
}

.hidden {
    display: none !important;
}

/* Navbar content constraint - matches Bootstrap container */
.navbar .container-fluid {
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Footer styling */
footer {
    background-color: #212529;
    padding: 2rem 0;
    margin-top: 4rem;
    color: #6c757d;
}

footer .container-fluid {
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Modal dark theme styling */
.modal-content {
    background-color: #2c3034;
    border-color: #404448;
    color: #fff;
}

.modal-header {
    border-bottom-color: #404448;
}

.modal-footer {
    border-top-color: #404448;
}

.modal-title {
    color: #fff;
}

.modal-body .text-muted {
    color: #adb5bd !important;
}

/* List group items in modals */
.list-group-item {
    background-color: #2c3034;
    border-color: #404448;
    color: #fff;
}

.list-group-item:hover {
    background-color: #363a3e;
}

.list-group-item a {
    color: #adb5bd;
}

.list-group-item a:hover {
    color: #e9ecef;
}

/* Modal filter inputs */
#viewLinkFilter,
#editLinkFilter {
    background-color: #2c3034;
    border-color: #6c757d;
    border-width: 2px;
    color: #fff;
}

#viewLinkFilter::placeholder,
#editLinkFilter::placeholder {
    color: #6c757d;
}

#clearViewFilter,
#clearEditFilter {
    background-color: #2c3034;
    border-color: #6c757d;
    border-width: 2px;
    color: #adb5bd;
}

#clearViewFilter:hover,
#clearEditFilter:hover {
    background-color: #404448;
    color: #fff;
}

#viewFilterStatus,
#editFilterStatus {
    color: #6c757d;
}

/* Close button for dark theme */
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Responsive breakpoints to match Bootstrap container */
@media (min-width: 1400px) {
    .navbar .container-fluid,
    footer .container-fluid {
        max-width: 1320px;
    }
}

@media (max-width: 1199px) {
    .navbar .container-fluid,
    footer .container-fluid {
        max-width: 960px;
    }
}

@media (max-width: 991px) {
    .navbar .container-fluid,
    footer .container-fluid {
        max-width: 720px;
    }
}

@media (max-width: 767px) {
    .navbar .container-fluid,
    footer .container-fluid {
        max-width: 540px;
    }
}

@media (max-width: 575px) {
    .navbar .container-fluid,
    footer .container-fluid {
        max-width: 100%;
    }
}

/* Alert styling for dark theme */
.alert-info {
    background-color: #1a4d6d;
    border-color: #2563a3;
    color: #b3d7f2;
}

.alert-info .alert-link {
    color: #90caf9;
    font-weight: bold;
}


