/* Shared compact final booking card for Warentransport and WG moves. */
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__panel {
  display: grid; grid-template-columns: minmax(0,1fr) auto;
  gap: clamp(28px,5vw,64px); align-items: center;
  padding: 22px 28px 20px 32px; border: 1px solid #ecefec;
  border-radius: 32px; background: #fff; box-shadow: 0 18px 46px rgba(17,24,39,.045);
}
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__copy { position: relative; z-index: 1; min-width: 0; }
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__actions {
  display: flex; align-items: center; gap: clamp(20px,2.5vw,30px); min-width: 0; margin-right: 20px;
}
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta h2 {
  margin: 0 !important; color: #111827 !important; font-size: clamp(28px,2.6vw,34px) !important;
  font-weight: 800 !important; line-height: 1.1 !important; letter-spacing: -.025em !important;
  text-wrap: balance; scroll-margin-top: 140px;
}
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__copy p {
  margin: 8px 0 0 !important; color: #566174 !important; font-size: 15px !important; font-weight: 600; line-height: 1.45 !important; letter-spacing: -.01em;
}
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action {
  position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 20px; border-radius: 14px; background: var(--flexlast-booking-cta,#4fbd4f);
  color: #fff; font-size: 15px; font-weight: 700; line-height: 1.35; text-decoration: none; white-space: nowrap;
  transition: transform .18s ease, background-color .18s ease;
}
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action:hover,
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action:focus-visible { transform: translateY(-2px); background: #42ad42; }
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action:focus-visible { outline: 3px solid #111827; outline-offset: 4px; }
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__vehicle {
  position: relative; flex: 0 0 auto; display: flex; align-items: center;
  width: 220px; height: 127px; margin: 0; pointer-events: none; user-select: none;
}
body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__vehicle img { display: block; width: 100%; height: auto; }
/* Center the booking button in the available space between copy and truck. */
@media (min-width:1120px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__panel { grid-template-columns: fit-content(55%) minmax(0,1fr); column-gap: 0; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__actions { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 0; }
  /* The illustration has 16px of white inset before the visible truck at this size. */
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action { justify-self: center; left: 8px; }
}
@media (max-width:1119px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta { width: calc(100% - 36px); max-width: 490px; padding-inline: 0; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__panel { grid-template-columns: minmax(0,1fr); gap: 16px 12px; padding: 22px 20px 18px; border-radius: 24px; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__actions { display: grid; grid-template-columns: auto minmax(0,1fr); width: calc(100% + 20px); gap: 0; margin-right: 0; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta h2 { font-size: clamp(28px,2.6vw,34px) !important; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action { padding-inline: 16px; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__vehicle { justify-self: center; width: 128px; max-width: 100%; height: 77px; }
}
@media (min-width:768px) and (max-width:979px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__panel { gap: 18px; padding: 24px 28px 22px; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__actions { width: calc(100% + 28px); }
}
@media (max-width:399px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__vehicle { width: 112px; height: 60px; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action { padding-inline: 12px; font-size: 15px; }
}
@media (max-width:359px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__actions { gap: 0; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__vehicle { width: 90px; height: 60px; }
}
@media (prefers-reduced-motion:reduce) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__action { transition: none; transform: none; }
}

@media (max-width:719px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta h2 { font-size: clamp(27px,7.4vw,32px) !important; }
}
@media (max-width:979px) {
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__panel { padding-inline: 17px; }
  body.home-page:is(.cargo-page, .wg-page, .moving-service-page) .cargo-final-cta__actions { width: calc(100% + 17px); }
}

/* Keep the moving page's established typography alongside newer cargo/WG styling. */
body.home-page.moving-service-page .cargo-final-cta h2 {
  font-size: clamp(25px,2.7vw,32px) !important;
  font-weight: 730 !important; line-height: 1.08 !important; letter-spacing: -.035em !important;
}
body.home-page.moving-service-page .cargo-final-cta__copy p {
  color: #647082 !important; font-weight: inherit; letter-spacing: normal;
}
body.home-page.moving-service-page .cargo-final-cta__action {
  font-size: 14px; font-weight: 800; line-height: 1;
}
@media (max-width:1119px) {
  body.home-page.moving-service-page .cargo-final-cta h2 { font-size: 27px !important; }
}
@media (max-width:399px) {
  body.home-page.moving-service-page .cargo-final-cta__action { font-size: 13px; }
}
