:root,
.force-light-mode,
.force-dark-mode {
  --dp-red: #c83f2f;
  --dp-red-dark: #a83225;
  --primary: #c83f2f;
  --blue: #c83f2f;
  --light: #fff;
  --dark: #1c1917;
  --body-bg: #fff7f5;
  --body-color: #1c1917;
  --nav-bg: #fff;
  --bg-light: #fff;
  --light-gray: #fff4f1;
  --text-lighter: #78716c;
  --card-bg: #fff;
  --light-hover-bg: #fff1ee;
  --btn-light-border: #f3e4e0;
  --input-border: #f0ddd8;
  --comment-bg: #fff1ee;
  --border-color: #f3e4e0;
  --card-header-accent: #fff8f6;
  --dropdown-item-hover-bg: #fff1ee;
  --dropdown-item-hover-color: #1c1917;
  --dropdown-item-color: #44403c;
  --dropdown-item-active-color: #1c1917;
  color-scheme: light;
}

html,
body {
  background: #fff7f5 !important;
  color: #1c1917;
}

.btn-primary,
.bg-primary,
.badge-primary {
  background-color: #c83f2f !important;
  border-color: #c83f2f !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #a83225 !important;
  border-color: #a83225 !important;
}

.btn-outline-primary {
  color: #c83f2f !important;
  border-color: #c83f2f !important;
  background: #fff !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  color: #fff !important;
  background-color: #c83f2f !important;
  border-color: #c83f2f !important;
}

a {
  color: #c83f2f;
}

a:hover {
  color: #a83225;
}

.navbar-laravel,
.metro-nav {
  background: #fff !important;
}

.navbar-brand span,
.navbar-brand {
  color: #c83f2f !important;
}

.text-primary,
.settings-nav .active .nav-link {
  color: #c83f2f !important;
}

.form-control:focus {
  border-color: #c83f2f;
  box-shadow: 0 0 0 0.2rem rgba(200, 63, 47, 0.2);
}

.dmail-auth {
  margin-top: 16px;
}

.dmail-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
  font-size: 13px;
  margin: 4px 0 14px;
}

.dmail-divider:before,
.dmail-divider:after {
  content: "";
  flex: 1;
  height: 1px;
  background: #dee2e6;
}

.dp-verified {
  display: inline-flex;
  align-items: center;
  margin-left: 0.28em;
  vertical-align: -0.15em;
  line-height: 0;
}

.dp-verified svg {
  display: block;
  width: 1.05em;
  height: 1.05em;
}

a[href="https://pixelfed.org"],
.powered-by {
  display: none !important;
}

.sidebar-component .card,
.sidebar-component .sidebar-sticky {
  background: #c83f2f !important;
  color: #fff !important;
  border: 0 !important;
}

.sidebar-component .display-name,
.sidebar-component .username,
.sidebar-component .username.primary,
.sidebar-component .stats,
.sidebar-component .nav-link,
.sidebar-component .nav-link .icon,
.sidebar-component .nav-link .text-lighter,
.sidebar-component .text-lighter,
.sidebar-component .sidebar-attribution,
.sidebar-component .sidebar-attribution a {
  color: #fff !important;
}

.sidebar-component .nav-link:hover,
.sidebar-component .router-link-exact-active,
.sidebar-component .nav-link.active {
  background: rgba(255, 255, 255, 0.16);
  color: #fff !important;
  border-left-color: #fff !important;
}

.sidebar-component .router-link-exact-active .icon,
.sidebar-component .nav-link.active .icon {
  color: #fff !important;
}

.sidebar-component hr {
  border-color: rgba(255, 255, 255, 0.35);
}

.sidebar-component .btn-primary,
.sidebar-component .btn-outline-primary {
  background: #fff !important;
  color: #c83f2f !important;
  border-color: #fff !important;
}

.sidebar-component .btn-primary:hover,
.sidebar-component .btn-outline-primary:hover,
.sidebar-component .btn-primary:focus,
.sidebar-component .btn-outline-primary:focus {
  background: #fff5f3 !important;
  color: #a83225 !important;
  border-color: #fff !important;
}

.settings-nav {
  background: #c83f2f;
  border-radius: 16px;
  padding: 12px 8px !important;
  border-right: 0 !important;
}

.settings-nav .nav-link {
  color: #fff !important;
  border-radius: 999px;
}

.settings-nav .nav-item.active .nav-link,
.settings-nav .nav-link:hover {
  background: #fff;
  color: #c83f2f !important;
}

.settings-nav hr {
  border-color: rgba(255, 255, 255, 0.35);
}

.navbar-laravel,
.metro-nav,
nav.navbar {
  background: #fff !important;
  border-bottom: 3px solid #c83f2f !important;
  box-shadow: none !important;
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item {
  background: #fff !important;
  color: #1c1917;
  border-color: #f3e4e0 !important;
}

.card {
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(200, 63, 47, 0.06);
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
  background: #fff !important;
  border-color: #f3e4e0 !important;
}

.form-control,
.custom-select {
  background: #fff !important;
  color: #1c1917 !important;
  border-color: #f0ddd8 !important;
}

.form-control:focus,
.custom-select:focus {
  border-color: #c83f2f !important;
  box-shadow: 0 0 0 0.2rem rgba(200, 63, 47, 0.16) !important;
}

.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #c83f2f !important;
  border-color: #c83f2f !important;
}

.page-item.active .page-link,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #c83f2f !important;
  border-color: #c83f2f !important;
  color: #fff !important;
}

.page-link {
  color: #c83f2f;
}

