/*
 * TractorGeeks dark-mode theme layer
 * Bootstrap 5.3 color-mode overrides
 */

[data-bs-theme="dark"] {
    /* semantic tokens */
    --tg-dark-bg: #0f141c;
    --tg-dark-surface: #17202b;
    --tg-dark-surface-2: #1d2835;
    --tg-dark-callout: #243344;
    --tg-dark-elevated: #223041;
    --tg-dark-border: #334154;
    --tg-dark-border-strong: #405169;
    --tg-dark-text: #e4ebf5;
    --tg-dark-text-muted: #afbdcf;
    --tg-dark-link: #8ab4ff;
    --tg-dark-link-hover: #bdd6ff;
    --tg-dark-focus: #82b0ff;
    --tg-dark-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);

    /* bootstrap tokens */
    --bs-body-bg: var(--tg-dark-bg);
    --bs-body-color: var(--tg-dark-text);
    --bs-emphasis-color: #f2f6fc;
    --bs-secondary-color: var(--tg-dark-text-muted);
    --bs-secondary-color-rgb: 175, 189, 207;
    --bs-secondary-bg: var(--tg-dark-surface-2);
    --bs-tertiary-bg: #263445;
    --bs-border-color: var(--tg-dark-border);
    --bs-border-color-translucent: rgba(215, 229, 249, 0.14);
    --bs-heading-color: #f0f5fd;
    --bs-link-color: var(--tg-dark-link);
    --bs-link-hover-color: var(--tg-dark-link-hover);
    --bs-focus-ring-color: rgba(130, 176, 255, 0.32);

    --bs-card-bg: var(--tg-dark-surface);
    --bs-card-border-color: var(--tg-dark-border);
    --bs-dropdown-bg: var(--tg-dark-elevated);
    --bs-dropdown-border-color: var(--tg-dark-border-strong);
    --bs-dropdown-link-color: var(--tg-dark-text);
    --bs-dropdown-link-hover-color: #f4f8ff;
    --bs-dropdown-link-hover-bg: rgba(138, 180, 255, 0.14);
    --bs-dropdown-link-active-bg: rgba(138, 180, 255, 0.22);
    --bs-dropdown-link-active-color: #f6f9ff;

    --bs-modal-bg: var(--tg-dark-elevated);
    --bs-modal-border-color: var(--tg-dark-border-strong);
    --bs-offcanvas-bg: var(--tg-dark-elevated);
    --bs-offcanvas-border-color: var(--tg-dark-border-strong);

    --bs-list-group-bg: var(--tg-dark-surface);
    --bs-list-group-border-color: var(--tg-dark-border);
    --bs-list-group-color: var(--tg-dark-text);

    --bs-nav-tabs-border-color: var(--tg-dark-border);
    --bs-nav-tabs-link-active-bg: var(--tg-dark-surface-2);
    --bs-nav-tabs-link-active-border-color: var(--tg-dark-border-strong) var(--tg-dark-border-strong) var(--tg-dark-surface-2);
    --bs-nav-tabs-link-active-color: var(--tg-dark-text);

    --bs-navbar-color: #d9e3f1;
    --bs-navbar-hover-color: #f3f8ff;
    --bs-navbar-brand-color: #f6fbff;
    --bs-navbar-brand-hover-color: #ffffff;
    --bs-navbar-toggler-border-color: rgba(232, 241, 255, 0.35);

    --bs-table-bg: transparent;
    --bs-table-color: var(--tg-dark-text);
    --bs-table-border-color: var(--tg-dark-border);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: rgba(138, 180, 255, 0.09);

    --bs-tooltip-bg: #0c1118;
    --bs-tooltip-color: #f3f8ff;
    --bs-popover-bg: var(--tg-dark-elevated);
    --bs-popover-border-color: var(--tg-dark-border-strong);
    --bs-popover-header-bg: var(--tg-dark-surface-2);
    --bs-popover-header-color: #f3f8ff;
    --bs-popover-body-color: var(--tg-dark-text);

    /* DataTables tone controls */
    --dt-row-stripe: 255, 255, 255;
    --dt-row-hover: 138, 180, 255;
    --dt-column-ordering: 255, 255, 255;
}

