/* The approved question-led booking design. Production form IDs and behaviour
   remain shared with the normal booking, validation and review pipeline. */
.booking-page.conversational-booking {
  --conversation-blue: #213887;
  --conversation-ink: #182d63;
  --conversation-muted: #65728a;
  --conversation-line: #e5e9f2;
  background: #f4f6fb;
  color: #182b52;
}

.conversational-booking .booking-page__hero {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
}

.conversational-booking .booking-page__main {
  padding: 34px 0 64px;
  background: #f4f6fb;
}

.conversational-booking .booking-page__layout {
  width: min(calc(100% - 32px), 920px);
  display: block;
}

.booking-page.conversational-booking .booking-panel {
  padding: 0;
  border: 1px solid var(--conversation-line);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 15px 60px #243c7710;
}

.booking-page.conversational-booking #booking-form,
.booking-page.conversational-booking .booking-step,
.booking-page.conversational-booking #booking-journey-details,
.booking-page.conversational-booking .journey-legs {
  display: block;
  padding: 0;
  gap: 0;
  min-width: 0;
}

.booking-page.conversational-booking .booking-form-section,
.booking-page.conversational-booking .journey-leg,
.booking-page.conversational-booking #booking-journey-details > .booking-form-section {
  margin: 0;
  padding: 42px 56px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.booking-page.conversational-booking .journey-leg::before { display: none; }
.booking-page.conversational-booking .journey-leg { border-bottom: 1px solid var(--conversation-line); }
.booking-page.conversational-booking #booking-journey-details > .conversational-intro { padding: 44px 56px 0; }
.booking-page.conversational-booking #outbound-fields { padding-top: 30px; }

.booking-page.conversational-booking .booking-form-section__heading,
.booking-page.conversational-booking .booking-form-section--compact .booking-form-section__heading,
.booking-page.conversational-booking .journey-leg__heading { margin: 0 0 24px; }

.booking-page.conversational-booking .conversational-intro .booking-form-section__heading { margin-bottom: 20px; }
.booking-page.conversational-booking .booking-form-section__heading h3,
.booking-page.conversational-booking #booking-form .conversational-section-title {
  margin: 0;
  color: var(--conversation-ink);
  font-size: 29px;
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -1px;
}

.booking-page.conversational-booking .booking-form-section__heading .conversational-eyebrow {
  color: #6f7da0;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 2px;
}

.booking-page.conversational-booking .booking-panel .conversational-question {
  max-width: 730px;
  margin: 0;
  color: var(--conversation-ink);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.17;
  letter-spacing: -1.5px;
  text-wrap: balance;
}

.booking-page.conversational-booking #booking-form .conversational-followup {
  margin: 0 0 20px;
  color: var(--conversation-ink);
  font-size: 27px;
  line-height: 1.25;
  letter-spacing: -1px;
  font-weight: 600;
}

.conversational-direction {
  display: flex;
  width: max-content;
  max-width: 100%;
  gap: 5px;
  padding: 5px;
  border-radius: 12px;
  background: #eff2f8;
}

.conversational-direction button {
  min-height: 44px;
  padding: 11px 19px;
  border: 0;
  border-radius: 9px;
  color: var(--conversation-muted);
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.conversational-direction button[aria-pressed="true"] {
  color: #fff;
  background: var(--conversation-blue);
  box-shadow: 0 3px 9px #21388724;
}

.booking-page.conversational-booking #booking-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
}

.booking-page.conversational-booking #booking-form .journey-leg > .form-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.booking-page.conversational-booking #booking-form .field,
.booking-page.conversational-booking #booking-form .pickup-details > .form-grid > .field {
  min-width: 0;
  gap: 9px;
  align-self: start;
  align-content: start;
  grid-column: auto;
}

.booking-page.conversational-booking #booking-form .field--full { grid-column: 1 / -1; }
.booking-page.conversational-booking #booking-form .field label,
.booking-page.conversational-booking #booking-form .field-label {
  color: #435273;
  font-size: 14px;
  font-weight: 500;
}

