.bd-mode-toggle {
    z-index: 100;
}

.bd-mode-toggle svg {
    fill: currentColor;
}

.bd-mode-toggle .theme-check {
    visibility: hidden;
}

.bd-mode-toggle .active .theme-check {
    visibility: visible;
}

.bd-mode-toggle #bd-theme:focus-visible,
.bd-mode-toggle .dropdown-item:focus-visible {
    outline: 2px solid var(--bs-link-color) !important;
    outline-offset: 2px;
}

/* Cabinet colors that predate Bootstrap color modes. */
[data-bs-theme="dark"] .partposter-cabinet :is(.navbar-top, .card-header).bg-light {
    background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .partposter-cabinet .card-header.text-dark {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .partposter-cabinet .footer {
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .hint-block,
[data-bs-theme="dark"] th.action-column button.btn-link,
[data-bs-theme="dark"] #modalContent .modalLoading,
[data-bs-theme="dark"] .ozon-method-settings :is(.ozon-method-address, .ozon-method-number),
[data-bs-theme="dark"] .ozon-method-settings .ozon-method-list:empty::before {
    color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .error-summary {
    color: var(--bs-danger-text-emphasis);
    background-color: var(--bs-danger-bg-subtle);
    border-color: var(--bs-danger-border-subtle);
}

[data-bs-theme="dark"] .not-set,
[data-bs-theme="dark"] .has-error .help-block {
    color: var(--bs-danger-text-emphasis);
}

[data-bs-theme="dark"] .kv-grid-loading {
    background-color: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .ozon-method-settings .ozon-method-list {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .ozon-method-settings .ozon-method-option {
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .ozon-method-settings .ozon-method-option:is(:hover, :focus-within) {
    background-color: var(--bs-tertiary-bg);
}

/* Third-party fields and popups used in cabinet forms. */
[data-bs-theme="dark"] .select2-container--krajee-bs5 :is(.select2-selection, .select2-dropdown, .select2-search--dropdown .select2-search__field),
[data-bs-theme="dark"] .tt-menu,
[data-bs-theme="dark"] .suggestions-suggestions {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-selection--single {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
}

[data-bs-theme="dark"] .select2-container--krajee-bs5 :is(.select2-selection--single .select2-selection__rendered, .select2-search--inline .select2-search__field),
[data-bs-theme="dark"] .tt-menu .tt-suggestion {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-results__option:not(.select2-results__option--highlighted) {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] .select2-container--krajee-bs5 :is(.select2-results__group, .select2-selection--multiple .select2-selection__choice),
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-results__option--selected:not(.select2-results__option--highlighted),
[data-bs-theme="dark"] .tt-menu .tt-suggestion:is(.tt-cursor, :hover),
[data-bs-theme="dark"] .suggestions-suggestion:is(.suggestions-selected, :hover),
[data-bs-theme="dark"] :is(.datepicker, .datetimepicker) :is(th, td.day, td span):hover:not(.active, .disabled, .today) {
    color: var(--bs-emphasis-color);
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
    text-shadow: none;
}

[data-bs-theme="dark"] .select2-container--krajee-bs5.select2-container--disabled .select2-selection {
    background-color: var(--bs-secondary-bg);
}

[data-bs-theme="dark"] .suggestions-suggestion strong {
    color: var(--bs-link-color);
}

[data-bs-theme="dark"] .popover-x {
    --pp-popover-heading-bg: var(--bs-tertiary-bg);
    --pp-popover-heading-color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .popover-x.popover-primary {
    --pp-popover-heading-bg: var(--bs-primary-bg-subtle);
    --pp-popover-heading-color: var(--bs-primary-text-emphasis);
}

[data-bs-theme="dark"] .popover-x .popover-title {
    color: var(--pp-popover-heading-color);
    background-color: var(--pp-popover-heading-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .popover-x .popover-footer {
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .popover-x.is-bs5 .close {
    color: var(--bs-body-color);
    text-shadow: none;
}

[data-bs-theme="dark"] .popover-x.bottom .arrow::after {
    border-bottom-color: var(--pp-popover-heading-bg);
}

[data-bs-theme="dark"] .popover-x.top .arrow::after {
    border-top-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] .popover-x.has-footer.top .arrow::after {
    border-top-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] :is(.datepicker-dropdown, .datetimepicker-dropdown-bottom-right, .datetimepicker-dropdown-bottom-left)::after {
    border-bottom-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] :is(.datepicker-dropdown.datepicker-orient-top, .datetimepicker-dropdown-top-right, .datetimepicker-dropdown-top-left)::after {
    border-top-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] .handsontable :is(td, th, textarea.handsontableInput) {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
}

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

/* The public pages use the Primes palette alongside Bootstrap components. */
[data-bs-theme="dark"] .partposter-public,
[data-bs-theme="dark"] .partposter-public :is(.fact-container, .price-column, #footer) {
    background-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] .partposter-public :is(.services-container, .pricing-container, .price-column h3) {
    background-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .partposter-public :is(.features-container, .services-container, .pricing-container, .price-column li, .testimonials h4, .testimonials p, #footer p) {
    color: var(--bs-secondary-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .partposter-public :is(.features h3, .features-box h4, .services h3, .services-text-right h5, .pricing h3, .price-column h3, .testimonials h3, #footer h3, .social-icon) {
    color: var(--bs-emphasis-color);
}

[data-bs-theme="dark"] .partposter-public :is(.features-box .icon i, .services-icon-wrap .left-side-icon) {
    color: var(--bs-link-color);
}

[data-bs-theme="dark"] .partposter-public .homepage-carriers a {
    background-color: #fff;
    border-radius: var(--bs-border-radius);
    padding: .25rem .5rem;
}

[data-bs-theme="dark"] .partposter-home-nav.menu-shrink {
    background-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .partposter-home-nav.menu-shrink :is(.navbar-brand, .navbar-nav > li > a),
[data-bs-theme="dark"] .partposter-home-nav.menu-top .dropdown-menu .dropdown-item {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .partposter-home-nav .dropdown-menu .dropdown-item:is(:hover, :focus),
[data-bs-theme="dark"] .partposter-home-nav .navbar-nav > li > a:is(.active, :hover, :focus) {
    color: var(--bs-link-color) !important;
}

@media (max-width: 991.98px) {
    [data-bs-theme="dark"] .partposter-home-nav.menu-top {
        background-color: var(--bs-tertiary-bg) !important;
        border-color: var(--bs-border-color);
    }

    [data-bs-theme="dark"] .partposter-home-nav.menu-top :is(.navbar-brand, .navbar-nav .nav-link) {
        color: var(--bs-body-color) !important;
    }
}