[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .gray-bg,
[data-bs-theme="dark"] .base-container {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] :is(a, button, .btn, .form-control, .form-select, .form-check-input, .page-link, .dropdown-item, .nav-link):focus-visible {
    outline: 2px solid var(--tg-dark-focus);
    outline-offset: 2px;
}

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

/* Navbar, dropdowns, offcanvas */
[data-bs-theme="dark"] .navbar {
    background-color: #264130 !important;
    border-bottom-color: #3d5567;
}

[data-bs-theme="dark"] .navbar-toggler {
    border-color: var(--bs-navbar-toggler-border-color) !important;
}

[data-bs-theme="dark"] .navbar-toggler-icon {
    filter: brightness(1.85);
}

[data-bs-theme="dark"] .offcanvas,
[data-bs-theme="dark"] .offcanvas-header,
[data-bs-theme="dark"] .offcanvas-body,
[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] #notify,
[data-bs-theme="dark"] .thread-action-menu {
    background-color: var(--bs-dropdown-bg) !important;
    border-color: var(--bs-dropdown-border-color) !important;
    color: var(--bs-dropdown-link-color);
    box-shadow: var(--tg-dark-shadow);
}

[data-bs-theme="dark"] #notify-top-actions {
    background-color: rgba(23, 32, 43, 0.92);
    border-color: var(--tg-dark-border-strong);
    color: var(--tg-dark-text);
    box-shadow: inset 0 0 0 1px rgba(138, 180, 255, 0.14), 0 8px 20px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] #notify-top-actions .btn {
    box-shadow: none;
}

[data-bs-theme="dark"] #notify-top-actions .btn-outline-danger {
    --bs-btn-color: #ffd4d9;
    --bs-btn-border-color: rgba(236, 116, 128, 0.46);
    --bs-btn-hover-color: #fff3f5;
    --bs-btn-hover-bg: rgba(169, 53, 63, 0.34);
    --bs-btn-hover-border-color: rgba(244, 146, 155, 0.62);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: rgba(178, 61, 72, 0.48);
    --bs-btn-active-border-color: rgba(244, 146, 155, 0.68);
}

[data-bs-theme="dark"] .side-menu-links a,
[data-bs-theme="dark"] .side-menu-links .side-menu-action,
[data-bs-theme="dark"] .dropdown-item {
    color: var(--bs-dropdown-link-color);
}

[data-bs-theme="dark"] .notify-dismiss {
    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(215, 229, 249, 0.1);
    color: var(--tg-dark-text-muted);
}

[data-bs-theme="dark"] .notify-dismiss i {
    color: #d4a8b0;
}

[data-bs-theme="dark"] .side-menu-links a:hover,
[data-bs-theme="dark"] .side-menu-links .side-menu-action:hover,
[data-bs-theme="dark"] .user-info:hover,
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus,
[data-bs-theme="dark"] .notify-dismiss:hover,
[data-bs-theme="dark"] .notify-dismiss:focus {
    background-color: var(--bs-dropdown-link-hover-bg) !important;
    color: var(--bs-dropdown-link-hover-color) !important;
    box-shadow: inset 0 0 0 1px rgba(138, 180, 255, 0.2), 0 6px 18px rgba(0, 0, 0, 0.28);
}

[data-bs-theme="dark"] .notify-dismiss:hover i,
[data-bs-theme="dark"] .notify-dismiss:focus i {
    color: #ffd7dd;
}

[data-bs-theme="dark"] .menu-icon {
    color: #b8cadf;
}

[data-bs-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(170%);
    opacity: 0.72;
}

[data-bs-theme="dark"] .btn-close:hover,
[data-bs-theme="dark"] .btn-close:focus {
    opacity: 1;
}

