/* V10: fluxo de cadastro, clareza operacional e aprimoramentos de mobile. */
:root{--focus:#f5b82f;--ok:#087546;--warning:#865c08}
[data-booking-step][hidden],.booking-next[hidden],.booking-back[hidden]{display:none!important}
.booking-steps{display:flex;gap:7px;margin:20px 0 24px;align-items:stretch;scroll-margin-top:95px}
.booking-steps span{flex:1;text-align:center;padding:12px 7px;border-radius:11px;background:#eef2f8;color:#52647a;font-size:12px;font-weight:800;border:1px solid #dce5ee;line-height:1.3}
.booking-steps span.current{background:#09265f;color:#fff;border-color:#09265f;box-shadow:0 5px 18px rgba(9,38,95,.13)}
.booking-steps span.completed{color:#087546;background:#e7f7ee;border-color:#b6dfc6}
[data-booking-step]{min-width:0;animation:bookingIn .16s ease}
@keyframes bookingIn{from{opacity:.8;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.booking-review-list{border:1px solid #e1e9f2;background:#f8fbff;padding:14px 18px;border-radius:14px;margin:12px 0}
.booking-review-list p{margin:7px 0;border-bottom:1px solid #e4edf6;padding-bottom:7px;color:#193c72;font-weight:700}
.booking-review-list p:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.booking-steps + form .actions{display:flex;flex-wrap:wrap;gap:10px}
.booking-steps + form .actions .btn{flex:1 1 155px}
.financial-readiness{padding:13px 15px;margin:14px 0;background:#fff8e7;border:1px solid #eedda9;border-left:4px solid #e8a52d;border-radius:12px;font-size:12px;line-height:1.65;color:#293d5e}
.financial-readiness.ready{background:#eaf8f0;border-color:#c7e9d5;border-left-color:#009739}
.financial-readiness small{display:block;font-size:11px;color:#4a5b72;margin-top:5px}
.ops-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;margin:16px 0 25px}
.ops-check{padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;box-shadow:0 5px 20px rgba(13,41,84,.045)}
.ops-check h2{font-size:17px!important;line-height:1.25;margin:0;color:#0b2a65}
.ops-check p{font-size:12px;line-height:1.6;margin:0}
.narrow fieldset.passenger-fieldset{margin:13px 0;border:1px solid #dbe6f2}
.site-admin .admin-nav-wrap{position:sticky;top:0;z-index:30}
.site-admin .admin-nav{scroll-snap-type:x proximity}
.site-admin .admin-nav a{scroll-snap-align:start}
.site-admin .admin-nav a.active{box-shadow:inset 0 -3px 0 #009739}
.site-inner main.container{min-height:42vh}
.site-admin .stat strong{font-variant-numeric:tabular-nums}
.site-admin .card.trip{overflow:hidden}
/* Evitar que informações e botões se sobreponham no celular. */
@media (max-width:700px){
  .site-admin .admin-nav-inner{width:calc(100% - 22px)}
  .site-admin .admin-nav{padding:8px 0 10px;gap:6px}
  .site-admin .admin-nav a{border:1px solid #e2eaf3;background:#fff;min-height:43px}
  .booking-steps{gap:4px}
  .booking-steps span{font-size:10px;padding:11px 5px}
  .site-inner .narrow{margin:24px auto}
  .narrow .card{padding:19px 16px}
  .narrow .card>h1{font-size:clamp(26px,8.8vw,36px)}
  .site-admin .trip{padding:18px}
  .ops-check{padding:17px}
  .landing-bus-card{grid-template-columns:100px minmax(0,1fr)!important;gap:12px!important}
  .landing-bus-occupancy{grid-template-columns:auto 1fr!important;gap:6px!important}
  .landing-book,.landing-full{grid-column:1/-1!important;grid-row:3!important;display:flex!important;justify-content:center!important;align-items:center!important;min-height:43px;max-width:none!important;width:100%;background:#d92032!important;color:#fff!important;font-weight:800}
  .landing-full{background:#eaf0f7!important;color:#40536c!important}
  .landing-progress{grid-column:1/-1!important;grid-row:auto!important;width:100%}
  .landing-hero h1{position:relative;z-index:3;text-shadow:0 2px 10px #fff}
  .site-home .landing-hero .landing-hero-copy{position:relative;z-index:3}
  .site-home .landing-hero .landing-description{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.66) 88%,transparent);border-radius:9px;padding:4px 2px;color:#11284d!important}
  .site-home .landing-hero-art{opacity:.94}
}
@media(max-width:420px){
  .landing-bus-card{grid-template-columns:91px minmax(0,1fr)!important;padding:13px!important}
  .landing-bus-image{width:91px;height:115px}
  .landing-bus-card h3{font-size:16px}
  .landing-bus-occupancy{grid-column:1/-1;gap:7px}
}
@media(prefers-reduced-motion:reduce){[data-booking-step]{animation:none}}
