/* Vehicle presentation only. Booking controller and route fields are unchanged. */
.home-journey-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 24px;
}
.home-journey-choices[hidden] { display: none !important; }
.home-journey-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 88px;
  padding: 12px;
  border: 1px solid #70877b;
  border-radius: 8px;
  color: #173e42;
  background: #fff;
  text-decoration: none;
}
.home-journey-card[aria-current="page"] { border: 2px solid #0b5d7a; background: #f0f6f8; }
.home-journey-card img {
  display: block;
  width: 88px;
  height: 64px;
  flex: 0 0 88px;
  border-radius: 4px;
  object-fit: contain;
  background: #f7f8f3;
}
.home-journey-card span { display: block; min-width: 0; }
.home-journey-card strong { display: block; font-size: .94rem; line-height: 1.3; }
.home-journey-card small { display: block; margin-top: 4px; font-size: .8rem; line-height: 1.35; }
.home-journey-card:focus-visible { outline: 2px solid #0b5d7a; outline-offset: 3px; }

body[data-booking-journey="lorry"] #quote-title { margin-bottom: 8px; }
body[data-booking-journey="lorry"] .lorry-quote-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0 14px;
  margin: 0 0 18px;
  color: #52636d;
  font-size: .875rem;
  line-height: 1.55;
}
body[data-booking-journey="lorry"] .lorry-quote-trust a,
body[data-booking-journey="lorry"] .lorry-smaller-move {
  color: #0b5d7a;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body[data-booking-journey="lorry"] .lorry-quote-trust a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
body[data-booking-journey="lorry"] .lorry-smaller-move {
  display: flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  margin-top: 2px;
  font-size: .875rem;
  line-height: 1.45;
}
body[data-booking-journey="lorry"] .lorry-quote-trust a:focus-visible,
body[data-booking-journey="lorry"] .lorry-smaller-move:focus-visible {
  outline: 2px solid #0b5d7a;
  outline-offset: 3px;
}

#mode-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0 24px;
}

#mode-choice .home-mode-choice {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-width: 0;
  min-height: 90px;
  margin: 0;
  padding: 12px;
  border: 1px solid #70877b;
  border-radius: 8px;
  color: #173e42;
  background: #fff;
  box-shadow: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

#mode-choice .home-mode-choice[aria-pressed="true"] {
  border-color: #226763;
  background: #f2f5ef;
  box-shadow: none;
}

#mode-choice .home-mode-choice img {
  display: block;
  width: 88px;
  height: 64px;
  flex: 0 0 88px;
  border-radius: 4px;
  background: #f7f8f3;
  object-fit: contain;
}

.home-mode-choice-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  flex: 1;
  min-width: 0;
  min-height: 2.8em;
  padding: 0;
  font-size: .875rem;
  font-weight: 650;
  line-height: 1.35;
}

.home-mode-choice-indicator {
  display: grid;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #70877b;
  border-radius: 50%;
}

#mode-choice [aria-pressed="true"] .home-mode-choice-indicator {
  color: #fff;
  background: #226763;
  border-color: #226763;
}

#mode-choice [aria-pressed="true"] .home-mode-choice-indicator::after { content: "✓"; font-size: 12px; }
#mode-preview-note { margin: 0 0 22px; }
#mode-van-fields { display: contents; }
#mode-van-fields[hidden], #mode-lorry-fields[hidden], #mode-auto-note[hidden] { display: none !important; }

.home-mode-small {
  margin: 6px 0 0;
  color: #5e6e67;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.55;
}

.home-mode-lorry-overview {
  margin: 0 0 24px;
  padding: 20px;
  border-radius: 8px;
  background: #f2f5ef;
}
body[data-booking-journey="lorry"] .home-mode-lorry-overview { margin-bottom: 14px; padding: 16px; }
.home-mode-overview-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px 18px; flex-wrap: wrap; }

.home-mode-lorry-title { margin: 0; color: #173e42; font-size: 1.125rem; line-height: 1.35; }
#mode-lorry-fields .home-mode-size-guide {
  margin: 10px 0 12px;
  padding: 0;
  color: #173e42;
  line-height: 1.4;
}
#mode-lorry-fields .home-mode-size-headline { display: block; color: #226763; font-size: clamp(1.25rem, 2vw, 1.375rem); font-weight: 700; line-height: 1.4; }
#mode-lorry-fields .home-mode-size-detail { display: block; margin-top: 6px; color: inherit; font-size: .9375rem; font-weight: 400; }
#mode-lorry-note { margin-bottom: 0; }
#mode-selected-fleet { color: #173e42; font-weight: 650; overflow-wrap: anywhere; }
.home-mode-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
.home-mode-field-vans { grid-column: 1 / -1; }
.home-mode-field { min-width: 0; }
.home-mode-field label { display: block; }
.home-mode-field select { width: 100%; margin-top: 6px; }

