/*
 * RAC Booking Form Frontend Autonomous
 * Version: 1.0.22.70
 * CHANGELOG:
 * - First fully autonomous shortcode-only build.
 * - 4-step inline UI, calculations, AJAX submit, and direct DB/relation sync.
 * - v1.0.22.40: Added compact horizontal category cards with live pricing.
 * - v1.0.22.41: Category cards now include delivery/return other-location charges in live totals.
 * - v1.0.22.42: Main totals stay synced with the selected category card pricing source.
 * - v1.0.22.44: Category card prices use server-side JetBooking/season-table quotes.
 * - v1.0.22.45: Category cards also show fleet availability and request-flow messages.
 * - v1.0.22.46: Category card hover/focus states no longer inherit red button/theme backgrounds.
 * - v1.0.22.47: Removed standalone booking header; moved compact days counter into category selector and increased frontend font sizes.
 * - v1.0.22.48: Availability mapping aligns pricing category titles/codes with vehicle category relations used by Booking Engine.
 * - v1.0.22.49: Category strip availability uses Booking Engine parity: active vehicles, relation fallback, IN statuses and 30-minute buffer.
 * - v1.0.22.51: Empty availability badges are prevented; unchecked fallback categories show available state.
 * - v1.0.22.52: Unresolved mapping fallback is styled as request instead of available.
 * - v1.0.22.53: Request fallback with no confirmed vehicle/category mapping is explicitly treated as no-alternatives.
 */

.rac-bff {
  --rac-bff-max-width: 1100px;
  --rac-bff-accent: #00B9FF;
  --rac-bff-border: #d7e7ef;
  --rac-bff-bg: #ffffff;
  --rac-bff-bg-soft: #f8fbfd;
  --rac-bff-text: #1f2937;
  --rac-bff-muted: #64748b;
  --rac-bff-danger: #dc2626;
  --rac-bff-success: #166534;
  max-width: var(--rac-bff-max-width);
  margin: 0 auto;
  font-family: inherit;
  font-size: 15px;
  color: var(--rac-bff-text);
}

.rac-bff__header,
.rac-bff__notice,
.rac-bff__progress,
.rac-bff__step,
.rac-bff__actions {
  border: 1px solid var(--rac-bff-border);
  border-radius: 22px;
  background: var(--rac-bff-bg);
}

.rac-bff__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 18px 22px;
  background: var(--rac-bff-bg-soft);
}

.rac-bff__header-main {
  flex: 1 1 auto;
}

.rac-bff__days-box {
  flex: 0 0 220px;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  min-height: 0;
  padding: 8px 12px;
  border: 2px solid var(--rac-bff-accent);
  border-radius: 18px;
  background: #fff;
  text-align: center;
}

.rac-bff__days-box strong {
  font-size: 10px;
  line-height: 1.3;
  color: #0f172a;
}

.rac-bff__days-box span {
  margin-top: 3px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--rac-bff-accent);
}

.rac-bff__days-box--compact {
  flex: 0 0 auto;
  max-width: none;
  min-width: 180px;
  min-height: 42px;
  padding: 5px 12px;
  border-radius: 16px;
}

.rac-bff__days-box--compact strong {
  font-size: 12px;
  line-height: 1.15;
}

.rac-bff__days-box--compact span {
  margin-top: 2px;
  font-size: 20px;
  line-height: 1;
}

.rac-bff__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.2;
}

.rac-bff__subtitle {
  margin: 6px 0 0;
  color: var(--rac-bff-muted);
  font-size: 12px;
}

.rac-bff__notice {
  display: none;
  margin-bottom: 14px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.45;
}

.rac-bff__notice.is-visible { display: block; }
.rac-bff__notice.is-error { border-color: #fecaca; background: #fff1f2; color: #991b1b; }
.rac-bff__notice.is-success { border-color: #bbf7d0; background: #f0fdf4; color: var(--rac-bff-success); }
.rac-bff__notice.is-info { border-color: #bae6fd; background: #eff6ff; color: #0c4a6e; }

.rac-bff__form { display: block; }

.rac-bff__progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  margin-bottom: 14px;
}

.rac-bff__progress-step {
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--rac-bff-border);
  border-radius: 999px;
  background: #fff;
  color: var(--rac-bff-text);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  font-size: 16px;
}

.rac-bff__progress-step.is-active,
.rac-bff__progress-step.is-done {
  border-color: var(--rac-bff-accent);
  background: var(--rac-bff-accent);
  color: #fff;
}

.rac-bff__step {
  display: none;
  padding: 16px;
  margin-bottom: 14px;
  background: linear-gradient(180deg, rgba(248,251,253,.95), #fff);
}

.rac-bff__step.is-active { display: block; }

.rac-bff__grid {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}

.rac-bff__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rac-bff__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.rac-bff__field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-items: center;
  text-align: center;
}

.rac-bff__field > span {
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  color: var(--rac-bff-text);
}

.rac-bff__field input,
.rac-bff__field select,
.rac-bff__field textarea {
  min-height: 44px;
  width: 100%;
  padding: 9px 13px;
  border: 1px solid var(--rac-bff-border);
  border-radius: 14px;
  background: #fff;
  color: var(--rac-bff-text);
  font: inherit;
  box-sizing: border-box;
  font-size: 15px;
  text-align: center;
  text-align-last: center;
}

.rac-bff__field small {
  color: var(--rac-bff-muted);
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
  letter-spacing: -0.1px;
}

.rac-bff__insurance-desc {
  width: 100%;
  margin-top: 2px;
  padding: 10px 12px;
  border: 1px dashed #c7dce6;
  border-radius: 12px;
  background: #f8fbfd;
  color: var(--rac-bff-muted);
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
  white-space: pre-line;
}


.rac-bff__insurance-deductible {
  width: 100%;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #d7e5ec;
  border-radius: 12px;
  background: #ffffff;
  color: var(--rac-bff-text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
}

.rac-bff__insurance-deductible strong {
  font-size: 12px;
  font-weight: 700;
}

.rac-bff__insurance-deductible span {
  font-weight: 700;
  white-space: nowrap;
}

.rac-bff__insurance-deductible[hidden] {
  display: none !important;
}

.rac-bff__field.is-invalid input,
.rac-bff__field.is-invalid select,
.rac-bff__field.is-invalid textarea {
  border-color: var(--rac-bff-danger);
}

.rac-bff__summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rac-bff__summary-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--rac-bff-border);
  border-radius: 18px;
  background: #fff;
  align-items: center;
  text-align: center;
  justify-content: center;
}

.rac-bff__summary-card[hidden] {
  display: none !important;
}

.rac-bff__summary-grid[hidden] {
  display: none !important;
}

.rac-bff__summary-card strong {
  font-size: 14px;
}

 .rac-bff__summary-card span {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}

.rac-bff__summary-card--fill {
  justify-content: center;
}

.rac-bff__summary-grid--single {
  grid-template-columns: 1fr;
}

.rac-bff__summary-grid--dynamic {
  margin-top: 12px;
}

.rac-bff__summary-card--full-row {
  width: 100%;
  min-height: 118px;
}

.rac-bff__summary-card--full-row strong {
  font-size: 15px;
}

.rac-bff__summary-card--full-row span {
  font-size: 18px;
}

.rac-bff__actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 12px;
}

