.ttt-rezdy-selector {
  --ttt-rezdy-border: #c8d1d8;
  --ttt-rezdy-danger: #b42318;
  --ttt-rezdy-focus: #005fcc;
  --ttt-rezdy-ink: #1f2933;
  --ttt-rezdy-muted: #52616f;
  --ttt-rezdy-panel: #f7f9fb;
  --ttt-rezdy-plan: #b42318;
  --ttt-rezdy-plan-soft: #fff1f0;
  --ttt-rezdy-available: #1f7a4d;
  --ttt-rezdy-available-soft: #edf8f0;
  --ttt-rezdy-warning: #9a5b00;
  --ttt-rezdy-warning-soft: #fff7e6;
  --ttt-rezdy-soft: #edf4f8;
  color: var(--ttt-rezdy-ink);
  font: inherit;
  margin: 1.5rem 0;
}

.ttt-rezdy-selector * {
  box-sizing: border-box;
}

.ttt-rezdy-selector__intro {
  max-width: 58rem;
  margin-bottom: 1rem;
}

.ttt-rezdy-selector__intro h2 {
  font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.8rem);
  line-height: 1.2;
  margin: 0 0 0.45rem;
}

.ttt-rezdy-selector__intro p,
.ttt-rezdy-selector__card p,
.ttt-rezdy-selector__notice,
.ttt-rezdy-selector__empty {
  color: var(--ttt-rezdy-muted);
  margin: 0;
}

.ttt-rezdy-selector__steps {
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 1rem 0;
  padding: 0;
}

.ttt-rezdy-selector__steps li {
  background: var(--ttt-rezdy-soft);
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 6px;
  font-size: 0.9rem;
  min-height: 2.5rem;
  padding: 0.55rem;
  text-align: center;
}

.ttt-rezdy-selector__steps li[aria-current='step'] {
  background: #123b5d;
  border-color: #123b5d;
  color: #ffffff;
  font-weight: 700;
}

.ttt-rezdy-selector__step {
  display: grid;
  gap: 1rem;
}

.ttt-rezdy-selector__step[hidden],
.ttt-rezdy-selector [hidden] {
  display: none;
}

.ttt-rezdy-selector__step h3,
.ttt-rezdy-selector__review-section h4,
.ttt-rezdy-selector__review-item h5 {
  margin: 0;
}

.ttt-rezdy-selector__step h3 {
  font-size: 1.2rem;
}

.ttt-rezdy-selector__errors {
  border: 2px solid var(--ttt-rezdy-danger);
  border-radius: 8px;
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
}

.ttt-rezdy-selector__errors p {
  font-weight: 700;
  margin: 0 0 0.4rem;
}

.ttt-rezdy-selector__errors ul {
  margin: 0;
  padding-left: 1.2rem;
}

