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

/* Global Color Overrides */
h1, h2, h3, h4, h5, h6 { color: var(--theme-color); }
a { color: var(--theme-color); text-decoration: none; }
a:hover { color: var(--theme-color); opacity: 0.8; text-decoration: underline; }

/* Component Overrides */
.navbar { background-color: var(--theme-color) !important; }
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.75); }
.navbar-dark .navbar-nav .nav-link:hover { color: rgba(255,255,255,1); }
.navbar-brand { color: #fff !important; }
.btn-primary { background-color: var(--theme-color) !important; border-color: var(--theme-color) !important; }
.btn-outline-primary { color: var(--theme-color) !important; border-color: var(--theme-color) !important; }
.btn-outline-primary:hover, .btn-outline-primary.active, .btn-outline-primary:active { 
    background-color: var(--theme-color) !important; 
    color: #fff !important; 
    box-shadow: none !important;
}

/* Specific styling for the directory buttons in active state (to be less jarring) */
.btn-group .btn-outline-primary.active {
    background-color: rgba(18, 30, 73, 0.18) !important; /* Slightly darkened mix */
    color: var(--theme-color) !important;
    font-weight: bold;
    box-shadow: none !important;
}

.btn-link { color: var(--theme-color) !important; }
.btn-link:hover { color: var(--theme-color) !important; opacity: 0.8 !important; }

/* Buttons that should match theme but might use dark/other classes */
.btn-dark { background-color: var(--theme-color) !important; border-color: var(--theme-color) !important; }
.btn-outline-dark { color: var(--theme-color) !important; border-color: var(--theme-color) !important; }
.btn-outline-dark:hover, .btn-outline-dark.active, .btn-outline-dark:active { 
    background-color: var(--theme-color) !important; 
    color: #fff !important; 
}

.card-header.bg-primary, .card-header.bg-dark { background-color: var(--theme-color) !important; color: #fff !important; }
.card-footer {background-color:#e2e2e2}

.breadcrumb-item a { color: var(--theme-color) !important; text-decoration: none; }
.breadcrumb-item a:hover { text-decoration: underline; }

.list-group-item-action:hover { border-left: 4px solid var(--theme-color); }
.recent-obits .card { margin-bottom: 1rem; }

/* Table Headers */
.table-dark { --bs-table-bg: var(--theme-color) !important; }
.site_footer_msg {
    margin-top:50px;border-top:1px dotted #ccc;border-bottom:1px dotted #ccc;
    padding:15px 10px 0px 10px;text-align:center;font-size:.9rem;color:#777;
}

/* Instant Overlay Navbar Dropdown (Performance Fix) */
@media (max-width: 991.98px) {
    .navbar { position: relative; }
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--theme-color);
        z-index: 1050;
        padding: 1rem;
        box-shadow: 0 10px 15px -3px rgba(0,0,0,0.2);
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }
    /* Disable animation to prevent layout thrashing */
    .collapsing {
        transition: none !important;
        height: auto !important;
        display: none;
    }
}