#mode-lorry-fields .home-mode-photo-button,
#mode-lorry-fields .home-mode-photo-link {
  min-height: 0;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 5px;
  color: #226763;
  background: none;
  box-shadow: none;
  font: inherit;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
}

#mode-lorry-fields .home-mode-photo-button { display: block; flex: 0 0 100px; text-align: center; }
.home-mode-photo-button img { display: block; width: 100px; height: 66px; object-fit: contain; background: #f7f8f3; }
#mode-lorry-fields .home-mode-photo-link { min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.home-mode-selection-footer { margin-top: 24px; padding-top: 18px; border-top: 1px solid #d2dbd1; }
.home-mode-auto-note { margin: 0 0 8px; padding: 0; border: 0; background: none; }
.home-mode-summary { margin: 0; color: #173e42; font-size: .9375rem; font-weight: 650; line-height: 1.55; }
#mode-lorry-fields:not([hidden]) ~ .included-note { grid-column: 1 / -1; }
/* Necessary interactive boundaries only, not decorative panels. */
.premium-home .quote-panel input:not([type="radio"]):not([type="checkbox"]),
.premium-home .quote-panel select,
.premium-home .quote-panel textarea { border-color: #70877b; }
.premium-home .quote-panel input:focus,
.premium-home .quote-panel select:focus,
.premium-home .quote-panel textarea:focus { border-color: #337d78; }
.time-slot .time-slot-reason { display: block; margin-top: 4px; font-size: .8125rem; line-height: 1.35; text-decoration: none; }
.time-slot .time-slot-reason[hidden] { display: none; }
.public-access-error { display: block; margin-top: 7px; color: #9b2c25; font-size: .875rem; line-height: 1.45; }
.lorry-allocation-note,
.quote-vat-basis {
  margin: 8px 0 12px;
  color: #344f5b;
  font-size: .875rem;
  line-height: 1.5;
}
.lorry-allocation-note {
  padding: 10px 12px;
  border-left: 3px solid #0b5d7a;
  background: #f0f6f8;
}

#mode-choice button:focus-visible,
#mode-lorry-fields button:focus-visible { outline: 2px solid #337d78; outline-offset: 3px; }
#mode-sidebar-photo, #mode-gallery-photo { width: 100%; max-width: 1280px; height: auto; object-fit: contain; object-position: center; background: #f2f5ef; }

.home-mode-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 540px) {
  .home-journey-card { flex-direction: column; align-items: flex-start; gap: 7px; min-height: 120px; }
  .home-journey-card img { width: 100%; height: 62px; flex: 0 0 62px; object-fit: cover; }
  #mode-choice { grid-template-columns: minmax(0, 1fr); }
  .home-mode-fields-grid { grid-template-columns: minmax(0, 1fr); }
  .home-mode-lorry-overview { padding: 16px; }
  #mode-choice .home-mode-choice { min-height: 80px; }
  #mode-choice .home-mode-choice img { width: 80px; height: 56px; flex-basis: 80px; }
  .home-mode-fields-grid { gap: 20px; }
}

@media (max-width: 360px) {
  .home-journey-choices { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .home-journey-card { flex-direction: row; align-items: center; min-height: 76px; }
  .home-journey-card img { width: 80px; height: 56px; flex: 0 0 80px; }
  #mode-choice { gap: 8px; }
  #mode-choice .home-mode-choice { padding: 12px; }
  .home-mode-choice-label { font-size: .875rem; }
}

#mode-choice[hidden] { display: none !important; }

/* Small new-quote van helper. Existing controls retain their grid positions. */
.home-mode-van-option { min-width: 0; }
#home-van-help[hidden] { display: none !important; }
#home-van-help { margin-top: 8px; }
#home-van-load-guide { overflow-wrap: anywhere; }
#home-van-help .home-mode-photo-link {
  min-width: 44px;
  min-height: 44px;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 6px 0;
  border: 0;
  border-radius: 5px;
  color: #226763;
  background: none;
  box-shadow: none;
  font: inherit;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
#home-van-help .home-mode-photo-link:focus-visible {
  outline: 2px solid #337d78;
  outline-offset: 3px;
}