.ttt-rezdy-selector__status {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.ttt-rezdy-selector__journey-layout {
  margin-top: 1rem;
}

.ttt-rezdy-selector__interactive {
  display: grid;
  gap: 1rem;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__workspace {
  grid-template-areas: "date controls itinerary";
  grid-template-columns: minmax(18rem, 0.92fr) minmax(22rem, 1.1fr) minmax(18rem, 0.9fr);
  margin-top: 0.25rem;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__panel--date {
  grid-area: date;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__panel--departures {
  grid-area: controls;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__itinerary-shell {
  grid-area: itinerary;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__panel--date,
.ttt-booking-journey--multi .ttt-rezdy-selector__panel--departures,
.ttt-booking-journey--multi .ttt-rezdy-selector__itinerary-shell {
  box-shadow: 0 14px 34px rgba(23, 33, 43, 0.07);
}

.ttt-rezdy-selector__selected-date,
.ttt-rezdy-selector__noscript {
  color: var(--ttt-rezdy-muted);
  margin: 0;
}

.ttt-rezdy-selector__noscript {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.ttt-rezdy-selector__noscript ul {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding-left: 1.2rem;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__rider-fields {
  grid-template-columns: 1fr;
}

.ttt-booking-journey--multi .ttt-booking-journey__mobile-summary {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
}

.ttt-booking-journey--multi .ttt-booking-journey__mobile-summary span {
  color: var(--ttt-rezdy-muted);
  display: block;
  font-size: 0.88rem;
}

.ttt-rezdy-selector--tours_hub.ttt-booking-journey--multi .ttt-rezdy-selector__workspace,
.ttt-rezdy-selector--mural_routes_hub.ttt-booking-journey--multi .ttt-rezdy-selector__workspace {
  grid-template-areas: "date";
  grid-template-columns: minmax(0, 1fr);
}

.ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__lower-workspace,
.ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__lower-workspace {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.15fr) minmax(13rem, 0.85fr) minmax(0, 1fr);
  min-width: 0;
}

.ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__lower-workspace > *,
.ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__lower-workspace > * {
  grid-area: auto;
  grid-column: auto;
  min-width: 0;
  width: 100%;
}

.ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__panel--departures,
.ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__panel--guests,
.ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__panel--departures,
.ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__panel--guests {
  background: #ffffff;
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(23, 33, 43, 0.07);
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__panel--itinerary,
.ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__panel--itinerary {
  background: #ffffff;
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(23, 33, 43, 0.07);
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__itinerary-output,
.ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__itinerary-output {
  display: grid;
  gap: 0.75rem;
}

.ttt-rezdy-selector__routes {
  border: 0;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  margin: 0;
  padding: 0;
}

.ttt-rezdy-selector__routes legend {
  font-weight: 700;
  margin-bottom: 0.7rem;
}

.ttt-rezdy-selector__calendar {
  display: grid;
  gap: 1rem;
}

.ttt-rezdy-selector__calendar-intro {
  display: grid;
  gap: 0.35rem;
}

.ttt-rezdy-selector__calendar-intro p {
  color: var(--ttt-rezdy-muted);
  margin: 0;
}

.ttt-rezdy-selector__calendar-controls {
  align-items: center;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: auto minmax(12rem, 1fr) auto;
  margin-bottom: 0.75rem;
}

.ttt-rezdy-selector__next-available {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 0.9rem;
}

.ttt-rezdy-selector__next-available .ttt-rezdy-selector__button {
  min-width: 0;
  white-space: normal;
}

.ttt-rezdy-selector__next-available .ttt-rezdy-selector__button[data-ttt-next-available-state="unavailable"] {
  background: var(--ttt-surface-muted, #eeeae2);
  border-color: var(--ttt-border, #d9d2c3);
  color: var(--ttt-rezdy-muted);
  cursor: not-allowed;
  opacity: 0.72;
}

.ttt-rezdy-selector__next-available-message {
  color: var(--ttt-rezdy-muted);
  margin: -0.35rem 0 0.9rem;
}

.ttt-rezdy-selector__meeting {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--ttt-border, #d9d2c3);
  border-radius: 0.75rem;
  background: #fffaf1;
}

.ttt-rezdy-selector__meeting > :first-child {
  margin-top: 0;
}

.ttt-rezdy-selector__meeting > :last-child {
  margin-bottom: 0;
}

.ttt-rezdy-selector__calendar-controls h4 {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.ttt-rezdy-selector__month-picker {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.ttt-rezdy-selector__month-picker span {
  color: var(--ttt-rezdy-muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.ttt-rezdy-selector__month-picker select {
  min-height: 44px;
  width: 100%;
}

.ttt-rezdy-selector__agenda h4 {
  margin: 0;
}

.ttt-rezdy-selector__agenda h5 {
  color: #123b5d;
  margin: 0;
}

.ttt-rezdy-selector__calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0;
}

.ttt-rezdy-selector__calendar-legend li {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  min-height: 1.75rem;
}

.ttt-rezdy-selector__legend-swatch {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 4px;
  display: inline-block;
  height: 1rem;
  width: 1rem;
}

.ttt-rezdy-selector__legend-swatch--none {
  background: #f0f3f6;
}

.ttt-rezdy-selector__legend-swatch--available {
  background: var(--ttt-rezdy-available-soft);
  border-color: var(--ttt-rezdy-available);
}

.ttt-rezdy-selector__legend-swatch--plan {
  background: var(--ttt-rezdy-plan-soft);
  border-color: var(--ttt-rezdy-plan);
}

.ttt-rezdy-selector__legend-swatch--viewing {
  background: #ffffff;
  outline: 2px solid var(--ttt-rezdy-focus);
  outline-offset: 1px;
}

.ttt-rezdy-selector__calendar-grid {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ttt-rezdy-selector__calendar-weekday {
  color: var(--ttt-rezdy-muted);
  font-size: 0.82rem;
  font-weight: 700;
  text-align: center;
}

.ttt-rezdy-selector__calendar-cell {
  min-width: 0;
}

.ttt-rezdy-selector__calendar-date {
  background: #f0f3f6;
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 6px;
  color: var(--ttt-rezdy-ink);
  cursor: pointer;
  display: grid;
  gap: 0.25rem;
  min-height: 4.3rem;
  padding: 0.45rem;
  text-align: left;
  width: 100%;
}

.ttt-rezdy-selector__calendar-date:disabled {
  background: #f0f3f6;
  color: #7b8794;
  cursor: not-allowed;
}

.ttt-rezdy-selector__calendar-date--unavailable {
  background: #f0f3f6;
}

.ttt-rezdy-selector__calendar-date--available {
  background: var(--ttt-rezdy-available-soft);
  border-color: var(--ttt-rezdy-available);
  box-shadow: inset 0 -3px 0 var(--ttt-rezdy-available);
}

.ttt-rezdy-selector__calendar-date--sold-out {
  border-color: #9b2c2c;
  box-shadow: inset 0 -3px 0 #9b2c2c;
}

.ttt-rezdy-selector__calendar-date--in-plan {
  background: var(--ttt-rezdy-plan-soft);
  border-color: var(--ttt-rezdy-plan);
  box-shadow: inset 0 -3px 0 var(--ttt-rezdy-plan);
}

.ttt-rezdy-selector__calendar-date--viewing {
  outline: 3px solid var(--ttt-rezdy-focus);
  outline-offset: 1px;
}

.ttt-rezdy-selector__calendar-date--today .ttt-rezdy-selector__calendar-day::after {
  content: " today";
  font-size: 0.75rem;
  font-weight: 400;
}

.ttt-rezdy-selector__calendar-day {
  font-weight: 700;
}

.ttt-rezdy-selector__calendar-count {
  color: var(--ttt-rezdy-muted);
  font-size: 0.78rem;
  line-height: 1.2;
}

.ttt-rezdy-selector__calendar-plan {
  color: var(--ttt-rezdy-plan);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.ttt-rezdy-selector__agenda {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.ttt-rezdy-selector__agenda-list {
  display: grid;
  gap: 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ttt-rezdy-selector__agenda-group {
  display: grid;
  gap: 0.55rem;
}

.ttt-rezdy-selector__tour-summary {
  background: var(--ttt-rezdy-soft);
  border-radius: 8px;
  padding: 0.65rem 0.8rem;
}

.ttt-rezdy-selector__tour-summary summary {
  cursor: pointer;
  font-weight: 700;
}

.ttt-rezdy-selector__tour-summary p {
  margin: 0.65rem 0 0.35rem;
}

.ttt-rezdy-selector__agenda-item {
  align-items: center;
  border-top: 1px solid var(--ttt-rezdy-border);
  display: grid;
  gap: 0.55rem;
  grid-template-columns: minmax(5.5rem, 0.55fr) minmax(9rem, 1fr) minmax(8rem, 0.85fr) auto;
  padding-top: 0.65rem;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__agenda-item {
  align-items: start;
  grid-template-columns: minmax(4.5rem, 0.45fr) minmax(0, 1fr);
}

.ttt-booking-journey--multi .ttt-rezdy-selector__agenda-status,
.ttt-booking-journey--multi .ttt-rezdy-selector__agenda-item .ttt-rezdy-selector__button {
  grid-column: 2;
  justify-self: start;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__agenda-note {
  grid-column: 2;
}

.ttt-rezdy-selector__agenda-item--selected {
  background: var(--ttt-rezdy-soft);
  border: 2px solid var(--ttt-rezdy-available);
  border-radius: 8px;
  box-shadow: 0 0 0 3px rgba(33, 111, 86, 0.1);
  padding: 0.65rem;
}

.ttt-rezdy-selector__agenda-action {
  font-weight: 800;
  min-width: 11rem;
}

.ttt-rezdy-selector__agenda-action[aria-pressed="true"] {
  background: #e5f2eb;
  border-color: #216f56;
  color: #173f34;
  opacity: 1;
}

.ttt-rezdy-selector__agenda-remove {
  font-size: 0.86rem;
  margin-top: -0.25rem;
}

.ttt-rezdy-selector__agenda-item time,
.ttt-rezdy-selector__agenda-route {
  font-weight: 700;
}

.ttt-rezdy-selector__agenda-status,
.ttt-rezdy-selector__agenda-note {
  color: var(--ttt-rezdy-muted);
  font-size: 0.9rem;
  min-width: 0;
  overflow-wrap: break-word;
}

.ttt-rezdy-selector__agenda-note {
  grid-column: 2 / -1;
}

.ttt-rezdy-selector__agenda-route,
.ttt-rezdy-selector__empty,
.ttt-rezdy-selector__notice,
.ttt-rezdy-selector__help,
.ttt-rezdy-selector__matrix-choice span,
.ttt-rezdy-selector__review-item,
.ttt-rezdy-selector__handoff li > span {
  min-width: 0;
  overflow-wrap: break-word;
}

.ttt-rezdy-selector__selected-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.ttt-rezdy-selector__card {
  background: var(--ttt-rezdy-panel);
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.65rem;
  min-height: 13rem;
  padding: 1rem;
}

.ttt-rezdy-selector__card-head {
  align-items: start;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: auto 1fr;
}

.ttt-rezdy-selector__card input[type='checkbox'] {
  appearance: auto;
  height: 1.1rem;
  margin-top: 0.18rem;
  opacity: 1;
  pointer-events: auto;
  position: static;
  width: 1.1rem;
}

.ttt-rezdy-selector__card label {
  font-weight: 700;
  line-height: 1.25;
}

.ttt-rezdy-selector__session-label {
  font-size: 0.92rem;
  margin-top: 0.25rem;
}

.ttt-rezdy-selector select {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 6px;
  color: var(--ttt-rezdy-ink);
  min-height: 2.75rem;
  padding: 0.45rem 0.55rem;
  width: 100%;
}

.ttt-rezdy-selector input:focus-visible,
.ttt-rezdy-selector select:focus-visible,
.ttt-rezdy-selector button:focus-visible,
.ttt-rezdy-selector__errors:focus-visible {
  outline: 3px solid var(--ttt-rezdy-focus);
  outline-offset: 2px;
}

.ttt-rezdy-selector__choice {
  align-items: start;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: auto 1fr;
}

.ttt-rezdy-selector__choice input,
.ttt-rezdy-selector__matrix-choice input {
  margin-top: 0.2rem;
}

.ttt-rezdy-selector__fields,
.ttt-rezdy-selector__rider,
.ttt-rezdy-selector__matrix fieldset {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  margin: 0;
  padding: 1rem;
}

.ttt-rezdy-selector__fields legend,
.ttt-rezdy-selector__rider legend,
.ttt-rezdy-selector__matrix legend {
  font-weight: 700;
  padding: 0 0.25rem;
}

.ttt-rezdy-selector__field {
  display: grid;
  gap: 0.35rem;
}

.ttt-rezdy-selector__field span:first-child {
  font-weight: 700;
}

.ttt-rezdy-selector input[type='text'],
.ttt-rezdy-selector input[type='email'],
.ttt-rezdy-selector input[type='tel'] {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 6px;
  color: var(--ttt-rezdy-ink);
  min-height: 2.75rem;
  padding: 0.45rem 0.55rem;
  width: 100%;
}

.ttt-rezdy-selector__field-error {
  color: var(--ttt-rezdy-danger);
  font-size: 0.88rem;
  min-height: 1rem;
}

.ttt-rezdy-selector__summary {
  border-left: 4px solid var(--ttt-rezdy-focus);
  margin: 1rem 0;
  min-height: 3rem;
  padding: 0.65rem 0 0.65rem 0.8rem;
}

.ttt-rezdy-selector__notice {
  font-size: 0.94rem;
  margin-bottom: 0.85rem;
}

.ttt-rezdy-selector__help {
  color: var(--ttt-rezdy-muted);
  font-size: 0.9rem;
  margin: 0;
}

.ttt-rezdy-selector__schedule {
  display: grid;
  gap: 0.85rem;
}

.ttt-rezdy-selector__schedule-day {
  display: grid;
  gap: 0.35rem;
}

.ttt-rezdy-selector__schedule-day h4,
.ttt-rezdy-selector__schedule-day h5 {
  border-bottom: 1px solid var(--ttt-rezdy-border);
  color: #123b5d;
  font-size: 1rem;
  margin: 0;
  padding-bottom: 0.25rem;
}

.ttt-rezdy-selector__schedule-day ul {
  display: grid;
  gap: 0.3rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ttt-rezdy-selector__schedule-day li {
  align-items: baseline;
  display: grid;
  gap: 0.4rem;
  grid-template-columns: minmax(5.75rem, auto) 1fr;
}

.ttt-rezdy-selector__schedule time {
  font-weight: 700;
  white-space: nowrap;
}

.ttt-rezdy-selector__schedule-route::before {
  content: "— ";
}

.ttt-rezdy-selector__schedule-meta {
  color: var(--ttt-rezdy-muted);
  font-size: 0.88rem;
  grid-column: 2;
}

.ttt-rezdy-selector__prices {
  display: grid;
  font-size: 0.9rem;
  gap: 0.25rem;
  margin: 0;
  padding-left: 1.1rem;
}

.ttt-rezdy-selector__button {
  background: #123b5d;
  border: 1px solid #123b5d;
  border-radius: 6px;
  color: #ffffff;
  cursor: pointer;
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
}

.ttt-rezdy-selector__button:disabled,
.ttt-rezdy-selector__button[aria-disabled='true'] {
  background: #d8dde3;
  border-color: #b5bec8;
  color: #334155;
  cursor: not-allowed;
}

.ttt-rezdy-selector__button--secondary {
  background: #ffffff;
  color: #123b5d;
}

.ttt-rezdy-selector__button--link {
  background: transparent;
  border: 0;
  color: #123b5d;
  min-height: 2rem;
  padding: 0;
  text-align: left;
}

.ttt-rezdy-selector__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ttt-rezdy-selector__riders,
.ttt-rezdy-selector__rider-fields,
.ttt-rezdy-selector__fields {
  display: grid;
  gap: 0.85rem;
}

.ttt-rezdy-selector__rider-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ttt-rezdy-selector__ticket-quantities {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  margin: 0;
  padding: 1rem;
}

.ttt-rezdy-selector__ticket-quantities legend {
  font-weight: 700;
  padding: 0 0.25rem;
}

.ttt-rezdy-selector__ticket-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.ttt-rezdy-selector__ticket-quantity {
  align-items: center;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: minmax(0, 1fr) 4.5rem;
}

.ttt-rezdy-selector__ticket-quantity span {
  font-weight: 700;
}

.ttt-rezdy-selector__ticket-quantity input {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 6px;
  min-height: 2.75rem;
  padding: 0.35rem 0.5rem;
  width: 100%;
}

.ttt-rezdy-selector__group-summary {
  background: var(--ttt-rezdy-soft);
  border-radius: 8px;
  padding: 0.85rem;
}

.ttt-rezdy-selector__group-summary p {
  margin: 0 0 0.4rem;
}

.ttt-rezdy-selector__group-summary ul {
  margin-bottom: 0;
}

.ttt-rezdy-selector__linked-rider {
  display: grid;
  gap: 0.6rem;
  margin-top: 0.75rem;
}

.ttt-rezdy-selector__matrix {
  display: grid;
  gap: 0.75rem;
}

.ttt-rezdy-selector__matrix-grid {
  display: grid;
  gap: 0.65rem;
}

.ttt-rezdy-selector__matrix-row {
  align-items: start;
  border-top: 1px solid var(--ttt-rezdy-border);
  display: grid;
  gap: 0.55rem;
  grid-template-columns: minmax(8rem, 0.8fr) repeat(4, minmax(7rem, 1fr));
  padding-top: 0.65rem;
}

.ttt-booking-journey--multi .ttt-rezdy-selector__matrix-row {
  grid-template-columns: 1fr;
}

.ttt-rezdy-selector__matrix-name {
  font-weight: 700;
}

.ttt-rezdy-selector__matrix-choice {
  align-items: start;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: auto 1fr;
  min-height: 2.5rem;
}

.ttt-rezdy-selector__seat-counts {
  background: var(--ttt-rezdy-soft);
  border-radius: 8px;
  display: grid;
  gap: 0.35rem;
  padding: 0.8rem;
}

.ttt-rezdy-selector__seat-counts p {
  margin: 0;
}

.ttt-rezdy-selector__review {
  display: grid;
  gap: 1rem;
}

.ttt-rezdy-selector__review-section,
.ttt-rezdy-selector__review-item {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
}

.ttt-rezdy-selector__review-section ul,
.ttt-rezdy-selector__review-item ul {
  margin: 0;
  padding-left: 1.2rem;
}

.ttt-rezdy-selector__promo {
  background: var(--ttt-rezdy-soft);
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
}

.ttt-rezdy-selector__promo .ttt-rezdy-selector__field {
  margin: 0;
}

.ttt-rezdy-selector__promo[data-promo-state='success'] {
  background: var(--ttt-rezdy-available-soft);
  border-color: var(--ttt-rezdy-available);
}

.ttt-rezdy-selector__promo[data-promo-state='warning'] {
  background: var(--ttt-rezdy-warning-soft);
  border-color: var(--ttt-rezdy-warning);
}

.ttt-rezdy-selector__promo[data-promo-state='error'] {
  background: var(--ttt-rezdy-plan-soft);
  border-color: var(--ttt-rezdy-danger);
}

.ttt-rezdy-selector__promo[data-promo-state='success'] input {
  border-color: var(--ttt-rezdy-available);
}

.ttt-rezdy-selector__promo[data-promo-state='warning'] input {
  border-color: var(--ttt-rezdy-warning);
}

.ttt-rezdy-selector__promo[data-promo-state='error'] input {
  border-color: var(--ttt-rezdy-danger);
}

.ttt-rezdy-selector__promo-status {
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0;
}

.ttt-rezdy-selector__promo[data-promo-state='success'] .ttt-rezdy-selector__promo-status {
  color: var(--ttt-rezdy-available);
}

.ttt-rezdy-selector__promo[data-promo-state='warning'] .ttt-rezdy-selector__promo-status {
  color: var(--ttt-rezdy-warning);
}

.ttt-rezdy-selector__promo[data-promo-state='error'] .ttt-rezdy-selector__promo-status {
  color: var(--ttt-rezdy-danger);
}

.ttt-rezdy-selector__quote-result {
  min-height: 1rem;
}

.ttt-rezdy-selector__quote-success,
.ttt-rezdy-selector__quote-error {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
}

.ttt-rezdy-selector__quote-success {
  background: #effaf3;
  border-color: #7bc690;
}

.ttt-rezdy-selector__quote-breakdown {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.ttt-rezdy-selector__quote-breakdown div {
  align-items: baseline;
  border-bottom: 1px solid var(--ttt-rezdy-border);
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(9rem, 1fr) auto;
  padding-bottom: 0.4rem;
}

.ttt-rezdy-selector__quote-breakdown dt {
  color: var(--ttt-rezdy-muted);
  font-weight: 700;
}

.ttt-rezdy-selector__quote-breakdown dd {
  margin: 0;
  text-align: right;
}

.ttt-rezdy-selector__quote-total {
  font-size: 1.12rem;
  font-weight: 700;
}

.ttt-rezdy-selector__quote-error {
  background: #fff4f2;
  border-color: var(--ttt-rezdy-danger);
}

.ttt-rezdy-selector__handoff {
  border: 1px solid var(--ttt-rezdy-border);
  border-radius: 8px;
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
}

.ttt-rezdy-selector__handoff h4 {
  margin: 0;
}

.ttt-rezdy-selector__handoff--checkout-preview {
  background: #eff5f1;
  border-color: #83a799;
  margin-top: 1rem;
}

.ttt-rezdy-selector__handoff--checkout-preview p {
  margin: 0;
}

.ttt-rezdy-selector--checkout-open .ttt-rezdy-selector__intro,
.ttt-rezdy-selector--checkout-open [data-ttt-journey-progress],
.ttt-rezdy-selector--checkout-open [data-ttt-panel="date"],
.ttt-rezdy-selector--checkout-open [data-ttt-panel="departures"],
.ttt-rezdy-selector--checkout-open [data-ttt-panel="guests"],
.ttt-rezdy-selector--checkout-open [data-ttt-mobile-summary],
.ttt-rezdy-selector--checkout-open [data-ttt-checkout-action] {
  display: none !important;
}

.ttt-rezdy-selector--checkout-open .ttt-rezdy-selector__lower-workspace {
  display: block;
}

.ttt-rezdy-selector--checkout-open .ttt-rezdy-selector__itinerary-shell {
  box-shadow: none;
  margin: 0 auto;
  max-width: 72rem;
}

.ttt-rezdy-selector__handoff ul {
  display: grid;
  gap: 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ttt-rezdy-selector__handoff li {
  display: grid;
  gap: 0.35rem;
}

.ttt-rezdy-selector__handoff li > span {
  color: var(--ttt-rezdy-muted);
  font-size: 0.88rem;
}

.ttt-rezdy-selector__quote-success h4,
.ttt-rezdy-selector__quote-success p,
.ttt-rezdy-selector__quote-error p {
  margin: 0;
}

@media (max-width: 1180px) {
  .ttt-booking-journey--multi .ttt-rezdy-selector__workspace {
    grid-template-areas:
      "date controls"
      "itinerary itinerary";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .ttt-rezdy-selector--tours_hub.ttt-booking-journey--multi .ttt-rezdy-selector__workspace,
  .ttt-rezdy-selector--mural_routes_hub.ttt-booking-journey--multi .ttt-rezdy-selector__workspace {
    grid-template-areas: "date";
    grid-template-columns: minmax(0, 1fr);
  }

  .ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__lower-workspace,
  .ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__lower-workspace {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__itinerary-shell,
  .ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__itinerary-shell {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .ttt-booking-journey--multi .ttt-rezdy-selector__workspace {
    grid-template-areas:
      "date"
      "controls"
      "itinerary";
    grid-template-columns: minmax(0, 1fr);
  }

  .ttt-rezdy-selector--tours_hub .ttt-rezdy-selector__lower-workspace,
  .ttt-rezdy-selector--mural_routes_hub .ttt-rezdy-selector__lower-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 34rem) {
  .ttt-rezdy-selector {
    overflow-wrap: break-word;
  }

  .ttt-rezdy-selector__calendar-controls,
  .ttt-rezdy-selector__next-available,
  .ttt-rezdy-selector__agenda-item,
  .ttt-rezdy-selector__quote-breakdown div {
    grid-template-columns: 1fr;
  }

  .ttt-booking-journey--multi .ttt-rezdy-selector__agenda-status,
  .ttt-booking-journey--multi .ttt-rezdy-selector__agenda-item .ttt-rezdy-selector__button {
    grid-column: auto;
  }

  .ttt-rezdy-selector__quote-breakdown dd {
    text-align: left;
  }

  .ttt-rezdy-selector__calendar-grid {
    gap: 0.25rem;
  }

  .ttt-rezdy-selector__calendar-date {
    min-height: 3.6rem;
    padding: 0.35rem;
  }

  .ttt-rezdy-selector__calendar-count {
    font-size: 0.72rem;
  }

  .ttt-rezdy-selector__agenda-note {
    grid-column: auto;
  }

  .ttt-rezdy-selector__card {
    min-height: 0;
  }

  .ttt-rezdy-selector__steps,
  .ttt-rezdy-selector__rider-fields,
  .ttt-rezdy-selector__matrix-row {
    grid-template-columns: 1fr;
  }

  .ttt-rezdy-selector__steps li {
    text-align: left;
  }

  .ttt-rezdy-selector__button {
    width: 100%;
  }

  .ttt-rezdy-selector__schedule-day li {
    grid-template-columns: 1fr;
  }

  .ttt-rezdy-selector__schedule-route::before {
    content: "";
  }

  .ttt-rezdy-selector__schedule-meta {
    grid-column: auto;
  }
}