.booking-page.conversational-booking #booking-form .field label .optional,
.booking-page.conversational-booking #booking-form .field label > span {
  color: #8590a2;
  font-weight: 400;
  font-size: 12px;
}

.booking-page.conversational-booking #booking-form .field input:not([type="hidden"]):not([type="checkbox"]),
.booking-page.conversational-booking #booking-form .field select,
.booking-page.conversational-booking #booking-form .field textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 56px;
  min-height: 56px;
  padding: 14px 16px;
  border: 1px solid #d7dfec;
  border-radius: 12px;
  color: #213350;
  background-color: #fbfcfe;
  box-shadow: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.booking-page.conversational-booking #booking-form .field select { padding-right: 42px; }
.booking-page.conversational-booking #booking-form .field input::placeholder,
.booking-page.conversational-booking #booking-form .field textarea::placeholder { color: #929bad; opacity: 1; }
.booking-page.conversational-booking #booking-form .field input:focus,
.booking-page.conversational-booking #booking-form .field select:focus,
.booking-page.conversational-booking #booking-form .field textarea:focus {
  border-color: #647db8;
  box-shadow: 0 0 0 3px #28458b0c;
  outline: none;
}

.booking-page.conversational-booking #booking-form .address-field .input-icon input:not([type="hidden"]) {
  height: 68px;
  min-height: 68px;
  padding-left: 56px;
  background-color: #fff;
  font-size: 18px;
}

.booking-page.conversational-booking #booking-form .input-icon i { left: 20px; color: #6a7ba4; font-size: 20px; }
.booking-page.conversational-booking #destination-field,
.booking-page.conversational-booking #return-destination-field { margin-top: 32px; }
.booking-page.conversational-booking #booking-form .address-suggestion { font-weight: 400; font-size: 14px; }

.booking-page.conversational-booking #booking-form .additional-pickups {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.booking-page.conversational-booking #booking-form .additional-pickups__heading {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  min-height: 0;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.booking-page.conversational-booking #booking-form .additional-pickups__add {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  color: var(--conversation-blue);
  background: transparent;
  font-size: 14px;
  font-weight: 500;
}

.booking-page.conversational-booking #booking-form .stops-charge-note { margin: 0; font-size: 12px; color: #7c8699; }
.booking-page.conversational-booking #booking-form .additional-pickups__list:not(:empty) { order: -1; margin: 0 0 8px; }
.booking-page.conversational-booking #booking-form .additional-pickup { gap: 8px; padding: 8px 0; }
.booking-page.conversational-booking #booking-form .additional-pickup__remove { align-self: end; height: 56px; color: #65728a; background: #f0f2f7; }
.booking-page.conversational-booking #booking-form .additional-pickup__controls .input-icon input:not([type="hidden"]):not([type="checkbox"]) { padding-left: 56px; }

.booking-page.conversational-booking #booking-form .pickup-details {
  overflow: visible;
  width: auto;
  margin: 40px -56px -42px;
  padding: 42px 56px;
  border: 0;
  border-top: 1px solid var(--conversation-line);
  border-radius: 0;
  background: transparent;
}

.booking-page.conversational-booking #booking-form .pickup-details > p {
  margin: 12px 0 24px;
  color: var(--conversation-muted);
  font-size: 13px;
  line-height: 1.7;
}

.booking-page.conversational-booking #booking-form .pickup-details > .booking-short-notice {
  margin: 0 0 22px;
  padding: 12px 15px;
  border: 1px solid #f4d8a6;
  border-radius: 11px;
  background: #fff9ed;
  color: #69491d;
  font-size: 13px;
}

