.page-template-page-day-pass {
  overflow-x: hidden;
}

.page-template-page-day-pass .book-now-fab {
  display: none !important;
}

.day-pass-page {
  background: var(--rsv-canvas, #f4f0ea) !important;
  color: var(--rsv-ink, #1a233d);
  padding-bottom: 1px;
}

body:not([class*="elementor-page-"]) #content.site-main.day-pass-page,
body.page-template-page-day-pass-php #content.site-main.day-pass-page,
body.page-template-page-day-pass #content.site-main.day-pass-page {
  background: var(--rsv-canvas, #f4f0ea) !important;
  margin-inline: auto;
  max-width: 1340px;
  padding-inline: 0;
  width: 100%;
}

.day-pass-search {
  --online-reservation-primary: var(--rsv-ink, #1a233d);
  --online-reservation-bg: var(--rsv-surface, #efe8de);
  --online-reservation-field: var(--rsv-canvas, #f4f0ea);
  --online-reservation-text: var(--rsv-ink, #1a233d);
  --online-reservation-line: var(--rsv-line, rgba(26, 35, 61, 0.14));
  font-family: var(--rsv-sans, "Montserrat", sans-serif);
}

.day-pass-search__form {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(150px, 1.1fr) minmax(150px, 1fr) repeat(3, minmax(110px, 0.75fr)) auto;
  margin: 0;
}

.day-pass-search .online-reservation__field {
  align-items: stretch;
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 0;
}

.day-pass-search .online-reservation__label {
  color: var(--online-reservation-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.day-pass-search__control,
.day-pass-search .online-reservation__date,
.day-pass-search .rsv-flatpickr-alt {
  background: var(--online-reservation-field) !important;
  border: 1px solid var(--online-reservation-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--online-reservation-text) !important;
  font-family: inherit;
  font-size: 15px;
  height: 54px;
  margin: 0;
  min-height: 54px;
  padding: 0 14px;
  width: 100%;
}

.day-pass-search input[readonly] {
  cursor: default;
}

.day-pass-search .online-reservation__cta {
  padding-top: 18px;
}

.day-pass-search .online-reservation__button {
  background: var(--online-reservation-primary);
  border: 1px solid var(--online-reservation-primary);
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  height: 54px;
  letter-spacing: 0.12em;
  min-height: 54px;
  padding: 0 30px;
  text-transform: uppercase;
  white-space: nowrap;
}

.day-pass-search__note {
  color: var(--rsv-muted, rgba(26, 35, 61, 0.62));
  font-size: 12px;
  margin: 14px 0 0;
}

.day-pass-search__error {
  color: #b42318;
  font-size: 12px;
  font-weight: 600;
  margin: 8px 0 0;
}

.day-pass-search__error[hidden],
.day-pass-checkout[hidden],
.day-pass-group-help[hidden],
.day-pass-inquiry[hidden],
.day-pass-inquiry__feedback[hidden],
.day-pass-payment-retry[hidden] {
  display: none !important;
}

.day-pass-group-help {
  align-items: center;
  border-top: 1px solid var(--online-reservation-line);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
}

.day-pass-group-help p {
  color: var(--rsv-ink, #1a233d);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
  max-width: 780px;
}

.day-pass-group-help__button,
.day-pass-experience button,
.day-pass-payment-retry {
  background: transparent;
  border: 1px solid var(--rsv-ink, #1a233d);
  border-radius: 0;
  color: var(--rsv-ink, #1a233d);
  cursor: pointer;
  font-family: var(--rsv-sans, "Montserrat", sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  min-height: 44px;
  padding: 0 20px;
  text-transform: uppercase;
  white-space: nowrap;
}

.day-pass-search .online-reservation__field.is-invalid .rsv-flatpickr-alt,
.day-pass-search .online-reservation__field.is-invalid .online-reservation__date {
  border-color: #b42318 !important;
}

.day-pass-checkout {
  margin: 64px auto 0;
}

.day-pass-inquiry {
  background: #fff;
  border: 1px solid var(--rsv-line, rgba(26, 35, 61, 0.14));
  margin: 64px auto 0;
  max-width: 1170px;
  padding: 34px;
}

.day-pass-inquiry__header {
  align-items: flex-start;
  border-bottom: 2px solid var(--rsv-ink, #1a233d);
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
}

.day-pass-inquiry__eyebrow,
.day-pass-experiences__heading p,
.day-pass-experience__label {
  color: #6c7483;
  font-family: var(--rsv-sans, "Montserrat", sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.day-pass-inquiry h2,
.day-pass-experiences h2 {
  font-family: Georgia, serif;
  font-size: 30px;
  letter-spacing: 0;
  margin: 0;
}

.day-pass-inquiry__close {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--rsv-ink, #1a233d);
  cursor: pointer;
  display: flex;
  font-size: 30px;
  height: 36px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 36px;
}

.day-pass-inquiry__intro {
  color: #596273;
  font-size: 14px;
  line-height: 1.65;
  margin: 22px 0;
  max-width: 760px;
}

.day-pass-inquiry__grid {
  display: grid;
  gap: 24px 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.day-pass-inquiry__message {
  grid-column: 1 / -1;
}

.day-pass-inquiry__website {
  height: 1px;
  left: -9999px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.day-pass-inquiry__submit {
  margin-top: 20px;
  width: 100%;
}

.day-pass-inquiry__feedback {
  border-left: 3px solid;
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 14px;
}

.day-pass-inquiry__feedback.is-success {
  background: #edf8f0;
  border-color: #18794e;
  color: #17643f;
}

.day-pass-inquiry__feedback.is-error {
  background: #fff1f0;
  border-color: #b42318;
  color: #8f1d14;
}

.day-pass-inquiry .online-reservation__date-wrap .rsv-flatpickr-alt {
  min-height: 48px;
}

.day-pass-form-error,
.day-pass-alert {
  background: #fff1f0;
  border-left: 3px solid #b42318;
  color: #8f1d14;
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 14px;
}

.day-pass-alert {
  margin: 36px auto 0;
  max-width: 1170px;
}

.day-pass-includes {
  border-top: 1px solid #e1e4e8;
  margin-top: 24px;
  padding-top: 20px;
}

.day-pass-includes h3 {
  font-size: 15px;
  margin: 0 0 12px;
}

.day-pass-includes ul,
.day-pass-terms ul {
  margin: 0;
  padding-left: 20px;
}

.day-pass-experiences {
  border-top: 1px solid var(--rsv-line, rgba(26, 35, 61, 0.14));
  margin: 56px auto 72px;
  max-width: 1292px;
  padding: 42px 24px 0;
}

.day-pass-experiences__grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}

.day-pass-experience {
  border-left: 1px solid var(--rsv-line, rgba(26, 35, 61, 0.14));
  padding: 4px 28px 8px;
}

.day-pass-experience:first-child {
  border-left: 0;
  padding-left: 0;
}

.day-pass-experience h3 {
  font-family: Georgia, serif;
  font-size: 24px;
  letter-spacing: 0;
  margin: 0 0 14px;
}

.day-pass-experience > p:not(.day-pass-experience__label) {
  color: #515a6d;
  line-height: 1.65;
  margin: 0 0 22px;
}

.day-pass-includes li,
.day-pass-terms li {
  line-height: 1.55;
  margin-bottom: 8px;
}

.day-pass-terms {
  margin: 52px auto 0;
  max-width: 1340px;
  padding: 0 24px;
}

.day-pass-terms h2 {
  font-family: Georgia, serif;
  font-size: 28px;
  letter-spacing: 0;
}

.day-pass-terms ul {
  color: #515a6d;
  columns: 2;
  column-gap: 56px;
}

.day-pass-confirmation {
  background: #fff;
  margin: 64px auto 0;
  max-width: 760px;
  padding: 52px;
  text-align: center;
}

.day-pass-confirmation__icon {
  align-items: center;
  background: #e8f4ed;
  border-radius: 50%;
  color: #18794e;
  display: flex;
  font-size: 30px;
  height: 64px;
  justify-content: center;
  margin: 0 auto 22px;
  width: 64px;
}

.day-pass-confirmation__test {
  background: #fff4ce;
  color: #6a4b00;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 9px;
  text-transform: uppercase;
}

.day-pass-confirmation h2 {
  font-family: Georgia, serif;
  font-size: 36px;
  letter-spacing: 0;
}

.day-pass-confirmation dl {
  margin: 30px 0;
  text-align: left;
}

.day-pass-confirmation dl div {
  border-bottom: 1px solid #e2e5ea;
  display: flex;
  justify-content: space-between;
  padding: 14px 0;
}

.day-pass-confirmation dd {
  font-weight: 700;
  margin: 0;
}

.day-pass-confirmation a {
  background: #0b2153;
  color: #fff;
  display: inline-block;
  padding: 13px 20px;
  text-decoration: none;
}

@media (max-width: 900px) {
  .day-pass-search__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .day-pass-search .online-reservation__field--resort,
  .day-pass-search .online-reservation__cta {
    grid-column: 1 / -1;
  }

  .day-pass-search .online-reservation__button {
    width: 100%;
  }

  .day-pass-experiences__grid {
    grid-template-columns: 1fr;
  }

  .day-pass-experience,
  .day-pass-experience:first-child {
    border-left: 0;
    border-top: 1px solid var(--rsv-line, rgba(26, 35, 61, 0.14));
    padding: 26px 0;
  }

  .day-pass-experience:first-child {
    border-top: 0;
  }
}

@media (max-width: 640px) {
  .day-pass-search__form {
    grid-template-columns: 1fr;
  }

  .day-pass-search .online-reservation__field--resort,
  .day-pass-search .online-reservation__cta {
    grid-column: auto;
  }

  .day-pass-terms ul {
    columns: 1;
  }

  .day-pass-group-help {
    align-items: stretch;
    flex-direction: column;
  }

  .day-pass-group-help__button {
    width: 100%;
  }

  .day-pass-inquiry {
    margin: 32px 16px 0;
    padding: 24px 18px;
  }

  .day-pass-inquiry__grid,
  .day-pass-experiences__grid {
    grid-template-columns: 1fr;
  }

  .day-pass-inquiry__message {
    grid-column: auto;
  }

  .day-pass-experience,
  .day-pass-experience:first-child {
    border-left: 0;
    border-top: 1px solid var(--rsv-line, rgba(26, 35, 61, 0.14));
    padding: 26px 0;
  }

  .day-pass-experience:first-child {
    border-top: 0;
  }

  .day-pass-confirmation {
    margin: 28px 16px 0;
    padding: 34px 22px;
  }

  .day-pass-confirmation dl div {
    display: block;
  }

  .day-pass-confirmation dd {
    margin-top: 5px;
  }
}
