/* Trip-detail visual QA layer.
   Keeps the generated trip view aligned with the Nookivia design system without
   changing the static data renderer. */
.trip-detail{overflow:hidden}
.trip-detail a:focus-visible,.trip-detail button:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:10px}
.trip-back{min-height:44px}
.trip-hero-new{isolation:isolate}
.trip-hero-photo img{display:block}
.trip-hero-copy-new{min-width:0}
.trip-route-new{flex-wrap:wrap}
.summary-new{align-items:stretch}
.summary-new a{color:inherit;min-width:0}
.summary-new a:focus-visible{transform:none;border-color:var(--sky)}
.trip-tabs{overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}
.trip-tab{flex:0 0 auto;min-height:44px;white-space:nowrap}
.trip-tab.active{box-shadow:inset 0 -2px 0 var(--sky)}
.trip-panel{min-width:0}
.booking-card{min-width:0}
.booking-card-head{min-width:0}
.booking-provider{min-width:0;max-width:100%}
.provider-brand{max-width:calc(100% - 54px)}
.booking-main>div:first-child{min-width:0}
.booking-main h3,.booking-meta{overflow-wrap:anywhere}
.booking-actions .btn{min-height:44px}
.transfer-route{overflow-wrap:anywhere}
.booking-confirmation{overflow-wrap:anywhere}
/* Keep generated booking cards readable on small and narrow devices. */
@media(max-width:900px){
  .trip-hero-copy-new h1{max-width:12ch}
  .summary-new a,.summary-new .total{min-height:104px}
}
@media(max-width:700px){
  .trip-detail{overflow-x:hidden}
  .trip-hero-copy-new h1{max-width:none;letter-spacing:-1px}
  .trip-route-new{align-items:flex-start}
  .summary-new a,.summary-new .total{padding:13px}
  .summary-new .value{font-size:18px}
  .trip-tabs{margin-right:-20px;padding-right:20px}
  .booking-card{padding:17px}
  .booking-card-head{align-items:flex-start}
  .booking-provider{flex-wrap:wrap}
  .provider-brand{max-width:100%}
  .booking-icon{width:40px;height:40px;flex:0 0 40px}
  .booking-icon img{width:29px;height:29px}
  .booking-actions{justify-content:stretch}
  .booking-actions .btn{width:100%;justify-content:center}
}
@media(max-width:430px){
  .summary-new{grid-template-columns:1fr}
  .summary-new .total{grid-column:auto}
  .summary-new a,.summary-new .total{min-height:auto}
  .trip-tab{padding-inline:11px}
  .trip-hero-copy-new h1{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
  .summary-new a{transition:none}
  .summary-new a:hover{transform:none}
}
