/*
  Strapx0 is the CMSx0 theme layer for project-specific components.
  Bootx0 provides the compatible base components; Strapx0 keeps the CMS skin.
*/
:root {
  --strapx0-radius-tight: 3px;
  --strapx0-radius-box: 6px;
  --strapx0-border: var(--x0-border, #dedbd3);
  --strapx0-accent: var(--x0-accent, #ffdd93);
  --strapx0-muted-bg: var(--x0-soft-bg, #efeeeb);
}

.strapx0-save-button,
.x0-save-button,
.btn-save,
button[name="save"],
button[value="save"] {
  min-height: 27px;
  padding: 3px 9px;
  border: 1px solid var(--strapx0-accent);
  border-radius: var(--strapx0-radius-tight);
  background: color-mix(in srgb, var(--strapx0-accent) 24%, var(--x0-surface, #fff));
  color: var(--x0-text, #171717);
  font-weight: 600;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.strapx0-save-button:hover,
.x0-save-button:hover,
.btn-save:hover,
button[name="save"]:hover,
button[value="save"]:hover {
  border-color: var(--x0-border-strong, #9f9a91);
  background: var(--strapx0-muted-bg);
  color: #171717;
}

.x0-editor-small-box,
.x0-editor-mid-box,
.x0-small-box,
.x0-mid-box {
  border-radius: var(--strapx0-radius-box);
}

.x0-editor-box,
.x0-editor-wide-box,
.x0-editor-inline-box {
  border-radius: var(--strapx0-radius-tight);
}

body.theme-dark,
html.theme-dark {
  --strapx0-border: var(--x0-border, #3a3936);
  --strapx0-muted-bg: var(--x0-soft-bg, #242424);
}

body.theme-dark .strapx0-save-button,
body.theme-dark .x0-save-button,
body.theme-dark .btn-save,
body.theme-dark button[name="save"],
body.theme-dark button[value="save"] {
  color: var(--x0-text, #f5f1e9);
}

/* Canonical interactive contract. This file loads last in frontend, Admin CP and Mod CP. */
.btn,
button.btn,
a.btn,
.page-content .btn,
.content-box .btn,
body.admin-body .admin-content .btn,
body.admin-body .page-content .btn,
.modal .btn,
input.btn[type="submit"] {
  min-height: 27px !important;
  padding: 3px 9px !important;
  border-radius: var(--strapx0-radius-tight) !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

.btn-primary,
.page-content .btn-primary,
.content-box .btn-primary,
body.admin-body .admin-content .btn-primary,
.modal .btn-primary {
  border: 1px solid var(--strapx0-border) !important;
  background: var(--x0-surface, #fff) !important;
  color: var(--x0-text, #171717) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.page-content .btn-primary:hover,
.page-content .btn-primary:focus,
.content-box .btn-primary:hover,
.content-box .btn-primary:focus,
body.admin-body .admin-content .btn-primary:hover,
body.admin-body .admin-content .btn-primary:focus,
.modal .btn-primary:hover,
.modal .btn-primary:focus {
  border-color: var(--strapx0-accent) !important;
  background: var(--x0-surface-hover, #eeeeeb) !important;
}

.btn-outline,
.btn-outline-primary,
.btn-outline-secondary,
.page-content .btn-outline,
.page-content .btn-outline-primary,
.page-content .btn-outline-secondary,
.content-box .btn-outline,
.content-box .btn-outline-primary,
.content-box .btn-outline-secondary,
body.admin-body .admin-content .btn-outline,
body.admin-body .admin-content .btn-outline-primary,
body.admin-body .admin-content .btn-outline-secondary,
.modal .btn-outline,
.modal .btn-outline-primary,
.modal .btn-outline-secondary {
  border: 1px solid var(--strapx0-accent) !important;
  background: var(--x0-surface-soft, #f4f3f0) !important;
  color: inherit !important;
}

.btn-outline:hover,
.btn-outline:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.page-content .btn-outline:hover,
.page-content .btn-outline:focus,
.page-content .btn-outline-primary:hover,
.page-content .btn-outline-primary:focus,
.page-content .btn-outline-secondary:hover,
.page-content .btn-outline-secondary:focus,
.content-box .btn-outline:hover,
.content-box .btn-outline:focus,
.content-box .btn-outline-primary:hover,
.content-box .btn-outline-primary:focus,
.content-box .btn-outline-secondary:hover,
.content-box .btn-outline-secondary:focus,
body.admin-body .admin-content .btn-outline:hover,
body.admin-body .admin-content .btn-outline:focus,
body.admin-body .admin-content .btn-outline-primary:hover,
body.admin-body .admin-content .btn-outline-primary:focus,
body.admin-body .admin-content .btn-outline-secondary:hover,
body.admin-body .admin-content .btn-outline-secondary:focus,
.modal .btn-outline:hover,
.modal .btn-outline:focus,
.modal .btn-outline-primary:hover,
.modal .btn-outline-primary:focus,
.modal .btn-outline-secondary:hover,
.modal .btn-outline-secondary:focus {
  border-color: var(--x0-border-strong, #9f9a91) !important;
  background: color-mix(in srgb, var(--strapx0-accent) 14%, var(--x0-surface, #fff)) !important;
}

.btn.x0-save-button,
.x0-save-button,
.strapx0-save-button,
.btn-save,
.btn-save-changes,
button[name*="save"].btn,
input[name*="save"].btn[type="submit"] {
  min-height: 27px !important;
  padding: 3px 9px !important;
}

.btn.x0-save-button,
.page-content .btn.x0-save-button,
.content-box .btn.x0-save-button,
body.admin-body .admin-content .btn.x0-save-button,
body.admin-body .page-content .btn.x0-save-button,
.modal .btn.x0-save-button,
.strapx0-save-button,
.btn-save,
.btn-save-changes,
button[name*="save"].btn,
input[name*="save"].btn[type="submit"] {
  border: 1px solid var(--strapx0-accent) !important;
  background: color-mix(in srgb, var(--strapx0-accent) 24%, var(--x0-surface, #fff)) !important;
  color: #171717 !important;
}

.btn.x0-save-button:hover,
.btn.x0-save-button:focus,
.page-content .btn.x0-save-button:hover,
.page-content .btn.x0-save-button:focus,
.content-box .btn.x0-save-button:hover,
.content-box .btn.x0-save-button:focus,
body.admin-body .admin-content .btn.x0-save-button:hover,
body.admin-body .admin-content .btn.x0-save-button:focus,
body.admin-body .page-content .btn.x0-save-button:hover,
body.admin-body .page-content .btn.x0-save-button:focus,
.modal .btn.x0-save-button:hover,
.modal .btn.x0-save-button:focus,
.strapx0-save-button:hover,
.strapx0-save-button:focus,
.btn-save:hover,
.btn-save:focus,
.btn-save-changes:hover,
.btn-save-changes:focus,
button[name*="save"].btn:hover,
button[name*="save"].btn:focus,
input[name*="save"].btn[type="submit"]:hover,
input[name*="save"].btn[type="submit"]:focus {
  border-color: var(--x0-border-strong, #9f9a91) !important;
  background: color-mix(in srgb, var(--strapx0-accent) 34%, var(--x0-surface-hover, #eeeeeb)) !important;
  color: var(--x0-text, #171717) !important;
}

.modal {
  padding: 12px !important;
}

.modal-dialog,
.modal-dialog-centered {
  display: flex !important;
  align-items: center !important;
  min-height: calc(100% - 24px) !important;
  margin: 0 auto !important;
  pointer-events: none !important;
}

.modal-dialog > .modal-content,
.modal-dialog > form.modal-content {
  pointer-events: auto !important;
  width: 100% !important;
}

.modal-footer [data-x0-modal-action="confirm"],
.modal-footer .x0-save-button {
  border-color: var(--strapx0-accent) !important;
}

.page-content textarea.form-control,
.content-box textarea.form-control,
body.admin-body .admin-content textarea.form-control,
body.admin-body .page-content textarea.form-control,
.modal textarea.form-control {
  width: min(100%, var(--x0-control-width, 300px)) !important;
  min-width: min(100%, 220px) !important;
  max-width: 100% !important;
  min-height: 86px !important;
  height: auto !important;
  resize: both !important;
  overflow: auto !important;
}

.page-content textarea.form-control.w-100,
.content-box textarea.form-control.w-100,
body.admin-body textarea.form-control.w-100,
.x0-editor-surface textarea.form-control,
.editor-wrap textarea.form-control {
  width: 100% !important;
}

.dropdown-menu,
.theme-nav-dropdown-menu,
.x0-inline-select-menu {
  border: 1px solid var(--strapx0-border) !important;
  border-radius: 2px !important;
  background: var(--x0-surface, #fff) !important;
  color: var(--x0-text, #171717) !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .15) !important;
  min-width: 170px !important;
  padding: 5px 0 !important;
}

.dropdown-menu > li,
.theme-nav-dropdown-menu > li,
.x0-inline-select-menu > li {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

.dropdown-menu :where(.dropdown-item, a, button),
.theme-nav-dropdown-menu :where(a, button),
.x0-inline-select-option {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  border: 0 !important;
  border-inline: 1px solid transparent !important;
  background: var(--x0-surface, #fff) !important;
  color: inherit !important;
  min-height: 0 !important;
  padding: 6px 10px !important;
  border-radius: 0 !important;
  gap: 7px !important;
  text-align: start !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.page-content .dropdown-menu .dropdown-item,
.content-box .dropdown-menu .dropdown-item,
body.admin-body .admin-content .dropdown-menu .dropdown-item,
.modal .dropdown-menu .dropdown-item {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-inline: 1px solid transparent !important;
  border-radius: 0 !important;
  background: var(--x0-surface, #fff) !important;
  box-shadow: none !important;
  transform: none !important;
}

.dropdown-menu .dropdown-divider,
.theme-nav-dropdown-menu .dropdown-divider,
.x0-inline-select-menu .dropdown-divider {
  height: 1px !important;
  margin: 4px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: var(--strapx0-border) !important;
}

.dropdown-menu :where(.dropdown-item, a, button):hover,
.dropdown-menu :where(.dropdown-item, a, button):focus,
.theme-nav-dropdown-menu :where(a, button):hover,
.theme-nav-dropdown-menu :where(a, button):focus,
.x0-inline-select-option:hover,
.x0-inline-select-option:focus,
.x0-inline-select-option.is-active {
  border-inline-color: var(--strapx0-accent) !important;
  background: var(--x0-surface-hover, #eeeeeb) !important;
}

.page-content .dropdown-menu .dropdown-item:hover,
.page-content .dropdown-menu .dropdown-item:focus,
.content-box .dropdown-menu .dropdown-item:hover,
.content-box .dropdown-menu .dropdown-item:focus,
body.admin-body .admin-content .dropdown-menu .dropdown-item:hover,
body.admin-body .admin-content .dropdown-menu .dropdown-item:focus,
.modal .dropdown-menu .dropdown-item:hover,
.modal .dropdown-menu .dropdown-item:focus {
  border: 0 !important;
  border-inline: 1px solid var(--strapx0-accent) !important;
  background: var(--x0-surface-hover, #eeeeeb) !important;
}

.page-content .table tbody tr > *,
.content-box .table tbody tr > *,
body.admin-body .admin-content .table tbody tr > * {
  background: var(--x0-surface, #fff) !important;
  transition: background-color .15s ease, box-shadow .15s ease !important;
}

.page-content .table tbody tr:nth-child(even) > *,
.content-box .table tbody tr:nth-child(even) > *,
body.admin-body .admin-content .table tbody tr:nth-child(even) > * {
  background: var(--x0-surface-soft, #f4f3f0) !important;
}

.page-content .table tbody tr:hover > *,
.content-box .table tbody tr:hover > *,
body.admin-body .admin-content .table tbody tr:hover > * {
  background: var(--x0-surface-hover, #eeeeeb) !important;
  box-shadow: none !important;
}

.form-check-input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid var(--x0-border-strong, #aaa59c) !important;
  border-radius: 3px !important;
  background-color: var(--x0-surface, #fff) !important;
  box-shadow: inset 0 1px 2px rgba(23, 23, 23, .08) !important;
}

.form-check-input[type="checkbox"]:hover,
.form-check-input[type="checkbox"]:focus {
  border-color: var(--strapx0-accent) !important;
}

.form-check-input[type="checkbox"]:checked {
  border-color: var(--x0-accent-strong, #d79632) !important;
  background-color: var(--x0-accent-strong, #d79632) !important;
  box-shadow: none !important;
  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='%23171717' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.25' d='m3.2 8.3 3 3 6.6-7'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 13px 13px !important;
}

.member-function-badge,
.activity-points-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 24px !important;
  height: 20px !important;
  padding: 0 7px !important;
  border: 1px solid var(--strapx0-accent) !important;
  border-radius: 10px !important;
  background: var(--x0-surface-hover, #eeeeeb) !important;
  color: var(--x0-text, #252525) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.x0-tooltip-word {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  color: var(--x0-text-muted, #77736c) !important;
  font-style: italic !important;
  line-height: 1.12 !important;
  text-decoration-line: underline !important;
  text-decoration-style: dotted !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px !important;
}

:is(i, svg).x0-tooltip-word,
.x0-tooltip-word:has(> :is(i, svg, .theme-icon):only-child) {
  border: 0 !important;
  font-style: normal !important;
  text-decoration: none !important;
}

.member-vip-star {
  display: inline-flex;
  width: 16px;
  height: 16px;
  margin-inline-start: 4px;
  align-items: center;
  justify-content: center;
  color: var(--vip-color, #d69b35);
  vertical-align: middle;
  filter: drop-shadow(0 0 2px color-mix(in srgb, var(--vip-color, #d69b35) 45%, transparent));
  animation: vip-star-breathe 2.4s ease-in-out infinite;
  flex: 0 0 16px;
}

.member-vip-star .bi,
.member-vip-star .theme-icon {
  width: 14px !important;
  height: 14px !important;
  font-size: 14px !important;
}

:is(.member-tag-link, .member-list-name, .member-profile-username).vip-username-glow,
:is(.member-tag-link, .member-list-name, .member-profile-username).vip-username-pulse,
:is(.member-tag-link, .member-list-name, .member-profile-username).vip-username-shimmer,
:is(.member-tag-link, .member-list-name, .member-profile-username).vip-username-glint {
  transform: none !important;
  display: inline !important;
}

.member-name-with-gender,
.member-hover-card-name-line {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  min-width: 0;
  white-space: nowrap;
}

.member-tag-link,
.member-list-name {
  color: var(--member-tag-color, var(--x0-accent-strong, #d79632)) !important;
  border-bottom: 0 !important;
  text-decoration-line: underline !important;
  text-decoration-style: dotted !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

.member-profile-username {
  color: var(--member-tag-color, var(--x0-accent-strong, #d79632)) !important;
}

.member-tag-link:hover,
.member-tag-link:focus,
.member-list-name:hover,
.member-list-name:focus {
  color: var(--member-tag-color, var(--x0-accent-strong, #d79632)) !important;
  text-decoration-style: dotted !important;
  text-decoration-color: var(--x0-accent-strong, #d79632) !important;
}

.member-list-avatar-link,
.forumx0-post-avatar,
.pulsex0-avatar-link {
  overflow: visible !important;
}

.member-list-avatar-large,
.member-profile-avatar,
.forumx0-post-avatar img,
.pulsex0-avatar {
  transform-origin: center !important;
  transition: transform .22s cubic-bezier(.2, .7, .25, 1), box-shadow .22s ease, filter .22s ease !important;
  will-change: transform;
}

.member-list-avatar-link:hover .member-list-avatar-large,
.member-list-avatar-link:focus-visible .member-list-avatar-large,
.member-profile-avatar:hover,
.member-profile-avatar:focus-visible,
.forumx0-post-avatar:hover img,
.forumx0-post-avatar:focus-visible img,
.pulsex0-avatar-link:hover .pulsex0-avatar,
.pulsex0-avatar-link:focus-visible .pulsex0-avatar {
  transform: scale(1.08) !important;
  filter: saturate(1.035);
}

:is(.user-badge, .member-role-badge).vip-badge-halo {
  animation: vip-badge-halo 2.2s ease-in-out infinite;
}

:is(.user-badge, .member-role-badge).vip-badge-glint,
:is(.member-tag-link, .member-list-name, .member-profile-username).vip-username-glint {
  background-image: linear-gradient(105deg, currentColor 35%, #fff5c9 50%, currentColor 65%);
  background-size: 220% 100%;
  background-clip: text;
  animation: vip-glint 2.8s ease-in-out infinite;
}

.member-hover-card {
  transform-origin: var(--member-hover-origin-x, 20px) var(--member-hover-origin-y, 20px) !important;
}

.member-hover-card.is-visible {
  animation: member-hover-card-open .18s ease-out both;
}

@keyframes member-hover-card-open {
  from { opacity: 0; transform: scale(.92); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes vip-star-breathe {
  0%, 100% { opacity: .82; filter: drop-shadow(0 0 1px color-mix(in srgb, var(--vip-color, #d69b35) 35%, transparent)); }
  50% { opacity: 1; filter: drop-shadow(0 0 5px color-mix(in srgb, var(--vip-color, #d69b35) 72%, transparent)); }
}

@keyframes vip-badge-halo {
  0%, 100% { box-shadow: 0 0 0 0 transparent; }
  50% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--user-badge-color, #d69b35) 24%, transparent); }
}

@keyframes vip-glint {
  0%, 35% { background-position: 100% 0; }
  65%, 100% { background-position: -100% 0; }
}

.x0-skeleton-list,
.x0-skeleton-form,
.x0-skeleton-stats,
.x0-skeleton-media {
  display: grid;
  gap: 10px;
}

.x0-skeleton-list > i,
.x0-skeleton-form > i,
.x0-skeleton-stats > i,
.x0-skeleton-media > i,
.x0-skeleton-chart {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: 42px;
  border: 1px solid var(--x0-border, #dedbd3);
  background: var(--x0-surface-soft, #f4f3f0);
}

.x0-skeleton-list > i { min-height: 68px; border-inline: 0; }
.x0-skeleton-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x0-skeleton-form > i { min-height: 34px; }
.x0-skeleton-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.x0-skeleton-stats > i { min-height: 82px; border-radius: 3px; }
.x0-skeleton-media { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x0-skeleton-media > i { aspect-ratio: 4 / 3; }
.x0-skeleton-chart { min-height: 150px; }

.x0-skeleton-list > i::after,
.x0-skeleton-form > i::after,
.x0-skeleton-stats > i::after,
.x0-skeleton-media > i::after,
.x0-skeleton-chart::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
  animation: x0-skeleton-shimmer 1.25s ease-in-out infinite;
}

@media (max-width: 760px) {
  .x0-skeleton-form,
  .x0-skeleton-stats,
  .x0-skeleton-media { grid-template-columns: 1fr; }
}

.badge:not(.user-badge):not(.member-role-badge):not(.account-dropdown-user-badge) {
  border-radius: 6px !important;
}

.accordion-collapse {
  display: block !important;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .28s ease, opacity .2s ease;
}

.accordion-collapse.show {
  max-height: 3000px;
  opacity: 1;
}

.tab-pane.fade {
  display: none;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .18s ease, transform .18s ease;
}

.tab-pane.fade.active {
  display: block;
}

.tab-pane.fade.show {
  opacity: 1;
  transform: translateY(0);
}

.x0-showcase-carousel .carousel-control-prev-icon,
.x0-showcase-carousel .carousel-control-next-icon {
  opacity: .72 !important;
  filter: grayscale(1) contrast(1.45) !important;
}

.pagination.x0-pagination-compact {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 3px !important;
  flex-wrap: nowrap !important;
}

.pagination.x0-pagination-compact .page-item {
  display: inline-flex !important;
  margin: 0 !important;
}

.pagination.x0-pagination-compact .page-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 31px !important;
  min-width: 31px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 5px !important;
  border: 1px solid var(--strapx0-border) !important;
  border-radius: var(--strapx0-radius-tight) !important;
  background: var(--x0-surface, #fff) !important;
  color: inherit !important;
  text-decoration: none !important;
}

.pagination.x0-pagination-compact .page-link:hover,
.pagination.x0-pagination-compact .page-link:focus,
.pagination.x0-pagination-compact .page-item.active .page-link {
  border-color: var(--strapx0-accent) !important;
  background: var(--x0-surface-hover, #eeeeeb) !important;
  outline: 0 !important;
}

.pagination.x0-pagination-compact .page-item.disabled .page-link {
  opacity: .42;
  pointer-events: none;
}

.pagination.x0-pagination-compact .x0-page-jump {
  appearance: textfield;
  font: inherit;
}

.pagination.x0-pagination-compact .x0-page-jump::-webkit-inner-spin-button,
.pagination.x0-pagination-compact .x0-page-jump::-webkit-outer-spin-button {
  appearance: none;
}

.adult-gate-intro {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
}

body.dark .dropdown-menu,
body.dark .theme-nav-dropdown-menu,
body.dark .x0-inline-select-menu,
html.theme-preload-dark .dropdown-menu,
html.theme-preload-dark .theme-nav-dropdown-menu,
html.theme-preload-dark .x0-inline-select-menu {
  border-color: #3d3933 !important;
  background: #181817 !important;
  color: #f3f0e8 !important;
  box-shadow: 0 9px 22px rgba(0, 0, 0, .34) !important;
}

body.dark .btn-primary,
body.admin-body.dark .btn-primary,
html.theme-preload-dark .btn-primary {
  border-color: var(--x0-border, #3d3933) !important;
  background: var(--x0-surface, #181817) !important;
  color: var(--x0-text, #f3f0e8) !important;
}

body.dark .btn-primary:hover,
body.dark .btn-primary:focus,
body.admin-body.dark .btn-primary:hover,
body.admin-body.dark .btn-primary:focus,
html.theme-preload-dark .btn-primary:hover,
html.theme-preload-dark .btn-primary:focus {
  border-color: var(--strapx0-accent) !important;
  background: var(--x0-surface-hover, #2a2926) !important;
}

body.dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary),
body.admin-body.dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary),
html.theme-preload-dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary) {
  border-color: var(--strapx0-accent) !important;
  background: var(--x0-surface-soft, #242321) !important;
  color: var(--x0-text, #f3f0e8) !important;
}

body.dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary):hover,
body.dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary):focus,
body.admin-body.dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary):hover,
body.admin-body.dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary):focus,
html.theme-preload-dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary):hover,
html.theme-preload-dark :is(.btn-outline, .btn-outline-primary, .btn-outline-secondary):focus {
  border-color: var(--x0-border-strong, #676159) !important;
  background: color-mix(in srgb, var(--strapx0-accent) 12%, var(--x0-surface, #181817)) !important;
}

body.dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes),
body.dark .btn.x0-save-button,
body.admin-body.dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes),
body.admin-body.dark .btn.x0-save-button,
html.theme-preload-dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes) {
  border-color: var(--strapx0-accent) !important;
  background: color-mix(in srgb, var(--strapx0-accent) 18%, var(--x0-surface, #181817)) !important;
  color: var(--x0-text, #f3f0e8) !important;
}

body.dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes):hover,
body.dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes):focus,
body.dark .btn.x0-save-button:hover,
body.dark .btn.x0-save-button:focus,
body.admin-body.dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes):hover,
body.admin-body.dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes):focus,
body.admin-body.dark .btn.x0-save-button:hover,
body.admin-body.dark .btn.x0-save-button:focus,
html.theme-preload-dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes):hover,
html.theme-preload-dark :is(.x0-save-button, .strapx0-save-button, .btn-save, .btn-save-changes):focus {
  border-color: var(--x0-border-strong, #676159) !important;
  background: color-mix(in srgb, var(--strapx0-accent) 27%, var(--x0-surface-hover, #2a2926)) !important;
}

body.dark .page-content .table tbody tr > *,
body.dark .content-box .table tbody tr > *,
body.admin-body.dark .admin-content .table tbody tr > *,
html.theme-preload-dark .page-content .table tbody tr > * {
  background: #20201f !important;
}

body.dark .page-content .table tbody tr:nth-child(even) > *,
body.dark .content-box .table tbody tr:nth-child(even) > *,
body.admin-body.dark .admin-content .table tbody tr:nth-child(even) > *,
html.theme-preload-dark .page-content .table tbody tr:nth-child(even) > * {
  background: #242423 !important;
}

body.dark .page-content .table tbody tr:hover > *,
body.dark .content-box .table tbody tr:hover > *,
body.admin-body.dark .admin-content .table tbody tr:hover > *,
html.theme-preload-dark .page-content .table tbody tr:hover > * {
  background: #2a2a28 !important;
}

body.dark .form-check-input[type="checkbox"],
body.admin-body.dark .form-check-input[type="checkbox"],
html.theme-preload-dark .form-check-input[type="checkbox"] {
  border-color: #5a5751 !important;
  background-color: #181817 !important;
}

body.dark .form-check-input[type="checkbox"]:checked,
body.admin-body.dark .form-check-input[type="checkbox"]:checked,
html.theme-preload-dark .form-check-input[type="checkbox"]:checked {
  border-color: var(--strapx0-accent) !important;
  background-color: var(--x0-accent-strong, #d79632) !important;
}
