body.page-rentals .audio-bg {
  display: none;
}

body.page-rentals .intro-panel h1 {
  max-width: 9ch;
}

body.page-rentals .intro-copy {
  color: var(--color-logo-white);
}

body.page-rentals .type-pill strong {
  color: #ffb8ef;
}

body.page-rentals .type-pill span {
  color: var(--color-logo-white);
}

body.page-rentals form {
  overflow-x: hidden;
  overflow-y: auto;
}

.rental-choice-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}

.rental-choice,
.rental-addon {
  position: relative;
  display: flex;
  align-items: center;
  gap: .56rem;
  min-height: 46px;
  padding: .55rem .68rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.04);
  color: var(--color-logo-white);
  cursor: pointer;
}

.rental-choice {
  width: 100%;
  min-width: 0;
}

.rental-choice input,
.rental-addon input {
  width: auto;
  min-height: auto;
  margin-top: 0;
  accent-color: #ff3fc8;
}

.rental-choice strong,
.rental-addon strong {
  display: block;
  font-size: .88rem;
  line-height: 1.08;
}

.rental-choice small,
.rental-addon small {
  display: block;
  margin-top: .28rem;
  color: rgba(255,247,255,.68);
  font-size: .76rem;
  line-height: 1.25;
  font-weight: 750;
}

.rental-choice:has(input:checked),
.rental-addon:has(input:checked) {
  border-color: rgba(255,255,255,.72);
  background: rgba(255,63,200,.1);
}

.rental-addon {
  width: 100%;
  min-width: 0;
}

.rental-summary {
  margin-top: .75rem;
  padding: .74rem .82rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.34);
  background: rgba(0,0,0,.2);
  color: var(--color-logo-white);
}

.summary-label {
  color: #ffb8ef;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#rental-summary-text {
  margin-top: .24rem;
  font-weight: 950;
}

.rental-calendar {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: .75rem;
}

.rental-contact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rental-picker-label {
  position: relative;
}

.rental-picker-control {
  width: 100%;
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(4,4,12,.62);
  color: var(--text);
  outline: none;
  padding: .72rem .82rem;
  font: inherit;
  font-size: .88rem;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  text-align: left;
  cursor: pointer;
}

.rental-picker-control[aria-expanded="true"],
.rental-picker-control:focus-visible {
  border-color: rgba(255,255,255,.48);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}

.rental-picker-control.is-invalid {
  border-color: #ff4f6d;
}

.rental-picker-control i {
  color: var(--color-logo-white);
  font-size: 1rem;
}

.rental-picker-value {
  color: #ffc2f5;
}

.rental-picker-value.is-selected {
  color: var(--color-logo-white);
}

.rental-picker-popover {
  --rental-picker-width: 286px;
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  width: min(var(--rental-picker-width), calc(100vw - 1rem));
  padding: .46rem;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.34);
  background: #2f2f2f;
  box-shadow: none;
}

.rental-picker-popover--date {
  --rental-picker-width: 262px;
}

.rental-picker-popover--time {
  --rental-picker-width: 176px;
}

.rental-picker-popover[hidden] {
  display: none;
}

.rental-picker-head {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  gap: .16rem;
  margin-bottom: .42rem;
}

.rental-picker-title {
  color: var(--color-logo-white);
  font-size: .84rem;
  font-weight: 950;
  min-width: 0;
  white-space: nowrap;
  grid-column: 1 / 6;
}

.rental-picker-nav {
  display: contents;
}

.rental-picker-nav button,
.rental-picker-option,
.rental-picker-day {
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-logo-white);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.rental-picker-nav button {
  width: 100%;
  height: 1.8rem;
  border-color: rgba(255,255,255,.16);
}

.rental-picker-nav button:first-child {
  grid-column: 6;
}

.rental-picker-nav button:last-child {
  grid-column: 7;
}

.rental-picker-weekdays,
.rental-picker-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .15rem;
}

.rental-picker-weekdays span {
  color: rgba(255,255,255,.8);
  font-size: .64rem;
  font-weight: 950;
  text-align: center;
}

.rental-picker-day {
  aspect-ratio: 1;
  border-radius: 6px;
  font-size: .78rem;
}

.rental-picker-day.is-muted {
  color: rgba(255,255,255,.32);
}

.rental-picker-day[disabled] {
  color: rgba(255,255,255,.22);
  cursor: not-allowed;
}

.rental-picker-day.is-selected,
.rental-picker-option.is-selected {
  border-color: rgba(255,255,255,.9);
  background: #9bc9ff;
  color: #262626;
}

.rental-time-grid {
  display: grid;
  grid-template-columns: 2.65rem 2.65rem 2.9rem;
  justify-content: center;
  gap: .12rem;
}

.rental-time-col {
  max-height: 13rem;
  overflow: auto;
  display: grid;
  align-content: start;
  grid-auto-rows: min-content;
  gap: .16rem;
  padding-right: .22rem;
  scrollbar-color: rgba(255,255,255,.42) transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.rental-picker-option {
  min-height: 1.72rem;
  border-radius: 6px;
  font-size: .82rem;
}

.rental-picker-option:hover,
.rental-picker-day:not([disabled]):hover,
.rental-picker-nav button:hover {
  border-color: rgba(255,255,255,.48);
}

@media (min-width: 981px) {
  body.page-rentals .form-panel {
    padding: 1rem;
    gap: .55rem;
  }

  body.page-rentals .form-head {
    padding-bottom: .45rem;
  }

  body.page-rentals form {
    gap: .35rem;
  }

  body.page-rentals fieldset {
    display: grid;
    align-content: space-evenly;
    padding: .45rem .72rem .5rem;
  }

  body.page-rentals legend {
    font-size: .68rem;
  }

  body.page-rentals input,
  body.page-rentals select,
  body.page-rentals .rental-picker-control {
    min-height: 38px;
    height: 38px;
    padding: .58rem .72rem;
  }

  body.page-rentals .rental-choice,
  body.page-rentals .rental-addon {
    min-height: 40px;
    padding: .46rem .62rem;
  }

  body.page-rentals .grid-2,
  body.page-rentals .grid-3,
  body.page-rentals .rental-calendar {
    gap: .55rem;
  }

  body.page-rentals .grid-2[style] {
    margin-top: .55rem !important;
  }
}

@media (max-width: 720px) {
  body.page-rentals .intro-panel h1 {
    max-width: 100%;
  }

  .rental-choice-grid,
  .rental-calendar {
    grid-template-columns: 1fr;
  }

  .rental-choice,
  .rental-addon {
    width: 100%;
  }

  .rental-contact-grid {
    grid-template-columns: 1fr;
  }

  .rental-picker-popover {
    width: min(var(--rental-picker-width), calc(100vw - 1rem));
  }
}
