body.seasonal-theme {
  --bs-link-color: var(--theme-link);
  --bs-link-color-rgb: var(--theme-link-rgb);
  --bs-link-hover-color: var(--theme-link-dark);
  --bs-link-hover-color-rgb: var(--theme-link-dark-rgb);
  --bs-primary: var(--theme-primary);
  --bs-primary-rgb: var(--theme-primary-rgb);
  background: var(--theme-page-background);
  color: var(--theme-text);
}

.seasonal-theme .navbar.bg-primary {
  background-color: var(--theme-nav-background) !important;
  border-bottom: 3px solid var(--theme-accent);
}

.seasonal-theme .navbar .dropdown-menu {
  border-color: var(--theme-border);
  border-top: 3px solid var(--theme-accent);
}

.seasonal-theme .seasonal-decoration {
  background: var(--theme-nav-background);
  border-bottom: 2px solid var(--theme-banner-border);
  height: 64px;
  overflow: hidden;
  position: relative;
}

.seasonal-theme .seasonal-decoration img {
  display: block;
  left: 50%;
  max-width: 92vw;
  position: absolute;
  top: -58px;
  transform: translateX(-50%);
  width: 520px;
}

.seasonal-theme .section,
.seasonal-theme .auth-panel,
.seasonal-theme .import-intro,
.seasonal-theme .import-confirm-bar,
.seasonal-theme .suivi-tab-content {
  border-color: var(--theme-border);
  box-shadow: 0 2px 8px rgba(var(--theme-shadow-rgb), 0.09);
}

.seasonal-theme .page-title h1,
.seasonal-theme h2,
.seasonal-theme h3 {
  color: var(--theme-heading);
}

.seasonal-theme a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand) {
  color: var(--theme-link);
}

.seasonal-theme .btn-primary {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary-border);
}

.seasonal-theme .btn-primary:hover,
.seasonal-theme .btn-primary:focus {
  background-color: var(--theme-primary-dark);
  border-color: var(--theme-primary-dark);
}

.seasonal-theme .btn-outline-primary {
  border-color: var(--theme-primary);
  color: var(--theme-primary);
}

.seasonal-theme .btn-outline-primary:hover,
.seasonal-theme .btn-outline-primary:focus {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
  color: #fff;
}

.seasonal-theme .alert-info {
  background-color: var(--theme-info-background);
  border-color: var(--theme-info-border);
  color: var(--theme-info-text);
}

.seasonal-theme .form-control:focus,
.seasonal-theme .form-select:focus,
.seasonal-theme .form-check-input:focus {
  border-color: var(--theme-focus);
  box-shadow: 0 0 0 .25rem rgba(var(--theme-primary-rgb), 0.2);
}

.seasonal-theme .form-check-input:checked {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
}

.seasonal-theme .nav-pills .nav-link.active,
.seasonal-theme .page-item.active .page-link,
.seasonal-theme .list-group-item.active,
.seasonal-theme .dropdown-item.active,
.seasonal-theme .dropdown-item:active {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
  color: #fff;
}

.seasonal-theme .nav-tabs .nav-link.active {
  background-color: #fff;
  border-color: var(--theme-border) var(--theme-border) #fff;
  color: var(--theme-link);
}

.seasonal-theme .nav-tabs .nav-link:hover,
.seasonal-theme .nav-tabs .nav-link:focus,
.seasonal-theme .page-link {
  color: var(--theme-link);
}

.seasonal-theme .calendar-slot:hover,
.seasonal-theme .group-column.drag-over {
  background-color: var(--theme-primary-soft);
}

.seasonal-theme .group-column.drag-over {
  border-color: var(--theme-primary);
}

.seasonal-theme .report-calendar-head,
.seasonal-theme .table > thead > tr > th,
.seasonal-theme .calendar-head {
  background-color: var(--theme-table-heading);
  color: #fff;
}

.seasonal-theme .badge.text-bg-primary {
  --bs-primary-rgb: 13, 110, 253;
}

.seasonal-theme .theme-option:has(input:checked) {
  background: var(--theme-primary-soft);
  border-color: var(--theme-primary);
}

@media (max-width: 760px) {
  .seasonal-theme .seasonal-decoration {
    height: 52px;
  }

  .seasonal-theme .seasonal-decoration img {
    top: -40px;
    width: 390px;
  }
}
