/* Fit the device width without disabling the reader's pinch-to-zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip;overscroll-behavior-x:none}
body{min-width:0;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
main,section,form,.card,.lookup,.searchbox,.filters>div,.results-heading>div,.login-intro,.login-panel{min-width:0}
.card,.lookup,.workspace-hero,.hero-copy,dialog,footer,.login-intro,.login-panel{overflow-wrap:anywhere}
.card>*,.card-top>*,.detail-list>div>*,.job-facts>div,.route-stops>div,.theme-choices button{min-width:0}
img,video,iframe{max-width:100%}
.filters select{min-width:0;max-width:100%}
.detail-list>div{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.job-facts,.detail-meta,.theme-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.route-stops{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}
.hero-stats{flex-wrap:wrap}
.close,.search-submit{flex-shrink:0}
@media(max-width:800px){
  /* Safari enlarges the viewport when a focused text field is below 16px. */
  input,select,textarea,.searchbox input,.filters select,.login-panel input{font-size:16px}
  .login-layout{grid-template-columns:minmax(0,1fr)}
  .login-intro h1{font-size:clamp(38px,12vw,55px)}
}
@media(max-width:680px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-actions a{flex:1 1 90px;min-width:0}
  .card:hover{transform:none}
  .detail-actions>*{min-width:0;white-space:normal}
}
@media(max-width:380px){
  .filters{grid-template-columns:minmax(0,1fr)}
  .theme-choices{grid-template-columns:minmax(0,1fr)}
}

.searchbox input{flex:1 1 0;width:0;min-width:0;min-height:48px;pointer-events:auto;user-select:text;-webkit-user-select:text}.searchbox>span{pointer-events:none}
