/* Readable controls for the live cards mounted inside questionnaire steps 3–4. */
body.calc-page.ridecalc-redesign #panel-stays .ridecalc-lodging-card__price-block .feat-card__price-cap {
  font-size: 12px;
  white-space: nowrap;
}

body.calc-page.ridecalc-redesign #panel-stays .ridecalc-lodging-card__price-block .feat-card__price {
  font-size: clamp(1.125rem, 1.35vw, 1.25rem);
}

body.calc-page.ridecalc-redesign #panel-stays .ridecalc-lodging-card__total {
  font-size: 13px;
}

body.calc-page.ridecalc-redesign #panel-stays .ridecalc-lodging-card__footer .card-details {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-size: 14px;
}

body.calc-page.ridecalc-redesign .planner:has(.journey-step.is-open) #panel-experiences #experienceCards.experience-grid {
  display: grid;
  grid-auto-flow: row;
  grid-auto-columns: auto;
  grid-auto-rows: 292px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  overflow: visible;
  overscroll-behavior-y: auto;
  scroll-snap-type: none;
  touch-action: auto;
}

body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service {
  min-height: 0;
  height: 292px;
  align-content: stretch;
}

body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .experience-content {
  display: flex;
  min-width: 0;
  min-height: 0;
  gap: 4px;
  padding: 10px;
}

body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .experience-title {
  min-height: 0;
  font-size: 15px;
  line-height: 1.25;
}

body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .experience-description {
  display: -webkit-box;
  min-height: 0;
  overflow: hidden;
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .experience-price {
  padding-top: 2px;
  font-size: 17px;
  line-height: 1.25;
}

body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .service-config-button,
body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .service-toggle {
  width: 100%;
  height: 44px;
  min-height: 44px;
  align-self: stretch;
  justify-content: center;
  font-size: 14px;
}

@media (max-width: 900px) {
  body.calc-page.ridecalc-redesign .planner:has(.journey-step.is-open) #panel-experiences #experienceCards.experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .planner-workspace,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .builder,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .interview,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .journey-steps,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .journey-step.is-open,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) #panel-stays,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) #panel-experiences,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .step-panel-content,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) #experienceStepMount,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) #experienceStepMount > .experiences {
    min-height: auto;
    height: auto;
    flex: 0 0 auto;
    overflow: visible;
  }
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-stays:not([hidden]), #panel-experiences:not([hidden])) .planner-workspace {
    min-height: max-content;
    height: max-content;
    grid-template-rows: auto;
  }
}

@media (max-width: 680px) {
  body.calc-page.ridecalc-redesign .planner:has(.journey-step.is-open) #panel-experiences #experienceCards.experience-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: 272px;
  }
  body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service {
    height: 272px;
  }
  body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service .experience-content {
    padding: 9px 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.calc-page.ridecalc-redesign #panel-experiences .experience-card--service {
    transition: none;
  }
}

/* Restore a clear hierarchy and separators in the calculator cost breakdown. */
body.calc-page.ridecalc-redesign .money-section {
  border: 1px solid #d5dfd1;
  border-radius: 16px;
  background: #eef0e8;
}

body.calc-page.ridecalc-redesign .money-details {
  border: 1px solid #d9dfd2;
  border-radius: 10px;
  background: #fff;
}

body.calc-page.ridecalc-redesign .money-details .cost-rows {
  gap: 0;
  padding: 8px 0;
}

body.calc-page.ridecalc-redesign .money-details .cost-row {
  gap: 5px;
  padding: 13px 0;
  border-bottom: 1px solid #e2e6df;
}

body.calc-page.ridecalc-redesign .money-details .cost-row:last-child {
  border-bottom: 0;
}

body.calc-page.ridecalc-redesign .money-details .cost-row__main > span,
body.calc-page.ridecalc-redesign .money-details .cost-row__main > strong,
body.calc-page.ridecalc-redesign .money-details .bill-total > strong {
  color: #111816;
  font-weight: 700;
}

body.calc-page.ridecalc-redesign .money-details .cost-row__main > span {
  font-size: 14px;
  line-height: 1.4;
}

body.calc-page.ridecalc-redesign .money-details .cost-row__main > strong {
  font-size: 16px;
}

body.calc-page.ridecalc-redesign .money-details .cost-row__breakdown,
body.calc-page.ridecalc-redesign .money-details .cost-row__service-breakdown {
  color: #536059;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

body.calc-page.ridecalc-redesign .money-details .cost-row__service-head {
  font-weight: 700;
}

@media (min-width: 641px) {
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .builder {
    align-self: center;
    height: auto;
    flex: 0 0 auto;
    overflow: visible;
  }

  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .journey-steps {
    display: flex;
    flex-direction: column;
  }

  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .interview,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .journey-steps,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .journey-step.is-open,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #panel-experiences,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #panel-experiences .step-panel-content,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #experienceStepMount {
    min-height: 0;
  }

  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .interview,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .journey-steps,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) .journey-step.is-open,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #panel-experiences,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #panel-experiences .step-panel-content,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #experienceStepMount {
    flex: 0 0 auto;
  }

  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #panel-experiences {
    overflow: visible;
  }

  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #panel-experiences .step-panel-content,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #experienceStepMount,
  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #experienceStepMount > .experiences {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  body.calc-page.ridecalc-redesign .planner:not(.is-step-flow):has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #experienceStepMount > .experiences {
    min-height: auto;
    flex: 0 0 auto;
  }

  body.calc-page.ridecalc-redesign .planner:has(.journey-step.is-open):has(#panel-experiences:not([hidden])) #experienceCards.experience-grid {
    min-height: auto;
    flex: 0 0 auto;
    grid-auto-rows: 292px;
    align-content: start;
    overflow: visible;
    overscroll-behavior-y: auto;
  }
}
