/* Trust strip and homepage date calendar refinements — v0.2.96 */

/* Three-item trust strip inside a very light blue panel. */
.sds-home-trust-strip {
  padding: 14px 0;
  background: #fff;
  border-bottom: 0;
}

.sds-home-trust-strip__inner {
  width: min(1220px, calc(100% - 40px));
  min-height: 102px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dceaf4;
  border-radius: 3px;
  background: #f6fbff;
}

.sds-home-trust-item,
.sds-home-trust-item:first-child,
.sds-home-trust-item:nth-child(4) {
  border-left: 0;
  border-right: 1px solid #dce7ef;
  background: transparent;
}

.sds-home-trust-item:last-child {
  border-right: 0;
}

.sds-home-trust-item:nth-child(even) .sds-home-trust-item__icon {
  border-color: #d8e5ee;
  background: #fff;
  color: var(--sds-blue);
}

/* Selectable homepage calendar. */
.sds-home-calendar-preview {
  user-select: none;
}

.sds-home-calendar-preview__toolbar {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

.sds-home-calendar-preview__toolbar strong {
  color: var(--sds-home-ink);
  font-size: 15px;
  font-weight: 600;
  text-align: center;
}

.sds-home-calendar-preview__toolbar button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d6e1e9;
  border-radius: 7px;
  background: #fff;
  color: var(--sds-blue);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.sds-home-calendar-preview__toolbar button:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.sds-home-calendar-preview__days {
  align-items: stretch;
}

.sds-home-calendar-preview__spacer,
.sds-home-calendar-preview__day {
  min-height: 42px;
}

.sds-home-calendar-preview__day {
  width: 100%;
  display: grid;
  place-items: center;
  padding: 4px;
  border: 1px solid #e1e7ec;
  border-radius: 7px;
  background: #fff;
  color: #35414b;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
}

.sds-home-calendar-preview__day:hover:not(:disabled),
.sds-home-calendar-preview__day:focus-visible:not(:disabled) {
  border-color: var(--sds-blue);
  background: #f0f7fc;
}

.sds-home-calendar-preview__day.is-selected {
  border-color: var(--sds-blue);
  background: var(--sds-blue);
  color: #fff;
}

.sds-home-calendar-preview__day.is-first-bookable:not(.is-selected) {
  border-color: var(--sds-red);
  color: var(--sds-red);
}

.sds-home-calendar-preview__day:disabled {
  border-color: transparent;
  background: #f3f5f7;
  color: #a4adb5;
  cursor: not-allowed;
}

.sds-home-calendar-preview__selected {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 12px;
  border: 1px solid #dce7ef;
  border-radius: 8px;
  background: #f9fcfe;
}

.sds-home-calendar-preview__selected > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #d6e5ef;
  border-radius: 8px;
  color: var(--sds-blue);
  background: #fff;
}

.sds-home-calendar-preview__selected svg {
  width: 18px;
  height: 18px;
}

.sds-home-calendar-preview__selected p {
  margin: 0;
}

.sds-home-calendar-preview__selected small,
.sds-home-calendar-preview__selected strong {
  display: block;
}

.sds-home-calendar-preview__selected small {
  color: #6d7984;
  font-size: 10px;
  font-weight: 400;
}

.sds-home-calendar-preview__selected strong {
  margin-top: 2px;
  color: var(--sds-home-ink);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.sds-home-live-booking__form button:disabled {
  border-color: #b9c4cc;
  background: #b9c4cc;
  cursor: not-allowed;
}

.sds-home-calendar-preview__slots {
  display: none !important;
}

@media (max-width: 760px) {
  .sds-home-trust-strip {
    padding: 10px 0;
  }

  .sds-home-trust-strip__inner {
    width: min(100% - 24px, 1220px);
    grid-template-columns: 1fr;
    padding-block: 0;
  }

  .sds-home-trust-item,
  .sds-home-trust-item:first-child,
  .sds-home-trust-item:nth-child(4) {
    min-height: 76px;
    padding: 12px 14px;
    border-right: 0;
    border-bottom: 1px solid #dce7ef;
  }

  .sds-home-trust-item:last-child {
    border-bottom: 0;
  }
}
