.dtp-calendar:focus {
  outline: none;
}

.dtp-calendar {
  padding: 0;
  cursor: default;
}

.dtp-calendar:not(.dtp-rtl) {
  direction: ltr;
}

.dtp-calendar td,
.dtp-calendar th {
  text-align: center;
  vertical-align: middle;
}

.dtp-calendar .dtp-prev-btn,
.dtp-calendar .dtp-next-btn,
.dtp-calendar .dtp-view-btn,
.dtp-calendar .day,
.dtp-calendar .month,
.dtp-calendar .year,
.dtp-calendar .decade {
  padding: 0.4rem 0.7rem;
  cursor: pointer;
  border-radius: var(--border-radius);
}
.dtp-calendar .calendar:has(.calendar-view-decades:not(.d-none)) .dtp-view-btn {
  pointer-events: none;
}

.dtp-calendar .dtp-prev-btn,
.dtp-calendar .dtp-next-btn,
.dtp-calendar .up-btn,
.dtp-calendar .down-btn {
  opacity: 0.8;
}

.dtp-calendar .day.selected,
.dtp-calendar .month.selected,
.dtp-calendar .year.selected,
.dtp-calendar .decade.selected {
  color: rgb(var(--white-rgb));
  background-color: rgb(var(--primary-rgb));
}

.dtp-calendar .today {
  border: var(--border-width) var(--border-style) rgba(var(--secondary-rgb));
}

.dtp-calendar .in-range:not(.start-range):not(.end-range) {
  border-radius: 0;
  background-color: var(--gray-300);
}
.dtp-calendar:not(.dtp-rtl) .start-range,
.dtp-calendar.dtp-rtl .end-range {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.dtp-calendar.dtp-rtl .start-range,
.dtp-calendar:not(.dtp-rtl) .end-range {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dtp-calendar .dtp-prev-btn:hover,
.dtp-calendar .dtp-next-btn:hover,
.dtp-calendar .dtp-view-btn:hover,
.dtp-calendar .day:not(.selected):not(.in-range):not(.disabled):hover,
.dtp-calendar .month:not(.selected):not(.in-range):not(.disabled):hover,
.dtp-calendar .year:not(.selected):not(.in-range):not(.disabled):hover,
.dtp-calendar .decade:not(.selected):not(.in-range):not(.disabled):hover {
  background-color: rgb(var(--light-rgb));
}

.dtp-calendar .disabled {
  color: var(--gray-500);
  pointer-events: none;
}

.dtp-calendar .dtp-prev-btn,
.dtp-calendar .dtp-next-btn {
  width: 2.5rem;
}

.dtp-calendar .weekday {
  padding: 0.5rem;
  color: var(--gray-600);
  font-weight: normal;
}

.dtp-calendar .calendar:has(.calendar-view.d-none) .calendar-time {
  margin-top: 0 !important;
}

.dtp-calendar .dtp-footer:not(:has(.btn)) {
  display: none !important;
}

.dtp-calendar .dtp-prev-btn span {
  border: solid var(--body-color);
  border-width: 0 0 0.125rem 0.125rem;
  border-radius: 0;
  display: inline-block;
  padding: 0.1875rem;
  transform: rotate(45deg);
}
.dtp-calendar.dtp-rtl .dtp-prev-btn span {
  border-width: 0.125rem 0.125rem 0 0;
}
.dtp-calendar .dtp-next-btn span {
  border: solid var(--body-color);
  border-width: 0.125rem 0.125rem 0 0;
  border-radius: 0;
  display: inline-block;
  padding: 0.1875rem;
  transform: rotate(45deg);
}
.dtp-calendar.dtp-rtl .dtp-next-btn span {
  border-width: 0 0 0.125rem 0.125rem;
}

.dtp-calendar .down-btn span {
  border: solid var(--body-color);
  border-width: 0 0 0.12rem 0.12rem;
  border-radius: 0;
  display: inline-block;
  padding: 0.187rem;
  transform: rotate(-45deg);
}

.dtp-calendar .up-btn span {
  border: solid var(--body-color);
  border-width: 0.12rem 0.12rem 0 0;
  border-radius: 0;
  display: inline-block;
  padding: 0.187rem;
  transform: rotate(-45deg);
}
