:root{--blue:#0757ee;--navy:#06265f;--ink:#071d4f;--line:#dce7f8}

/* HOME V22: un solo layout coerente, niente elementi fantasma */
body.home-final{margin:0;background:#eef5ff;color:var(--ink);overflow-x:hidden}
.home-final .home-shell{width:min(1450px,calc(100% - 40px));max-width:1450px;margin:0 auto;padding:0}
.home-final .hero{position:relative;display:grid;grid-template-columns:minmax(0,1.56fr) minmax(430px,.88fr);gap:0;min-height:500px;height:calc(100vh - 300px);max-height:565px;padding:0;border-radius:22px 22px 0 0;overflow:hidden;background:#fff;isolation:isolate}
.home-final .hero::before{content:"";position:absolute;z-index:-2;inset:0 35% 0 0;background:url('/assets/aeroporto-v22.jpg?v=220') center 48%/cover no-repeat;filter:none}
.home-final .hero::after{content:"";position:absolute;z-index:-1;inset:0 35% 0 0;background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.72) 35%,rgba(255,255,255,.10) 78%,rgba(255,255,255,0) 100%)}
.home-final .left-hero{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;padding:20px 24px 0}
.home-final .brand-row{display:flex;align-items:flex-start;gap:16px;min-height:158px;overflow:visible}
.home-final .mascot{width:clamp(140px,11vw,174px);height:190px;object-fit:contain;object-position:center bottom;transform:rotate(-7deg);margin:3px 0 0 2px;flex:0 0 auto;overflow:visible}
.home-final .brand-lockup{padding-top:10px;min-width:0}
.home-final .brand-title{font-size:clamp(44px,4vw,61px);font-weight:950;line-height:.88;letter-spacing:-3px;color:var(--navy)}
.home-final .brand-title>span{display:block;color:var(--blue)}
.home-final .brand-title em{font-style:normal;color:var(--navy);font-size:.68em}
.home-final .payoff{font-size:clamp(15px,1.35vw,20px);font-style:italic;margin-top:13px;white-space:nowrap;color:#0b2a62}
.home-final .payoff strong{position:relative;font-weight:900}
.home-final .payoff strong::after{content:"";position:absolute;left:-4px;right:-5px;bottom:-8px;height:8px;border-top:3px solid var(--blue);border-radius:50%}
.home-final .hero-copy{font-size:clamp(34px,3vw,48px);line-height:1.04;letter-spacing:-1.8px;margin:10px 0 12px 16px;max-width:570px;color:var(--navy)}
.home-final .benefits{display:grid;grid-template-columns:repeat(4,1fr);width:100%;height:150px;min-height:150px;margin-top:auto;background:#fff;border:1px solid rgba(210,224,244,.9);border-radius:22px 22px 0 0;box-shadow:0 16px 36px rgba(12,48,105,.14);overflow:hidden}
.home-final .benefit{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 8px;position:relative;color:var(--navy)}
.home-final .benefit:not(:last-child)::after{content:"";position:absolute;right:0;top:22px;bottom:22px;width:1px;background:var(--line)}
.home-final .benefit svg{width:43px;height:43px;color:var(--blue);margin-bottom:6px}
.home-final .benefit b{font-size:14px;margin-bottom:6px}.home-final .benefit small{font-size:11.5px;line-height:1.35;color:#29466f}
.home-final .booking{position:relative;z-index:3;width:100%;height:100%;border-radius:22px 22px 0 22px;padding:24px 24px 18px;background:#fff;box-shadow:-14px 0 34px rgba(12,48,105,.10);align-self:stretch}
.home-final .booking h2{font-size:29px;line-height:1.05;margin:0;color:var(--navy)}.home-final .booking .sub{font-size:14px;margin:6px 0 15px;color:#415a7d}
.home-final .form-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:10px 12px}.home-final .field.full{grid-column:1/-1}.home-final .field label{display:block;font-size:10px;font-weight:900;margin-bottom:5px;color:var(--navy)}
.home-final .input{width:100%;height:45px;border:1px solid #cedcf1;border-radius:11px;background:#fff;padding:0 12px;font-size:14px;font-weight:800;color:#142d59;min-width:0}
.home-final .timeWheel{display:grid;grid-template-columns:minmax(78px,1fr) 9px minmax(78px,1fr);align-items:center;gap:5px}.home-final .timeWheel span{text-align:center;font-weight:900;color:var(--navy)}
.home-final .vehicle-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:1px}
.home-final .vehicleBtn{height:82px;border:1px solid #d8e4f5;border-radius:13px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--navy);font-weight:900;cursor:pointer;min-width:0}
.home-final .vehicleBtn svg{width:39px!important;height:39px!important;color:var(--blue)!important;stroke:var(--blue)!important;stroke-width:2.8!important}.home-final .vehicleBtn span{font-size:13px}.home-final .vehicleBtn.active{border:2px solid var(--blue);color:var(--blue);background:#f7faff}
.home-final .primary{grid-column:1/-1;height:49px;border:0;border-radius:11px;background:linear-gradient(90deg,#0757ee,#0e66ec);color:#fff;font-size:16px;font-weight:950;cursor:pointer}
.home-final .livebar{width:min(1450px,calc(100% - 40px));max-width:1450px;height:57px;min-height:57px;margin:0 auto 9px;border-radius:0 0 16px 16px;padding:0 20px;background:linear-gradient(90deg,#06265f,#073d94,#06265f);display:flex;align-items:center;gap:14px;color:#fff}
.home-final .lower{height:172px;min-height:172px;display:grid;grid-template-columns:1fr .78fr 1.22fr;background:#fff;border:1px solid #dde8f7;border-radius:16px;overflow:hidden}.home-final .van-photo{min-height:172px;background:url('/assets/navetta-servizio.jpg') center/cover no-repeat}.home-final .shuttle-copy,.home-final .extras{padding:15px 20px}.home-final .trust{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:8px}.home-final .trust-item{min-height:56px;background:#f7faff;border:1px solid #e2ebf8;border-radius:12px;padding:8px 10px;display:flex;align-items:center;gap:8px}.home-final .services-label{pointer-events:none;cursor:default;color:#a2aaba}

/* Conferma: bottone indietro sempre visibile e riepilogo coerente */
.confirm-fit-v22 .back,.offer-fit-v22 .back,.offer-fit-v22 .offerBackTopV17{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 14px!important;margin:0 0 8px!important;border:1px solid #cbd9ed!important;border-radius:12px!important;background:#fff!important;color:#0b214d!important;text-decoration:none!important;font-weight:900!important;position:relative!important;z-index:20!important}
.confirm-fit-v22 .parking-offer-mark{width:54px;height:54px;border-radius:15px;background:#edf4ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}
.confirm-fit-v22 .parking-offer-mark svg{width:40px;height:40px}.confirm-fit-v22 #offerTitle{text-transform:uppercase;font-size:18px;color:#0b214d}.confirm-fit-v22 #vehIcon{font-size:0!important}
.confirm-fit-v22 .summary-offer-row{grid-template-columns:1fr auto!important}

/* Successo più compatto per eliminare lo scroll su notebook */
body.success-fit-v22{overflow-x:hidden}
@media(min-width:951px){body.success-fit-v22{overflow-y:hidden}body.success-fit-v22 main,body.success-fit-v22 .wrap{transform-origin:top center}}

@media(min-width:1051px) and (max-height:900px){body.home-final{zoom:.91}.confirm-fit-v22{zoom:.92}.success-fit-v22{zoom:.9}}
@media(min-width:1051px) and (max-height:800px){body.home-final{zoom:.82}.confirm-fit-v22{zoom:.84}.success-fit-v22{zoom:.82}}
@media(min-width:1051px) and (max-height:720px){body.home-final{zoom:.75}.confirm-fit-v22{zoom:.76}.success-fit-v22{zoom:.74}}

@media(max-width:1050px){
 body.home-final{overflow-y:auto}
 .home-final .home-shell{width:min(94%,760px)}
 .home-final .hero{display:block;height:auto;max-height:none;min-height:0;border-radius:22px;background:#fff}
 .home-final .hero::before{inset:0;background-position:center;background-size:cover}.home-final .hero::after{inset:0;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.38) 55%,rgba(255,255,255,.9))}
 .home-final .left-hero{padding:16px 18px 0}.home-final .brand-row{min-height:175px}.home-final .mascot{width:125px;height:175px}.home-final .brand-title{font-size:clamp(38px,8vw,56px)}.home-final .payoff{font-size:clamp(12px,2.7vw,17px)}
 .home-final .hero-copy{font-size:clamp(34px,7vw,48px);margin-left:5px}.home-final .benefits{height:auto;min-height:340px;grid-template-columns:1fr 1fr;border-radius:22px}.home-final .benefit:nth-child(2)::after{display:none}.home-final .benefit:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .home-final .booking{height:auto;border-radius:22px;padding:20px;margin-top:14px}.home-final .livebar{width:min(94%,760px);border-radius:16px}.home-final .lower{height:auto;grid-template-columns:1fr}.home-final .van-photo{height:220px}.home-final .trust{grid-template-columns:1fr 1fr}.home-final .trust-item:last-child{grid-column:1/-1}
}
@media(max-width:560px){
 .home-final .brand-row{gap:8px}.home-final .mascot{width:112px;height:155px}.home-final .brand-title{font-size:clamp(35px,10vw,48px);letter-spacing:-2px}.home-final .payoff{white-space:nowrap;font-size:clamp(10.5px,2.75vw,13px)}
 .home-final .form-grid{grid-template-columns:1fr}.home-final .field.full,.home-final .vehicle-grid,.home-final .primary{grid-column:1}.home-final .vehicle-grid{grid-template-columns:repeat(2,1fr)}.home-final .live-copy small{display:none}.home-final .live-link{font-size:10px;padding:7px}.home-final .trust{grid-template-columns:1fr}
}
