/* YomRide unified booking widget v31.1 */
.yr31-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.yr31-pickup-shell{position:relative}

/* GPS feedback remains available to JS/screen readers, but never creates a visible row. */
.yr31-gps-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.yr31-gps-status .dot{display:none!important}

.yr31-inline-locate{flex:0 0 auto!important;width:38px!important;height:38px!important;min-width:38px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:12px!important;background:#effbe7!important;color:#3e9416!important;font-size:20px!important;font-weight:900!important;cursor:pointer!important;transition:.16s ease!important}
.yr31-inline-locate:hover,.yr31-inline-locate:focus-visible{background:#dff7cb!important;box-shadow:0 0 0 4px rgba(103,197,29,.10)!important}
.yr31-inline-locate.is-success{background:#67c51d!important;color:#0e1e0c!important}
.yr31-inline-locate:disabled{opacity:.65;cursor:wait!important}

/* Choose-your-ride header is visible on every viewport. */
.yr31-half-collapse{margin-top:10px;padding-top:10px;border-top:1px solid #e6ece8}
.yr31-half-toggle{width:100%;min-height:52px;display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;color:#0c1713;text-align:left;cursor:pointer}
.yr31-half-toggle__copy{min-width:0}
.yr31-half-toggle__copy strong,.yr31-half-toggle__copy small{display:block}
.yr31-half-toggle__copy strong{font-size:14px;line-height:1.15;font-weight:900;color:#0c1713}
.yr31-half-toggle__copy small{margin-top:3px;color:#6d7973;font-size:10px;line-height:1.25;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yr31-half-chevron{width:42px;height:42px;min-width:42px;display:grid;place-items:center;border:2px solid #67c51d;border-radius:50%;background:linear-gradient(145deg,#f4ffe9,#e8fbd9);color:#459b12;box-shadow:0 5px 13px rgba(70,155,18,.18),inset 0 1px 0 rgba(255,255,255,.9);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.yr31-half-chevron svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.yr31-half-toggle:hover .yr31-half-chevron,.yr31-half-toggle:focus-visible .yr31-half-chevron{background:#e2f9d1;box-shadow:0 7px 16px rgba(70,155,18,.20),0 0 0 4px rgba(103,197,29,.08)}
.yr31-half-toggle[aria-expanded="true"] .yr31-half-chevron{transform:rotate(180deg);background:#67c51d;color:#10200d;box-shadow:0 7px 16px rgba(70,155,18,.22),0 0 0 4px rgba(103,197,29,.10)}
.yr31-half-body[hidden]{display:none!important}
.yr31-half-collapse .yr-category-picker__head{display:none!important}
.yr31-saved-places{display:flex!important;gap:6px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:9px 0!important;padding-bottom:1px}
.yr31-saved-places::-webkit-scrollbar{display:none}
.yr31-saved-places>*{flex:0 0 auto}

/* Dashboard's former full-width GPS block is intentionally gone. */
.rx19-field.yr31-pickup-field{display:grid!important;grid-template-columns:9px minmax(0,1fr) 38px!important;gap:10px!important;align-items:center!important}
.rx19-field.yr31-pickup-field input{min-width:0!important}

/* One available database category should use the available width cleanly. */
.yr31-half-body .yr-category-picker__grid:has(.yr-category-option:only-child){grid-template-columns:minmax(0,1fr)!important}
.yr31-half-body .yr-category-picker__grid:has(.yr-category-option:only-child) .yr-category-option{width:100%!important;max-width:none!important}

@media(min-width:1101px){
  .yr31-half-collapse{margin-top:10px;padding-top:10px;border-top:1px solid #e6ece8}
  .yr31-half-toggle{display:flex!important}
  .yr31-half-body{padding-top:10px}
  .yr31-inline-locate{width:38px!important;height:38px!important;min-width:38px!important}
}
@media(max-width:1100px){
  .yr31-half-toggle{display:flex!important;min-height:48px}
  .yr31-half-body{padding-top:9px}
  .yr31-half-body .yr-category-picker{margin-top:0!important}
  .yr31-inline-locate{width:36px!important;height:36px!important;min-width:36px!important;border-radius:11px!important}
}
@media(max-width:640px){
  .yr31-half-toggle__copy strong{font-size:12px}
  .yr31-half-toggle__copy small{font-size:8px;max-width:66vw}
  .yr31-half-chevron{width:38px;height:38px;min-width:38px}
  .yr31-half-chevron svg{width:19px;height:19px}
  .yr31-half-body{padding-top:8px}
  .yr31-inline-locate{width:34px!important;height:34px!important;min-width:34px!important;font-size:18px!important}
  .yr31-saved-places{margin:7px 0!important}
}
