/* Dark-theme component overrides. */

html[data-theme='dark'] .multi-clear-btn {
  background: #2a3649;
  color: #d6deeb;
}

html[data-theme='dark'] .multi-clear-btn:hover {
  background: #33435b;
}

html[data-theme='dark'] .multi-summary-arrow {
  color: #9bacc5;
}

html[data-theme='dark'] .multi-option-btn:hover {
  border-color: #425774;
  background: #1a2a40;
}

html[data-theme='dark'] .multi-option-mark {
  border-color: #3f5169;
  background: #132033;
}

html[data-theme='dark'] .multi-option-btn--active {
  border-color: rgba(251, 146, 60, 0.58);
  background: rgba(249, 115, 22, 0.2);
  color: #ffe2cc;
  box-shadow: 0 0 0 1px rgba(251, 146, 60, 0.2) inset;
}

html[data-theme='dark'] .multi-option-btn--active:hover {
  border-color: rgba(251, 146, 60, 0.7);
  background: rgba(249, 115, 22, 0.26);
}

html[data-theme='dark'] .multi-option-btn--active .multi-option-mark {
  border-color: #fdba74;
  background: #fb923c;
  color: #ffffff;
}

html[data-theme='dark'] .calendar-month {
  background: #121f31;
  border-color: #2b3b52;
}

html[data-theme='dark'] .calendar-collapse-btn {
  border-color: #3a4b62;
  background: #162236;
  color: #c2d0e4;
}

html[data-theme='dark'] .calendar-collapse-btn:hover {
  border-color: rgba(251, 146, 60, 0.6);
  background: rgba(249, 115, 22, 0.2);
  color: #ffd4b5;
}

html[data-theme='dark'] .calendar-filter-btn {
  border-color: #3a4b62;
  background: #162236;
  color: #c2d0e4;
}

html[data-theme='dark'] .calendar-filter-btn:hover {
  border-color: rgba(251, 146, 60, 0.6);
  background: rgba(249, 115, 22, 0.2);
  color: #ffd4b5;
}

html[data-theme='dark'] .calendar-filter-btn--active {
  border-color: rgba(251, 146, 60, 0.58);
  background: rgba(249, 115, 22, 0.22);
  color: #ffe2cc;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.24);
}

html[data-theme='dark'] .results-filter-btn {
  border-color: #3a4b62;
  background: #162236;
  color: #c2d0e4;
}

html[data-theme='dark'] .results-filter-btn:hover {
  border-color: rgba(251, 146, 60, 0.6);
  background: rgba(249, 115, 22, 0.2);
  color: #ffd4b5;
}

html[data-theme='dark'] .results-filter-btn--active {
  border-color: rgba(251, 146, 60, 0.58);
  background: rgba(249, 115, 22, 0.22);
  color: #ffe2cc;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.24);
}

html[data-theme='dark'] .map-filter-btn {
  border-color: #3a4b62;
  background: #162236;
  color: #c2d0e4;
}

html[data-theme='dark'] .map-filter-btn:hover {
  border-color: rgba(251, 146, 60, 0.6);
  background: rgba(249, 115, 22, 0.2);
  color: #ffd4b5;
}

html[data-theme='dark'] .map-filter-btn--active {
  border-color: rgba(251, 146, 60, 0.58);
  background: rgba(249, 115, 22, 0.22);
  color: #ffe2cc;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.24);
}

html[data-theme='dark'] .map-container {
  border-color: #2b3b52;
  background: #121f31;
}

html[data-theme='dark'] .map-container .leaflet-control-zoom a {
  background: #122032;
  color: #c7d3e6;
  border-color: #31445e;
}

html[data-theme='dark'] .map-container .leaflet-control-attribution {
  background: rgba(15, 27, 43, 0.88);
  color: #9db0c8;
}

html[data-theme='dark'] .map-popup-name {
  color: #fdba74;
}

html[data-theme='dark'] .map-popup-name-inline-secondary {
  color: #9db0c8;
  opacity: 0.82;
}

html[data-theme='dark'] .map-container .leaflet-popup-content-wrapper {
  border-color: rgba(251, 146, 60, 0.4);
  background: #0f1b2b;
  box-shadow: 0 18px 44px rgba(2, 8, 23, 0.58);
}

html[data-theme='dark'] .map-container .leaflet-popup-tip {
  background: #0f1b2b;
}