/* Buttons */
[data-bs-theme="dark"] .btn-primary {
    --bs-btn-bg: #3c78ff;
    --bs-btn-border-color: #3c78ff;
    --bs-btn-hover-bg: #5c8fff;
    --bs-btn-hover-border-color: #5c8fff;
    --bs-btn-active-bg: #2f67e2;
    --bs-btn-active-border-color: #2f67e2;
}

[data-bs-theme="dark"] .btn-secondary {
    --bs-btn-bg: #344457;
    --bs-btn-border-color: #44586f;
    --bs-btn-hover-bg: #42586f;
    --bs-btn-hover-border-color: #536c86;
    --bs-btn-active-bg: #4b637b;
    --bs-btn-active-border-color: #5a7693;
}

[data-bs-theme="dark"] .btn-outline-secondary,
[data-bs-theme="dark"] .btn-outline-dark {
    --bs-btn-color: var(--tg-dark-text);
    --bs-btn-border-color: #4a607a;
    --bs-btn-hover-color: #f6f9ff;
    --bs-btn-hover-bg: #3b4f66;
    --bs-btn-hover-border-color: #627b98;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #4a617b;
    --bs-btn-active-border-color: #6f89a8;
}

[data-bs-theme="dark"] .prompt-btn {
    background-color: var(--tg-dark-surface-2);
    border-color: var(--tg-dark-border-strong);
    color: var(--tg-dark-text);
}

[data-bs-theme="dark"] .prompt-btn:hover {
    background-color: #263b53;
    color: #e8f2ff;
    border-color: #5f7ea4;
}

[data-bs-theme="dark"] .go-btn {
    background-color: var(--tg-dark-surface-2);
    color: var(--tg-dark-text);
    border-color: var(--tg-dark-border);
}

[data-bs-theme="dark"] .go-btn:hover {
    background-color: #2d4f3a;
    color: #ffffff;
    border-color: #3a6a4c;
}

[data-bs-theme="dark"] .ug-btn,
[data-bs-theme="dark"] .linky-light {
    --bs-btn-color: #f6f9ff;
    --bs-btn-bg: #344457;
    --bs-btn-border-color: #44586f;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #42586f;
    --bs-btn-hover-border-color: #536c86;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #4b637b;
    --bs-btn-active-border-color: #5a7693;
    --bs-btn-disabled-color: #d4dfec;
    --bs-btn-disabled-bg: #2e3d4e;
    --bs-btn-disabled-border-color: #3d4f63;
    background-color: var(--bs-btn-bg) !important;
    border-color: var(--bs-btn-border-color) !important;
    color: var(--bs-btn-color) !important;
}

[data-bs-theme="dark"] .ug-btn:hover,
[data-bs-theme="dark"] .linky-light:hover {
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
    color: var(--bs-btn-hover-color) !important;
}

[data-bs-theme="dark"] .ug-btn i {
    color: currentColor !important;
}

/* Forms */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text,
[data-bs-theme="dark"] .form-check-input {
    background-color: var(--tg-dark-surface);
    color: var(--tg-dark-text);
    border-color: var(--tg-dark-border);
}

[data-bs-theme="dark"] .form-control::placeholder,
[data-bs-theme="dark"] textarea::placeholder,
[data-bs-theme="dark"] input::placeholder {
    color: var(--tg-dark-text-muted);
    opacity: 1;
}

[data-bs-theme="dark"] :is(.form-control, .form-select, input, textarea, select):focus {
    background-color: var(--tg-dark-surface-2) !important;
    color: var(--tg-dark-text) !important;
    border-color: var(--tg-dark-focus) !important;
    box-shadow: 0 0 0 0.2rem rgba(130, 176, 255, 0.23) !important;
}