.booking-short-notice strong { font-weight: 700; }
.booking-short-notice a { color: #18377e; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

.booking-page.conversational-booking #booking-form #return-pickup-details-help { color: #b3383c; }
.booking-page.conversational-booking #booking-form .return-landing-group {
  display: grid;
  gap: 13px;
  padding: 20px 22px;
  border: 1px solid #b7c9f0;
  border-left: 5px solid #e1262f;
  border-radius: 14px;
  background: #f0f4ff;
}
.booking-page.conversational-booking #booking-form .return-landing-group[hidden] { display: none; }
.booking-page.conversational-booking #booking-form .return-landing-group__eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #1e3a8a;
  font-size: 17px;
  font-weight: 800;
}
.booking-page.conversational-booking #booking-form .return-landing-group__eyebrow i { color: #e1262f; }
.booking-page.conversational-booking #booking-form .return-landing-group__help { margin: -5px 0 0; color: #4b5c79; font-size: 13px; line-height: 1.5; }
.booking-page.conversational-booking #booking-form .return-landing-group label { color: #1e3a8a; font-weight: 800; }
.booking-page.conversational-booking #booking-form .return-landing-group input { background: #fff; border-color: #a9bce4; }
.booking-page.conversational-booking #booking-form .return-landing-group input:focus { border-color: #1e3a8a; box-shadow: 0 0 0 3px rgba(30, 58, 138, .15); }
.booking-page.conversational-booking #booking-form .pickup-details > .form-grid { padding: 0; }
.booking-page.conversational-booking #booking-form #pickup-details > .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.booking-page.conversational-booking #booking-form #pickup-details > .form-grid:has(#outbound-flight-time-field[hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.booking-page.conversational-booking #booking-form .manual-time-hint { margin-top: 0; color: #7a86a0; font-size: 11px; }

.conversational-return-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  align-items: center;
  gap: 24px;
  margin: 30px 56px 0;
  padding: 23px 26px;
  border: 1px solid #e6ebf7;
  border-radius: 16px;
  background: #f1f4fc;
}

.conversational-return-choice strong { display: block; color: #273e77; font-size: 21px; font-weight: 600; letter-spacing: -.6px; }
.conversational-return-choice small { display: block; margin-top: 4px; color: #7985a0; font-size: 13px; }
.conversational-return-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.conversational-return-options label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  min-height: 56px;
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid #bac6e0;
  border-radius: 12px;
  background: #fff;
  color: #273e77;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
}
.conversational-return-options label:has(input:checked) {
  border-color: var(--conversation-blue);
  background: var(--conversation-blue);
  color: #fff;
}
.booking-page.conversational-booking #booking-form .conversational-return-options input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 20px;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.booking-page.conversational-booking #booking-form .conversational-return-options input[type="radio"]:checked {
  background: radial-gradient(circle, currentColor 0 4px, transparent 5px);
}
.conversational-return-options label:has(input:focus-visible) { outline: 3px solid #91acff; outline-offset: 3px; }
.conversational-return-options input:focus-visible { outline: none; }

.conversational-direction button:focus-visible,
.booking-page.conversational-booking #booking-form button:focus-visible,
.booking-page.conversational-booking #booking-form summary:focus-visible { outline: 3px solid #91acff; outline-offset: 3px; }

.booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-fields {
  margin: 0 56px;
  padding: 24px 26px;
  border: 1px solid #e6ebf7;
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: #f1f4fc;
}

.booking-page.conversational-booking #booking-form[data-journey-mode="return"] .conversational-return-choice { border-radius: 16px 16px 0 0; }
.booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-leg-title { font-size: 27px; }
.booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-pickup-details {
  margin: 28px 0 0;
  padding: 24px 0 0;
  border-color: #dce3f1;
}

.booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-destination-question { font-size: 21px; margin-bottom: 12px; }
.booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-pickup-details-label { font-size: 23px; }
.booking-page.conversational-booking #booking-form[data-journey-mode="return_only"] #return-fields { padding-top: 30px; }
.booking-page.conversational-booking #booking-form[data-journey-mode="return_only"] #return-pickup-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.booking-page.conversational-booking #booking-form .conversational-travellers { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.booking-page.conversational-booking .booking-extra {
  margin: 0 56px;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--conversation-line);
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

