/* Body */
body.dark-theme {
  color: var(--bs-light);
  background-color: var(--bs-gray-dark);
}

.dark-theme .bg-light {
  background-color: var(--bs-dark) !important;
}

.dark-theme .bg-white {
  background-color: var(--bs-gray-dark) !important;
}

.dark-theme .text-dark {
  color: var(--bs-light) !important;
}

.dark-theme .border-light {
  border-color: var(--bs-dark) !important;
}

.dark-theme pre {
  background-color: var(--bs-dark);
}

/* Navbar */
.dark-theme .logo {
  filter: brightness(100);
}

.dark-theme #masthead .nav-link {
  color: var(--bs-gray-500);
}

.dark-theme #masthead .nav-link:hover,
.dark-theme #masthead .nav-link.active {
  color: var(--bs-white);
}

.dark-theme #masthead .nav-link.disabled {
  color: var(--bs-gray-700);
}

.dark-theme .dropdown-menu {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-dark);
}

.dark-theme .dropdown-item {
  color: var(--bs-light);
}

.dark-theme .dropdown-item:focus,
.dark-theme .dropdown-item:hover {
  color: var(--bs-light);
  background-color: var(--bs-dark);
}

.dark-theme .dropdown-divider {
  border-top-color: var(--bs-dark);
  opacity: 1;
}

/* Components */

/* Close Button */
.dark-theme .btn-close:not(.alert .btn-close) {
  filter: invert(1);
}

/* Accordeon */
.dark-theme .accordion-button {
  color: var(--bs-light);
  background-color: var(--bs-gray-dark);
}

.dark-theme .accordion-item {
  background-color: var(--bs-gray-dark);
}

.dark-theme .accordion-button.collapsed::after {
  filter: invert(1);
}

.dark-theme .accordion-item {
  border-color: var(--bs-dark);
}

/* Cards */
.dark-theme .card {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-dark);
}

.dark-theme .card-header,
.dark-theme .card-footer {
  border-color: var(--bs-dark);
}

/* List Group */
.dark-theme .list-group-item {
  color: var(--bs-light);
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-dark);
}

.dark-theme .list-group-item.disabled {
  background-color: var(--bs-dark);
}

/* Offcanvas */
.dark-theme .offcanvas {
  background-color: var(--bs-gray-dark);
}

/* Modals */
.dark-theme .modal-header,
.dark-theme .modal-footer {
  border-color: var(--bs-dark);
}

.dark-theme .modal-content {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-dark);
}

/* Progress */
.dark-theme .progress {
  background-color: var(--bs-dark);
}

/* Popovers */
.dark-theme .popover-body,
.dark-theme .popover-header {
  color: var(--bs-light);
  background-color: var(--bs-dark);
}

.dark-theme .bs-popover-top > .popover-arrow::after {
  border-top-color: var(--bs-dark);
}

.dark-theme .bs-popover-end > .popover-arrow::after {
  border-right-color: var(--bs-dark);
}

.dark-theme .bs-popover-bottom > .popover-arrow::after {
  border-bottom-color: var(--bs-dark);
}

.dark-theme .bs-popover-start > .popover-arrow::after {
  border-left-color: var(--bs-dark);
}

/* Pagination */
.dark-theme .page-link {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-dark);
}

.dark-theme .page-item.disabled .page-link {
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
}

.dark-theme .page-link:hover {
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
}

/* Forms */
.dark-theme .form-control,
.dark-theme .form-select {
  color: var(--bs-light);
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-gray-600);
}

.dark-theme .form-control:focus {
  color: var(--bs-light);
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-primary);
}

.dark-theme .form-control:disabled,
.dark-theme .form-control[readonly],
.dark-theme .form-select:disabled {
  background-color: var(--bs-dark);
}

.dark-theme .input-group-text:not(.btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-light, .btn-dark, .btn-outline-primary, .btn-outline-secondary, .btn-outline-success, .btn-outline-danger, .btn-outline-warning, .btn-outline-info, .btn-outline-light, .btn-outline-dark) {
  color: var(--bs-light);
  background-color: var(--bs-dark);
  border-color: var(--bs-gray-600);
}

.dark-theme .form-select {
  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='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

.dark-theme .form-select.is-invalid:not([multiple]):not([size]),
.dark-theme .form-select.is-invalid:not([multiple])[size="1"],
.dark-theme .was-validated .form-select:invalid:not([multiple]):not([size]),
.dark-theme .was-validated .form-select:invalid:not([multiple])[size="1"] {
  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='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
}

.dark-theme .form-select.is-valid:not([multiple]):not([size]),
.dark-theme .form-select.is-valid:not([multiple])[size="1"],
.dark-theme .was-validated .form-select:valid:not([multiple]):not([size]),
.dark-theme .was-validated .form-select:valid:not([multiple])[size="1"] {
  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='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e")
}

.dark-theme .form-check-input:not(.form-check-input:checked) {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-gray-600);
}

.form-check-input:disabled {
  background-color: var(--bs-dark);
}

/* form-switch */
.dark-theme .form-switch .form-check-input:not(.dark-theme .form-switch .form-check-input:checked) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28250, 250, 250, 0.25%29'/%3e%3c/svg%3e");
}