[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-select:disabled,
[data-bs-theme="dark"] .form-control[readonly] {
    background-color: #131b24;
    color: #94a4b8;
    border-color: #2d3a49;
    opacity: 1;
}

[data-bs-theme="dark"] .form-floating > label,
[data-bs-theme="dark"] .form-text,
[data-bs-theme="dark"] .form-section-title,
[data-bs-theme="dark"] .form-section-info,
[data-bs-theme="dark"] .general-page-title,
[data-bs-theme="dark"] .option-count {
    color: var(--tg-dark-text-muted);
}

[data-bs-theme="dark"] .form-section {
    border-bottom-color: var(--tg-dark-border-strong);
}

[data-bs-theme="dark"] .visibility-toggle {
    background-color: var(--tg-dark-surface-2);
    border-color: var(--tg-dark-border);
    color: var(--tg-dark-text);
}

[data-bs-theme="dark"] .info-box {
    background-color: var(--tg-dark-callout);
    border-color: var(--tg-dark-border-strong);
    color: var(--tg-dark-text);
}

[data-bs-theme="dark"] .invalid-feedback,
[data-bs-theme="dark"] .text-danger {
    color: #ff8f95 !important;
}

[data-bs-theme="dark"] .valid-feedback,
[data-bs-theme="dark"] .text-success {
    color: #76d9aa !important;
}

[data-bs-theme="dark"] .form-control.is-invalid,
[data-bs-theme="dark"] .was-validated .form-control:invalid,
[data-bs-theme="dark"] .form-select.is-invalid,
[data-bs-theme="dark"] .was-validated .form-select:invalid {
    border-color: #e06b73;
}

[data-bs-theme="dark"] .form-control.is-valid,
[data-bs-theme="dark"] .was-validated .form-control:valid,
[data-bs-theme="dark"] .form-select.is-valid,
[data-bs-theme="dark"] .was-validated .form-select:valid {
    border-color: #4fb889;
}

/* Tables + DataTables */
[data-bs-theme="dark"] .table {
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
    background-color: transparent;
}

[data-bs-theme="dark"] .table-card,
[data-bs-theme="dark"] .machine-table-wrap,
[data-bs-theme="dark"] table.fixedHeader-floating {
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
    background-color: var(--tg-dark-surface);
}

[data-bs-theme="dark"] .table > :not(caption) > * > *,
[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
    border-color: var(--tg-dark-border);
}

[data-bs-theme="dark"] .table thead th,
[data-bs-theme="dark"] table.dataTable thead th,
[data-bs-theme="dark"] table.fixedHeader-floating thead th,
[data-bs-theme="dark"] #all_brands_table thead th,
[data-bs-theme="dark"] #general_class_table thead th,
[data-bs-theme="dark"] #single_class_table thead th {
    background-color: var(--tg-dark-surface);
    color: var(--tg-dark-text-muted);
    border-bottom-color: var(--tg-dark-border-strong);
}

[data-bs-theme="dark"] :is(.profile-card, .full-page-card) .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-bg-state: transparent;
    background-color: transparent !important;
}

[data-bs-theme="dark"] :is(.profile-card, .full-page-card) .table > :not(caption) > * > *,
[data-bs-theme="dark"] :is(.profile-card, .full-page-card) .table tbody,
[data-bs-theme="dark"] :is(.profile-card, .full-page-card) .table tr,
[data-bs-theme="dark"] :is(.profile-card, .full-page-card) .table td,
[data-bs-theme="dark"] :is(.profile-card, .full-page-card) .table th {
    background-color: transparent !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] .forum-thread-table tr {
    background-color: var(--tg-dark-surface);
    border-color: rgba(149, 167, 189, 0.3);
}

[data-bs-theme="dark"] .forum-thread-table td::before {
    color: var(--tg-dark-text-muted);
}

[data-bs-theme="dark"] .dt-container .dt-search input,
[data-bs-theme="dark"] .dt-container .dt-length select,
[data-bs-theme="dark"] .dataTables_filter .form-control {
    background-color: var(--tg-dark-surface) !important;
    border-color: var(--tg-dark-border) !important;
    color: var(--tg-dark-text) !important;
}