.badge-primary,
.alert-primary {
  background-color: #c83f2f !important;
  border-color: #c83f2f !important;
  color: #fff !important;
}

.sidenav,
#sidenav-main {
  background: #fff !important;
  border-right: 1px solid #f3e4e0;
}

.sidenav .nav-link.active,
.sidenav .nav-link.active .nav-link-text,
.sidenav .nav-link:hover,
.sidenav .nav-link:hover .nav-link-text {
  color: #c83f2f !important;
}

.header.bg-primary,
.bg-primary {
  background-color: #c83f2f !important;
}

::selection {
  background: #c83f2f;
  color: #fff;
}

.icon-shape.bg-gradient-primary,
.icon-shape.bg-gradient-info,
.icon-shape.bg-gradient-default,
.icon-shape.bg-gradient-success,
.icon-shape.bg-gradient-danger,
.icon-shape.bg-gradient-warning {
  background-image: linear-gradient(135deg, #c83f2f, #a83225) !important;
}

.timeline-onboarding > .card.card-body {
  position: relative;
  padding: 22px 26px 20px 28px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(200, 63, 47, 0.08) !important;
  overflow: hidden;
}

.timeline-onboarding > .card.card-body::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: #c83f2f;
}

.timeline-onboarding > .card h1 {
  font-size: 1.35rem !important;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: left !important;
  margin: 0 0 8px !important;
  color: #1c1917;
}

.timeline-onboarding > .card h1::before {
  content: "Home feed";
  display: block;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c83f2f;
}

.timeline-onboarding > .card p {
  text-align: left !important;
  font-size: 0.98rem !important;
  line-height: 1.5;
  color: #44403c;
  margin-bottom: 8px !important;
}

.timeline-onboarding > .card p.lead {
  font-size: 0.92rem !important;
  font-weight: 600;
  color: #c83f2f !important;
  margin-bottom: 0 !important;
}

.sidebar-component .btn-group .btn-primary {
  font-size: 16px !important;
  padding: 12px 18px !important;
  border-radius: 999px 0 0 999px !important;
}

.sidebar-component .btn-group .dropdown-toggle-split {
  padding-left: 16px !important;
  padding-right: 16px !important;
  border-radius: 0 999px 999px 0 !important;
}

.web-wrapper .col-md-8.offset-md-1:has(.compose-modal-component) {
  flex: 0 0 100%;
  max-width: 680px;
  margin-left: 12px;
}

.compose-modal-component > .timeline > .card,
.compose-modal-component .status-card {
  border: 0 !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(200, 63, 47, 0.08) !important;
}

.compose-modal-component .card-header {
  min-height: 68px;
  padding: 14px 18px !important;
  background: #fff !important;
  border-bottom: 1px solid #f3e4e0 !important;
}

.compose-modal-component .card-header .fa-times {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #fff4f1;
  color: #1c1917;
  font-size: 16px;
}

.compose-modal-component .card-header a > span.font-weight-bold {
  display: none;
}

.compose-modal-component .card:has(.compose-action) .card-header > div:first-child::after {
  content: "Create post";
  margin-left: 12px;
  font-size: 17px;
  font-weight: 700;
  color: #1c1917;
}

.compose-modal-component .card-header > div:last-child a.font-weight-bold,
.compose-modal-component .card-header > div:last-child .btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  height: 44px;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #c83f2f !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  text-decoration: none !important;
}

.compose-modal-component .card-header > div:last-child a.font-weight-bold:hover,
.compose-modal-component .card-header > div:last-child .btn-primary:hover {
  background: #a83225 !important;
  color: #fff !important;
}

.compose-modal-component .card-body > .d-flex.align-items-center {
  align-items: stretch !important;
  min-height: 480px !important;
  padding: 28px 22px 32px;
}

.compose-modal-component .card-body > .d-flex.align-items-center > .text-center {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.compose-modal-component .compose-action {
  width: 100%;
  margin: 0 !important;
  border-radius: 18px !important;
  border: 1px solid #f3e4e0 !important;
  box-shadow: none !important;
  background: #fff !important;
  text-align: left;
}

.compose-modal-component .compose-action:first-child {
  min-height: 210px;
  display: flex;
  align-items: center;
  border: 2px dashed #e7b2a8 !important;
  background: #fff8f6 !important;
}

.compose-modal-component .compose-action .card-body {
  width: 100%;
  box-shadow: none !important;
  background: transparent !important;
}

.compose-modal-component .compose-action:first-child .media > div {
  width: 64px !important;
  height: 64px !important;
  background-color: #c83f2f !important;
  border-color: #c83f2f !important;
}

.compose-modal-component .compose-action:not(:first-child) .media > div {
  width: 48px !important;
  height: 48px !important;
  background: #fff !important;
  border-color: #c83f2f !important;
}

.compose-modal-component .compose-action .h5 {
  color: #1c1917 !important;
}

.compose-modal-component .compose-action:first-child .h5 {
  font-size: 1.35rem;
}

.compose-modal-component textarea.no-focus {
  font-size: 20px !important;
  line-height: 1.45;
  min-height: 140px;
  padding: 8px 2px !important;
}

.compose-modal-component .media > img[width="42px"] {
  width: 84px !important;
  height: 84px !important;
  border-radius: 14px;
  object-fit: cover;
}

.compose-modal-component .border-bottom > p.px-4,
.compose-modal-component .border-bottom.px-4 {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.compose-modal-component .border-bottom > p.cursor-pointer:hover {
  background: #fff8f6;
}
