/* ======================================== */
/* CALENDAR WIDGET */
/* ======================================== */

.calendar-widget {
  position: fixed;

  top: 90px;
  right: 20px;

  width: 380px;

  padding: 24px;

  border-radius: 32px;

  backdrop-filter: blur(40px);

  background: var(--surface);

  border: 1px solid rgba(255, 255, 255, 0.08);

  z-index: 9999;

  opacity: 0;

  visibility: hidden;

  transform: translateY(-20px) scale(0.95);

  transition: 0.3s ease;
}

/* ACTIVE */
.calendar-widget.active {
  opacity: 1;

  visibility: visible;

  transform: translateY(0) scale(1);
}

/* ======================================== */
/* HEADER */
/* ======================================== */

.calendar-header {
  margin-bottom: 24px;
}

.calendar-header h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-secondary);
}

/* ======================================== */
/* GRID */
/* ======================================== */

.calendar-grid {
  display: grid;

  grid-template-columns: repeat(7, 1fr);

  gap: 10px;
}

.calendar-grid span {
  font-size: 12px;

  color: var(--text-secondary);

  text-align: center;
}

/* ======================================== */
/* DAYS */
/* ======================================== */

.calendar-day {
  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;

  font-size: 14px;

  transition: 0.3s ease;

  cursor: pointer;
  color: var(--text-secondary);
}

.calendar-day:hover {
  background: rgba(255, 122, 0, 0.12);
}

/* ACTIVE DAY */

.active-day {
  background: rgba(255, 122, 0, 0.18);

  border: 1px solid rgba(255, 122, 0, 0.35);

  color: var(--accent);

  box-shadow: 0 0 18px rgba(255, 122, 0, 0.18);
}

/* EMPTY */

.empty {
  opacity: 0;
  pointer-events: none;
}
