/* Booking confirmation summary: keep the photo + fare dominant, with journey details grouped below. */
.checkout-summary{
  /* Reset the legacy checkout-summary grid from the main booking stylesheet.
     Without this reset, the three new sections get forced into the old
     92px / fluid / auto columns and the route collapses letter-by-letter. */
  display:block;
  grid-template-columns:none;
  align-items:initial;
  justify-content:initial;
  gap:0;
  min-height:0;
  margin-bottom:18px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:linear-gradient(145deg,#111114 0%,#0b0b0d 100%);
  box-shadow:0 16px 34px rgba(17,17,20,.14);
  overflow:hidden;
}
.checkout-summary-primary,
.checkout-route-row,
.checkout-detail-grid{
  width:100%;
}
.checkout-summary-primary{
  display:grid;
  grid-template-columns:106px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}
.checkout-vehicle-visual{
  display:grid;
  place-items:center;
  width:106px;
  height:76px;
  border-radius:15px;
  background:rgba(255,255,255,.055);
}
.checkout-summary .checkout-vehicle-image{
  width:100px;
  height:70px;
  padding:4px;
  object-fit:contain;
  border:0;
  border-radius:13px;
  background:transparent;
  transform:none;
}
.checkout-vehicle-copy{
  min-width:0;
}
.checkout-summary-eyebrow,
.checkout-fare>span,
.checkout-detail-label{
  display:block;
  margin:0 0 4px;
  color:rgba(255,255,255,.56);
  font-size:11px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.checkout-vehicle-copy>strong{
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.checkout-fare{
  min-width:max-content;
  padding-left:12px;
  text-align:right;
}
.checkout-fare>strong{
  display:block;
  margin:0;
  color:var(--accent);
  font-size:clamp(24px,3.2vw,32px);
  font-weight:950;
  line-height:1;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.checkout-route-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:start;
  gap:10px;
  margin-top:12px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:rgba(255,255,255,.035);
}
.checkout-route-row .checkout-detail-label{
  margin:2px 0 0;
}
.checkout-route-row>strong{
  min-width:0;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  overflow-wrap:break-word;
  word-break:normal;
}
.checkout-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.checkout-detail-item{
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.checkout-detail-item>strong{
  display:block;
  color:rgba(255,255,255,.92);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.checkout-detail-item.hidden{display:none}
@media(max-width:620px){
  .checkout-summary{padding:10px;border-radius:17px}
  .checkout-summary-primary{
    grid-template-columns:88px minmax(0,1fr) auto;
    gap:11px;
  }
  .checkout-vehicle-visual{width:88px;height:66px;border-radius:12px}
  .checkout-summary .checkout-vehicle-image{width:84px;height:62px;border-radius:10px}
  .checkout-vehicle-copy>strong{font-size:16px}
  .checkout-fare{padding-left:4px}
  .checkout-fare>strong{font-size:23px}
  .checkout-route-row{grid-template-columns:1fr;gap:3px;padding:10px}
  .checkout-route-row .checkout-detail-label{margin:0}
  .checkout-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checkout-detail-item:last-child:not(.hidden){grid-column:1/-1}
}
@media(max-width:390px){
  .checkout-summary-primary{grid-template-columns:78px minmax(0,1fr)}
  .checkout-vehicle-visual{width:78px;height:60px}
  .checkout-summary .checkout-vehicle-image{width:74px;height:56px}
  .checkout-fare{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;padding:8px 2px 0;border-top:1px solid rgba(255,255,255,.06);text-align:left}
  .checkout-fare>span{margin:0}
  .checkout-detail-grid{grid-template-columns:1fr}
  .checkout-detail-item:last-child:not(.hidden){grid-column:auto}
}
