/* ==========================================================================
   Transfer Detail — transfer-SPECIFIC layout only.
   Shared hero/trust/map/faq live in thui/css/patterns.css (composed by all verticals).
   ========================================================================== */
.tvh-transfer { padding-block: var(--thui-space-6) var(--thui-space-10); }

/* Vehicle cards: attribute selectors that feed the ONE engine (price shown live in the booking panel). */
.thui-vehicle__class { background: var(--thui-color-surface-2, #eef2f7); color: var(--thui-color-text-muted);
  border-radius: 999px; padding: .05rem .5rem; font-size: var(--thui-fs-xs); }
.thui-vehicle__pick { color: var(--thui-color-primary); font-weight: var(--thui-fw-semibold); font-size: var(--thui-fs-sm); }
.thui-vehicle[aria-selected="true"] { outline: 2px solid var(--thui-color-primary); outline-offset: 2px; }
.thui-note-inline { color: var(--thui-color-text-muted); font-size: var(--thui-fs-sm); margin-block-start: .6rem; }

/* Two-column layout: content + sticky booking */
@media (max-width: 980px) {
  .tvh-grid { grid-template-columns: 1fr; }
  .tvh-booking-col { position: static; }
}

/* Included services */
.tvh-included { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.tvh-included li { position: relative; padding-inline-start: 1.6rem; color: var(--thui-color-text); }
.tvh-included li::before { content: "\2713"; position: absolute; inset-inline-start: 0; color: var(--thui-color-primary); font-weight: 800; }
@media (max-width: 560px) { .tvh-included { grid-template-columns: 1fr; } }

.tvh-prose { color: var(--thui-color-text); line-height: var(--thui-lh-normal); }
.tvh-prose p { margin-block-end: 1rem; }

/* Mobile sticky action bar + bottom-sheet booking */
.tvh-mobilebar { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: var(--thui-z-sticky);
  display: flex; align-items: center; gap: 1rem; padding: .75rem 1rem;
  background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-block-start: 1px solid var(--thui-color-border); }
.tvh-mobilebar__price { flex: 1; }
.tvh-mobilebar__price small { display: block; font-size: var(--thui-fs-xs); color: var(--thui-color-text-muted); }
.tvh-mobilebar__price b { font-family: var(--thui-font-display); font-size: var(--thui-fs-xl); color: var(--thui-color-ink); }
@media (max-width: 980px) {
  .tvh-mobilebar { display: flex; }
  body { padding-block-end: 74px; }
  .tvh-booking-col.is-sheet { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: var(--thui-z-modal);
    transform: translateY(100%); transition: transform var(--thui-dur) var(--thui-ease); max-block-size: 90vh; overflow: auto; }
  .tvh-booking-col.is-sheet.is-open { transform: translateY(0); }
  .tvh-sheet-scrim { position: fixed; inset: 0; background: rgba(18,38,58,.5); z-index: var(--thui-z-overlay); opacity: 0; pointer-events: none; transition: opacity var(--thui-dur); }
  .tvh-sheet-scrim.is-open { opacity: 1; pointer-events: auto; }
}
.tvh-mobilebar { display: none; }
