/* Main container for calendar and left section */
.calendar,
.left {
  max-width: 450px !important;
  width: 100% !important;
  box-sizing: border-box !important;  /* Ensures padding/margins don't affect layout */
}

/* Ensure that the previous/next buttons are properly styled */
#nxt,
#prev {
  cursor: pointer !important;
  height: 38px !important;
  width: 38px !important;
}

#nxt:hover,
#prev:hover {
  color: #0060e6 !important;
  background: #eef5ff !important;
  height: 38px !important;
  width: 38px !important;
}

/* Chevron container */
.chevron-container:hover {
  background: #f14b26 !important;
  height: 32px !important;
  width: 32px !important;
}

/* Weekdays header layout */
.weekdays div {
  width: 14.28% !important;
  height: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Calendar day layout */
.calendar #days .day {
  width: 12.28% !important;
  height: 52px !important;
  margin: 4px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  caret-color: transparent !important;
}

/* Active and hover states for days */
.calendar .day:not(.prev-date, .nxt-date, .tillCurrentDate, .futureDays) {
  background: #f0f6ff !important;
  color: #0060e6 !important;
  border-radius: 50% !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.calendar .day:not(.prev-date, .nxt-date, .active, .tillCurrentDate, .futureDays):hover {
  background: #d9e6fc !important;
}

.calendar #days .nxt-date,
.calendar #days .prev-date {
  visibility: hidden !important;
}

/* Active and today state */
.calendar #days .active {
  background: #0060e6 !important;
  color: #fff !important;
}

.calendar #days .today {
  position: relative !important;
}

.calendar #days .today::after {
  position: absolute !important;
  content: "" !important;
  height: 6px !important;
  width: 6px !important;
  background: #0060e6 !important;
  border-radius: 50% !important;
  bottom: 8px !important;
}

.calendar #days .active.today::after {
  background: #fff !important;
}

/* Right content layout */
#rightContent {
  bottom: -30px;
  width: 275px !important;
  max-height: 400px !important;
  height: 100% !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
}

/* Right section layout */
.right {
  border-end-end-radius: 15px !important;
  border-top-right-radius: 15px !important;
  transition: 0.3s !important;
}

.events {
  height: 385px !important;
}

.left {
  height: 530px !important;
}

/* Adjustments for smaller screens */
@media screen and (max-width: 768px) {
  .right {
    width: 330px !important;
    border-radius: 0 !important;
    margin: auto !important;
  }

  .left {
    height: 450px !important;
    margin: auto !important;
  }

  .calendar #days .day {
    width: 11.28% !important; /* Adjust day width for smaller screens */
    height: 35px !important;  /* Reduce height of days */
  }
}

/* Adjustments for very small screens (like mobile phones) */
@media screen and (max-width: 480px) {
  .calendar,
  .left {
    width: 330px !important; /* Adjust width for mobile devices */
  }

  .left {
    height: 360px !important; /* Reduce height on mobile */
  }

  .calendar #days .day {
    width: 11.28% !important; /* Adjust day width for smaller screens */
    height: 35px !important;
  }

  .calendar #days .today::after {
    bottom: 2px !important; /* Adjust position of today indicator */
  }
}

/* Custom scrollbar styles */
::-webkit-scrollbar {
  height: 4px !important;
  width: 8px !important;
  background: #fff !important;
  padding: 10px !important;
}

::-webkit-scrollbar-track {
  background: #fff !important;
}

::-webkit-scrollbar-thumb {
  background: #888 !important;
  border-radius: 10px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #555 !important;
}

/* Confirm and event time buttons */
.confirm-btn,
.event-time {
  height: 52px !important;
  font-weight: 700 !important;
}

.event-time {
  padding: 12px !important;
  margin-bottom: 8px !important;
  border: 1px solid #0069ff80 !important;
  width: 100% !important;
  border-radius: 4px !important;
  color: #0069ff !important;
  background: #fff !important;
  transition: width 0.3s, transform 0.3s !important;
}

.event-time:hover:not(.btnDisable, .activeEvent-time) {
  border-width: 2px !important;
  border-color: #0069ff !important;
}

.button-full .activeEvent-time {
  width: 48% !important;
  border-color: transparent !important;
  background-color: #00000099 !important;
  color: #fff !important;
}

.confirm-btn {
  width: 48% !important;
  margin-left: 3% !important;
  background-color: #0069ff !important;
  color: #fff !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 6px 0 #0000001a !important;
  border: none !important;
  transform: translateX(20px) !important;
}

.button-full {
  white-space: nowrap !important;
}

.btnDisable {
  border: 1px solid #f1f1f1 !important;
  color: #837f7f !important;
  background: #f1f1f1 !important;
}