html[data-theme='dark'] .map-container .leaflet-popup-close-button {
  border-color: #31445e;
  background: #122032;
  color: #d7e2f2 !important;
}

html[data-theme='dark'] .map-popup-meta {
  color: #9db0c8;
}

html[data-theme='dark'] .map-popup-summary,
html[data-theme='dark'] .map-popup-count,
html[data-theme='dark'] .map-popup-race-meta,
html[data-theme='dark'] .map-popup-extra,
html[data-theme='dark'] .map-popup-tag-more {
  color: #9db0c8;
}

html[data-theme='dark'] .map-popup-race {
  border-color: #2b3b52;
  background: #122032;
}

html[data-theme='dark'] .calendar-day-number {
  color: #8ea1ba;
}

html[data-theme='dark'] .calendar-day-cell--interactive {
  border-color: #3d5070;
  background: #102036;
}

html[data-theme='dark'] .calendar-day-cell--interactive .calendar-day-number {
  color: #f8fafc;
}

html[data-theme='dark'] .calendar-day-cell--has-races .calendar-day-swatch {
  filter: none;
  background: #13243a;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.13), 0 0 0 1px rgba(2, 8, 23, 0.38);
}

html[data-theme='dark'] .calendar-day-dots {
  filter: saturate(1.36) contrast(1.08);
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--curta,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--curta,
html[data-theme='dark'] .calendar-day-dot.distance-tag--curta,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--curta {
  background: #a9803d;
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--five,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--five,
html[data-theme='dark'] .calendar-day-dot.distance-tag--five,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--five {
  background: #4d76b8;
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--ten,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--ten,
html[data-theme='dark'] .calendar-day-dot.distance-tag--ten,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--ten {
  background: #4d8d66;
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--half,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--half,
html[data-theme='dark'] .calendar-day-dot.distance-tag--half,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--half {
  background: #b67244;
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--marathon,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--marathon,
html[data-theme='dark'] .calendar-day-dot.distance-tag--marathon,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--marathon {
  background: #aa5d74;
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--ultra,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--ultra,
html[data-theme='dark'] .calendar-day-dot.distance-tag--ultra,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--ultra {
  background: #7565b0;
}

html[data-theme='dark'] .calendar-day-swatch.distance-tag--other,
html[data-theme='dark'] .calendar-day-swatch-segment.distance-tag--other,
html[data-theme='dark'] .calendar-day-dot.distance-tag--other,
html[data-theme='dark'] .calendar-legend-dot.distance-tag--other {
  background: #6f8098;
}

html[data-theme='dark'] .calendar-tooltip {
  border-color: rgba(251, 146, 60, 0.4);
  background: #0f1b2b;
  box-shadow: 0 18px 44px rgba(2, 8, 23, 0.58);
}

html[data-theme='dark'] .calendar-tooltip-close {
  border-color: #31445e;
  background: #122032;
  color: #d7e2f2;
}

html[data-theme='dark'] .calendar-tooltip-item {
  border-color: #2b3b52;
  background: #122032;
}

html[data-theme='dark'] .calendar-tooltip-date {
  color: #fdba74;
}

html[data-theme='dark'] .calendar-day-swatch--empty {
  background: #1a2a3f;
  border-color: #30445f;
}

html[data-theme='dark'] .calendar-day-cell.is-active .calendar-day-swatch {
  box-shadow: 0 0 0 2px rgba(251, 146, 60, 0.38);
}

html[data-theme='dark'] .calendar-day-cell.is-pinned .calendar-day-swatch {
  box-shadow: 0 0 0 2px #fb923c, 0 0 12px rgba(249, 115, 22, 0.52);
}

html[data-theme='dark'] .calendar-day-panel,
html[data-theme='dark'] .calendar-day-item {
  background: #122032;
  border-color: #2b3b52;
}

html[data-theme='dark'] .calendar-legend-item {
  color: #c7d3e6;
}

html[data-theme='dark'] .favorites-filter-count {
  border-color: var(--surface);
  background: #f5a623;
  color: #111827;
}

html[data-theme='dark'] .favorites-filter-btn {
  border-color: #3a4456;
  background: #1b2330;
  color: #9ba8bd;
}

html[data-theme='dark'] .clear-filters-btn {
  border-color: #3a4456;
  background: #1b2330;
  color: #9ba8bd;
}

html[data-theme='dark'] .clear-filters-btn:hover {
  border-color: #55637b;
  background: #232d3d;
  color: #e5edf7;
}

html[data-theme='dark'] .favorites-filter-btn:hover {
  border-color: #55637b;
  background: #232d3d;
  color: #e5edf7;
}

html[data-theme='dark'] .favorites-filter-btn--active {
  border-color: rgba(251, 146, 60, 0.6);
  background: rgba(249, 115, 22, 0.18);
  color: #ffd4b5;
  box-shadow: none;
}

html[data-theme='dark'] .distance-buttons.has-active .distance-filter-btn:not(.active) {
  opacity: 1;
  filter: none;
}

html[data-theme='dark'] .distance-filter-btn:hover {
  background: #252a35;
  color: #e5edf7;
}

html[data-theme='dark'] .distance-filter-btn.active {
  background: #252a35;
  color: #e5edf7;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--curta {
  color: #facc15;
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--five {
  color: #93c5fd;
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--ten {
  color: #86efac;
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--half {
  color: #fdba74;
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--marathon {
  color: #fda4af;
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--ultra {
  color: #c4b5fd;
}

html[data-theme='dark'] .distance-filter-btn.active.distance-tag--other {
  color: #cbd5e1;
}

html[data-theme='dark'] .month-divider-suffix {
  color: var(--text);
}

html[data-theme='dark'] .month-divider-count {
  background: #182335;
}

html[data-theme='dark'] .distance-tag {
  border-color: #35455d;
  background: #1a2739;
  color: #cad6e8;
}

html[data-theme='dark'] .distance-tag--curta {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.34);
  color: #facc15;
}

html[data-theme='dark'] .distance-tag--five {
  background: rgba(59, 130, 246, 0.16);
  border-color: rgba(59, 130, 246, 0.34);
  color: #93c5fd;
}

html[data-theme='dark'] .distance-tag--ten {
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(34, 197, 94, 0.34);
  color: #86efac;
}

html[data-theme='dark'] .distance-tag--half {
  background: rgba(249, 115, 22, 0.16);
  border-color: rgba(249, 115, 22, 0.34);
  color: #fdba74;
}

html[data-theme='dark'] .distance-tag--marathon {
  background: rgba(244, 63, 94, 0.16);
  border-color: rgba(244, 63, 94, 0.34);
  color: #fda4af;
}

html[data-theme='dark'] .distance-tag--ultra {
  background: rgba(139, 92, 246, 0.16);
  border-color: rgba(139, 92, 246, 0.34);
  color: #c4b5fd;
}

html[data-theme='dark'] .distance-tag--other {
  background: rgba(148, 163, 184, 0.15);
  border-color: rgba(148, 163, 184, 0.3);
  color: #cbd5e1;
}

html[data-theme='dark'] .distance-buttons .distance-filter-btn.distance-tag:not(.active) {
  background: transparent;
  border-color: transparent;
  color: #9ba8bd;
  box-shadow: none;
}

html[data-theme='dark'] .distance-buttons .distance-filter-btn.distance-tag:not(.active):hover {
  background: #252a35;
  color: #e5edf7;
}

html[data-theme='dark'] .loc-text {
  color: #a7b5ca;
}

html[data-theme='dark'] .state-full {
  color: #9db0c8;
}

html[data-theme='dark'] .favorite-btn {
  color: #8fa1b7;
}

html[data-theme='dark'] .favorite-btn:hover {
  color: #cbd8ea;
  border-color: #445976;
}

html[data-theme='dark'] .favorite-btn--active,
html[data-theme='dark'] .favorite-btn[aria-pressed='true'] {
  border-color: rgba(251, 146, 60, 0.58);
  background: rgba(249, 115, 22, 0.22);
  color: #ffe2cc;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.24) inset;
}

html[data-theme='dark'] .favorite-btn--active:hover,
html[data-theme='dark'] .favorite-btn[aria-pressed='true']:hover {
  border-color: rgba(251, 146, 60, 0.74);
  background: rgba(251, 146, 60, 0.32);
  color: #fff2e8;
}

html[data-theme='dark'] .card-btn {
  color: #fdba74;
  border-color: rgba(249, 115, 22, 0.48);
  background: rgba(249, 115, 22, 0.16);
}

html[data-theme='dark'] .card-btn:hover {
  color: #fff5ec;
  border-color: #fb923c;
  background: rgba(251, 146, 60, 0.34);
}

html[data-theme='dark'] .error {
  border-color: rgba(251, 113, 133, 0.45);
  color: #fda4af;
}
