:root{--navy:#062e61;--deep:#021e42;--blue:#087cf0;--green:#009d67;--ink:#0a315f;--muted:#60728b;--line:#dce6ef;--soft:#f6f9fc;--white:#fff;--shadow:0 10px 28px rgba(7,45,86,.12);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fff;color:var(--ink)}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1320px,calc(100% - 96px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e7edf3;backdrop-filter:blur(10px)}.header-inner{height:78px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:9px}.brand img{width:62px;height:54px;object-fit:contain}.brand span{display:grid;line-height:1}.brand strong{font-size:25px;letter-spacing:-1px}.brand em{color:var(--green);font-style:normal}.brand small{margin-top:5px;font-size:10px;font-weight:900;letter-spacing:5px}.primary-nav{display:flex;gap:34px;margin-left:auto}.primary-nav a,.login-link{font-size:14px;font-weight:800}.primary-nav a:hover,.login-link:hover{color:var(--green)}.header-actions{display:flex;align-items:center;gap:20px}.header-search{display:grid;place-items:center;width:30px}.magnifier{position:relative;display:inline-block;width:17px;height:17px;border:2.5px solid currentColor;border-radius:50%}.magnifier:after{content:"";position:absolute;right:-6px;bottom:-4px;width:8px;height:2.5px;border-radius:2px;background:currentColor;transform:rotate(45deg)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 25px;border-radius:8px;font-weight:850}.button-primary{background:var(--green);color:#fff;box-shadow:0 7px 18px rgba(0,157,103,.22)}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:var(--navy)}
.hero{position:relative;min-height:500px;background:#1a6fa7 url("assets/images/hero-praia-grande.jpg") center 58%/cover no-repeat;isolation:isolate}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,27,59,.96),rgba(3,38,77,.7) 44%,rgba(3,38,77,.05) 78%)}.hero-inner{position:relative;min-height:500px;padding-top:44px}.hero-copy{position:relative;z-index:2;max-width:560px;color:#fff}.hero-copy h1{max-width:555px;margin:0;font-size:54px;line-height:1.01;letter-spacing:-2px}.hero-copy h1 em{color:#45d49d;font-style:normal}.hero-copy p{max-width:460px;margin:10px 0 0;font-size:22px;line-height:1.16;white-space:pre-line}.hero-device{position:absolute;z-index:3;top:18px;right:50px;width:205px;margin:0;filter:drop-shadow(0 20px 28px rgba(1,20,43,.4));transform:rotate(2deg)}.hero-device-frame{position:relative;padding:8px;border:3px solid #11161b;border-radius:34px;background:#11161b}.hero-device-frame img{display:block;width:100%;border-radius:25px}.hero-device-speaker{position:absolute;z-index:2;top:12px;left:50%;width:36%;height:10px;border-radius:0 0 10px 10px;background:#11161b;transform:translateX(-50%)}.search-card{position:absolute;z-index:5;left:0;bottom:18px;width:min(850px,70%);padding:10px 12px 13px;border-radius:17px;background:rgba(255,255,255,.98);box-shadow:0 16px 36px rgba(2,25,52,.28)}.search-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.search-tab{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:7px 14px;border:0;border-radius:11px;background:#f1f5f8;color:var(--navy);cursor:pointer}.search-tab span:last-child{display:grid;gap:2px;text-align:left}.search-tab strong{font-size:15px}.search-tab small{font-size:10px}.search-tab.is-active{background:var(--blue);color:#fff}.tab-icon{display:grid;place-items:center;width:28px}.car-icon{font-size:22px}.search-fields{display:grid;grid-template-columns:1.2fr 1.2fr .7fr .95fr;gap:10px;align-items:end}.search-fields label{display:grid;gap:5px;font-size:11px;font-weight:850}.input-wrap{height:46px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #d2dde7;border-radius:8px}.input-wrap i{color:var(--blue);font-style:normal}.input-wrap input{min-width:0;width:100%;height:42px;border:0;outline:0;background:transparent;color:var(--navy);font-size:13px}.search-submit{height:46px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:850;cursor:pointer}.search-feedback{margin:8px 3px 0;font-size:12px;font-weight:700;color:#08764e}.search-feedback.is-error{color:#a12e2e}
.benefits{border-bottom:1px solid var(--line)}.benefits-grid{min-height:92px;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;align-items:center}.benefits article{display:flex;align-items:center;gap:12px}.benefit-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:900}.benefit-icon.green{background:linear-gradient(145deg,#00b87a,#007b56)}.benefit-icon.blue{background:linear-gradient(145deg,#1996ff,#006ae2)}.benefits article div{display:grid;gap:3px}.benefits strong{font-size:13px;line-height:1.2}.benefits small{color:var(--muted);font-size:14px;line-height:1.25}.sustainability{padding:18px 0}.sustainability-inner{position:relative;min-height:122px;display:flex;align-items:center;gap:25px;overflow:hidden;padding:18px 46px;border-radius:20px;background:linear-gradient(110deg,#c9ffd1,#e5fff1);color:#087344}.sustainability-leaf{font-size:62px;transform:rotate(-30deg)}.sustainability h2{position:relative;z-index:2;margin:0;font-size:32px;line-height:1.03}.sustainability p{margin:5px 0 0}.sustainability-art{position:absolute;right:0;bottom:0;width:38%;height:100%}.sun{position:absolute;right:42px;top:15px;width:38px;height:38px;border-radius:50%;background:#ffc72d}.city-silhouette{position:absolute;right:28px;bottom:29px;width:150px;height:50px;background:linear-gradient(90deg,#058b58 15%,transparent 15% 20%,#058b58 20% 35%,transparent 35% 40%,#058b58 40% 54%,transparent 54% 60%,#058b58 60% 76%,transparent 76% 82%,#058b58 82%);clip-path:polygon(0 100%,0 42%,12% 42%,12% 10%,24% 10%,24% 55%,40% 55%,40% 0,54% 0,54% 35%,72% 35%,72% 15%,83% 15%,83% 57%,100% 57%,100% 100%)}.road{position:absolute;right:-10px;bottom:-44px;width:300px;height:105px;border:10px solid #087b58;border-left-color:transparent;border-radius:50%;transform:rotate(9deg)}
.section{padding:34px 0}.section-heading{margin-bottom:16px}.section-heading h2{margin:0;font-size:31px;line-height:1.1;letter-spacing:-.7px}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:14px}.section-heading-row{display:flex;align-items:end;justify-content:space-between}.section-heading-row>a{color:var(--blue);font-size:14px;font-weight:850}.route-grid,.ride-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.route-card{position:relative;min-height:292px;overflow:hidden;padding:0 0 132px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow);text-align:left;cursor:pointer}.route-card>img{width:100%;height:150px;display:block;object-fit:cover}.route-card-copy{position:absolute;left:15px;right:15px;bottom:14px;display:grid;gap:5px}.route-card-title{min-height:40px;font-size:18px;line-height:1.12}.route-card-copy em{color:var(--green);font-style:normal}.route-card-price-label{color:var(--muted);font-size:10px;line-height:1.2}.route-card-price{overflow:hidden;color:var(--green);font-size:clamp(17px,1.7vw,25px);font-weight:900;line-height:1.12;text-overflow:ellipsis}.ride-action{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7f4ff;color:var(--blue);font-size:22px}.rides-section{padding-top:20px}.rides-status{min-height:18px;margin:-8px 0 10px;color:var(--muted);font-size:12px}.ride-card{min-height:205px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.ride-card-top,.ride-card-bottom{display:flex;align-items:center;justify-content:space-between}.ride-date,.ride-seats{font-size:12px;font-weight:750}.ride-seats{color:var(--muted)}.ride-route{display:grid;gap:0;margin:18px 0}.ride-route div{display:flex;align-items:center;gap:8px}.route-dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}.route-dot.destination{background:var(--green)}.route-line{width:2px;height:22px;margin-left:4px;background:#bed3e6}.ride-route strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ride-price{color:#087b50;font-size:27px}.rides-empty{grid-column:1/-1;padding:28px;border:1px dashed #b9c9d8;border-radius:12px;color:var(--muted);text-align:center}.schedule-section{padding-top:18px;background:linear-gradient(#fff,#f8fbfd)}.schedule{display:grid;gap:12px}.schedule-nav{display:grid;grid-template-columns:46px 1fr 46px;gap:8px}.schedule-nav>button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:26px;cursor:pointer}.schedule-days{display:grid;grid-template-columns:repeat(7,1fr)}.schedule-days button{min-height:48px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:12px;font-weight:800;cursor:pointer}.schedule-days button:first-child{border-radius:9px 0 0 9px}.schedule-days button:last-child{border-radius:0 9px 9px 0}.schedule-days button.is-active{background:var(--blue);color:#fff}.schedule-rides{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-height:90px}.schedule-card{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 5px 15px rgba(6,46,97,.06)}.schedule-time{font-size:13px}.schedule-path,.schedule-seats{font-size:11px}.schedule-price{color:var(--green)}.schedule-empty{grid-column:1/-1;margin:0;padding:30px;text-align:center;color:var(--muted)}
.how-section{padding-top:24px}.how-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.how-card{display:grid;grid-template-columns:1.3fr .72fr;overflow:hidden;min-height:235px;border-radius:14px;background:linear-gradient(110deg,#eaf6ff,#f8fcff)}.how-card.driver{background:linear-gradient(110deg,#e2faec,#f7fffb)}.how-content{display:flex;gap:15px;padding:22px}.how-icon{flex:0 0 55px;width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff}.driver .how-icon{background:var(--green)}.how-card h3{margin:3px 0 12px;font-size:19px}.how-card ol{display:grid;gap:6px;margin:0;padding:0;list-style:none;counter-reset:steps}.how-card li{position:relative;min-height:29px;padding-left:35px;counter-increment:steps}.how-card li:before{content:counter(steps);position:absolute;left:0;top:0;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:900}.driver li:before{background:var(--green)}.how-card li strong,.how-card li span{display:block}.how-card li strong{font-size:12px}.how-card li span{color:var(--muted);font-size:10px}.how-card>img{width:100%;height:100%;object-fit:cover}.how-card.driver>img{object-position:72% center}.app-cta{position:relative;margin-top:8px;background:#071d32 url("assets/images/app-banner-v2.png") center 46%/cover no-repeat;color:#fff;isolation:isolate}.app-cta-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(1,21,44,.96),rgba(2,35,61,.75) 48%,rgba(2,24,44,.35))}.app-cta-inner{min-height:155px;display:grid;grid-template-columns:1.45fr 82px 1fr;align-items:center;gap:30px}.app-cta h2{max-width:465px;margin:0;font-size:30px;line-height:1.08}.app-cta p{margin:8px 0 0}.app-cta-inner>img{width:76px;height:76px;padding:6px;border-radius:13px;background:#fff}.store-status{display:grid;gap:5px}.store-status span{font-size:13px}.store-links{display:flex;gap:8px}.store-links a{padding:7px 10px;border:1px solid #fff;border-radius:6px;font-size:12px}
.site-footer{padding:30px 0 16px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:38px}.footer-brand p{margin:7px 0;color:var(--muted)}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:7px}.footer-grid h3{margin:6px 0;font-size:13px}.footer-grid a,.footer-grid span{color:#46617c;font-size:12px;line-height:1.35}.social-links{display:flex;gap:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:13px;border-top:1px solid var(--line);color:#73849a;font-size:10px}
@media(max-width:1050px){.shell{width:calc(100% - 50px)}.primary-nav{gap:18px}.header-actions{gap:12px}.hero-device{right:8px;width:165px}.search-card{width:73%}.benefits-grid{gap:10px}.route-grid,.ride-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-rides{grid-template-columns:repeat(3,1fr)}.how-card{grid-template-columns:1fr}.how-card>img{height:210px}.footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}}
@media(max-width:820px){.shell{width:calc(100% - 30px)}.header-inner{height:72px}.brand img{width:49px;height:43px}.brand strong{font-size:21px}.brand small{font-size:8px;letter-spacing:4px}.menu-toggle{display:block;margin-left:auto}.primary-nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;padding:10px 18px 18px;background:#fff;box-shadow:0 14px 24px rgba(2,31,66,.14)}.primary-nav.is-open{display:flex}.primary-nav a{padding:12px}.header-actions .header-search,.header-actions .login-link{display:none}.hero,.hero-inner{min-height:960px}.hero-copy h1{font-size:44px}.hero-device{top:265px;right:auto;left:50%;width:180px;transform:translateX(-50%) rotate(2deg)}.search-card{left:15px;right:15px;bottom:18px;width:auto}.search-fields{grid-template-columns:1fr 1fr}.benefits-grid{grid-template-columns:repeat(2,1fr);padding:18px 0}.benefits article:last-child{grid-column:1/-1}.sustainability-art{opacity:.45}.how-grid{grid-template-columns:1fr}.app-cta-inner{grid-template-columns:1fr 75px;padding:25px 0}.store-status{grid-column:1/-1}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}}
@media(max-width:570px){.shell{width:calc(100% - 24px)}.header-actions .button{display:none}.hero,.hero-inner{min-height:1170px}.hero-copy h1{font-size:38px}.hero-copy p{font-size:18px}.hero-device{top:275px;width:175px}.search-fields{grid-template-columns:1fr}.benefits-grid{grid-template-columns:1fr}.benefits article:last-child{grid-column:auto}.benefits small{font-size:12px}.sustainability-inner{padding:22px}.sustainability-leaf,.sustainability-art{display:none}.sustainability h2{font-size:27px}.section{padding:30px 0}.section-heading-row{align-items:flex-start;gap:10px}.section-heading h2{font-size:27px}.section-heading-row>a{white-space:nowrap;font-size:11px}.route-grid,.ride-grid,.schedule-rides{grid-template-columns:1fr}.route-card>img{height:170px}.schedule-nav{grid-template-columns:38px 1fr 38px}.schedule-days{overflow-x:auto}.schedule-days button{min-width:76px}.how-card{grid-template-columns:1fr}.how-content{padding:20px 15px}.how-card>img{height:190px}.app-cta-inner{grid-template-columns:1fr;padding:26px 0}.app-cta-inner>img{display:none}.app-cta h2{font-size:27px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.route-card{min-height:260px}}

/* Ajustes finais aprovados do Layout V2. */
.hero-device{top:17px;right:38px;width:245px}.hero-device-frame{height:324px;overflow:hidden;border-radius:38px}.hero-device-frame img{height:auto;border-radius:28px}.sustainability-inner{display:grid;place-items:center;min-height:122px;padding:24px 46px;text-align:center}.sustainability-inner>div{width:100%}.sustainability h2{max-width:920px;margin:0 auto;font-size:32px;line-height:1.08}.sustainability p{margin:8px 0 0;font-size:16px}.app-cta{background-image:url("assets/images/app-banner-v3.png")}.how-card{grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);min-height:245px}.how-content{min-width:0}.how-card>img{min-width:0}.how-card li span{line-height:1.25}
@media(max-width:1050px) and (min-width:821px){.hero-device{right:8px;width:190px}.hero-device-frame{height:255px}.how-card{grid-template-columns:minmax(0,1.35fr) minmax(145px,.65fr)}.how-card>img{height:100%}.how-content{padding:18px 14px}.how-icon{flex-basis:44px;width:44px;height:44px}.how-card h3{font-size:16px}.how-card li strong{font-size:11px}.how-card li span{font-size:9px}}
@media(max-width:820px){.hero-device{width:210px}.hero-device-frame{height:282px}.how-card{grid-template-columns:1fr}.how-card>img{height:220px}}
html,body{overflow-x:clip}main,.site-header,.site-footer{max-width:100%;overflow-x:clip}.hero-device-frame{height:278px}
@media(max-width:1050px) and (min-width:821px){.hero-device-frame{height:226px}}
@media(max-width:820px){.hero,.hero-inner{min-height:1020px}.hero-device-frame{height:242px}}
@media(max-width:570px){.hero,.hero-inner{min-height:1060px}.hero-device{width:200px}.hero-device-frame{height:228px}.sustainability-inner{padding:25px 18px}.sustainability h2{font-size:27px}}
@media(min-width:821px){.route-grid,.ride-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Layout V2 final: Home completa, cartões reais e agenda compacta. */
.hero,.hero-inner{min-height:640px}.hero-device{top:18px;right:28px;width:270px}.hero-device-frame{height:auto;overflow:hidden;padding:9px;border-radius:40px}.hero-device-frame img{width:100%;height:auto;object-fit:contain;border-radius:30px}.search-card{bottom:24px;width:min(850px,67%)}
.ride-card{display:flex;min-width:0;min-height:250px;flex-direction:column;padding:16px}.ride-driver{display:flex;min-width:0;align-items:center;gap:10px;min-height:46px}.ride-avatar{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}.ride-driver>div{display:grid;gap:2px;min-width:0}.ride-driver-name{overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.ride-rating{color:#f0a500;font-size:11px;font-weight:800}.ride-date{flex:0 0 auto;margin-left:auto;color:var(--navy);font-size:11px;font-weight:800;text-align:right;white-space:pre-line}.ride-route{min-width:0;margin:16px 0 10px}.ride-route div,.ride-route strong{min-width:0}.ride-meta{display:flex;min-height:24px;align-items:center;gap:10px;color:var(--muted);font-size:11px}.ride-vehicle{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ride-card-bottom{width:100%;margin-top:auto}.ride-request{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 14px;border-radius:9px;background:#e9f4ff;color:var(--blue);font-size:12px;font-weight:900}.ride-request:hover{background:var(--blue);color:#fff}
.schedule{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.schedule-nav{grid-template-columns:42px 1fr 42px;gap:0}.schedule-nav>button{border:0;border-radius:0;background:#fff}.schedule-days button{display:grid;min-height:62px;place-content:center;gap:3px;border-width:0 0 0 1px}.schedule-days button strong{text-transform:capitalize}.schedule-days button span{font-size:10px;font-weight:500}.schedule-rides{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:108px;padding:18px}.schedule-card{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:11px 14px;box-shadow:none}.schedule-time{color:var(--blue)}.schedule-path{overflow:hidden;font-size:11px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}.schedule-price{color:var(--green);font-size:12px}.schedule-request{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 10px;border-radius:8px;background:#e9f4ff;color:var(--blue);font-size:11px;font-weight:900;white-space:nowrap}.schedule-request:hover{background:var(--blue);color:#fff}.schedule-empty{padding:26px}
@media(max-width:1050px) and (min-width:821px){.hero,.hero-inner{min-height:620px}.hero-device{right:0;width:230px}.hero-device-frame{height:auto}.search-card{width:71%}.ride-card{padding:13px}.ride-avatar{flex-basis:38px;width:38px;height:38px}.ride-request{padding-inline:10px}}
@media(max-width:820px){.hero,.hero-inner{min-height:1390px}.hero-device{top:260px;width:260px}.hero-device-frame{height:auto}.search-card{bottom:20px}.schedule-rides{grid-template-columns:1fr 1fr}.schedule-days{overflow-x:auto;overscroll-behavior-inline:contain}.schedule-days button{min-width:82px}}
@media(max-width:570px){.hero,.hero-inner{min-height:1370px}.hero-device{top:255px;width:250px}.hero-device-frame{height:auto}.ride-card{min-height:235px}.schedule-rides{grid-template-columns:minmax(0,1fr);padding:12px}.schedule-card{min-height:72px;grid-template-columns:auto minmax(0,1fr) auto}.schedule-request{grid-column:1/-1;width:100%}.schedule-nav{grid-template-columns:34px minmax(0,1fr) 34px}}

/* Download seguro e solicitação de vaga — extensão do Layout V2 aprovado. */
[hidden]{display:none!important}
.ride-request,.schedule-request{border:0;cursor:pointer;font-family:inherit}.download-promo{padding:34px 0;background:linear-gradient(135deg,#eef8ff,#e9fff5)}.download-promo-inner{display:grid;grid-template-columns:minmax(0,1fr) 245px;align-items:center;gap:50px}.download-promo-copy{max-width:720px}.download-promo .eyebrow{color:var(--green);font-size:12px;font-weight:900;letter-spacing:1.7px}.download-promo h2{margin:7px 0 9px;font-size:36px;line-height:1.08}.download-promo p{max-width:680px;margin:0;color:var(--muted);font-size:17px;line-height:1.5}.download-promo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.download-promo-actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:900}.download-store-button{background:#101820;color:#fff}.download-apk-button{background:var(--green);color:#fff}.download-coming{border:1px solid var(--blue);background:#fff;color:var(--blue)}.download-phone{position:relative;width:215px;margin:auto;padding:28px 18px 22px;border:8px solid #111923;border-radius:34px;background:#fff;text-align:center;box-shadow:0 18px 35px rgba(2,30,64,.18)}.download-phone-speaker{position:absolute;top:10px;left:50%;width:72px;height:8px;border-radius:8px;background:#111923;transform:translateX(-50%)}.download-phone img{display:block;width:100%;height:auto}.download-phone small{display:block;margin-top:8px;color:var(--muted);font-size:10px;font-weight:700}.reservation-dialog{width:min(470px,calc(100% - 28px));padding:0;border:0;border-radius:17px;color:var(--navy);box-shadow:0 24px 70px rgba(1,24,53,.35)}.reservation-dialog::backdrop{background:rgba(2,24,48,.68)}.reservation-dialog-card{position:relative;display:grid;gap:15px;padding:27px}.reservation-dialog h2,.reservation-dialog p{margin:0}.reservation-dialog label{display:grid;gap:6px;font-size:13px;font-weight:800}.reservation-dialog input{min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font:inherit}.reservation-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:var(--navy);font-size:26px;cursor:pointer}.reservation-feedback{min-height:20px;color:#08764e;font-size:13px;font-weight:700}.reservation-feedback.is-error{color:#a12e2e}.reservation-actions{display:flex;gap:10px}.reservation-cancel{border:1px solid var(--line);background:#fff;color:var(--navy)}
@media(max-width:820px){.download-promo-inner{grid-template-columns:1fr;gap:28px;text-align:center}.download-promo-copy{margin:auto}.download-promo-actions{justify-content:center}.download-phone{width:205px}}
@media(max-width:570px){.download-promo h2{font-size:29px}.download-promo p{font-size:15px}.download-promo-actions{display:grid}.download-promo-actions a{width:100%}.reservation-actions{display:grid}}

/* Estado autenticado do cabeçalho público. */
.header-auth{display:flex;align-items:center;gap:18px}.header-auth-user{gap:14px}.account-link{display:grid;line-height:1.1;text-align:right}.account-link strong{max-width:145px;overflow:hidden;color:var(--navy);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.account-link small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}.account-link:hover strong{color:var(--green)}.logout-link{padding:7px 11px;border:1px solid #c8d7e5;border-radius:7px;background:#fff;color:var(--navy);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.logout-link:hover{border-color:var(--green);color:var(--green)}.logout-link:disabled{cursor:wait;opacity:.6}.auth-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.auth-status:not(:empty){position:fixed;top:88px;right:24px;width:min(360px,calc(100% - 48px));height:auto;overflow:visible;clip:auto;padding:11px 14px;border:1px solid #f0b5b5;border-radius:9px;background:#fff4f4;color:#982d2d;box-shadow:var(--shadow);font-size:13px;font-weight:750;white-space:normal}
@media(max-width:820px){.header-auth{gap:10px}.account-link strong{max-width:110px}.logout-link{padding:6px 9px}}
@media(max-width:570px){.header-auth[data-auth-guest] .login-link{display:inline}.header-auth[data-auth-guest] .button{display:none}.account-link strong{max-width:92px;font-size:12px}.account-link small{font-size:9px}.logout-link{padding:6px 8px;font-size:11px}}

/* Busca inicial: composição móvel em fluxo, sem larguras fixas concorrentes. */
@media(max-width:570px){
  .hero,.hero-inner{min-height:0}
  .hero-inner{padding-top:34px;padding-bottom:20px}
  .hero-device{position:relative;top:auto;right:auto;left:auto;width:min(250px,82vw);margin:18px auto 0;transform:rotate(2deg)}
  .search-card{position:relative;right:auto;bottom:auto;left:auto;width:100%;margin-top:18px}
  .search-tabs{gap:6px}
  .search-tab{min-width:0;gap:7px;padding:7px 8px}
  .search-tab span:last-child{min-width:0}
  .search-tab strong{font-size:13px;line-height:1.15}
  .search-tab small{font-size:9px;line-height:1.2}
  .tab-icon{flex:0 0 24px;width:24px}
}

/* Legibilidade da Home: busca, benefícios e caronas da semana. */
@media(min-width:1051px){.search-card{width:min(940px,72%)}}
.search-tab{min-height:64px}
.search-tab strong{font-size:17px;line-height:1.2}
.search-tab small{font-size:13px;line-height:1.3}
.search-fields label{gap:6px;font-size:15px;line-height:1.25}
.input-wrap{height:50px}
.input-wrap input{height:46px;font-size:16px;font-weight:650;line-height:1.35}
.search-submit{height:50px;font-size:17px}
.benefits-grid{min-height:108px;gap:18px}
.benefits strong{font-size:16px;font-weight:750;line-height:1.25}
.benefits small{font-size:15px;line-height:1.35}
.schedule-days button{font-size:14px}
.schedule-days button span{font-size:12px}
.schedule-card{grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px}
.schedule-summary{display:grid;min-width:0;gap:2px}
.schedule-driver{overflow:hidden;font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.schedule-time{font-size:15px;line-height:1.25}
.schedule-path{font-size:14px;line-height:1.3}
.schedule-price{font-size:15px;line-height:1.25;white-space:nowrap}
.ride-driver-name{font-size:16px}
.ride-date{font-size:14px}
.ride-route strong{font-size:16px;line-height:1.3}

@media(max-width:820px){
  .search-tab strong{font-size:16px}
  .search-tab small{font-size:12px}
  .benefits-grid{gap:16px}
  .schedule-card{grid-template-columns:auto minmax(0,1fr) auto}
  .schedule-request{grid-column:1/-1;width:100%}
}
@media(max-width:570px){
  .search-tab{min-height:68px;gap:7px;padding:8px}
  .search-tab strong{font-size:15px;line-height:1.2}
  .search-tab small{font-size:12px;line-height:1.25}
  .search-fields label{font-size:14px}
  .input-wrap input{font-size:16px}
  .search-submit{font-size:16px}
  .benefits strong{font-size:16px}
  .benefits small{font-size:14px;line-height:1.4}
  .schedule-driver{font-size:14px}
  .schedule-time,.schedule-price{font-size:15px}
  .schedule-path{font-size:14px}
}
@media(max-width:340px){
  .search-tab strong{font-size:14px}
  .search-tab small{font-size:11px}
}

/* Modelo visual aprovado: mais respiro na busca, benefícios e agenda. */
.search-card{box-sizing:border-box;min-height:230px;padding:24px 20px}
.search-tabs{margin-bottom:16px}
.search-tab{min-height:84px}
.search-fields{gap:14px}
.input-wrap,.search-submit{height:54px}
.input-wrap input{height:50px}
.benefits-grid{min-height:170px}
.benefits-grid article{min-width:0;justify-content:center}
.schedule-rides{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.schedule-card{min-height:88px;grid-template-columns:76px minmax(0,1fr) auto auto;gap:14px;padding:16px 18px}
.schedule-driver{color:var(--green);font-weight:850}
.schedule-path{display:flex;overflow:visible;flex-wrap:wrap;gap:4px 6px;white-space:normal;text-overflow:clip}
.schedule-origin{color:var(--blue)}
.schedule-destination{color:var(--green)}
.schedule-arrow{color:var(--muted);font-weight:800}

@media(min-width:1051px){.hero,.hero-inner{min-height:700px}}
@media(max-width:1050px) and (min-width:821px){.hero,.hero-inner{min-height:680px}}
@media(max-width:820px) and (min-width:571px){
  .hero,.hero-inner{min-height:1455px}
  .benefits-grid{padding:34px 0;row-gap:28px}
  .schedule-rides{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:570px){
  .benefits-grid{padding:32px 0;row-gap:22px}
  .schedule-rides{grid-template-columns:minmax(0,1fr)}
  .schedule-card{grid-template-columns:70px minmax(0,1fr) auto;gap:10px 12px;padding:15px}
  .schedule-request{grid-column:1/-1}
}

/* Celular integralmente contido no banner, sem recorte por rotação ou overflow. */
.hero-device{top:32px;width:250px;transform:none}
.hero-device-frame{height:auto;overflow:visible}
.hero-device-frame img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1050px) and (min-width:821px){
  .hero-device{top:32px;right:0;width:230px;transform:none}
}
@media(max-width:820px) and (min-width:571px){
  .hero-device{top:260px;right:auto;left:50%;width:260px;transform:translateX(-50%)}
}
@media(max-width:570px){
  .hero-device{position:relative;top:auto;right:auto;left:auto;width:min(250px,82vw);margin:18px auto 0;transform:none}
}
@media(max-width:340px){
  .search-tab{gap:5px;padding-inline:6px}
  .search-tab strong{font-size:12px}
  .search-tab small{font-size:8px}
  .tab-icon{flex-basis:20px;width:20px}
}
