/* Dark Theme Variables */
:root {
    --dt-bg-body: #121212;
    --dt-bg-card: #1e1e1e;
    --dt-bg-card-hover: #2c2c2c;
    --dt-text-main: #e0e0e0;
    --dt-text-muted: #a0a0a0;
    --dt-border: #333333;
    --dt-primary: #bb86fc;
    /* Soft purple/blue for dark theme primary */
    --dt-primary-hover: #9965f4;
    --dt-accent: #03dac6;
}

body {
    background-color: var(--dt-bg-body);
    color: var(--dt-text-main);
}

/* Card Styles */
.card {
    background-color: var(--dt-bg-card);
    border-color: var(--dt-border);
    color: var(--dt-text-main);
}

.card-header {
    background-color: var(--dt-bg-card);
    border-bottom-color: var(--dt-border);
    color: var(--dt-text-main);
}

/* Ad Card Specifics */
.ad-card {
    background-color: var(--dt-bg-card) !important;
    border-color: var(--dt-border) !important;
}

.ad-card:hover {
    background-color: var(--dt-bg-card-hover) !important;
    /* Maintain shadow but maybe make it subtler or same */
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5) !important;
}

/* Header Bar inside Ad Card */
.ad-header {
    background-color: #2a2a2a !important;
    /* Darker header */
    border-bottom: 1px solid var(--dt-border) !important;
}

.ad-header .fw-bold.text-dark {
    color: var(--dt-text-main) !important;
}

/* Text Overrides */
.text-dark {
    color: var(--dt-text-main) !important;
}

.text-muted {
    color: var(--dt-text-muted) !important;
}

.bg-light,
.bg-light-subtle,
.bg-white {
    background-color: var(--dt-bg-card) !important;
}

/* Table Styles - FIX for White Tables */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--dt-text-main);
    color: var(--dt-text-main);
    background-color: transparent !important;
}

.table td,
.table th {
    background-color: transparent !important;
    color: var(--dt-text-main) !important;
    border-color: var(--dt-border) !important;
}

/* Form Elements */
.form-control,
.form-select {
    background-color: #2a2a2a;
    border-color: var(--dt-border);
    color: var(--dt-text-main);
}

.form-control:focus,
.form-select:focus {
    background-color: #333;
    color: #fff;
    border-color: var(--dt-primary);
    box-shadow: 0 0 0 0.25rem rgba(187, 134, 252, 0.25);
}

/* Link overrides */
a {
    color: var(--dt-primary);
}

a:hover {
    color: var(--dt-primary-hover);
}

/* Navbar */
.main-header {
    background-color: #1f1f1f;
    border-bottom: 1px solid #333;
}

.main-nav ul li a {
    color: var(--dt-text-main);
}

.main-footer {
    background-color: #1f1f1f;
    border-top: 1px solid #333;
    color: var(--dt-text-muted);
}

/* Ad Image Container */
.ad-image-col {
    background-color: var(--dt-bg-card);
    border-right: 1px solid var(--dt-border);
}

/* Badges */
.badge.bg-secondary {
    background-color: #333 !important;
    color: #e0e0e0 !important;
    border: 1px solid #444;
}

.badge.bg-light {
    background-color: #2a2a2a !important;
    color: #aaa !important;
    border-color: #444 !important;
}

/* Buttons */
.btn-outline-primary {
    color: var(--dt-primary);
    border-color: var(--dt-primary);
}

.btn-outline-primary:hover {
    background-color: var(--dt-primary);
    color: #000;
}