.rac-bff__btn {
  min-height: 46px;
  padding: 9px 18px;
  border-radius: 24px;
  border: 1px solid transparent;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.rac-bff__btn--prev {
  background: #64748b;
  border-color: #64748b;
}

.rac-bff__btn--next {
  background: #0ea5e9;
  border-color: #0ea5e9;
}

.rac-bff__btn--submit {
  background: #16a34a;
  border-color: #16a34a;
}

.rac-bff__btn[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

.rac-bff__conditional,
.rac-bff__company-fields {
  display: none;
}

.rac-bff__conditional.is-active,
.rac-bff__company-fields.is-active {
  display: block;
}

.rac-bff__company-fields.is-active {
  margin-top: 14px;
}


.rac-bff__times-grid {
  align-items: start;
}

.rac-bff__times-note {
  grid-column: 1 / span 2;
  width: 100%;
  justify-self: stretch;
  margin-top: -2px;
  text-align: center;
  color: var(--rac-bff-muted);
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .rac-bff__grid--3,
  .rac-bff__summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rac-bff__times-note {
    grid-column: 1 / -1;
    margin-top: 0;
    text-align: center;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .rac-bff__header {
    flex-direction: column;
  }

  .rac-bff__days-box {
    flex: 1 1 auto;
    min-height: 0;
  }

  .rac-bff__progress,
  .rac-bff__grid--2,
  .rac-bff__grid--3,
  .rac-bff__summary-grid,
  .rac-bff__actions {
    grid-template-columns: 1fr;
  }

  .rac-bff__progress {
    display: grid;
  }

  .rac-bff__actions {
    display: grid;
  }

  .rac-bff__btn {
    width: 100%;
  }

  .rac-bff__title {
    font-size: 20px;
  }

  .rac-bff__subtitle {
    font-size: 11px;
  }

  .rac-bff__days-box {
    max-width: 100%;
    width: 100%;
  }

  .rac-bff__field small {
    white-space: normal;
  }

  .rac-bff__times-note {
    grid-column: 1 / -1;
    text-align: center;
    white-space: normal;
  }
}


.rac-bff__btn[hidden] { display: none !important; }

.rac-bff__btn--next,
.rac-bff__btn--submit {
  margin-left: auto;
}


.rac-bff__check {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid var(--rac-bff-border);
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
}

.rac-bff__check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  padding: 0;
  flex: 0 0 18px;
}

.rac-bff__check > span {
  font-weight: 700;
  color: var(--rac-bff-text);
}

.rac-bff__check small {
  margin-left: auto;
  color: var(--rac-bff-muted);
  font-size: 11px;
  line-height: 1.35;
  text-align: right;
}

@media (max-width: 767px) {
  .rac-bff__check {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .rac-bff__check small {
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
}


/* v1.0.22.22 — Receipt modal wider, perfectly centered, with blurred backdrop */
.rac-bff-modal-open { overflow: hidden; }
.rac-bff__modal[hidden] { display: none !important; }
.rac-bff__modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.rac-bff__modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.rac-bff__modal-dialog {
  position: relative;
  width: min(92vw, 930px);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  margin: 0;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
  padding: 32px 32px 28px;
  z-index: 2;
}
.rac-bff__modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
}
.rac-bff__modal-title {
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 1.3;
  color: #0f172a;
}
.rac-bff__modal-copy p {
  margin: 0 0 12px;
  color: #334155;
  line-height: 1.7;
}
.rac-bff__modal-copy hr {
  border: 0;
  border-top: 1px solid #e2e8f0;
  margin: 16px 0;
}
.rac-bff__modal-email {
  display: inline-block;
  margin: 4px 0 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #dbeafe;
  color: #0f172a;
  font-weight: 700;
  word-break: break-word;
}
.rac-bff__modal-status {
  margin-top: 14px;
  padding: 0;
  font-size: 14px;
  line-height: 1.6;
}
.rac-bff__modal-status.is-info { color: #1d4ed8; }
.rac-bff__modal-status.is-success { color: #047857; }
.rac-bff__modal-status.is-error { color: #b91c1c; }
.rac-bff__modal-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .rac-bff__modal {
    padding: 12px;
  }
  .rac-bff__modal-dialog {
    width: min(94vw, 720px);
    max-height: calc(100vh - 24px);
    padding: 22px 18px 18px;
    border-radius: 16px;
  }
  .rac-bff__modal-title {
    font-size: 20px;
    padding-right: 22px;
  }
}

.rac-bff__modal-dialog--alert {
  width: min(92vw, 680px);
  text-align: center;
}
.rac-bff__modal-title--center {
  text-align: center;
}
.rac-bff__modal-copy--center p {
  text-align: center;
  font-size: 18px;
}
.rac-bff__modal-alert-text {
  font-weight: 600;
  color: #0f172a;
}
.rac-bff__modal-actions--center {
  justify-content: center;
}

.rac-bff__summary-card--offer{
  border-color:#b6e5c9;
  background:linear-gradient(180deg,#f3fff7 0%,#ffffff 100%);
}

.rac-bff__summary-card--offer strong{
  color:#0f7a3a;
}


/* v1.0.22.33 - Terms acceptance gate styles and mandatory reading modal. */
.rac-bff__terms-box {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.92);
}

.rac-bff__terms-box.is-approved {
  border-color: rgba(22, 163, 74, 0.35);
  background: rgba(240, 253, 244, 0.95);
}

.rac-bff__terms-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  cursor: pointer;
}

.rac-bff__terms-check input {
  margin-top: 2px;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.rac-bff__terms-link {
  width: fit-content;
  border: 0;
  padding: 0;
  background: transparent;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

.rac-bff__terms-hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #475569;
}

.rac-bff__modal-dialog--terms {
  width: min(920px, calc(100vw - 32px));
  max-height: min(86vh, 900px);
}

.rac-bff__terms-intro {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.65;
  color: #334155;
}

.rac-bff__terms-scroll {
  overflow: auto;
  min-height: 340px;
  max-height: min(58vh, 560px);
  padding: 16px 18px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 16px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.4);
}

.rac-bff__terms-copy-inner {
  display: grid;
  gap: 18px;
}

.rac-bff__terms-section {
  display: grid;
  gap: 10px;
}

.rac-bff__terms-section h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}

.rac-bff__terms-section p {
  margin: 0;
  font-size: 13px;
  line-height: 1.72;
  color: #334155;
  white-space: normal;
}

.rac-bff__terms-scroll-note {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
  color: #1d4ed8;
}

.rac-bff__modal-actions--terms {
  margin-top: 16px;
}

.rac-bff__btn--submit[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

body.rac-bff-modal-open {
  overflow: hidden;
}

@media (max-width: 640px) {
  .rac-bff__terms-box {
    padding: 12px 14px;
  }

  .rac-bff__terms-scroll {
    min-height: 280px;
    max-height: 52vh;
    padding: 14px;
  }

  .rac-bff__modal-dialog--terms {
    width: calc(100vw - 20px);
  }
}


/* v1.0.22.39 — Time dropdowns share the same visual language as the other fields. */
.rac-bff-time-select {
  cursor: pointer;
}

/* v1.0.22.40 — Compact horizontal category selector with live pricing. */
.rac-bff__category-strip {
  margin: 0 0 14px;
  padding: 10px 14px 12px;
  border: 1px solid #c9ebfb;
  border-radius: 18px;
  background: #f0fbff;
  overflow: hidden;
}

.rac-bff__category-strip[hidden] {
  display: none !important;
}

.rac-bff__category-strip-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.rac-bff__category-strip-title {
  margin: 0;
  color: var(--rac-bff-accent);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.15;
}

.rac-bff__category-strip-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 10px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-color: #b7e6fb transparent;
  scrollbar-width: thin;
}

.rac-bff__category-card {
  position: relative;
  flex: 0 0 206px;
  width: 206px;
  min-height: 246px;
  padding: 11px 10px 12px;
  border: 1px solid var(--rac-bff-border);
  border-radius: 14px;
  background: #fff;
  color: var(--rac-bff-text);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  scroll-snap-align: start;
  box-sizing: border-box;
  overflow: hidden;
  font: inherit;
}

.rac-bff__category-card:hover {
  border-color: var(--rac-bff-accent);
  box-shadow: 0 8px 18px rgba(14, 165, 233, 0.10);
}

.rac-bff__category-card.is-selected {
  border: 2px solid var(--rac-bff-accent);
  box-shadow: inset 0 0 0 1px rgba(0, 185, 255, .18), 0 8px 18px rgba(14, 165, 233, 0.14);
}

.rac-bff__category-media {
  width: 100%;
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.rac-bff__category-media img {
  display: block;
  max-width: 100%;
  max-height: 82px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.rac-bff__category-placeholder {
  font-size: 38px;
  line-height: 1;
}

.rac-bff__category-name {
  min-height: 42px;
  width: 100%;
  max-width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #008bd2;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.16;
  text-align: center;
  word-break: normal;
  overflow-wrap: anywhere;
}

.rac-bff__category-features {
  width: 100%;
  min-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex-wrap: wrap;
  color: #007cc2;
  font-size: 12px;
  line-height: 1.2;
}

.rac-bff__category-feature {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}


.rac-bff__category-availability {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0369a1;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
  white-space: nowrap;
}

.rac-bff__category-availability.is-available {
  background: #dcfce7;
  color: #166534;
}

.rac-bff__category-availability[hidden] {
  display: none !important;
}

.rac-bff__category-availability.is-request {
  background: #fff7ed;
  color: #c2410c;
}

.rac-bff__category-availability.is-pending {
  background: #eff6ff;
  color: #1d4ed8;
}

.rac-bff__category-card.is-request {
  border-color: #fed7aa;
}

.rac-bff__category-card.is-request .rac-bff__category-price {
  background: #f59e0b;
}

.rac-bff__category-availability-note {
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid #bae6fd;
  border-radius: 12px;
  background: #ffffff;
  color: #075985;
  font-size: 13px;
  line-height: 1.35;
}

.rac-bff__category-availability-note[hidden] {
  display: none !important;
}

.rac-bff__category-availability-note.is-available {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.rac-bff__category-availability-note.is-request {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}

.rac-bff__category-price {
  width: 100%;
  margin-top: auto;
  padding: 8px 9px;
  border-radius: 9px;
  background: #05a8e6;
  color: #fff;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 900;
  box-sizing: border-box;
  white-space: nowrap;
}

.rac-bff__category-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--rac-bff-accent);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
}

.rac-bff__category-card.is-selected .rac-bff__category-check {
  display: flex;
}

.rac-bff__category-strip-help {
  margin: 0;
  color: var(--rac-bff-muted);
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 767px) {
  .rac-bff__category-strip {
    padding: 10px 10px 10px;
    border-radius: 16px;
  }

  .rac-bff__category-strip-head {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }

  .rac-bff__days-box--compact {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .rac-bff__category-card {
    flex-basis: 178px;
    width: 178px;
    min-height: 228px;
  }

  .rac-bff__category-media {
    height: 72px;
  }

  .rac-bff__category-media img {
    max-height: 72px;
  }

  
.rac-bff__category-availability {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0369a1;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
  white-space: nowrap;
}

.rac-bff__category-availability.is-available {
  background: #dcfce7;
  color: #166534;
}

.rac-bff__category-availability.is-request {
  background: #fff7ed;
  color: #c2410c;
}

.rac-bff__category-availability.is-pending {
  background: #eff6ff;
  color: #1d4ed8;
}

.rac-bff__category-card.is-request {
  border-color: #fed7aa;
}

.rac-bff__category-card.is-request .rac-bff__category-price {
  background: #f59e0b;
}

.rac-bff__category-availability-note {
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid #bae6fd;
  border-radius: 12px;
  background: #ffffff;
  color: #075985;
  font-size: 13px;
  line-height: 1.35;
}

.rac-bff__category-availability-note[hidden] {
  display: none !important;
}

.rac-bff__category-availability-note.is-available {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.rac-bff__category-availability-note.is-request {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}

.rac-bff__category-price {
    font-size: 14px;
  }
}

.rac-bff__category-price.is-loading { opacity: .65; }


/* v1.0.22.46 — keep category cards clean on hover/focus, even when the active theme styles buttons globally. */
.rac-bff .rac-bff__category-card,
.rac-bff .rac-bff__category-card:hover,
.rac-bff .rac-bff__category-card:focus,
.rac-bff .rac-bff__category-card:active,
.rac-bff .rac-bff__category-card.is-request,
.rac-bff .rac-bff__category-card.is-request:hover,
.rac-bff .rac-bff__category-card.is-request:focus,
.rac-bff .rac-bff__category-card.is-request:active {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: var(--rac-bff-text) !important;
  text-decoration: none !important;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}

.rac-bff .rac-bff__category-card:hover,
.rac-bff .rac-bff__category-card:focus {
  border-color: var(--rac-bff-accent) !important;
  box-shadow: 0 8px 18px rgba(14, 165, 233, 0.10) !important;
}

.rac-bff .rac-bff__category-card.is-request,
.rac-bff .rac-bff__category-card.is-request:hover,
.rac-bff .rac-bff__category-card.is-request:focus {
  border-color: #fed7aa !important;
}

.rac-bff .rac-bff__category-card.is-selected,
.rac-bff .rac-bff__category-card.is-selected:hover,
.rac-bff .rac-bff__category-card.is-selected:focus {
  border: 2px solid var(--rac-bff-accent) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 185, 255, .18), 0 8px 18px rgba(14, 165, 233, 0.14) !important;
}

.rac-bff .rac-bff__category-card .rac-bff__category-name,
.rac-bff .rac-bff__category-card:hover .rac-bff__category-name,
.rac-bff .rac-bff__category-card:focus .rac-bff__category-name {
  color: #008bd2 !important;
}

.rac-bff .rac-bff__category-card .rac-bff__category-features,
.rac-bff .rac-bff__category-card:hover .rac-bff__category-features,
.rac-bff .rac-bff__category-card:focus .rac-bff__category-features {
  color: #007cc2 !important;
}

.rac-bff .rac-bff__category-card .rac-bff__category-price,
.rac-bff .rac-bff__category-card:hover .rac-bff__category-price,
.rac-bff .rac-bff__category-card:focus .rac-bff__category-price {
  background: #05a8e6 !important;
  color: #ffffff !important;
}

.rac-bff .rac-bff__category-card.is-request .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request:hover .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request:focus .rac-bff__category-price {
  background: #f59e0b !important;
  color: #ffffff !important;
}


/* v1.0.22.47 — Compact top: standalone booking title area removed in PHP; days counter now lives inside category selector. Larger readable fonts for customer form. */
.rac-bff__category-strip-head .rac-bff__days-box {
  margin-left: auto;
}

.rac-bff__field > span,
.rac-bff__summary-card strong,
.rac-bff__progress-step {
  letter-spacing: -0.01em;
}

/* v1.0.22.51 — prevent empty hidden availability pills from theme/CSS display overrides. */
.rac-bff .rac-bff__category-availability[hidden] { display: none !important; }

/* v1.0.22.55 — Canonical category-card + progress-tab UI.
 * Keep the embedded form visually identical to the RAC Booking Form reference,
 * even when the host site/theme has aggressive global button/span styles.
 */
.rac-bff .rac-bff__category-card {
  flex: 0 0 246px !important;
  width: 246px !important;
  min-width: 246px !important;
  min-height: 278px !important;
  padding: 12px 12px 14px !important;
  gap: 8px !important;
  overflow: hidden !important;
}

.rac-bff .rac-bff__category-media {
  height: 92px !important;
  min-height: 92px !important;
}

.rac-bff .rac-bff__category-media img {
  max-height: 90px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.rac-bff .rac-bff__category-name {
  min-height: 42px !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.rac-bff .rac-bff__category-features {
  min-height: 22px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

.rac-bff .rac-bff__category-availability {
  position: static !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: calc(100% - 8px) !important;
  min-height: 25px !important;
  margin: 0 auto !important;
  padding: 4px 11px !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transform: none !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rac-bff .rac-bff__category-availability[hidden] {
  display: none !important;
}

.rac-bff .rac-bff__category-price,
.rac-bff .rac-bff__category-card:hover .rac-bff__category-price,
.rac-bff .rac-bff__category-card:focus .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request:hover .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request:focus .rac-bff__category-price {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 43px !important;
  margin: auto 0 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #05a8e6 !important;
  background-color: #05a8e6 !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  font-size: 19px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
}

/* Reference layout: request state is communicated by its status pill, not by recolouring the price bar. */
.rac-bff .rac-bff__category-card.is-request {
  border-color: #fed7aa !important;
}

.rac-bff .rac-bff__progress {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 12px !important;
  border: 1px solid var(--rac-bff-border) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rac-bff .rac-bff__progress-step,
.rac-bff .rac-bff__progress-step:hover,
.rac-bff .rac-bff__progress-step:focus,
.rac-bff .rac-bff__progress-step:active {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  border: 1px solid var(--rac-bff-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  background-color: #fff !important;
  color: var(--rac-bff-text) !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
  font: inherit !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.rac-bff .rac-bff__progress-step.is-active,
.rac-bff .rac-bff__progress-step.is-active:hover,
.rac-bff .rac-bff__progress-step.is-active:focus,
.rac-bff .rac-bff__progress-step.is-active:active,
.rac-bff .rac-bff__progress-step.is-done,
.rac-bff .rac-bff__progress-step.is-done:hover,
.rac-bff .rac-bff__progress-step.is-done:focus {
  border-color: var(--rac-bff-accent) !important;
  background: var(--rac-bff-accent) !important;
  background-color: var(--rac-bff-accent) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  .rac-bff .rac-bff__category-card {
    flex-basis: 218px !important;
    width: 218px !important;
    min-width: 218px !important;
    min-height: 264px !important;
  }

  .rac-bff .rac-bff__category-price,
  .rac-bff .rac-bff__category-card.is-request .rac-bff__category-price {
    min-height: 40px !important;
    font-size: 16px !important;
  }

  .rac-bff .rac-bff__progress {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v1.0.22.65 — canonical Company Branch → Location public picker */
.rac-bff__location-picker[hidden],
.rac-bff__location-picker [hidden]{display:none!important;}
.rac-bff__location-picker{margin:0 0 16px;}
.rac-bff__same-return{display:flex;align-items:center;gap:8px;margin:8px 0 2px;font-weight:600;cursor:pointer;}
.rac-bff__same-return input{width:auto!important;margin:0;}


/* v1.0.22.70 — centered active category with 3× stronger zoom emphasis. */
.rac-bff__category-strip-track{
  position:relative;
  gap:14px;
  padding:42px 0 46px;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
}

.rac-bff__category-strip-track::before,
.rac-bff__category-strip-track::after{
  content:"";
  flex:0 0 max(18px, calc(50% - 103px));
  width:max(18px, calc(50% - 103px));
  pointer-events:none;
}

.rac-bff__category-card{
  position:relative;
  transform:scale(.90);
  transform-origin:center center;
  opacity:.68;
  z-index:1;
  scroll-snap-align:center;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    opacity .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.rac-bff__category-card:hover:not(.is-selected),
.rac-bff__category-card:focus:not(.is-selected){
  transform:scale(.96) translateY(-1px);
  opacity:.90;
}

.rac-bff__category-card.is-selected{
  transform:scale(1.24);
  opacity:1;
  z-index:5;
  border:2px solid var(--rac-bff-accent);
  box-shadow:
    0 0 0 4px rgba(0,185,255,.12),
    0 18px 34px rgba(0,108,160,.20);
  animation:rac-bff-active-category-zoom .34s cubic-bezier(.2,.9,.2,1) both;
}

.rac-bff__category-card.is-selected:hover,
.rac-bff__category-card.is-selected:focus{
  transform:scale(1.24) translateY(-1px);
}

@keyframes rac-bff-active-category-zoom{
  0%{ transform:scale(.92); }
  68%{ transform:scale(1.29); }
  100%{ transform:scale(1.24); }
}

@media (max-width:680px){
  .rac-bff__category-strip-track::before,
  .rac-bff__category-strip-track::after{
    flex-basis:max(14px, calc(50% - 103px));
    width:max(14px, calc(50% - 103px));
  }

  .rac-bff__category-card.is-selected,
  .rac-bff__category-card.is-selected:hover,
  .rac-bff__category-card.is-selected:focus{
    transform:scale(1.24);
  }
}


/* v1.0.22.71 — compact category strip; redundant heading/status/help rows removed. */
.rac-bff__category-strip{
  margin:0 0 12px !important;
  padding:4px 10px 6px !important;
}

.rac-bff__category-strip-head,
.rac-bff__category-strip-title,
.rac-bff__category-availability-note,
.rac-bff__category-strip-help{
  display:none !important;
}

.rac-bff__category-strip-track{
  margin:0 !important;
  padding-top:34px !important;
  padding-bottom:36px !important;
}


/* v1.0.22.72 — ultra-compact customer category strip.
 * Goal: reduce vertical space by ~30–35% while keeping the selected card
 * centered and at the same strong 1.24 zoom emphasis.
 */
.rac-bff__category-strip{
  margin:0 0 8px !important;
  padding:2px 8px 4px !important;
  border-radius:14px !important;
}

.rac-bff__category-strip-track{
  gap:10px !important;
  padding-top:24px !important;
  padding-bottom:25px !important;
  scrollbar-width:thin !important;
}

.rac-bff__category-strip-track::before,
.rac-bff__category-strip-track::after{
  flex-basis:max(14px, calc(50% - 92px)) !important;
  width:max(14px, calc(50% - 92px)) !important;
}

.rac-bff .rac-bff__category-card{
  flex:0 0 184px !important;
  width:184px !important;
  min-width:184px !important;
  min-height:202px !important;
  padding:8px 8px 9px !important;
  gap:5px !important;
  border-radius:11px !important;
}

.rac-bff .rac-bff__category-media{
  height:60px !important;
  min-height:60px !important;
}

.rac-bff .rac-bff__category-media img{
  max-height:58px !important;
  max-width:94% !important;
}

.rac-bff .rac-bff__category-placeholder{
  font-size:28px !important;
}

.rac-bff .rac-bff__category-name{
  min-height:32px !important;
  font-size:12.5px !important;
  line-height:1.16 !important;
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
}

.rac-bff .rac-bff__category-features{
  min-height:17px !important;
  gap:4px !important;
  flex-wrap:nowrap !important;
  overflow:hidden !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
}

.rac-bff .rac-bff__category-feature{
  gap:1px !important;
  flex:0 0 auto !important;
}

.rac-bff .rac-bff__category-availability{
  min-height:20px !important;
  max-width:calc(100% - 6px) !important;
  padding:2px 8px !important;
  font-size:10.5px !important;
  line-height:1.05 !important;
}

.rac-bff .rac-bff__category-price,
.rac-bff .rac-bff__category-card:hover .rac-bff__category-price,
.rac-bff .rac-bff__category-card:focus .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request:hover .rac-bff__category-price,
.rac-bff .rac-bff__category-card.is-request:focus .rac-bff__category-price{
  min-height:33px !important;
  padding:5px 8px !important;
  border-radius:8px !important;
  font-size:15px !important;
  line-height:1 !important;
}

.rac-bff__category-check{
  top:6px !important;
  right:6px !important;
  width:20px !important;
  height:20px !important;
  font-size:13px !important;
}

/* Keep the 3× stronger emphasis, but apply it to the smaller base card. */
.rac-bff__category-card.is-selected{
  transform:scale(1.24) !important;
  box-shadow:
    0 0 0 3px rgba(0,185,255,.11),
    0 12px 24px rgba(0,108,160,.17) !important;
}

.rac-bff__category-card.is-selected:hover,
.rac-bff__category-card.is-selected:focus{
  transform:scale(1.24) translateY(-1px) !important;
}

/* Also compact the progress/tabs immediately below the categories to reduce scroll. */
.rac-bff .rac-bff__progress{
  gap:8px !important;
  margin:0 0 10px !important;
  padding:7px !important;
  border-radius:16px !important;
}

.rac-bff .rac-bff__progress-step,
.rac-bff .rac-bff__progress-step:hover,
.rac-bff .rac-bff__progress-step:focus,
.rac-bff .rac-bff__progress-step:active{
  min-height:38px !important;
  padding:6px 10px !important;
  font-size:14px !important;
  line-height:1.1 !important;
}

@media (max-width:767px){
  .rac-bff__category-strip-track{
    gap:8px !important;
    padding-top:22px !important;
    padding-bottom:23px !important;
  }

  .rac-bff__category-strip-track::before,
  .rac-bff__category-strip-track::after{
    flex-basis:max(12px, calc(50% - 82px)) !important;
    width:max(12px, calc(50% - 82px)) !important;
  }

  .rac-bff .rac-bff__category-card{
    flex-basis:164px !important;
    width:164px !important;
    min-width:164px !important;
    min-height:190px !important;
    padding:7px 7px 8px !important;
  }

  .rac-bff .rac-bff__category-media{
    height:54px !important;
    min-height:54px !important;
  }

  .rac-bff .rac-bff__category-media img{
    max-height:52px !important;
  }

  .rac-bff .rac-bff__category-name{
    min-height:30px !important;
    font-size:12px !important;
  }

  .rac-bff .rac-bff__category-features{
    font-size:10px !important;
  }

  .rac-bff .rac-bff__category-price,
  .rac-bff .rac-bff__category-card.is-request .rac-bff__category-price{
    min-height:31px !important;
    font-size:14px !important;
  }

  .rac-bff .rac-bff__progress{
    gap:6px !important;
    padding:6px !important;
  }

  .rac-bff .rac-bff__progress-step,
  .rac-bff .rac-bff__progress-step:hover,
  .rac-bff .rac-bff__progress-step:focus,
  .rac-bff .rac-bff__progress-step:active{
    min-height:36px !important;
    padding:5px 8px !important;
    font-size:13px !important;
  }
}
\n\n/* v1.0.22.73 — approved layout #6: Timeline / steps with sticky summary. */\n.rac-bff__form{display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:16px;align-items:start}\n.rac-bff__form>input[type="hidden"]{display:none!important}\n.rac-bff__category-strip,.rac-bff__timeline-progress{grid-column:1/-1}\n.rac-bff__timeline-progress{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0 0 12px!important;padding:4px 8px 8px!important;border:0!important;background:transparent!important}\n.rac-bff__timeline-progress::before{content:"";position:absolute;left:12%;right:12%;top:20px;height:2px;background:#dbe8f0;z-index:0}\n.rac-bff__timeline-progress .rac-bff__progress-step{position:relative;z-index:1;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;min-height:56px!important;padding:0 4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#6d7f91!important;font-size:10.5px!important;font-weight:700!important;box-shadow:none!important}\n.rac-bff__timeline-progress .rac-bff__progress-step::before{display:none!important}\n.rac-bff__timeline-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #d5e3ec;background:#eef3f7;color:#65788c;font-size:14px;box-shadow:0 0 0 5px #fff}\n.rac-bff__timeline-progress .rac-bff__progress-step.is-active{color:#048bc2!important}\n.rac-bff__timeline-progress .rac-bff__progress-step.is-active .rac-bff__timeline-icon{background:#0ca8e5;color:#fff;border-color:#0ca8e5;box-shadow:0 0 0 5px #fff,0 5px 14px rgba(12,168,229,.2)}\n.rac-bff__timeline-progress .rac-bff__progress-step.is-done .rac-bff__timeline-icon{background:#eaf8fe;border-color:#8fd6f0;color:#079fd9}\n.rac-bff__step{grid-column:1;grid-row:3;min-width:0;padding:14px!important;border:1px solid #dce8f0;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#f9fcfe 100%);box-shadow:0 8px 20px rgba(20,58,86,.04)}\n.rac-bff__actions{grid-column:1;grid-row:4;margin-top:10px!important}\n.rac-bff__layout6-summary{grid-column:2;grid-row:3 / span 2;position:sticky;top:12px;align-self:start;padding:14px;border:1px solid #dbe7ef;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#f7fbfe 100%);box-shadow:0 10px 24px rgba(18,55,82,.07)}\n.rac-bff__layout6-summary-title{margin-bottom:10px;color:#20364b;font-size:13px;font-weight:800}\n.rac-bff__layout6-vehicle{text-align:center;padding-bottom:12px;border-bottom:1px solid #e2edf4}\n.rac-bff__layout6-image{height:84px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}\n.rac-bff__layout6-image img{max-width:150px;max-height:78px;object-fit:contain}\n.rac-bff__layout6-category{color:#18334b;font-size:14px;font-weight:800;line-height:1.2}\n.rac-bff__layout6-features{margin-top:5px;color:#668095;font-size:10px;line-height:1.35}\n.rac-bff__layout6-total{margin-top:8px;color:#05a2df;font-size:24px;font-weight:900;line-height:1}\n.rac-bff__layout6-summary-list{display:grid;gap:8px;padding:12px 0}\n.rac-bff__layout6-summary-list>div{display:grid;gap:2px;padding:7px 0;border-bottom:1px solid #edf2f6}\n.rac-bff__layout6-summary-list span{color:#7b8a9a;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}\n.rac-bff__layout6-summary-list strong{color:#25384a;font-size:11px;font-weight:700;line-height:1.3}\n.rac-bff__layout6-change{width:100%;min-height:38px;border:0;border-radius:10px;background:#eaf8fe;color:#078ec5;font:inherit;font-size:11px;font-weight:800;cursor:pointer}\n.rac-bff__layout6-change:hover,.rac-bff__layout6-change:focus{background:#d9f2fd;outline:none}\n.rac-bff__step .rac-bff__grid,.rac-bff__step .rac-bff__summary-grid,.rac-bff__step .rac-bff__location-picker,.rac-bff__step .rac-bff__check,.rac-bff__step .rac-bff__terms-box{margin-bottom:10px!important}\n.rac-bff__step .rac-bff__grid{gap:10px!important}\n.rac-bff__step .rac-bff__field{padding:10px!important;border:1px solid #e0eaf1;border-radius:11px;background:#fff}\n.rac-bff__step .rac-bff__field>span{font-size:11px!important;font-weight:800!important;color:#24384b!important}\n.rac-bff__step input,.rac-bff__step select,.rac-bff__step textarea{min-height:40px!important;border-radius:10px!important}\n.rac-bff__step .rac-bff__summary-card{min-height:66px!important;border-radius:11px!important}\n.rac-bff__actions{display:flex!important;justify-content:space-between!important;gap:10px!important;padding:0!important}\n.rac-bff__actions .rac-bff__btn{min-width:130px!important;min-height:42px!important;border-radius:10px!important}\n.rac-bff__actions .rac-bff__btn--next,.rac-bff__actions .rac-bff__btn--submit{margin-left:auto!important}\n@media(max-width:920px){.rac-bff__form{grid-template-columns:1fr}.rac-bff__category-strip,.rac-bff__timeline-progress,.rac-bff__step,.rac-bff__actions,.rac-bff__layout6-summary{grid-column:1}.rac-bff__step{grid-row:auto}.rac-bff__actions{grid-row:auto}.rac-bff__layout6-summary{grid-row:auto;position:static;margin:10px 0;display:grid;grid-template-columns:1fr 1.25fr;gap:10px;align-items:center}.rac-bff__layout6-summary-title{grid-column:1/-1;margin:0}.rac-bff__layout6-vehicle{border:0;padding:0}.rac-bff__layout6-summary-list{padding:0}.rac-bff__layout6-change{grid-column:1/-1}}\n@media(max-width:620px){.rac-bff__timeline-progress .rac-bff__progress-step{font-size:9px!important}.rac-bff__timeline-icon{width:30px;height:30px}.rac-bff__timeline-progress::before{top:18px}.rac-bff__layout6-summary{grid-template-columns:1fr}.rac-bff__step{padding:10px!important}}\n

/* v1.0.22.74 — APPROVED CUSTOMER LAYOUT #6: timeline + form cards + sticky summary. */
.rac-bff .rac-bff__category-strip{
  display:none !important;
}
.rac-bff .rac-bff__category-strip.is-category-picker-open{
  position:fixed !important;
  inset:0 !important;
  z-index:100050 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:60px 5vw !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(13,27,43,.48) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
.rac-bff .rac-bff__category-strip.is-category-picker-open .rac-bff__category-strip-track{
  width:min(1080px,92vw) !important;
  max-height:76vh !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:34px 36px !important;
  border:1px solid #d7e6ef !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 24px 70px rgba(14,32,49,.28) !important;
}
.rac-bff .rac-bff__timeline-progress{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:0 0 14px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.rac-bff .rac-bff__timeline-progress::before{
  content:"" !important;
  position:absolute !important;
  left:12.5% !important;
  right:12.5% !important;
  top:17px !important;
  height:2px !important;
  background:#d9e5ec !important;
  z-index:0 !important;
}
.rac-bff .rac-bff__timeline-progress .rac-bff__progress-step,
.rac-bff .rac-bff__timeline-progress .rac-bff__progress-step:hover,
.rac-bff .rac-bff__timeline-progress .rac-bff__progress-step:focus,
.rac-bff .rac-bff__timeline-progress .rac-bff__progress-step:active{
  position:relative !important;
  z-index:1 !important;
  min-height:54px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:5px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#6d7d8d !important;
  box-shadow:none !important;
  transform:none !important;
  font-size:10px !important;
  font-weight:700 !important;
}
.rac-bff .rac-bff__timeline-icon{
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d9e5ec !important;
  border-radius:50% !important;
  background:#f3f7fa !important;
  color:#63788b !important;
  font-size:13px !important;
  box-shadow:0 0 0 4px #fff !important;
}
.rac-bff .rac-bff__progress-step.is-active{color:#078fc7 !important;}
.rac-bff .rac-bff__progress-step.is-active .rac-bff__timeline-icon,
.rac-bff .rac-bff__progress-step.is-done .rac-bff__timeline-icon{
  border-color:#0aa9e7 !important;
  background:#0aa9e7 !important;
  color:#fff !important;
}
.rac-bff .rac-bff__layout6-shell{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 220px !important;
  gap:14px !important;
  align-items:start !important;
}
.rac-bff .rac-bff__layout6-main{
  min-width:0 !important;
}
.rac-bff .rac-bff__step{
  padding:0 !important;
}
.rac-bff .rac-bff__step.is-active{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.rac-bff .rac-bff__layout6-card{
  padding:13px !important;
  border:1px solid #dce7ee !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%) !important;
  box-shadow:0 5px 14px rgba(18,55,82,.035) !important;
}
.rac-bff .rac-bff__layout6-card-title{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 0 11px !important;
  color:#21384c !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.rac-bff .rac-bff__layout6-card-icon{
  width:22px !important;
  height:22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:7px !important;
  background:#eaf8fe !important;
  color:#0b99d1 !important;
  font-size:11px !important;
}
.rac-bff .rac-bff__layout6-dategrid{
  gap:9px 10px !important;
}
.rac-bff .rac-bff__layout6-minor-row{
  display:grid !important;
  grid-template-columns:minmax(150px,.38fr) minmax(0,1fr) !important;
  gap:10px !important;
  align-items:end !important;
  margin-top:9px !important;
}
.rac-bff .rac-bff__layout6-passengers{margin:0 !important;}
.rac-bff .rac-bff__layout6-minor-row .rac-bff__times-note{
  position:static !important;
  align-self:center !important;
  padding:8px 10px !important;
  border-radius:8px !important;
  background:#f5f9fc !important;
  color:#718196 !important;
  font-size:9px !important;
  line-height:1.3 !important;
}
.rac-bff .rac-bff__layout6-card .rac-bff__location-picker{margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;}
.rac-bff .rac-bff__layout6-card .rac-bff__same-return{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:9px 0 0 !important;
  color:#455b6e !important;
  font-size:10px !important;
  font-weight:600 !important;
}
.rac-bff .rac-bff__layout6-return-row{margin-top:9px !important;}
.rac-bff .rac-bff__field{gap:5px !important;}
.rac-bff .rac-bff__field > span{color:#34495b !important;font-size:10px !important;font-weight:700 !important;}
.rac-bff .rac-bff__field input,
.rac-bff .rac-bff__field select,
.rac-bff .rac-bff__field textarea{
  min-height:39px !important;
  padding:8px 10px !important;
  border:1px solid #d2dee7 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#263b4e !important;
  font-size:11.5px !important;
}
.rac-bff .rac-bff__layout6-inline-prices{display:none !important;}
.rac-bff .rac-bff__step > .rac-bff__grid,
.rac-bff .rac-bff__step > .rac-bff__summary-grid,
.rac-bff .rac-bff__step > .rac-bff__check,
.rac-bff .rac-bff__step > .rac-bff__company-fields,
.rac-bff .rac-bff__step > .rac-bff__terms-box{
  border:1px solid #dce7ee !important;
  border-radius:12px !important;
  background:#fff !important;
  padding:12px !important;
  box-shadow:0 5px 14px rgba(18,55,82,.03) !important;
}
.rac-bff .rac-bff__summary-card{
  border-radius:10px !important;
  background:#f8fbfd !important;
  border-color:#dfe8ef !important;
}
.rac-bff .rac-bff__layout6-summary{
  position:sticky !important;
  top:12px !important;
  padding:12px !important;
  border:1px solid #dce7ee !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 7px 18px rgba(18,55,82,.055) !important;
  overflow:hidden !important;
}
.rac-bff .rac-bff__layout6-summary-title{
  margin-bottom:10px !important;
  color:#23394c !important;
  font-size:11px !important;
  font-weight:800 !important;
}
.rac-bff .rac-bff__layout6-image{
  height:88px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-bottom:7px !important;
  border-radius:8px !important;
  background:#fbfdfe !important;
  overflow:hidden !important;
}
.rac-bff .rac-bff__layout6-image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:84px !important;
  object-fit:contain !important;
}
.rac-bff .rac-bff__layout6-category{color:#1f3549 !important;font-size:12px !important;line-height:1.25 !important;font-weight:800 !important;}
.rac-bff .rac-bff__layout6-features{min-height:17px !important;margin-top:4px !important;color:#718196 !important;font-size:9px !important;}
.rac-bff .rac-bff__layout6-total{margin:8px 0 7px !important;color:#079bd7 !important;font-size:22px !important;line-height:1 !important;font-weight:900 !important;}
.rac-bff .rac-bff__layout6-summary-list{display:grid !important;gap:0 !important;padding-top:7px !important;border-top:2px solid #f0b34d !important;}
.rac-bff .rac-bff__layout6-summary-list>div{display:grid !important;gap:1px !important;padding:6px 0 !important;border-bottom:1px solid #edf2f5 !important;}
.rac-bff .rac-bff__layout6-summary-list span{color:#8391a0 !important;font-size:8px !important;font-weight:800 !important;text-transform:uppercase !important;letter-spacing:.04em !important;}
.rac-bff .rac-bff__layout6-summary-list strong{color:#354b5f !important;font-size:9.5px !important;line-height:1.3 !important;font-weight:700 !important;}
.rac-bff .rac-bff__layout6-change{width:100% !important;min-height:34px !important;margin-top:10px !important;border:0 !important;border-radius:8px !important;background:#eaf8fe !important;color:#078fc6 !important;font:inherit !important;font-size:9.5px !important;font-weight:800 !important;cursor:pointer !important;}
.rac-bff .rac-bff__layout6-change:hover{background:#dff4fc !important;}
.rac-bff .rac-bff__actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin-top:10px !important;
  padding:10px 0 0 !important;
  border-top:1px solid #e6edf2 !important;
}
.rac-bff .rac-bff__actions [data-prev]{margin-right:auto !important;}
.rac-bff .rac-bff__btn{min-height:37px !important;padding:7px 13px !important;border-radius:8px !important;font-size:10.5px !important;}
@media(max-width:900px){
  .rac-bff .rac-bff__layout6-shell{grid-template-columns:1fr !important;}
  .rac-bff .rac-bff__layout6-summary{position:static !important;display:grid !important;grid-template-columns:120px minmax(0,1fr) !important;gap:8px !important;align-items:center !important;}
  .rac-bff .rac-bff__layout6-summary-title{grid-column:1/-1 !important;}
  .rac-bff .rac-bff__layout6-image{grid-row:2/6 !important;height:76px !important;}
}
@media(max-width:640px){
  .rac-bff .rac-bff__timeline-progress{padding:0 4px !important;}
  .rac-bff .rac-bff__timeline-progress::before{left:12% !important;right:12% !important;}
  .rac-bff .rac-bff__timeline-progress .rac-bff__progress-step{font-size:9px !important;}
  .rac-bff .rac-bff__layout6-dategrid,
  .rac-bff .rac-bff__layout6-minor-row{grid-template-columns:1fr !important;}
}


/* v1.0.22.75 — category choices exist only as the Change Category overlay. */
.rac-bff .rac-bff__category-strip--overlay-only{
  display:none !important;
  position:fixed !important;
  inset:0 !important;
  margin:0 !important;
  width:auto !important;
  height:auto !important;
  grid-column:auto !important;
  grid-row:auto !important;
}

.rac-bff .rac-bff__category-strip--overlay-only.is-category-picker-open{
  display:flex !important;
}

/* The timeline now follows the booking header immediately; no category-strip space is reserved. */
.rac-bff .rac-bff__timeline-progress{
  margin-top:0 !important;
}


/* v1.0.22.76 — persistent Previous + centered final Send CTA. */
.rac-bff .rac-bff__actions{
  position:relative !important;
  min-height:60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}

.rac-bff .rac-bff__actions .rac-bff__btn--prev{
  flex:0 0 auto !important;
  margin-right:auto !important;
}

.rac-bff.is-first-step .rac-bff__actions .rac-bff__btn--prev,
.rac-bff .rac-bff__actions .rac-bff__btn--prev:disabled{
  display:inline-flex !important;
  opacity:.42 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}

.rac-bff .rac-bff__actions .rac-bff__btn--next{
  flex:0 0 auto !important;
  margin-left:auto !important;
}

.rac-bff.is-final-step .rac-bff__actions{
  justify-content:center !important;
  padding:14px 170px !important;
}

.rac-bff.is-final-step .rac-bff__actions .rac-bff__btn--prev{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
}

.rac-bff.is-final-step .rac-bff__actions .rac-bff__btn--submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(440px,100%) !important;
  min-width:300px !important;
  min-height:60px !important;
  margin:0 auto !important;
  padding:15px 38px !important;
  border-radius:17px !important;
  font-size:19px !important;
  font-weight:900 !important;
  box-shadow:0 13px 28px rgba(0,164,224,.24) !important;
}

.rac-bff.is-final-step .rac-bff__actions .rac-bff__btn--submit:not(:disabled){
  background:linear-gradient(180deg,#18b9ef 0%,#079fd8 100%) !important;
  border-color:#079fd8 !important;
  color:#fff !important;
}

@media(max-width:720px){
  .rac-bff.is-final-step .rac-bff__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    padding:10px 0 !important;
    gap:10px !important;
  }

  .rac-bff.is-final-step .rac-bff__actions .rac-bff__btn--prev{
    position:static !important;
    transform:none !important;
    justify-self:start !important;
  }

  .rac-bff.is-final-step .rac-bff__actions .rac-bff__btn--submit{
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    font-size:18px !important;
  }
}


/* v1.0.22.77 — complete category characteristics in booking summary. */
.rac-bff .rac-bff__layout6-features{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:5px 6px !important;
  margin-top:7px !important;
}

.rac-bff .rac-bff__layout6-feature-pill{
  display:inline-flex !important;
  align-items:center !important;
  min-height:23px !important;
  padding:4px 7px !important;
  border:1px solid #dce9f1 !important;
  border-radius:999px !important;
  background:#f6fbfe !important;
  color:#607487 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}


/* v1.0.22.78 — Previous navigation: hidden on step 1, visible from step 2 onward. */
.rac-bff.is-first-step .rac-bff__actions .rac-bff__btn--prev,
.rac-bff .rac-bff__actions .rac-bff__btn--prev:disabled{
  display:none !important;
}

.rac-bff:not(.is-first-step) .rac-bff__actions .rac-bff__btn--prev{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}


/* v1.0.22.79 — hard guarantee for Previous visibility from step 2 onward.
 * This intentionally overrides the legacy .rac-bff__btn[hidden]{display:none!important}.
 */
.rac-bff[data-step="1"] .rac-bff__actions .rac-bff__btn--prev{
  display:none !important;
}

.rac-bff[data-step="2"] .rac-bff__actions .rac-bff__btn--prev,
.rac-bff[data-step="3"] .rac-bff__actions .rac-bff__btn--prev,
.rac-bff[data-step="4"] .rac-bff__actions .rac-bff__btn--prev{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
  margin-right:auto !important;
}

.rac-bff[data-step="2"] .rac-bff__actions .rac-bff__btn--prev[hidden],
.rac-bff[data-step="3"] .rac-bff__actions .rac-bff__btn--prev[hidden],
.rac-bff[data-step="4"] .rac-bff__actions .rac-bff__btn--prev[hidden]{
  display:inline-flex !important;
}


/* v1.0.22.80 — STRUCTURAL Previous-button fix.
 * The button no longer has a hidden attribute in HTML and JS never assigns one.
 */
.rac-bff[data-step="1"] .rac-bff__actions > button[data-prev]{
  display:none !important;
  visibility:hidden !important;
}

.rac-bff[data-step="2"] .rac-bff__actions > button[data-prev],
.rac-bff[data-step="3"] .rac-bff__actions > button[data-prev],
.rac-bff[data-step="4"] .rac-bff__actions > button[data-prev]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  min-width:130px !important;
  min-height:42px !important;
  padding:9px 18px !important;
  margin-right:auto !important;
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#1f2937 !important;
  -webkit-text-fill-color:#1f2937 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-indent:0 !important;
}


/* v1.0.22.81 — isolated hard Previous button.
 * Not using .rac-bff__btn / .rac-bff__btn--prev, so legacy button CSS cannot hide it.
 */
.rac-bff .rac-bff__actions > #rac-bff-prev-hard.rac-bff-prev-hard{
  box-sizing:border-box !important;
}

.rac-bff[data-step="1"] .rac-bff__actions > #rac-bff-prev-hard{
  display:none !important;
}

.rac-bff[data-step="2"] .rac-bff__actions > #rac-bff-prev-hard,
.rac-bff[data-step="3"] .rac-bff__actions > #rac-bff-prev-hard,
.rac-bff[data-step="4"] .rac-bff__actions > #rac-bff-prev-hard{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}


/* v1.0.22.82 — centered action buttons inside the form footer zones. */
.rac-bff .rac-bff__actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:14px 22px !important;
  margin-top:14px !important;
  min-height:76px !important;
}

/* Previous = centered in left zone. */
.rac-bff .rac-bff__actions > #rac-bff-prev-hard{
  grid-column:1 !important;
  justify-self:center !important;
  align-self:center !important;
  margin:0 !important;
  width:auto !important;
  min-width:150px !important;
  max-width:190px !important;
}

/* Next = centered in right zone. */
.rac-bff .rac-bff__actions > .rac-bff__btn--next{
  grid-column:3 !important;
  justify-self:center !important;
  align-self:center !important;
  margin:0 !important;
  width:auto !important;
  min-width:150px !important;
  max-width:190px !important;
}

/* Final Send = large and perfectly centered in middle zone. */
.rac-bff.is-final-step .rac-bff__actions{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  padding:16px 22px !important;
}

.rac-bff.is-final-step .rac-bff__actions > #rac-bff-prev-hard{
  position:static !important;
  transform:none !important;
  grid-column:1 !important;
  justify-self:center !important;
}

.rac-bff.is-final-step .rac-bff__actions > .rac-bff__btn--submit{
  position:static !important;
  transform:none !important;
  grid-column:2 !important;
  justify-self:center !important;
  align-self:center !important;
  width:min(360px,100%) !important;
  min-width:260px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:15px 34px !important;
}

/* Tablet: preserve the same visual logic, with tighter margins. */
@media (max-width:1024px){
  .rac-bff .rac-bff__actions{
    gap:12px !important;
    padding:12px 14px !important;
  }

  .rac-bff .rac-bff__actions > #rac-bff-prev-hard,
  .rac-bff .rac-bff__actions > .rac-bff__btn--next{
    min-width:132px !important;
    max-width:168px !important;
  }

  .rac-bff.is-final-step .rac-bff__actions > .rac-bff__btn--submit{
    min-width:220px !important;
    width:min(320px,100%) !important;
  }
}

/* Mobile: Previous / Next share one clean row; Send becomes a full-width centered CTA. */
@media (max-width:640px){
  .rac-bff .rac-bff__actions{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    padding:10px !important;
    min-height:auto !important;
  }

  .rac-bff .rac-bff__actions > #rac-bff-prev-hard{
    grid-column:1 !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .rac-bff .rac-bff__actions > .rac-bff__btn--next{
    grid-column:2 !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .rac-bff.is-final-step .rac-bff__actions{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .rac-bff.is-final-step .rac-bff__actions > #rac-bff-prev-hard{
    grid-column:1 !important;
    justify-self:stretch !important;
    width:100% !important;
  }

  .rac-bff.is-final-step .rac-bff__actions > .rac-bff__btn--submit{
    grid-column:1 !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:58px !important;
  }
}


/* v1.0.22.83 — Previous and Next are visually identical navigation buttons. */
.rac-bff .rac-bff__actions > #rac-bff-prev-hard,
.rac-bff .rac-bff__actions > .rac-bff__btn--next{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:180px !important;
  min-width:180px !important;
  max-width:180px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  padding:0 20px !important;
  margin:0 !important;
  border:1px solid #079fd8 !important;
  border-radius:14px !important;
  background:#079fd8 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:800 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  box-shadow:0 8px 18px rgba(7,159,216,.18) !important;
}

.rac-bff .rac-bff__actions > #rac-bff-prev-hard:hover,
.rac-bff .rac-bff__actions > #rac-bff-prev-hard:focus,
.rac-bff .rac-bff__actions > .rac-bff__btn--next:hover,
.rac-bff .rac-bff__actions > .rac-bff__btn--next:focus{
  background:#078fc3 !important;
  border-color:#078fc3 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:0 10px 22px rgba(7,159,216,.24) !important;
  transform:translateY(-1px) !important;
}

/* Keep the same exact dimensions on tablet. */
@media (max-width:1024px){
  .rac-bff .rac-bff__actions > #rac-bff-prev-hard,
  .rac-bff .rac-bff__actions > .rac-bff__btn--next{
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    font-size:15px !important;
  }
}

/* Mobile: both occupy exactly 50/50 of the footer row. */
@media (max-width:640px){
  .rac-bff .rac-bff__actions > #rac-bff-prev-hard,
  .rac-bff .rac-bff__actions > .rac-bff__btn--next{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }
}

/* Final Send keeps its intentionally larger primary CTA treatment. */
.rac-bff.is-final-step .rac-bff__actions > .rac-bff__btn--submit{
  min-height:60px !important;
  font-size:19px !important;
  font-weight:900 !important;
}


/* v1.0.22.84 — complete six-feature category display. */
.rac-bff .rac-bff__layout6-features,
.rac-bff .rac-bff__category-features{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:5px 6px !important;
}

.rac-bff .rac-bff__layout6-feature-pill,
.rac-bff .rac-bff__category-feature{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}

@media(max-width:680px){
  .rac-bff .rac-bff__layout6-features,
  .rac-bff .rac-bff__category-features{
    gap:4px !important;
  }
}
\n\n/* v1.0.22.85 — selected insurance + extras inside the sticky booking summary. */\n.rac-bff .rac-bff__layout6-summary-list > .rac-bff__layout6-option-row,\n.rac-bff .rac-bff__layout6-summary-list > .rac-bff__layout6-extras-row{\n  padding-top:8px !important;\n  padding-bottom:8px !important;\n}\n\n.rac-bff .rac-bff__layout6-extras-row[hidden]{\n  display:none !important;\n}\n\n.rac-bff .rac-bff__layout6-extras{\n  display:grid !important;\n  gap:4px !important;\n  margin-top:3px !important;\n}\n\n.rac-bff .rac-bff__layout6-extra-item{\n  display:grid !important;\n  grid-template-columns:minmax(0,1fr) auto !important;\n  gap:6px !important;\n  align-items:start !important;\n}\n\n.rac-bff .rac-bff__layout6-extra-item strong{\n  min-width:0 !important;\n  color:#354b5f !important;\n  font-size:9.5px !important;\n  font-weight:700 !important;\n  line-height:1.3 !important;\n  overflow-wrap:anywhere !important;\n}\n\n.rac-bff .rac-bff__layout6-extra-item em{\n  color:#078fc3 !important;\n  font-size:9px !important;\n  font-style:normal !important;\n  font-weight:800 !important;\n  line-height:1.3 !important;\n  white-space:nowrap !important;\n}\n\n@media(max-width:920px){\n  .rac-bff .rac-bff__layout6-extras{\n    gap:5px !important;\n  }\n}\n

/* v1.0.22.88 — Pack 4B.3A public EL/EN language control */
.rac-bff__language-switch{
  width:min(var(--rac-bff-max-width,1100px),100%);
  margin:0 auto 8px;
  display:flex;
  justify-content:flex-end;
  gap:6px;
}
.rac-bff__language-option{
  appearance:none;
  border:1px solid #d7dde7;
  background:#fff;
  color:#334155;
  border-radius:999px;
  min-width:42px;
  height:30px;
  padding:0 11px;
  font:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
.rac-bff__language-option.is-active{
  background:#0f2747;
  border-color:#0f2747;
  color:#fff;
}
.rac-bff--universal-embed .rac-bff__language-switch{display:none!important;}

/* v1.0.22.92 — central Company Extras catalog with Media Library photos. */
.rac-bff__extra-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:6px 0 18px}
.rac-bff__extra-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #dce6ef;border-radius:14px;background:#fff;align-items:center}
.rac-bff__extra-photo{width:92px;height:76px;border-radius:10px;overflow:hidden;background:#f4f7fa;display:flex;align-items:center;justify-content:center;color:#8998a7;font-size:12px;text-align:center}
.rac-bff__extra-photo img{width:100%;height:100%;object-fit:cover;display:block}
.rac-bff__extra-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.rac-bff__extra-body strong{color:#15324a;font-size:15px}
.rac-bff__extra-body small{color:#687b8d;line-height:1.35}
.rac-bff__extra-body em{font-style:normal;font-weight:700;color:#0797c7}
.rac-bff__extra-body select{min-height:38px;border:1px solid #ccd9e4;border-radius:8px;padding:5px 8px;background:#fff}
.rac-bff__extra-toggle{display:flex;align-items:center;gap:7px;font-weight:600}
@media(max-width:640px){.rac-bff__extra-catalog{grid-template-columns:1fr}.rac-bff__extra-card{grid-template-columns:78px minmax(0,1fr)}.rac-bff__extra-photo{width:78px;height:68px}}

/* v1.0.22.93 — Additional drivers are independent from selectable Extras. */
.rac-bff__drivers-section{margin:14px 0;padding:14px;border:1px solid var(--rac-bff-border,#dce4ed);border-radius:10px;background:var(--rac-bff-card-bg,#fff)}
.rac-bff__drivers-section .rac-bff__field{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rac-bff__drivers-section select{width:auto;min-width:92px;max-width:100%}
.rac-bff__drivers-section small{display:block;line-height:1.5;margin-top:8px;opacity:.76}

/* v1.0.22.97 — FDW disclosure link below the localized description */
.rac-bff__fdw-exclusions-link { border:0; background:transparent; cursor:pointer; display:inline-flex; align-items:center; padding:7px 2px; color:#067db5; text-decoration:underline; text-underline-offset:3px; font:inherit; font-weight:600; font-size:12px; text-align:left; }
.rac-bff__fdw-exclusions-link:hover { color:#045c85; }
.rac-bff__fdw-exclusions-link:focus-visible { outline:2px solid #057fb5; outline-offset:3px; }
.rac-bff__fdw-exclusions-link[hidden] { display:none !important; }


/* v1.0.22.103 — Unified modal date picker (pickup / return only). */
.rac-bff-calendar-field{position:relative;display:block;width:100%}
.rac-bff-calendar-field>input{width:100%;box-sizing:border-box}
.rac-bff-calendar-trigger{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:2!important;cursor:pointer!important;background:transparent!important;border:0!important;padding:0!important;border-radius:inherit!important}
.rac-bff-calendar-trigger:focus-visible{outline:2px solid #009ed7!important;outline-offset:-3px!important}
.rac-bff-calendar-overlay[hidden]{display:none!important}
.rac-bff-calendar-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important}
.rac-bff-calendar-backdrop{position:absolute;inset:0;background:rgba(23,40,57,.46);backdrop-filter:blur(4px)}
.rac-bff-calendar-modal{position:relative;width:min(100%,540px);max-height:calc(100dvh - 36px);overflow-y:auto;border:1px solid #d9e8f1;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(12,36,58,.3);font:14px/1.45 Arial,sans-serif;color:#263c52}
.rac-bff-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;background:linear-gradient(#fff,#f1f8fc);border-bottom:1px solid #dfe9f1}
.rac-bff-calendar-head h2{font-size:21px!important;font-weight:750!important;margin:0 0 3px!important;color:#183b56!important}
.rac-bff-calendar-head p{margin:0!important;font-size:13px;color:#8396a7}
.rac-bff-calendar-close{border:1px solid #f63873;background:#fff;color:#f63873;border-radius:5px;min-width:44px;min-height:40px;font-size:25px;cursor:pointer}
.rac-bff-calendar-controls{margin:12px 14px 8px;padding:9px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;background:#ecf8ff}
.rac-bff-calendar-controls button{flex:0 0 38px;height:38px;background:#fff;border:1px solid #d1e1eb;border-radius:11px;cursor:pointer;color:#253c51}
.rac-bff-calendar-controls button:disabled{opacity:.3;cursor:default}
.rac-bff-calendar-controls select{flex:1;max-width:138px;min-width:0;height:43px;padding:5px 9px;border:1px solid #d1dce5;border-radius:10px;background:#fff;color:#24384a}
.rac-bff-calendar-controls button:first-child{margin-right:auto}.rac-bff-calendar-controls button:last-child{margin-left:auto}
.rac-bff-calendar-weekdays,.rac-bff-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0 19px}
.rac-bff-calendar-weekdays{margin:12px 0 10px;text-align:center;font-size:12px;color:#7e91a4;font-weight:700}
.rac-bff-calendar-days{padding-bottom:21px}
.rac-bff-calendar-day{min-width:0;min-height:53px;border:0;border-radius:11px;background:#f7fafc;color:#283b4e;cursor:pointer;font:inherit}
.rac-bff-calendar-day:hover:not(:disabled){background:#dff3ff}
.rac-bff-calendar-day.is-selected{background:#04a8e6;color:#fff;font-weight:750}
.rac-bff-calendar-day.is-outside{color:#a5b4c1;background:#fbfcfd}
.rac-bff-calendar-day.is-disabled{opacity:.4;cursor:default}
@media(max-width:480px){.rac-bff-calendar-modal{border-radius:15px}.rac-bff-calendar-head{padding:13px}.rac-bff-calendar-day{min-height:39px}.rac-bff-calendar-controls{gap:4px}.rac-bff-calendar-weekdays,.rac-bff-calendar-days{gap:4px;padding-left:10px;padding-right:10px}}
