:root{--blue:#0b63f6;--blue2:#1f7bff;--navy:#071226;--text:#0b132b;--muted:#667085;--line:#dce3ef;--bg:#f4f7fb;--green:#16a34a;--soft:#eef6ff}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}.container{width:min(1180px,92vw);margin:0 auto}.topbar{height:68px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,5vw,70px);box-shadow:0 1px 0 #e9edf5;position:sticky;top:0;z-index:20}.brandText{font-size:clamp(25px,2.4vw,36px);font-weight:950;letter-spacing:-1.8px}.brandText span{color:var(--blue)}.topActions{display:flex;gap:10px;align-items:center}.homeLink,.cancelLink{font-weight:900;color:#0b132b;border:1px solid #dce3ef;border-radius:14px;padding:10px 14px;background:#fff;white-space:nowrap}.wa{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0b132b;border:1px solid #dce3ef;border-radius:999px;padding:9px 14px;font-weight:950;box-shadow:0 8px 24px rgba(0,0,0,.08)}.waSvg{width:24px;height:24px;display:block}.menu{font-size:30px;font-weight:950;line-height:1}
.homeHero{position:relative;min-height:calc(100vh - 68px);padding:20px 0 0;color:#fff;background:linear-gradient(90deg,rgba(5,18,43,.92),rgba(7,39,87,.77)),url('https://images.unsplash.com/photo-1569154941061-e231b4725ef1?auto=format&fit=crop&w=1800&q=75') center/cover;overflow:auto}.homeHero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.10),transparent 28%),radial-gradient(circle at 88% 35%,rgba(31,123,255,.18),transparent 25%)}.heroGrid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}.heroLogo{width:min(315px,42vw);background:#fff;border-radius:19px;padding:12px 16px;box-shadow:0 20px 55px rgba(0,0,0,.25);margin-bottom:16px}.heroLogo img{display:block;max-width:100%;height:auto}.heroTitle{font-size:clamp(42px,4.4vw,62px);line-height:.95;margin:0 0 16px;font-weight:950;letter-spacing:-3px}.live{display:inline-flex;align-items:center;gap:10px;color:#22c55e;font-size:.62em;letter-spacing:-1px}.dot{width:17px;height:17px;background:#22c55e;border-radius:999px;box-shadow:0 0 0 0 rgba(34,197,94,.75);animation:pulse 1.4s infinite}@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(34,197,94,0)}}.mapCard{background:rgba(255,255,255,.94);border-radius:21px;color:#10213d;overflow:hidden;border:1px solid rgba(255,255,255,.5);box-shadow:0 18px 55px rgba(0,0,0,.25)}.fakeMap{height:220px;position:relative;background:linear-gradient(135deg,#f8fbff,#e9f0f8);overflow:hidden}.fakeMap:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(32deg,transparent 0 42px,#d8e3ef 43px 48px),repeating-linear-gradient(110deg,transparent 0 70px,#e2e9f2 71px 76px);opacity:.7}.route{position:absolute;left:26%;top:20%;width:52%;height:65%;border-left:7px dotted var(--blue);border-bottom:7px dotted var(--blue);border-radius:0 0 0 80px;transform:rotate(-25deg)}.pin{position:absolute;padding:10px 13px;border-radius:14px;background:#fff;box-shadow:0 10px 25px rgba(2,20,45,.16);font-weight:950;font-size:13px}.pin.air{left:30%;top:15%}.pin.park{right:10%;bottom:17%}.shuttle{left:52%;top:43%;background:var(--blue);color:#fff}.mapFoot{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;font-weight:850;font-size:13px}.homeFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.fact{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);border-radius:15px;padding:10px 8px;text-align:center;font-weight:900;font-size:14px}.bookingCard{background:#fff;color:var(--text);border-radius:28px;padding:25px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.bookingCard h2{font-size:28px;margin:0 0 6px}.sub{color:#667085;margin:0 0 20px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:950}.input{height:49px;border:1px solid #d8e0ec;border-radius:14px;background:#fff;padding:0 15px;font-weight:850;font-size:15px;width:100%}.input:invalid{color:#98a2b3}.vehicleGrid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vehicleBtn{border:1px solid #d8e0ec;background:#fff;border-radius:15px;height:58px;font-weight:950;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#101828}.vehicleBtn svg{width:24px;height:24px}.vehicleBtn.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,99,246,.1);color:var(--blue)}.primary,.back{border-radius:14px;height:56px;font-weight:950;font-size:16px;cursor:pointer}.primary{border:0;background:linear-gradient(90deg,var(--blue),#0850da);color:#fff;box-shadow:0 14px 30px rgba(11,99,246,.25)}.back{background:#fff;border:1px solid #d8e0ec;color:var(--text);width:100%;margin-top:16px}.homeSteps{position:relative;z-index:1;height:62px;background:#fff;color:#0b132b;display:flex;align-items:center;margin-top:16px}.stepbar{background:#fff;border-bottom:1px solid #e8edf5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 0}.step{display:flex;align-items:center;gap:10px;color:#8a94a6;font-weight:950}.step:after{content:"";height:1px;background:#d8e0ec;flex:1}.step:last-child:after{display:none}.num{width:34px;height:34px;border-radius:999px;background:#e8edf5;display:grid;place-items:center;color:#5b6475}.step.active{color:var(--blue)}.step.done{color:#166534}.step.active .num{background:var(--blue);color:#fff}.step.done .num{background:#16a34a;color:#fff}.page{padding:42px 0 70px}.title{font-size:clamp(30px,4vw,46px);letter-spacing:-1.5px;margin:0 0 8px}.offerGrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}.offerCard{background:#fff;border:2px solid #e1e7f0;border-radius:22px;padding:22px;box-shadow:0 16px 45px rgba(13,32,63,.08);display:flex;flex-direction:column}.offerCard.selected{border-color:var(--blue)}.offerTop{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border-bottom:1px solid #e6ebf2;padding-bottom:16px}.offerIcon{width:72px;height:72px;border-radius:18px;background:#f1f5fb;display:grid;place-items:center;color:#101828}.offerIcon svg{width:43px;height:43px}.offerTop h2{margin:0;font-size:28px}.offerTop p{margin:3px 0 0;color:#667085;font-weight:850}.badge{background:#e9f8ed;color:#166534;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:950;white-space:nowrap}.included{display:flex;gap:18px;border-bottom:1px solid #e6ebf2;padding:16px 0;font-weight:900;flex-wrap:wrap}.compactIncluded{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{color:#16a34a;background:#dcfce7;border-radius:999px;width:24px;height:24px;display:inline-grid;place-items:center;margin-right:7px}.servicesTitle{font-weight:950;margin:16px 0 10px}.servicesLine{display:grid;grid-template-columns:repeat(6,minmax(66px,1fr));gap:9px;align-items:stretch;margin-bottom:16px}.svc{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;border:1px solid #dce3ef;border-radius:13px;padding:8px 4px;background:#fff;min-height:92px}.svc svg{width:21px;height:21px;stroke:var(--blue)}.svc b{font-size:10.5px;line-height:1.08}.svc small{font-size:10px;color:#667085;font-weight:850}.svc input{width:16px;height:16px;margin-top:auto}.svc.on{border-color:var(--blue);background:#f4f8ff}.actionRow{margin-top:auto;border-top:1px solid #e6ebf2;padding-top:16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.payBox,.confirmBoxBtn{border:1px solid #dce3ef;background:#fff;border-radius:16px;padding:15px;text-align:left;cursor:pointer;transition:.18s ease;min-height:108px;color:var(--text);font:inherit}.payBox:hover,.payBox.active,.confirmBoxBtn:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 14px 30px rgba(11,99,246,.13)}.payBox.online.active{border-color:#16a34a}.payBox h4{margin:0 0 8px;font-size:15px}.payBox .price{font-size:25px}.confirmBoxBtn{text-align:center;font-weight:950;font-size:17px;display:flex;align-items:center;justify-content:center}.price{font-size:30px;font-weight:950}.old{text-decoration:line-through;color:#667085;font-weight:800}.discount{background:#dff7e6;color:#15803d;border-radius:999px;padding:4px 8px;font-weight:950}.pageBack{width:100%;margin-top:18px}.summaryLayout{display:grid;grid-template-columns:1.3fr .7fr;gap:26px}.dataCard,.summary,.confirmBox{background:#fff;border:1px solid #e1e7f0;border-radius:22px;padding:26px;box-shadow:0 16px 45px rgba(13,32,63,.08)}.dataGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.summary{position:sticky;top:90px;height:max-content}.summary h2{margin-top:0}.summaryLine{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #eef2f7;padding:12px 0}.total{font-size:36px;color:var(--blue);font-weight:950;text-align:right;margin-top:22px}.tiny{color:#667085;font-size:13px}.success{width:60px;height:60px;border-radius:999px;background:#dcfce7;color:#16a34a;display:grid;place-items:center;font-size:34px;margin:auto}.barcode{font-family:monospace;font-size:58px;letter-spacing:-6px;margin-top:20px}.voucher{background:#fff;border-radius:22px;overflow:hidden;border:1px solid #dce3ef;box-shadow:0 16px 45px rgba(13,32,63,.12);margin-top:22px}.voucherHead{display:flex;justify-content:space-between;gap:18px;background:#0b63f6;color:#fff;padding:18px 22px;font-weight:950}.voucherBody{padding:20px 22px;display:grid;grid-template-columns:1fr 140px;gap:20px}.qr{width:130px;height:130px;background:repeating-linear-gradient(45deg,#000 0 6px,#fff 6px 12px);border:10px solid #fff;box-shadow:0 0 0 1px #dce3ef}.voucherActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.miniBtn{border:1px solid #dce3ef;background:#fff;border-radius:12px;padding:10px 12px;font-weight:900}.cardPay .input{background:#fff}
@media(min-width:901px) and (max-height:760px){.homeHero{min-height:610px}.heroLogo{width:260px;margin-bottom:10px}.heroTitle{font-size:48px}.fakeMap{height:185px}.homeFacts{display:none}.bookingCard{padding:20px}.input{height:44px}.vehicleBtn{height:52px}.formGrid{gap:9px}.bookingCard h2{font-size:24px}.sub{margin-bottom:8px}.homeSteps{height:54px}.mapFoot{font-size:12px}.pin{font-size:12px}.topbar{height:62px}.homeHero{min-height:calc(100vh - 62px)}}
@media(max-width:900px){.topbar{height:72px;padding:0 14px}.brandText{font-size:25px;white-space:nowrap}.homeLink,.cancelLink{display:none}.wa{padding:8px 11px}.wa span{font-size:13px}.menu{font-size:28px}.homeHero{height:auto;overflow:visible;padding:20px 0 0}.heroGrid{grid-template-columns:1fr;gap:22px}.heroLogo{width:100%;max-width:330px}.heroTitle{font-size:44px}.fakeMap{height:220px}.homeFacts{grid-template-columns:1fr 1fr 1fr}.fact{font-size:12px;padding:10px 6px}.bookingCard{padding:22px}.formGrid{grid-template-columns:1fr;gap:12px}.vehicleGrid{grid-template-columns:repeat(4,1fr)}.vehicleBtn{font-size:12px;flex-direction:column;height:66px}.homeSteps{height:auto;padding:10px 0;overflow:auto}.steps{display:flex;min-width:max-content;padding:14px 0}.step{min-width:150px}.page{padding:30px 0 50px}.offerGrid{grid-template-columns:1fr}.offerTop{grid-template-columns:auto 1fr}.badge{grid-column:1/-1;width:max-content}.compactIncluded{grid-template-columns:1fr}.servicesLine{display:flex;overflow-x:auto;padding-bottom:8px}.svc{min-width:82px}.actionRow{grid-template-columns:1fr}.payBox,.confirmBoxBtn{min-height:82px}.summaryLayout{grid-template-columns:1fr}.summary{position:static}.dataGrid{grid-template-columns:1fr}.voucherBody{grid-template-columns:1fr}.qr{margin:auto}.mapFoot{font-size:12px}.container{width:min(94vw,1180px)}}
@media(max-width:420px){.brandText{font-size:22px}.heroTitle{font-size:38px}.homeFacts{grid-template-columns:1fr}.vehicleGrid{grid-template-columns:repeat(2,1fr)}.bookingCard h2{font-size:24px}}
.areaLink{font-weight:900;color:#0b132b;border:1px solid #dce3ef;border-radius:14px;padding:10px 14px;background:#fff;white-space:nowrap}.areaPanel{max-width:720px}.areaHeader{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:24px 0 16px}.bookingList{display:grid;gap:16px}.bookingItem{background:#fff;border:1px solid #dce3ef;border-radius:20px;padding:20px;box-shadow:0 14px 40px rgba(13,32,63,.08)}.bookingTitle{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #eef2f7;padding-bottom:12px}.bookingTitle b{font-size:22px}.bookingTitle span{display:block;width:max-content;margin-top:6px;background:#dcfce7;color:#166534;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px}.bookingMeta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;color:#344054;font-weight:850}.bookingServices{background:#f8fbff;border:1px solid #e6edf7;border-radius:14px;padding:12px;color:#344054}@media(max-width:900px){.areaLink{display:none}.bookingMeta{grid-template-columns:1fr}.areaHeader{align-items:flex-start;flex-direction:column}}

.formActions{display:grid;grid-template-columns:180px 1fr;gap:12px;margin-top:22px;align-items:center}.formActions .primary,.formActions .back{margin:0;height:48px;font-size:15px}.compactBack{width:100%}.premiumSummary{border:1px solid rgba(11,99,246,.18);background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 22px 55px rgba(8,38,82,.12)}.summaryHead{display:flex;gap:14px;align-items:center;border-bottom:1px solid #e8eef7;padding-bottom:16px;margin-bottom:8px}.summaryHead h2{margin:0;font-size:28px;letter-spacing:-.6px}.summaryHead p{margin:3px 0 0;color:#667085;font-weight:850}.summaryIcon{width:58px;height:58px;border-radius:17px;background:#eef6ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.summaryIcon svg{width:34px;height:34px}.summaryBox{background:#fff;border:1px solid #edf2f7;border-radius:16px;padding:6px 14px;margin-top:14px}.greenLine b{color:#16a34a}.totalLabel{text-align:right;color:#667085;font-weight:900;margin-top:18px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
@media(max-width:700px){.formActions{grid-template-columns:1fr 1fr}.formActions .primary,.formActions .back{height:46px;font-size:14px}}

/* ultime modifiche home + orari */
.live .dot{background:#ef233c;box-shadow:0 0 0 0 rgba(239,35,60,.65);animation:pulseRed 1.35s infinite}
.live{color:#ef233c}
@keyframes pulseRed{0%{box-shadow:0 0 0 0 rgba(239,35,60,.55)}70%{box-shadow:0 0 0 12px rgba(239,35,60,0)}100%{box-shadow:0 0 0 0 rgba(239,35,60,0)}}
.heroLogo{width:min(430px,48vw);padding:18px 22px;border-radius:24px;margin-bottom:22px}
.heroTitle{margin:0 0 16px}
.mapCard{max-width:720px}
.fakeMap{height:240px}
.timeWheel{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.timeWheel span{font-size:22px;font-weight:950;color:#0b132b}
.timeWheel .input{padding:0 10px;text-align:center}
.homeHero{background:linear-gradient(90deg,rgba(5,18,43,.88),rgba(7,39,87,.72)),url('https://images.unsplash.com/photo-1542296332-2e4473faf563?auto=format&fit=crop&w=1800&q=78') center/cover;}
.homeHero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,43,.22),rgba(5,18,43,.05));pointer-events:none}
@media(min-width:901px) and (max-height:760px){.heroLogo{width:350px}.fakeMap{height:205px}.heroTitle{font-size:46px}}
@media(max-width:900px){.heroLogo{width:100%;max-width:380px}.fakeMap{height:210px}.timeWheel{grid-template-columns:1fr auto 1fr}}

/* REVISIONE HOME RESPONSIVE + MAPPA LIVE */
.homeHeroV2{
  min-height:calc(100vh - 68px);
  padding:18px 0 0;
  color:#fff;
  overflow-y:auto;
  background:
    linear-gradient(90deg,rgba(4,18,42,.90),rgba(6,45,98,.74)),
    url('https://images.unsplash.com/photo-1542296332-2e4473faf563?auto=format&fit=crop&w=1800&q=78') center/cover;
}
.homeHeroV2:before{content:"✈";position:absolute;right:7vw;top:9vh;font-size:170px;line-height:1;color:rgba(255,255,255,.10);transform:rotate(-14deg);font-weight:900;z-index:0;pointer-events:none}
.homeHeroV2:after{content:"";position:absolute;left:2vw;bottom:8vh;width:520px;height:240px;background:url('assets/logo-mark.png') center/contain no-repeat;opacity:.07;filter:grayscale(1) brightness(3);z-index:0;pointer-events:none}
.heroGridV2{grid-template-columns:minmax(320px,.72fr) minmax(430px,1fr);gap:34px;align-items:stretch;min-height:0}
.heroLeftV2{display:grid;grid-template-rows:auto auto 1fr;gap:12px;align-self:stretch;min-height:0}
.heroLogoV2{width:min(360px,100%);max-width:58%;padding:16px 18px;border-radius:24px;margin:0;background:#fff;box-shadow:0 24px 68px rgba(0,0,0,.30)}
.mapTitleV2{font-size:clamp(18px,1.45vw,23px);font-weight:950;letter-spacing:-.4px;display:flex;align-items:center;gap:12px;margin-top:2px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.24)}
.liveRed{font-size:.86em;color:#ef233c;background:#fff;border-radius:999px;padding:5px 10px;text-shadow:none;font-weight:950}.liveRed .dot{width:11px;height:11px;background:#ef233c}
.mapCardV2{display:block;height:100%;min-height:235px;border-radius:24px;transition:.18s ease}.mapCardV2:hover{transform:translateY(-3px);box-shadow:0 26px 70px rgba(0,0,0,.34)}
.fakeMapV2{height:calc(100% - 44px);min-height:205px}.openMapHint{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.94);border:1px solid #dce3ef;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950;color:#0b63f6;box-shadow:0 10px 25px rgba(2,20,45,.15);opacity:0;transform:translateY(-4px);transition:.18s ease}.mapCardV2:hover .openMapHint{opacity:1;transform:translateY(0)}
.bookingCardV2{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:0;border-radius:30px;border:1px solid rgba(255,255,255,.45)}
.bookingCardV2 .formGrid{margin-top:12px}.bookingCardV2 h2{font-size:clamp(27px,2.2vw,34px);letter-spacing:-.8px}.bookingCardV2 .sub{margin-bottom:10px}.bookingCardV2 .primary{height:52px}.bookingCardV2 .input{height:47px}.bookingCardV2 .vehicleBtn{height:54px}
.homeFactsV2{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px;margin-bottom:12px}.homeFactsV2 .fact{background:rgba(255,255,255,.96);color:#10213d;border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 30px rgba(0,0,0,.14);font-size:13px;border-radius:16px;white-space:nowrap;padding:11px 8px}
.homeHeroV2 .homeSteps{margin-top:0;height:56px;background:rgba(255,255,255,.97)}

@media(min-width:901px){
  .homeHeroV2 .heroGridV2{height:min(600px,calc(100vh - 220px));min-height:485px}
}
@media(min-width:901px) and (max-height:760px){
  .homeHeroV2{padding-top:12px}.homeHeroV2 .heroGridV2{height:450px;min-height:450px}.heroLogoV2{max-width:55%;padding:12px 14px}.mapTitleV2{font-size:18px}.fakeMapV2{min-height:180px}.bookingCardV2{padding:18px}.bookingCardV2 .input{height:42px}.bookingCardV2 .vehicleBtn{height:48px}.homeFactsV2{margin-top:9px}.homeFactsV2 .fact{font-size:12px;padding:9px 5px}.homeHeroV2 .homeSteps{height:48px}.homeHeroV2 .steps{padding:10px 0}.homeHeroV2:before{font-size:125px}
}
@media(max-width:900px){
  .homeHeroV2{padding:16px 0 0;min-height:calc(100vh - 72px);overflow-y:auto}.homeHeroV2:before{font-size:105px;right:4vw;top:12vh}.homeHeroV2:after{width:300px;height:140px;left:-40px;bottom:250px}.heroGridV2{grid-template-columns:1fr;gap:14px}.heroLeftV2{grid-template-rows:auto auto auto}.heroLogoV2{max-width:100%;width:100%;padding:14px 16px}.mapTitleV2{font-size:18px;justify-content:center}.mapCardV2{height:auto;min-height:0}.fakeMapV2{height:190px;min-height:190px}.bookingCardV2{padding:18px;border-radius:22px;order:2}.heroLeftV2{order:1}.homeFactsV2{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.homeFactsV2 .fact{font-size:11.5px;white-space:normal;min-height:46px;display:grid;place-items:center;padding:8px 5px}.homeFactsV2 .fact:nth-child(4){grid-column:1/3}.homeFactsV2 .fact:nth-child(5){grid-column:3/4}.homeHeroV2 .vehicleGrid{grid-template-columns:repeat(4,1fr)}.homeHeroV2 .vehicleBtn{height:58px;font-size:11px;gap:3px}.homeHeroV2 .vehicleBtn svg{width:21px;height:21px}.homeHeroV2 .homeSteps{height:auto;overflow-x:auto}.homeHeroV2 .step{min-width:130px}.openMapHint{opacity:1;top:auto;bottom:12px}
}
@media(max-width:430px){
  .topActions{gap:6px}.brandText{font-size:20px}.wa{padding:7px 9px}.homeHeroV2{padding-top:10px}.bookingCardV2{padding:14px}.bookingCardV2 h2{font-size:23px}.bookingCardV2 .input{height:43px;font-size:13px}.timeWheel span{font-size:18px}.homeFactsV2{grid-template-columns:repeat(2,1fr)}.homeFactsV2 .fact:nth-child(4),.homeFactsV2 .fact:nth-child(5){grid-column:auto}.homeFactsV2 .fact:nth-child(5){grid-column:1/3}.fakeMapV2{height:160px;min-height:160px}.mapFoot{display:none}.pin{font-size:10px;padding:7px 9px}.pin.air{left:18%;top:12%}.pin.park{right:5%;bottom:12%}.shuttle{left:45%;top:41%}.homeHeroV2 .vehicleBtn{height:54px}.homeHeroV2 .vehicleBtn span{font-size:10px}.homeHeroV2 .vehicleBtn svg{width:19px;height:19px}
}

/* FIX layout home richiesto: logo grande, mappa piccola, preventivo ampio */
@media(min-width:901px){
  .homeHeroV2 .heroGridV2{
    grid-template-columns:minmax(520px,.96fr) minmax(470px,.92fr);
    gap:38px;
    align-items:stretch;
    height:min(620px,calc(100vh - 205px));
    min-height:500px;
  }
  .heroLeftV2{
    grid-template-rows:220px auto 1fr;
    align-content:stretch;
  }
  .heroLogoV2{
    width:100%;
    max-width:none;
    height:220px;
    display:grid;
    place-items:center;
    padding:24px 34px;
    border-radius:26px;
  }
  .heroLogoV2 img{max-height:175px;max-width:92%;object-fit:contain}
  .mapTitleV2{font-size:22px;margin:0;justify-content:flex-start}
  .mapCardV2{
    width:58%;
    min-height:0;
    height:100%;
    align-self:stretch;
  }
  .fakeMapV2{height:calc(100% - 44px);min-height:125px}
  .bookingCardV2{
    min-height:500px;
    padding:30px;
  }
}
@media(min-width:901px) and (max-height:760px){
  .homeHeroV2 .heroGridV2{height:470px;min-height:470px}
  .heroLeftV2{grid-template-rows:185px auto 1fr}.heroLogoV2{height:185px}.heroLogoV2 img{max-height:145px}.mapCardV2{width:58%}.fakeMapV2{min-height:110px}
}
@media(max-width:900px){
  .heroLogoV2{height:auto;min-height:150px;display:grid;place-items:center}.heroLogoV2 img{max-height:120px;object-fit:contain}.mapCardV2{width:100%}
}

/* Sfondo premium per step interni senza toccare logica */
body.offersPage, body.confirmPage, body.finalPage, body.areaPage, body.cancelPage{
  background:
    linear-gradient(180deg,rgba(245,248,253,.93),rgba(238,244,252,.96)),
    url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=70') center/cover fixed;
}
body.confirmPage{
  background:
    linear-gradient(180deg,rgba(245,248,253,.94),rgba(238,244,252,.97)),
    url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=1800&q=70') center/cover fixed;
}
body.offersPage .page, body.confirmPage .page, body.finalPage .page, body.areaPage .page, body.cancelPage .page{background:transparent}
body.offersPage .offerCard, body.confirmPage .dataCard, body.confirmPage .summary, body.finalPage .voucher, body.areaPage .bookingItem, body.cancelPage .dataCard{
  backdrop-filter:blur(8px);
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 70px rgba(8,38,82,.13);
}
body.offersPage .offerCard{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
body.offersPage .offerCard:hover{transform:translateY(-4px);border-color:rgba(11,99,246,.45);box-shadow:0 28px 82px rgba(8,38,82,.18)}

/* === REVISIONE PREMIUM richiesta: home logo/mappa + riepilogo ricco === */
@media(min-width:901px){
  .homeHeroV2 .heroGridV2{
    grid-template-columns:minmax(560px,1fr) minmax(520px,.96fr) !important;
    gap:46px !important;
    height:min(645px,calc(100vh - 190px)) !important;
    min-height:530px !important;
    align-items:stretch !important;
  }
  .heroLeftV2{
    grid-template-rows:260px auto 1fr !important;
    gap:14px !important;
  }
  .heroLogoV2{
    width:100% !important;
    max-width:none !important;
    height:260px !important;
    padding:28px 46px !important;
    border-radius:30px !important;
  }
  .heroLogoV2 img{max-height:205px !important;max-width:96% !important;object-fit:contain !important;}
  .mapTitleV2{font-size:23px !important;margin-top:0 !important;}
  .mapCardV2{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-width:none !important;
    border-radius:26px !important;
  }
  .fakeMapV2{height:calc(100% - 44px) !important;min-height:165px !important;}
  .bookingCardV2{
    min-height:530px !important;
    padding:36px !important;
    border-radius:32px !important;
  }
  .bookingCardV2 h2{font-size:34px !important;}
  .bookingCardV2 .input{height:52px !important;}
  .bookingCardV2 .vehicleBtn{height:60px !important;}
  .bookingCardV2 .primary{height:58px !important;}
}
@media(min-width:901px) and (max-height:760px){
  .homeHeroV2 .heroGridV2{height:500px !important;min-height:500px !important;}
  .heroLeftV2{grid-template-rows:210px auto 1fr !important;}
  .heroLogoV2{height:210px !important;padding:18px 34px !important;}
  .heroLogoV2 img{max-height:165px !important;}
  .bookingCardV2{min-height:500px !important;padding:26px !important;}
  .fakeMapV2{min-height:130px !important;}
}
@media(max-width:900px){
  .heroLogoV2{min-height:185px !important;padding:20px 24px !important;border-radius:26px !important;}
  .heroLogoV2 img{max-height:150px !important;max-width:94% !important;}
  .mapCardV2{width:100% !important;}
  .bookingCardV2{width:100% !important;}
}

/* Sfondi sezioni più professionali e coerenti */
body.offersPage{
  background:
    linear-gradient(135deg,rgba(244,248,255,.94),rgba(237,244,255,.96)),
    radial-gradient(circle at 12% 10%,rgba(11,99,246,.18),transparent 28%),
    url('https://images.unsplash.com/photo-1506521781263-d8422e82f27a?auto=format&fit=crop&w=1800&q=72') center/cover fixed !important;
}
body.confirmPage, body.finalPage{
  background:
    linear-gradient(135deg,rgba(244,248,255,.94),rgba(237,244,255,.96)),
    radial-gradient(circle at 78% 4%,rgba(11,99,246,.16),transparent 30%),
    url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=1800&q=72') center/cover fixed !important;
}
body.offersPage .page, body.confirmPage .page, body.finalPage .page{background:transparent !important;}
body.offersPage .offerCard, body.confirmPage .dataCard, body.confirmPage .richSummary, body.finalPage .dataCard, body.finalPage .richSummary{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(11,99,246,.12) !important;
  box-shadow:0 26px 80px rgba(9,39,88,.15) !important;
}

/* Riepilogo più ricco */
.richSummary{padding:0 !important;overflow:hidden;border-radius:26px !important;position:sticky;top:92px;align-self:start;}
.summaryTopBrand{padding:18px 22px;background:linear-gradient(90deg,#071226,#0b63f6);color:#fff;font-size:23px;font-weight:950;letter-spacing:-1px}.summaryTopBrand span{color:#72b7ff}
.richOffer{display:flex;gap:14px;align-items:center;padding:20px 22px 14px}.richOffer h2{margin:0;font-size:26px;letter-spacing:-.8px}.richOffer p{margin:4px 0 0;color:#667085;font-weight:800}.richOffer .summaryIcon{width:62px;height:62px;border-radius:20px;background:#eef6ff;color:#0b63f6;display:grid;place-items:center;flex:0 0 auto}.richOffer .summaryIcon svg{width:36px;height:36px}
.richTimeline{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 22px 16px}.richTimeline div{background:#f5f9ff;border:1px solid #dbeafe;border-radius:16px;padding:13px}.richTimeline span{display:block;color:#667085;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.richTimeline b{display:block;margin-top:5px;font-size:14px;color:#0b132b}
.richIncluded{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 22px 16px}.richIncluded span{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:9px 10px;text-align:center;font-weight:950;font-size:12px}
.richBlock{padding:0 22px 16px}.richBlock h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#667085;margin:0 0 10px}.paySummary{display:flex;align-items:center;gap:10px;border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:13px 14px}.paySummary span{font-size:24px}.paySummary b{font-size:16px}
.richService{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;border:1px solid #e4ebf7;border-radius:15px;padding:10px 12px;margin-bottom:8px;background:#fff}.richServiceIcon{width:42px;height:42px;border-radius:13px;background:#eef6ff;color:#0b63f6;display:grid;place-items:center}.richServiceIcon svg{width:24px;height:24px}.richService b{display:block;font-size:14px}.richService small{display:block;color:#667085;font-weight:800;margin-top:2px}.richService strong{font-size:14px;color:#0b132b}.richEmpty{border:1px dashed #cdd8ea;border-radius:14px;padding:13px;color:#667085;font-weight:850;background:#fbfdff}
.richPriceBox{margin:0 22px 18px !important;padding:12px 14px !important;border-radius:16px !important;background:#fbfdff !important}.richTotal{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 22px;background:#f4f8ff;border-top:1px solid #dbeafe}.richTotal span{font-weight:950;color:#667085;text-transform:uppercase;letter-spacing:.08em}.richTotal strong{font-size:34px;color:#0b63f6;letter-spacing:-1.2px}
@media(max-width:900px){.richSummary{position:static}.richTimeline,.richIncluded{grid-template-columns:1fr}.richTotal strong{font-size:28px}}

/* Offerte: card più curate */
.offerCard{border-radius:28px !important}.offerTop{align-items:center}.serviceLine,.servicesLine{scrollbar-width:thin}.confirmBoxBtn{background:#fff !important;color:#0b63f6 !important;border:1px solid #cfe0ff !important;box-shadow:none !important}.confirmBoxBtn:hover{transform:translateY(-3px);border-color:#0b63f6 !important;box-shadow:0 18px 36px rgba(11,99,246,.16) !important}

/* PATCH responsive header/menu + mobile leggibile */
html,body{max-width:100%;overflow-x:hidden}.areaLink{display:inline-flex;align-items:center;gap:7px;font-weight:950;color:#0b132b;border:1px solid #dce3ef;border-radius:999px;padding:9px 13px;background:#fff;white-space:nowrap}.userIcon{font-size:17px;line-height:1}.menuDrop{position:relative}.menuDrop summary{list-style:none;cursor:pointer}.menuDrop summary::-webkit-details-marker{display:none}.dropPanel{position:absolute;right:0;top:46px;min-width:230px;background:#fff;border:1px solid #dce3ef;border-radius:18px;box-shadow:0 22px 55px rgba(7,18,38,.18);padding:8px;z-index:60}.dropPanel a{display:block;padding:13px 14px;border-radius:12px;font-weight:900;color:#0b132b}.dropPanel a:hover{background:#f4f8ff;color:#0b63f6}.homeLink,.cancelLink{display:none!important}
@media(max-width:900px){
  .topbar{height:72px;padding:0 18px;gap:10px}.brandText{font-size:25px;letter-spacing:-1.5px}.topActions{gap:8px}.wa{padding:8px 11px}.waSvg{width:24px;height:24px}.areaLink{padding:8px 10px}.areaLink span:last-child{display:none}.menu{font-size:34px}.dropPanel{right:0;top:48px}.steps{display:flex;gap:14px;overflow-x:auto;padding:16px 0}.step{flex:0 0 auto}.step:after{display:none}.num{width:44px;height:44px;font-size:18px}.step span:last-child{font-size:16px;white-space:nowrap}.page{padding:28px 0 55px}.title{font-size:36px;line-height:1.05}.offerGrid{grid-template-columns:1fr!important;gap:20px}.offerCard{padding:18px!important;border-radius:26px!important;width:100%;min-width:0}.offerTop{grid-template-columns:auto 1fr;gap:14px}.offerTop .badge{grid-column:1/-1;width:max-content}.offerIcon{width:82px;height:82px;border-radius:20px}.offerTop h2{font-size:38px;letter-spacing:-1.4px}.offerTop p{font-size:21px}.included{display:grid;grid-template-columns:1fr;gap:12px;font-size:22px}.compactIncluded{grid-template-columns:1fr}.servicesTitle{font-size:22px}.servicesLine{display:flex!important;gap:14px;overflow-x:auto;padding:3px 2px 14px;margin-left:0;margin-right:0;scroll-snap-type:x proximity}.svc{flex:0 0 118px;min-height:150px;padding:14px 8px;scroll-snap-align:start}.svc svg{width:28px;height:28px}.svc b{font-size:16px}.svc small{font-size:15px}.svc input{width:28px;height:28px}.actionRow{grid-template-columns:1fr!important}.payBox,.confirmBoxBtn{min-height:96px}.payBox h4{font-size:18px}.payBox .price{font-size:30px}.confirmBoxBtn{font-size:20px}.summaryLayout{grid-template-columns:1fr}.dataGrid{grid-template-columns:1fr}.voucherBody{grid-template-columns:1fr}.homeFactsV2{grid-template-columns:repeat(2,1fr)!important}.homeFactsV2 .fact{min-height:48px}.bookingCardV2{max-width:100%}.formGrid{grid-template-columns:1fr}.vehicleGrid{grid-template-columns:repeat(2,1fr)}.timeWheel{grid-template-columns:1fr auto 1fr}.input{min-width:0}
}
@media(max-width:420px){.brandText{font-size:22px}.wa span{display:none}.wa{padding:8px}.areaLink{padding:8px}.topbar{padding:0 14px}.offerTop h2{font-size:34px}.offerTop p{font-size:19px}.title{font-size:32px}.svc{flex-basis:108px}.included{font-size:20px}}
/* riepilogo più pulito: ogni voce ha la sua icona, senza doppioni */
.paySummary span svg{width:28px;height:28px;stroke:#0b63f6}.richDiscount .richServiceIcon{background:#eafaf0;color:#16a34a}.richDiscount strong{color:#16a34a}.richBlock .richService:last-child{margin-bottom:0}.richTotal{border-top:1px solid #e8eef7;margin-top:12px;padding-top:18px}.confirmBoxBtn{letter-spacing:.1px}


/* PATCH: mobile step sempre leggibili + servizi in due righe + riepilogo senza riga vuota */
@media(max-width:900px){
  .steps{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:6px !important;
    overflow:visible !important;
    padding:12px 0 !important;
  }
  .step{
    flex:initial !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    min-width:0 !important;
    text-align:center !important;
  }
  .step:after{display:none!important;}
  .num{width:38px!important;height:38px!important;font-size:16px!important;flex:0 0 auto!important;}
  .step span:last-child{
    display:block !important;
    font-size:12px!important;
    line-height:1.05!important;
    white-space:normal!important;
    max-width:92px!important;
  }
  .servicesLine{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    overflow:visible!important;
    padding:0!important;
    margin:0 0 16px!important;
    scroll-snap-type:none!important;
  }
  .svc{
    min-width:0!important;
    flex:initial!important;
    min-height:118px!important;
    padding:10px 6px!important;
  }
  .svc svg{width:24px!important;height:24px!important;}
  .svc b{font-size:13px!important;line-height:1.05!important;}
  .svc small{font-size:12px!important;}
  .svc input{width:22px!important;height:22px!important;}
  .richEmpty{display:none!important;}
}
@media(max-width:420px){
  .steps{gap:3px!important;}
  .num{width:34px!important;height:34px!important;font-size:15px!important;}
  .step span:last-child{font-size:11px!important;max-width:78px!important;}
  .servicesLine{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
  .svc{min-height:112px!important;padding:9px 4px!important;}
  .svc b{font-size:12px!important;}
  .svc small{font-size:11px!important;}
}