/* form-range */
.dark-theme .form-range::-webkit-slider-runnable-track {
  background-color: var(--bs-dark);
}

.dark-theme .form-range::-moz-range-track {
  background-color: var(--bs-dark);
}

/* File upload */
.dark-theme .form-control::file-selector-button {
    color: var(--bs-light);
    background-color: var( --bs-dark);
}

.dark-theme .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-gray-dark);
}

/* Tabs */
.dark-theme .nav-tabs .nav-item.show .nav-link,
.dark-theme .nav-tabs .nav-link.active {
  color: var(--bs-light);
  background-color: var(--bs-dark);
  border-color: var(--bs-dark) var(--bs-dark) var(--bs-dark);
}

.dark-theme .nav-tabs {
  border-bottom-color: var(--bs-dark);
}

.dark-theme .nav-tabs .nav-link:focus,
.dark-theme .nav-tabs .nav-link:hover {
  background-color: var(--bs-dark);
  border-color: var(--bs-dark) var(--bs-dark) var(--bs-dark);
}

/* Toasts */
.dark-theme .toast {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-gray-700);
}

.dark-theme .toast-header {
  background-color: var(--bs-dark);
  border-bottom-color: var(--bs-gray-700);
}

/* Borders */
.dark-theme .border-bottom {
  border-bottom-color: var(--bs-dark) !important;
}

.dark-theme footer .border-bottom {
  border-bottom-color: var(--bs-gray-dark) !important;
}

.dark-theme .border-top {
  border-top-color: var(--bs-dark) !important;
}

.dark-theme footer .border-top {
  border-top-color: var(--bs-gray-dark) !important;
}

/* Images */
.dark-theme .img-thumbnail {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-dark);
}

/* Tables */
.dark-theme .table {
  border-color: var(--bs-gray-700);
  color: var(--bs-light);
}

.dark-theme .table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: var(--bs-dark);
  color: var(--bs-light);
}

.dark-theme .table-light {
  --bs-table-bg: var(--bs-gray-dark);
  --bs-table-striped-bg: var(--bs-dark);
  --bs-table-striped-color: var(--bs-light);
  --bs-table-active-bg: var(--bs-dark);
  --bs-table-active-color: var(--bs-light);
  --bs-table-hover-bg: var(--bs-gray-dark);
  --bs-table-hover-color: var(--bs-white);
}

/* WooCommerce */
.dark-theme .woocommerce table.shop_table,
.dark-theme .woocommerce table.shop_table td {
  border-color: var(--bs-dark) !important;
}

.dark-theme.woocommerce-cart .cart-collaterals .cart_totals tr th {
  border-color: var(--bs-dark);
}

.dark-theme.woocommerce-checkout .shop_table {
  background-color: var(--bs-gray-dark) !important;
}

.dark-theme .woocommerce table.shop_table tbody th,
.dark-theme .woocommerce table.shop_table tfoot td,
.dark-theme .woocommerce table.shop_table tfoot th {
  border-top-color: var(--bs-dark) !important;
}

.dark-theme #add_payment_method #payment div.payment_box,
.dark-theme .woocommerce-cart #payment div.payment_box,
.dark-theme .woocommerce-checkout #payment div.payment_box {
  background-color: var(--bs-dark);
  color: var(--bs-light);
}

.dark-theme #add_payment_method #payment div.payment_box::before,
.dark-theme .woocommerce-cart #payment div.payment_box::before,
.dark-theme .woocommerce-checkout #payment div.payment_box::before {
  border: 1em solid var(--bs-dark);
  border-right-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
}

.dark-theme .woocommerce .blockUI.blockOverlay,
.dark-theme .woocommerce .loader,
.dark-theme #offcanvas-cart .blockUI.blockOverlay,
.dark-theme #offcanvas-cart .loader {
  background-color: var(--bs-gray-dark) !important;
}

.dark-theme .cart-loader.bg-white {
  background-color: var(--bs-gray-dark) !important;
}

.dark-theme.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--bs-dark);
  border-bottom-color: var(--bs-dark);
}

.dark-theme.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color: var(--bs-dark);
  background-color: var(--bs-gray-dark);
  border-bottom-color: var(--bs-dark);
}

.dark-theme.woocommerce div.product .woocommerce-tabs ul.tabs:before {
  border-bottom-color: var(--bs-dark);
}

.dark-theme.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before {
  box-shadow: 2px 2px 0 var(--bs-dark);
}

.dark-theme.woocommerce table.shop_attributes tr:nth-child(even) td,
.dark-theme.woocommerce table.shop_attributes tr:nth-child(even) th {
  background: var(--bs-dark);
}

.dark-theme.woocommerce table.shop_attributes,
.dark-theme.woocommerce table.shop_attributes td,
.dark-theme.woocommerce table.shop_attributes th {
  border-color: var(--bs-gray-600);
}

/* WSForm */
.dark-theme .wsf-form input[type=text] ~ .dropzone,
.dark-theme .wsf-form input[type=text] ~ canvas {
  background-color: var(--bs-gray-dark);
  border-color: var(--bs-gray-600);
}

/* Cookie consent modal collapse borders */
.dark-theme .desc.b-acc,
.dark-theme #s-bl tr{
  border-color: var(--bs-gray-dark);
}