[data-bs-theme="dark"] .dt-container .dt-search input:focus,
[data-bs-theme="dark"] .dt-container .dt-length select:focus,
[data-bs-theme="dark"] .dataTables_filter .form-control:focus {
    background-color: var(--tg-dark-surface-2) !important;
    border-color: var(--tg-dark-focus) !important;
    box-shadow: 0 0 0 0.2rem rgba(130, 176, 255, 0.23) !important;
}

[data-bs-theme="dark"] .dt-container :is(.dt-info, .dt-length label, .dt-search label) {
    color: var(--tg-dark-text-muted);
}

[data-bs-theme="dark"] .pagination .page-link {
    background-color: var(--tg-dark-surface);
    border-color: var(--tg-dark-border);
    color: var(--tg-dark-text);
}

[data-bs-theme="dark"] .pagination .page-link:hover,
[data-bs-theme="dark"] .pagination .page-link:focus {
    background-color: var(--tg-dark-surface-2);
    border-color: var(--tg-dark-focus);
    color: #f6f9ff;
}

[data-bs-theme="dark"] .pagination .page-item.active .page-link {
    background-color: #3c78ff;
    border-color: #3c78ff;
    color: #ffffff;
}

/* Surface components */
[data-bs-theme="dark"] .base-card,
[data-bs-theme="dark"] .task-card,
[data-bs-theme="dark"] .full-page-card,
[data-bs-theme="dark"] .thread-post-card,
[data-bs-theme="dark"] .forum-compose-card,
[data-bs-theme="dark"] .reply-card,
[data-bs-theme="dark"] .thread-stat-card,
[data-bs-theme="dark"] .list-group-item,
[data-bs-theme="dark"] .accordion-item,
[data-bs-theme="dark"] .popover,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .toast {
    color: var(--bs-body-color);
    border-color: var(--bs-card-border-color);
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer,
[data-bs-theme="dark"] .toast-header,
[data-bs-theme="dark"] .accordion-button {
    border-color: var(--tg-dark-border);
}

[data-bs-theme="dark"] #infoModal .modal-body {
    background-color: var(--bs-modal-bg) !important;
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .accordion-button {
    background-color: var(--tg-dark-surface);
    color: var(--tg-dark-text);
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: var(--tg-dark-surface-2);
    color: #f5f9ff;
}

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

[data-bs-theme="dark"] .popover-header {
    border-bottom-color: var(--tg-dark-border);
}

[data-bs-theme="dark"] .nav-tabs .nav-link,
[data-bs-theme="dark"] .nav-pills .nav-link,
[data-bs-theme="dark"] .side-pills .nav-link {
    color: var(--tg-dark-text-muted);
}

[data-bs-theme="dark"] .nav-tabs .nav-link:hover,
[data-bs-theme="dark"] .nav-pills .nav-link:hover,
[data-bs-theme="dark"] .side-pills .nav-link:hover {
    color: var(--tg-dark-text);
    background-color: rgba(138, 180, 255, 0.08);
    border-color: var(--tg-dark-border);
}

[data-bs-theme="dark"] .nav-pills .nav-link.active,
[data-bs-theme="dark"] .side-pills .nav-link.active {
    background-color: #3b77f3;
    color: #ffffff;
}

[data-bs-theme="dark"] .breadcrumb {
    --bs-breadcrumb-divider-color: var(--tg-dark-text-muted);
}

/* Alerts, badges, misc */
[data-bs-theme="dark"] .alert {
    border-color: var(--tg-dark-border-strong);
}

[data-bs-theme="dark"] .alert-info {
    --bs-alert-bg: rgba(72, 140, 255, 0.16);
    --bs-alert-color: #dbe9ff;
    --bs-alert-border-color: rgba(126, 171, 255, 0.35);
}

[data-bs-theme="dark"] .alert-success {
    --bs-alert-bg: rgba(41, 149, 104, 0.2);
    --bs-alert-color: #d7f8ea;
    --bs-alert-border-color: rgba(102, 203, 160, 0.4);
}

[data-bs-theme="dark"] .alert-warning {
    --bs-alert-bg: rgba(164, 118, 28, 0.22);
    --bs-alert-color: #ffeeca;
    --bs-alert-border-color: rgba(231, 184, 78, 0.42);
}

[data-bs-theme="dark"] .alert-danger {
    --bs-alert-bg: rgba(169, 53, 63, 0.22);
    --bs-alert-color: #ffdce0;
    --bs-alert-border-color: rgba(236, 116, 128, 0.4);
}

[data-bs-theme="dark"] .badge.bg-light {
    background-color: var(--tg-dark-surface-2) !important;
    color: var(--tg-dark-text) !important;
    border: 1px solid var(--tg-dark-border);
}

[data-bs-theme="dark"] .save-footer {
    background-color: var(--tg-dark-elevated) !important;
    border-top: 1px solid var(--tg-dark-border-strong);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.38);
}