.booking-page.conversational-booking .booking-extra + .booking-extra { margin-top: 20px; }
.booking-page.conversational-booking .booking-extra summary {
  position: relative;
  display: flex;
  min-height: 50px;
  padding: 20px 28px 0 0;
  color: #273b66;
  font-size: 15px;
  font-weight: 500;
  list-style: none;
}

.booking-page.conversational-booking .booking-extra summary::-webkit-details-marker { display: none; }
.booking-page.conversational-booking .booking-extra summary i { display: none; }
.booking-page.conversational-booking .booking-extra summary::after { content: "+"; position: absolute; right: 0; color: #667dae; font-size: 23px; }
.booking-page.conversational-booking .booking-extra[open] summary::after { content: "−"; }
.booking-page.conversational-booking .booking-extra__content { padding: 20px 0 0; border: 0; }
.booking-page.conversational-booking .car-seat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.booking-page.conversational-booking #booking-form .field textarea { height: auto; min-height: 106px; resize: vertical; }
.booking-page.conversational-booking .field-help { margin-top: 12px; color: #7a8496; font-size: 12px; font-weight: 400; }
.booking-page.conversational-booking .booking-form-section--contact { margin-top: 36px; padding-bottom: 24px; border-top: 1px solid var(--conversation-line); }
.booking-page.conversational-booking #booking-form .form-grid--contact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.booking-page.conversational-booking #booking-form .form-grid--contact .field:last-child { grid-column: 1 / -1; }
.booking-page.conversational-booking .consent-field {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 56px 30px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--conversation-muted);
  font-size: 12px;
  line-height: 1.7;
  font-weight: 400;
}

.booking-page.conversational-booking .consent-field input { width: 20px; min-width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--conversation-blue); }
.booking-page.conversational-booking #request-note { display: none; }
.booking-page.conversational-booking .booking-step-actions { padding: 30px 56px 34px; border-radius: 0 0 28px 28px; background: #fafbfe; }
.booking-page.conversational-booking .booking-step-actions::after { content: "You can check everything before sending."; display: block; margin-top: 4px; text-align: center; color: #8390a6; font-size: 12px; }
.booking-page.conversational-booking .booking-step-actions .button,
.booking-page.conversational-booking .booking-review #send-booking {
  width: 100%;
  min-height: 60px;
  padding: 18px 20px;
  border: 0;
  border-radius: 13px;
  background: var(--conversation-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  gap: 15px;
}

.booking-page.conversational-booking .button:disabled { cursor: default; }
.booking-page.conversational-booking #booking-form-status { margin: 0 56px 28px; font-size: 13px; }
.booking-page.conversational-booking #booking-form-status:empty { margin: 0; padding: 0; min-height: 0; }

.booking-page.conversational-booking .booking-review { padding: 36px 56px 46px; gap: 24px; }
.booking-page.conversational-booking .booking-review__heading { flex-direction: column-reverse; align-items: flex-start; gap: 28px; }
.booking-page.conversational-booking .booking-review__edit { padding: 8px 0; border: 0; border-radius: 0; font-size: 14px; font-weight: 500; }
.booking-page.conversational-booking .booking-review__heading h3 { max-width: 600px; font-size: 46px; font-weight: 600; line-height: 1.17; letter-spacing: -1.3px; text-wrap: balance; }
.booking-page.conversational-booking .booking-review__eyebrow { margin-bottom: 20px; font-size: 11px; font-weight: 600; letter-spacing: 2px; color: #6f7da0; }
.booking-page.conversational-booking .booking-review__intro { font-size: 14px; line-height: 1.7; }
.booking-page.conversational-booking .booking-review__leg { padding: 24px; border-color: var(--conversation-line); border-radius: 16px; }
.booking-page.conversational-booking .booking-review__leg h4 { color: #667593; font-size: 14px; font-weight: 500; }
.booking-page.conversational-booking .booking-review__pickup { padding: 0; background: transparent; }
.booking-page.conversational-booking .booking-review__pickup strong { font-size: 19px; font-weight: 600; }
.booking-page.conversational-booking .booking-review__route li { font-size: 15px; }
.booking-page.conversational-booking .booking-review__details h4 { font-size: 14px; }
.booking-page.conversational-booking .booking-review__details p { font-size: 13px; line-height: 1.8; }
.booking-page.conversational-booking .booking-review__fare { padding: 24px; border: 0; background: #eef3ff; }
.booking-page.conversational-booking .booking-review__fare strong { font-size: 32px; font-weight: 600; letter-spacing: -1px; }
.booking-page.conversational-booking .booking-review .consent-field { margin: 0; }

@media (max-width: 680px) {
  .conversational-booking .booking-page__main { padding: 18px 0 40px; }
  .conversational-booking .booking-page__layout { width: calc(100% - 24px); }
  .booking-page.conversational-booking .booking-panel { border-radius: 21px; }
  .booking-page.conversational-booking .booking-form-section,
  .booking-page.conversational-booking .journey-leg,
  .booking-page.conversational-booking #booking-journey-details > .booking-form-section { padding: 30px 23px; }
  .booking-page.conversational-booking #booking-journey-details > .conversational-intro { padding: 27px 23px 0; }
  .booking-page.conversational-booking #outbound-fields,
  .booking-page.conversational-booking #booking-form[data-journey-mode="return_only"] #return-fields { padding-top: 26px; }
  .booking-page.conversational-booking .booking-form-section__heading .conversational-eyebrow { font-size: 10px; letter-spacing: 1.5px; }
  .booking-page.conversational-booking .booking-panel .conversational-question { font-size: 35px; letter-spacing: -1.4px; line-height: 1.16; text-wrap: initial; }
  .booking-page.conversational-booking .booking-form-section__heading h3,
  .booking-page.conversational-booking #booking-form .conversational-section-title { font-size: 25px; letter-spacing: -.8px; }
  .booking-page.conversational-booking #booking-form .conversational-followup { margin-bottom: 18px; font-size: 24px; letter-spacing: -.8px; }
  .conversational-direction { width: 100%; }
  .conversational-direction button { flex: 1; padding: 10px 8px; font-size: 12px; }
  .booking-page.conversational-booking #booking-form .form-grid { gap: 14px; }
  .booking-page.conversational-booking #booking-form .field { gap: 8px; }
  .booking-page.conversational-booking #booking-form .field label,
  .booking-page.conversational-booking #booking-form .field-label { font-size: 12px; }
  .booking-page.conversational-booking #booking-form .field input:not([type="hidden"]):not([type="checkbox"]),
  .booking-page.conversational-booking #booking-form .field select,
  .booking-page.conversational-booking #booking-form .field textarea { height: 54px; min-height: 54px; padding: 12px; border-radius: 10px; font-size: 16px; }
  .booking-page.conversational-booking #booking-form .field select { padding-right: 37px; }
  .booking-page.conversational-booking #booking-form .address-field .input-icon input:not([type="hidden"]) { height: 61px; min-height: 61px; padding-left: 48px; font-size: 16px; }
  .booking-page.conversational-booking #booking-form .input-icon i { left: 15px; font-size: 18px; }
  .booking-page.conversational-booking #destination-field,
  .booking-page.conversational-booking #return-destination-field { margin-top: 28px; }
  .booking-page.conversational-booking #booking-form .additional-pickups__add { font-size: 12px; }
  .booking-page.conversational-booking #booking-form .stops-charge-note { font-size: 11px; }
  .booking-page.conversational-booking #booking-form .additional-pickup__remove { height: 54px; }
  .booking-page.conversational-booking #booking-form .additional-pickup__controls .input-icon input:not([type="hidden"]):not([type="checkbox"]) { padding-left: 48px; }
  .booking-page.conversational-booking #booking-form .pickup-details { margin: 30px -23px -30px; padding: 30px 23px; }
  .booking-page.conversational-booking #booking-form .pickup-details > p { font-size: 12px; line-height: 1.7; margin-bottom: 22px; }
  .booking-page.conversational-booking #booking-form #pickup-details > .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-page.conversational-booking #booking-form #outbound-flight-time-field { grid-column: 1 / -1; }
  .booking-page.conversational-booking #booking-form .manual-time-hint { font-size: 10px; }
  .conversational-return-choice { grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 24px 23px 0; padding: 19px 18px; }
  .conversational-return-options label { gap: 7px; padding: 12px 8px; font-size: 14px; }
  .conversational-return-choice strong { font-size: 19px; }
  .conversational-return-choice small { font-size: 11px; }
  .booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-fields { margin: 0 23px; padding: 18px; }
  .booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-leg-title { font-size: 24px; }
  .booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-pickup-details { margin-top: 24px; padding-top: 24px; }
  .booking-page.conversational-booking #booking-form[data-journey-mode="return"] #return-pickup-details > .form-grid { grid-template-columns: minmax(0, 1fr); }
  .booking-page.conversational-booking #booking-form .return-landing-group { padding: 18px; }
  .booking-page.conversational-booking #booking-form .return-landing-group > .form-grid { grid-template-columns: minmax(0, 1fr); }
  .booking-page.conversational-booking #booking-form .return-landing-group__eyebrow { font-size: 16px; }
  .booking-page.conversational-booking #booking-form .conversational-travellers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-page.conversational-booking #booking-form .conversational-travellers > .field:first-child { grid-column: 1 / -1; }
  .booking-page.conversational-booking .booking-extra { margin-left: 23px; margin-right: 23px; }
  .booking-page.conversational-booking .booking-extra summary { font-size: 13px; }
  .booking-page.conversational-booking .car-seat-grid { gap: 14px; }
  .booking-page.conversational-booking .booking-form-section--contact { margin-top: 30px; padding-bottom: 24px; }
  .booking-page.conversational-booking #booking-form .form-grid--contact { grid-template-columns: minmax(0, 1fr); }
  .booking-page.conversational-booking .consent-field { gap: 10px; margin: 0 23px 26px; font-size: 11px; }
  .booking-page.conversational-booking .booking-step-actions { padding: 24px 23px; border-radius: 0 0 21px 21px; }
  .booking-page.conversational-booking .booking-step-actions .button,
  .booking-page.conversational-booking .booking-review #send-booking { min-height: 58px; padding: 16px 10px; font-size: 14px; gap: 10px; }
  .booking-page.conversational-booking .booking-step-actions::after { font-size: 11px; }
  .booking-page.conversational-booking #booking-form-status { margin: 0 23px 24px; }
  .booking-page.conversational-booking .booking-review { padding: 28px 23px 32px; gap: 22px; }
  .booking-page.conversational-booking .booking-review__heading h3 { font-size: 35px; line-height: 1.16; letter-spacing: -1.4px; }
  .booking-page.conversational-booking .booking-review__edit { font-size: 12px; }
  .booking-page.conversational-booking .booking-review__edit i { display: inline; }
  .booking-page.conversational-booking .booking-review__leg { padding: 19px 16px; }
  .booking-page.conversational-booking .booking-review__pickup strong { font-size: 16px; }
  .booking-page.conversational-booking .booking-review__fare { padding: 20px; }
  .booking-page.conversational-booking .booking-review__fare strong { font-size: 28px; }
}

@media (max-width: 360px) {
  .booking-page.conversational-booking #booking-form .pickup-details > .form-grid,
  .booking-page.conversational-booking #booking-form #pickup-details > .form-grid,
  .booking-page.conversational-booking #booking-form #pickup-details > .form-grid:has(#outbound-flight-time-field[hidden]) { grid-template-columns: minmax(0, 1fr); }
  .booking-page.conversational-booking #booking-form .car-seat-grid { grid-template-columns: minmax(0, 1fr); }
  .booking-page.conversational-booking .booking-panel .conversational-question { font-size: 32px; }
}
