:host(limebb-date-range) {
  isolation: isolate;
  display: block;
  position: relative;
}

* {
  box-sizing: border-box;
}

.date-pickers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
  gap: 0.5rem;
  padding: 0.75rem 1rem 1.25rem 1rem;
}

.label-group {
  display: flex;
  align-items: center;
  margin-bottom: 0.25rem;
}
.end-time .label-group {
  flex-direction: row-reverse;
}
.label-group .label {
  font-size: 0.75rem;
  padding: 0 0.25rem;
}
.label-group .circle {
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}
.start-time .label-group .circle {
  background-color: rgb(var(--color-green-default));
}
.end-time .label-group .circle {
  background-color: rgb(var(--color-coral-default));
}
.label-group .line {
  flex-grow: 1;
  height: 0.25rem;
  border-radius: 1rem;
}
.start-time .label-group .line {
  background-image: linear-gradient(to right, rgb(var(--color-green-light)), rgb(var(--contrast-400)) 30%);
}
.end-time .label-group .line {
  background-image: linear-gradient(to left, rgb(var(--color-coral-light)), rgb(var(--contrast-400)) 30%);
}

.date-pickers:has(> :last-child:nth-child(2)) .start-time .line {
  margin-right: -0.5rem;
}
.date-pickers:has(> :last-child:nth-child(2)) .end-time .line {
  margin-left: -0.5rem;
}