[data-bs-theme="dark"] .save-footer .btn,
[data-bs-theme="dark"] .save-footer .base-save-btn,
[data-bs-theme="dark"] .save-footer .base-create-btn,
[data-bs-theme="dark"] .save-footer .base-close-btn,
[data-bs-theme="dark"] .save-footer .base-delete-btn-lg {
    box-shadow: none;
}

[data-bs-theme="dark"] .save-footer .btn-light,
[data-bs-theme="dark"] .save-footer .btn-outline-dark,
[data-bs-theme="dark"] .save-footer .base-close-btn {
    --bs-btn-color: var(--tg-dark-text);
    --bs-btn-bg: #2a3949;
    --bs-btn-border-color: #4b6078;
    --bs-btn-hover-color: #f6f9ff;
    --bs-btn-hover-bg: #35485c;
    --bs-btn-hover-border-color: #6983a2;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #42586f;
    --bs-btn-active-border-color: #7a94b3;
}

[data-bs-theme="dark"] .save-footer .btn-primary,
[data-bs-theme="dark"] .save-footer .base-save-btn,
[data-bs-theme="dark"] .save-footer .base-create-btn {
    --bs-btn-color: #f7fbff;
    --bs-btn-bg: #345d46;
    --bs-btn-border-color: #4c7c61;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #3f7155;
    --bs-btn-hover-border-color: #5f9274;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #497c5f;
    --bs-btn-active-border-color: #6da587;
}

[data-bs-theme="dark"] .save-footer .btn-danger,
[data-bs-theme="dark"] .save-footer .base-delete-btn-lg {
    --bs-btn-color: #fff1f3;
    --bs-btn-bg: #7f2f3a;
    --bs-btn-border-color: #a14a57;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #94404b;
    --bs-btn-hover-border-color: #bb6571;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #a64e5a;
    --bs-btn-active-border-color: #c87580;
}

[data-bs-theme="dark"] #overlay {
    background: rgba(12, 17, 24, 0.78);
    opacity: 1 !important;
}

/* Gallery / image surfaces */
[data-bs-theme="dark"] .gridzy .gridzyCaption {
    background: linear-gradient(to top, rgba(6, 9, 13, 0.92), rgba(6, 9, 13, 0.62)) !important;
    color: #edf4ff;
    text-shadow: none;
}

[data-bs-theme="dark"] .table-row-img,
[data-bs-theme="dark"] .thread-post-photo,
[data-bs-theme="dark"] .post-author-bubble {
    border-color: var(--tg-dark-border-strong);
}

[data-bs-theme="dark"] .pswp__bg {
    background: #04080f;
}

[data-bs-theme="dark"] .pswp__caption__center {
    color: #e8f0fd;
}

/* Font Awesome duotone tuning */
[data-bs-theme="dark"] .fa-duotone,
[data-bs-theme="dark"] .fad {
    --fa-primary-color: currentColor;
    --fa-secondary-color: currentColor;
    --fa-secondary-opacity: 0.42;
}
