/* WaTaxi vehicle selection — scoped to the booking selector. */
.vehicle-selector {
    --vehicle-ink:#0b0b0b;--vehicle-yellow:#f0c200;--vehicle-paper:#f5f6f8;
    min-width:0;border:0;padding:0;margin:1.8rem 0 1.5rem;color:var(--vehicle-ink);
    scroll-margin-top:110px;
}
.vehicle-selector__heading{display:block;float:none;width:100%;padding:0;margin:0 0 .65rem;line-height:1.15}
.vehicle-selector__eyebrow{display:block;font:700 .68rem/1.5 "Outfit",sans-serif;letter-spacing:.16em;color:#676b72;margin-bottom:.4rem}
.vehicle-selector__title{display:block;font:700 clamp(1.5rem,3vw,2rem)/1.12 "Syne",sans-serif;letter-spacing:-.035em}
.vehicle-selector__intro{max-width:650px;font-size:.98rem;line-height:1.6;color:#5a6069;margin:0 0 1.35rem}
.vehicle-selector__list{display:grid;gap:1rem}
.vehicle-card{border:1px solid #dfe2e6;background:#fff;border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.vehicle-card:hover{border-color:#a2a7ae}
.vehicle-card.is-selected,.vehicle-card:has(input:checked){border-color:var(--vehicle-yellow);box-shadow:0 0 0 2px var(--vehicle-yellow)}
.vehicle-card:has(input:focus-visible){outline:3px solid #0b0b0b;outline-offset:4px}
.vehicle-card .vehicle-card__main{display:grid;grid-template-columns:minmax(120px,22%) minmax(0,1fr) 148px;align-items:center;gap:1rem;padding:1.3rem 1.1rem;margin:0;cursor:pointer;color:var(--vehicle-ink);text-decoration:none!important;font-weight:400;font-size:1rem;line-height:1.4}
.vehicle-card a.vehicle-card__main:focus-visible{outline:3px solid #0b0b0b;outline-offset:-4px}
.vehicle-card__image-wrap{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:21/13;background:#fff}
.vehicle-card__image{width:100%;height:100%;display:block;object-fit:contain;max-height:160px}
.vehicle-card__content{display:block;min-width:0}
.vehicle-card__tag{display:block;font-size:.61rem;font-weight:700;letter-spacing:.12em;color:#69707a;margin-bottom:.32rem}
.vehicle-card__name{display:block;font:700 1.35rem/1.15 "Syne",sans-serif;letter-spacing:-.025em;margin-bottom:.25rem}
.vehicle-card__model{display:block;font-size:.82rem;color:#626873;margin-bottom:.85rem}
.vehicle-card__specs{display:grid;gap:.48rem}
.vehicle-card__spec{display:flex;gap:.5rem;align-items:flex-start;font-size:.84rem;line-height:1.4}
.vehicle-card__spec svg{flex:none;color:#6c727b;margin-top:0}
.vehicle-card__action{display:flex;flex-direction:column;align-items:stretch;text-align:center;border-left:1px solid #e8e9ec;padding-left:1.2rem;min-width:0}
.vehicle-card__fare{display:block;font-weight:600;font-size:.92rem;line-height:1.3;margin-bottom:.28rem}
.vehicle-card__availability{display:block;font-size:.7rem;color:#737a83;line-height:1.35;margin-bottom:1rem}
.vehicle-card__choose{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.75rem .65rem;min-height:46px;background:var(--vehicle-paper);border:1px solid #d8dce1;border-radius:3px;font-size:.81rem;font-weight:700;line-height:1.2}
.vehicle-card__choose input{width:17px;height:17px;accent-color:#0b0b0b;margin:0;flex:none}
.vehicle-card.is-selected .vehicle-card__choose,.vehicle-card:has(input:checked) .vehicle-card__choose{background:var(--vehicle-yellow);border-color:var(--vehicle-yellow)}
.vehicle-card__details{border-top:1px solid #eceef1;margin:0 1.25rem}
.vehicle-card__details summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;padding:.75rem 0;font-size:.76rem;color:#5c626c;cursor:pointer}
.vehicle-card__details summary::-webkit-details-marker{display:none}
.vehicle-card__details summary>span{font-size:1.1rem;line-height:1;transition:transform .15s}
.vehicle-card__details[open] summary>span{transform:rotate(45deg)}
.vehicle-card__details summary:focus-visible{outline:2px solid var(--vehicle-ink);outline-offset:2px}
.vehicle-card__details>div{padding:0 0 .75rem;max-width:740px}
.vehicle-card__details p{font-size:.82rem;line-height:1.65;color:#606773;margin:0 0 .45rem}
.vehicle-selector__capacity-note{font-size:.72rem;line-height:1.6;color:#717780;margin:.9rem 0 0;max-width:850px}
.vehicle-selector__notice{border-left:3px solid var(--vehicle-yellow);background:#faf8ed;font-size:.85rem;line-height:1.6;padding:.7rem .9rem;margin:1rem 0 1.25rem}
.vehicle-selector__extras{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.vehicle-selector__extras>.form-group{margin-bottom:1rem}
.vehicle-selector__extras label{display:block}
.vehicle-selector__extras input[type=number]{width:110px;min-height:44px}
.vehicle-selector__extras small{display:block;font-size:.77rem;line-height:1.55;color:#737a83;margin-top:.45rem}
.vehicle-selector__extras textarea{min-height:90px}
.vehicle-selector__access[hidden]{display:none!important}
.vehicle-selector--showcase{margin:0}
.vehicle-selector--showcase .vehicle-card__choose{background:var(--vehicle-yellow);border-color:var(--vehicle-yellow)}
@media(max-width:767px){
    .vehicle-card .vehicle-card__main{grid-template-columns:135px minmax(0,1fr);gap:1rem;padding:1.1rem}
    .vehicle-card__action{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:.1rem 1rem;align-items:center;text-align:left;border-left:0;border-top:1px solid #e8e9ec;padding:1rem 0 0}
    .vehicle-card__fare{grid-column:1;margin:0}
    .vehicle-card__availability{grid-column:1;margin:0}
    .vehicle-card__choose{grid-column:2;grid-row:1/3}
    .vehicle-card__name{font-size:1.2rem}
    .vehicle-card__model{font-size:.78rem;margin-bottom:.65rem}
    .vehicle-card__spec{font-size:.78rem}
    .vehicle-card__details{margin:0 1.1rem}
}
@media(max-width:430px){
    .vehicle-card .vehicle-card__main{grid-template-columns:105px minmax(0,1fr);gap:.8rem;padding:1rem}
    .vehicle-card__name{font-size:1.13rem}
    .vehicle-card__tag{font-size:.54rem;letter-spacing:.06em}
    .vehicle-card__spec{gap:.35rem;font-size:.74rem}
    .vehicle-card__spec svg{width:16px;height:16px}
    .vehicle-card__action{grid-template-columns:minmax(0,1fr) 130px}
    .vehicle-card__fare{font-size:.83rem}
    .vehicle-card__availability{font-size:.64rem}
    .vehicle-card__choose{font-size:.76rem;padding:.65rem .45rem}
    .vehicle-selector__title{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){.vehicle-card,.vehicle-card__details summary>span{transition:none}}

.vehicle-home-section { scroll-margin-top: 90px; }

.vehicle-selector--showcase .vehicle-selector__heading.sr-only {
    position:absolute!important;width:1px!important;height:1px!important;
    margin:-1px!important;padding:0!important;overflow:hidden!important;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
