/* ViaOn 2.2.1 — experiência visual premium */
.vehicle-photo-divider{grid-column:1/-1;background:#fff3e8;border-left:5px solid var(--green);padding:15px 18px;border-radius:10px;display:grid!important;gap:4px}.vehicle-photo-divider b{color:var(--navy);font-size:15px}.vehicle-photo-divider span{color:var(--muted);font-size:12px}.passenger-verification{display:grid;gap:10px;background:#fff6ef;border:1px solid #ffd7bb;border-radius:13px;padding:15px}.passenger-verification>b{color:var(--navy)}.passenger-verification label{display:grid;gap:6px}.passenger-verification input,.passenger-verification select{padding:10px}
.ride-form{background:#fff;border:1px solid #e2e2e2;border-radius:20px;padding:24px;margin:20px 0;display:grid;gap:14px}.ride-form>label{display:grid;gap:7px;font-weight:700}.ride-form input{padding:14px;border:1px solid #d7dfe1;border-radius:10px;font:inherit}.ride-types{display:flex;gap:12px}.ride-types label{flex:1;padding:14px;border:1px solid #ddd;border-radius:12px;font-weight:800}.ride-estimate{background:#111;color:#fff;border-radius:16px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}.ride-estimate small{display:block;color:#aaa;font-size:10px}.ride-estimate b{font-size:20px}.ride-estimate label{display:grid;gap:6px}.ride-estimate input{background:#fff}@media(max-width:700px){.ride-estimate{grid-template-columns:1fr 1fr}.ride-types{display:grid}}
.ride-builder{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:18px}.ride-controls{display:grid;gap:14px;align-content:start}.ride-controls>label{display:grid;gap:7px;font-size:13px;font-weight:800}.ride-controls input,.ride-controls select,.ride-estimate select{width:100%;padding:14px;border:1px solid #d7dfe1;border-radius:10px;background:#fff}.location-field{display:grid;grid-template-columns:1fr auto;gap:7px}.location-field button{border:0;border-radius:10px;background:#f0f3f3;color:#222;padding:0 13px;font-weight:800;font-size:12px}.ride-types label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;cursor:pointer}.ride-types label input{width:17px;grid-row:1/3}.ride-types label span{font-size:24px;grid-row:1/3}.ride-types label b{align-self:end}.ride-types label small{color:var(--muted);font-weight:500;align-self:start}.ride-types label:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 15%,transparent)}.calculate-ride{width:100%;padding:15px}.map-shell{min-height:410px;border-radius:17px;overflow:hidden;background:#edf2f2;position:relative}.map-shell #rideMap{height:410px;width:100%;z-index:1}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:25px;color:var(--muted)}.ride-estimate{grid-template-columns:repeat(3,1fr);margin-top:5px}.ride-estimate label{font-size:12px;font-weight:700}.ride-estimate select,.ride-estimate input{margin-top:5px}.ride-estimate .pickup-note{grid-column:span 2}.ride-estimate>button{grid-column:span 3;padding:15px}.ride-history{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.history-head span{font-size:10px;color:var(--green);font-weight:900;letter-spacing:1.4px}.history-head h2{margin:5px 0 0}.history-head button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;font-weight:800}.empty-rides{color:var(--muted)}#rideHistoryList{display:grid;gap:12px}.ride-history-card{border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;grid-template-columns:1fr 1.5fr auto;gap:16px;align-items:center}.ride-history-card>div:first-child{display:grid;gap:5px}.ride-history-card small{color:var(--muted)}.ride-history-card>p{margin:0;display:grid;gap:4px;font-size:12px}.ride-history-card>p i{font-style:normal;color:var(--muted)}.ride-history-meta{display:flex;gap:11px;flex-wrap:wrap;font-size:12px;font-weight:800}.ride-status{width:max-content;border-radius:20px;padding:5px 8px;background:#fff1d0;color:#7d5a00;font-size:10px;font-weight:900}.ride-status.completed{background:#dcf7ef;color:#087361}.ride-status.cancelled{background:#fde8e8;color:#a52828}.cancel-ride{grid-column:1/-1;justify-self:end;border:0;background:#fff0f0;color:#a52828;border-radius:9px;padding:8px 11px;font-weight:800}.leaflet-control-attribution{font-size:9px!important}@media(max-width:900px){.ride-builder{grid-template-columns:1fr}.map-shell,.map-shell #rideMap{height:360px;min-height:360px}.ride-history-card{grid-template-columns:1fr 1fr}}@media(max-width:600px){.location-field{grid-template-columns:1fr}.location-field button{padding:11px}.ride-estimate{grid-template-columns:1fr 1fr}.ride-estimate .pickup-note,.ride-estimate>button{grid-column:1/-1}.ride-history-card{grid-template-columns:1fr}.ride-history-meta{justify-content:space-between}.map-shell,.map-shell #rideMap{height:310px;min-height:310px}}
.onboarding-form{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.onboard-head{margin-bottom:25px}.onboard-head span{font-size:11px;color:var(--green);font-weight:900;letter-spacing:1.5px}.onboard-head h2{margin:7px 0}.onboard-head p{color:var(--muted)}.onboarding-form fieldset{border:1px solid var(--line);border-radius:15px;padding:22px;margin:0 0 18px}.onboarding-form legend{padding:0 9px;font-weight:800;color:var(--navy)}.onboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.onboard-grid label,.onboarding-form>fieldset>label{display:grid;gap:7px;font-size:12px;font-weight:800}.onboard-grid input,.onboard-grid select{width:100%;padding:11px;border:1px solid #ccdadd;border-radius:9px;background:#fff}.onboard-grid input[type=file]{padding:8px;font-size:11px}.onboard-grid .wide{grid-column:span 2}.check{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center;margin:10px 0;font-weight:600!important}.check input{width:17px!important}.submit-onboarding{width:100%;padding:15px}.upload-progress{background:#fff2e8;color:#9b4300;border-radius:10px;padding:13px;margin-bottom:12px;display:flex;justify-content:space-between}@media(max-width:900px){.onboard-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.onboarding-form{padding:18px}.onboard-grid{grid-template-columns:1fr}.onboard-grid .wide{grid-column:auto}.onboarding-form fieldset{padding:17px}}
.account-actions{display:flex;align-items:center;gap:12px}.header-logout{border:1px solid #ddd;background:#fff;color:#222;border-radius:9px;padding:9px 15px;font-weight:800}.header-logout:hover{border-color:var(--green);color:var(--green)}
:root{--navy:#111111;--navy2:#242424;--green:#ff6a00;--green2:#e95500;--ink:#181818;--muted:#6f6f6f;--line:#e7e7e7;--bg:#f7f7f7}.topbar{background:#fff}.steps{background:#fafafa}.driver-banner,.safety{background:#111}.city-cta{background:linear-gradient(120deg,var(--green2),var(--green))}.hero.hero-photo{background-image:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.88) 34%,rgba(0,0,0,.28) 67%,rgba(0,0,0,.06) 100%),url('assets/hero-car.webp')}.hero-proof{background:#111e}.theme-fab{position:fixed;right:20px;bottom:20px;z-index:45;border:0;border-radius:30px;padding:12px 17px;background:#fff;color:#171717;box-shadow:0 8px 30px #0003;font-weight:800}.theme-fab span{margin-left:5px}.theme-panel{position:fixed;right:20px;bottom:78px;width:min(360px,calc(100vw - 30px));z-index:60;background:#fff;border:1px solid #e4e4e4;border-radius:20px;padding:20px;box-shadow:0 20px 60px #0003;color:#181818}.theme-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.theme-head div{display:grid}.theme-head small{color:#777;margin-top:4px}.theme-head button{border:0;background:#f0f0f0;border-radius:50%;width:32px;height:32px;font-size:21px}.theme-panel>label{font-size:12px;font-weight:800}.theme-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 18px}.theme-presets button{border:1px solid #ddd;background:#fff;border-radius:11px;padding:10px;text-align:left;font-size:12px;font-weight:700}.theme-presets button.active{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 18%,transparent)}.theme-presets i{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:7px;vertical-align:-2px}.theme-presets .orange{background:#ff6a00}.theme-presets .gold{background:#d79a20}.theme-presets .blue{background:#1479e6}.theme-presets .green{background:#16c6a8}.custom-color{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee;padding-top:15px}.custom-color input{width:46px;height:34px;padding:2px;border:0;background:none}.theme-reset{width:100%;margin-top:14px;border:0;border-radius:10px;padding:10px;background:#f2f2f2;color:#333;font-weight:700}
.hero.hero-photo{min-height:calc(100vh - 76px);position:relative;display:flex;align-items:center;padding:90px max(7vw,30px);background-image:linear-gradient(90deg,rgba(3,25,38,.98) 0%,rgba(3,25,38,.9) 34%,rgba(3,25,38,.28) 67%,rgba(3,25,38,.08) 100%),url('assets/hero-car.webp');background-size:cover;background-position:center}.hero-photo:after{content:'';position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,rgba(3,25,38,.38));pointer-events:none}.hero-photo .hero-copy{position:relative;z-index:2;max-width:680px}.hero-photo h1{color:#fff;font-size:clamp(55px,7vw,92px);letter-spacing:-5px}.hero-photo .hero-copy>p{color:#d2e1e5;font-size:20px;max-width:630px}.eyebrow.light{color:#5ce5ce}.hero-photo .secondary{background:#ffffff12;border-color:#ffffff55;color:#fff;backdrop-filter:blur(8px)}.hero-photo .trust{color:#d0e0e4}.hero-proof{position:absolute;z-index:3;right:max(5vw,25px);bottom:38px;color:#fff;display:flex;align-items:center;gap:16px;background:#062536dd;border:1px solid #ffffff26;border-radius:16px;padding:16px 20px;backdrop-filter:blur(10px)}.hero-proof b{font-size:22px;color:var(--green)}.hero-proof span{font-size:12px;line-height:1.5}.impact-strip{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(7vw,30px);border-top:1px solid #ffffff18}.impact-strip>div{padding:28px 22px;display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid #ffffff18}.impact-strip>div:last-child{border:0}.impact-strip strong{font-size:27px;color:var(--green)}.impact-strip span{font-size:11px;line-height:1.45;color:#b8ccd3}.services{padding:105px max(7vw,30px);background:#fff}.section-head{text-align:center;max-width:720px;margin:0 auto 45px}.section-head h2{font-size:clamp(34px,4vw,52px);letter-spacing:-2px;color:var(--navy);margin:0 0 14px}.section-head p{color:var(--muted);line-height:1.7}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1250px;margin:auto}.service-card{min-height:520px;border-radius:26px;position:relative;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 24px 45px #082a3920}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,25,38,.96),rgba(3,25,38,.02) 72%)}.service-card.car{background-image:url('assets/hero-car.webp');background-position:70% center}.service-card.moto{background-image:url('assets/passenger-moto.webp')}.service-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:35px;color:#fff}.service-copy>span{font-size:11px;letter-spacing:1.8px;color:var(--green);font-weight:800}.service-copy h3{font-size:30px;margin:9px 0}.service-copy p{color:#c7d8dd;line-height:1.6;max-width:500px}.service-copy button{border:1px solid #ffffff55;background:#ffffff16;color:#fff;padding:12px 17px;border-radius:10px;font-weight:800}.steps{background:#f3f8f8}.driver-banner{display:grid;grid-template-columns:1.05fr .95fr;min-height:630px;background:var(--navy)}.driver-photo{background:url('assets/driver-partner.webp') center/cover no-repeat;min-height:560px}.driver-copy{padding:80px clamp(35px,6vw,90px);align-self:center;color:#fff}.driver-copy h2{font-size:clamp(37px,4vw,55px);line-height:1.12;letter-spacing:-2px;margin:0 0 20px}.driver-copy>p{color:#b7cdd3;line-height:1.75}.driver-benefits{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:28px 0}.driver-benefits span{font-size:13px;color:#d7e5e8}.safety{padding-top:105px;padding-bottom:105px}.security-cards{display:grid;gap:12px}.security-cards article{background:#ffffff0c;border:1px solid #ffffff1f;border-radius:16px;padding:20px;display:grid;grid-template-columns:45px 1fr;align-items:center}.security-cards i{font-style:normal;grid-row:1/3;font-size:25px;color:var(--green)}.security-cards b{font-size:14px}.security-cards span{font-size:11px;color:#9eb6be;margin-top:4px}.city-cta{text-align:center;padding:105px 25px;background:linear-gradient(120deg,#0a8f7b,#11b99d);color:#fff}.city-cta h2{font-size:clamp(38px,5vw,63px);letter-spacing:-2.5px;max-width:850px;margin:0 auto 17px}.city-cta p{font-size:18px;color:#daf5f0}.city-cta>div{display:flex;justify-content:center;gap:12px;margin-top:28px}.city-cta .primary{background:#fff;color:#087765}.secondary.dark{background:#07364a;color:#fff;border-color:#07364a}
@media(max-width:900px){.hero.hero-photo{background-position:62% center}.hero-photo:before{content:'';position:absolute;inset:0;background:#03192655}.hero-photo .hero-copy{max-width:610px}.impact-strip{grid-template-columns:1fr 1fr}.impact-strip>div:nth-child(2){border-right:0}.service-grid,.driver-banner{grid-template-columns:1fr}.driver-photo{min-height:520px}.service-card{min-height:470px}.hero-proof{display:none}}
@media(max-width:600px){.hero.hero-photo{min-height:760px;padding:75px 22px 60px;background-position:66% center;background-image:linear-gradient(0deg,rgba(3,25,38,.98) 0%,rgba(3,25,38,.88) 54%,rgba(3,25,38,.2) 100%),url('assets/hero-car.webp');align-items:flex-end}.hero-photo h1{font-size:52px;letter-spacing:-3px}.hero-photo .hero-copy{text-align:left}.hero-photo .hero-copy>p{font-size:16px}.hero-photo .hero-actions,.hero-photo .trust{justify-content:flex-start}.hero-photo .hero-actions{width:100%}.hero-photo .hero-actions button{width:100%}.impact-strip{grid-template-columns:1fr 1fr;padding:0}.impact-strip>div{padding:22px 12px;display:block;text-align:center}.impact-strip strong,.impact-strip span{display:block}.impact-strip span{margin-top:4px}.services{padding:75px 18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:440px}.service-copy{padding:26px}.service-copy h3{font-size:25px}.driver-photo{min-height:430px}.driver-copy{padding:60px 25px}.driver-benefits{grid-template-columns:1fr}.city-cta>div{display:grid}.city-cta button{width:100%}}
.map-shell:after{content:'GPS falhou? Toque no mapa para marcar a partida';position:absolute;z-index:500;left:12px;right:12px;bottom:12px;background:#111d;color:#fff;padding:9px 12px;border-radius:9px;text-align:center;font-size:11px;font-weight:800;pointer-events:none}
