/* V81h — HOME mappa. Le schede originali restano disponibili al flusso atomico. */
body.ca81h-map-home{overflow:hidden!important}
body.ca81h-map-home #root>[data-area-section="home"],
body.ca81h-map-home #root>.row:has(h2),
body.ca81h-map-home #area-page-title,
body.ca81h-map-home :is(#ca76-fullscreen-wait,#ca-rider-wait,#ca-wait-screen,#ca78-offer-sync,#rider-search-indicator,#ca72-home-wait){display:none!important}
#ca81d-rider-map-panel{position:fixed;top:var(--ca81h-map-top,80px);bottom:var(--ca81h-map-bottom,80px);left:0;right:0;padding:0;z-index:2147483020;isolation:isolate;background:#e9f0ef;overflow:hidden;color:#12354b;font-family:inherit}
#ca81d-rider-map{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;z-index:0}
#ca81d-rider-map-panel .leaflet-control-attribution{font-size:8px;background:#ffffffb0}
#ca81d-rider-map-panel .leaflet-top{top:64px}
#ca81d-rider-map-panel .leaflet-control-zoom{border:0;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #12354b24;margin-right:15px}
#ca81d-rider-map-panel .leaflet-control-zoom a{width:42px;height:42px;line-height:42px;color:#12354b;border-color:#e7edef;background:#fffc}
.ca81h-status{position:absolute;left:16px;top:16px;display:flex;align-items:center;gap:8px;border:1px solid #fff9;border-radius:30px;padding:11px 15px;background:#fffffff0;box-shadow:0 4px 18px #12354b18;font-size:12px;font-weight:800;backdrop-filter:blur(14px)}
.ca81h-status i{width:8px;height:8px;background:#cf4a45;border-radius:50%;box-shadow:0 0 0 4px #cf4a4515}
.ca81h-status.online i{background:#189365;box-shadow:0 0 0 4px #18936518}
.ca81h-reset{position:absolute;right:15px;top:16px;width:44px;height:44px;background:#fffffff2;border:1px solid #fff;border-radius:15px;color:#12354b;font-size:27px;box-shadow:0 4px 18px #12354b18;cursor:pointer}
#ca81d-map-message{position:absolute;left:18px;right:18px;bottom:87px;margin:0;text-align:center;font-size:11px;background:#fffffff0;color:#395263;border-radius:12px;padding:8px;pointer-events:none;box-shadow:0 2px 10px #12354b12}
#ca81d-map-message:empty{display:none}
.ca81h-swipe{position:absolute;left:16px;right:16px;bottom:16px;height:62px;border-radius:22px;background:linear-gradient(120deg,#c43c39,#e15e53);box-shadow:0 8px 24px #943b3b30,inset 0 1px 0 #ffffff55;color:white;border:1px solid #ffffff30;user-select:none;overflow:hidden;transition:background .25s,box-shadow .25s}
.ca81h-swipe.is-online{background:linear-gradient(120deg,#087652,#23a677);box-shadow:0 8px 24px #08765230,inset 0 1px 0 #ffffff55}
.ca81h-swipe-copy{position:absolute;inset:0 40px 0 64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none}
.ca81h-swipe-copy strong{font-size:12px;letter-spacing:1.4px;color:#fff}.ca81h-swipe-copy small{font-size:11px;color:#fff;opacity:.85}
.ca81h-chevrons{position:absolute;right:14px;top:17px;font-size:20px;color:#ffffff90;letter-spacing:1px;pointer-events:none}
.ca81h-swipe>button{position:absolute;top:5px;left:5px;width:52px;height:52px;border:0;border-radius:17px;background:#fff;box-shadow:0 3px 10px #0002;display:grid;place-items:center;touch-action:none;cursor:grab;transition:transform .2s;z-index:2;color:#c54a43;padding:13px}
.ca81h-swipe.is-online>button{color:#108a61}.ca81h-swipe>button svg{width:25px;height:25px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ca81h-swipe.dragging>button{transition:none;cursor:grabbing}.ca81h-swipe.dragging .ca81h-swipe-copy{opacity:.35}
.ca81h-swipe[data-busy="true"]{opacity:.7}.ca81h-swipe>button:focus-visible{outline:3px solid #12354b;outline-offset:-4px}
#ca81d-rider-map-detail{position:absolute;left:12px;right:12px;bottom:91px;max-height:calc(100% - 158px);overflow:auto;overscroll-behavior:contain;display:block;background:#fffffffa;border:1px solid #fff;border-radius:24px;padding:16px;box-shadow:0 12px 40px #12354b30;backdrop-filter:blur(18px);scrollbar-width:thin;box-sizing:border-box}
#ca81d-rider-map-detail:empty{display:none}
.ca81h-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ca81h-sheet-head small{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#82919b}.ca81h-sheet-head h3{font-size:19px;line-height:1.2;margin:5px 0 12px;color:#12354b;letter-spacing:-.4px}
.ca81h-sheet-head>button{flex-shrink:0;width:30px;height:30px;border:0;border-radius:50%;background:#eef2f4;color:#617480;font-size:22px;cursor:pointer}
#ca81d-rider-map-detail .ca81d-pin-detail{padding:0;border:0;border-radius:0;background:transparent}
.ca81h-order-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#657b89}.ca81h-order-meta strong{font-size:22px;color:#108a61;white-space:nowrap;letter-spacing:-.6px}
#ca81d-rider-map-detail p.ca81h-destination{font-size:13px;line-height:1.5;margin:12px 0 8px;padding-left:12px;border-left:3px solid #f47b25}.ca81h-destination b{display:block;font-size:9px;letter-spacing:1px;color:#8796a0;margin-bottom:3px}
#ca81d-rider-map-detail p.ca81h-products{font-size:11px;color:#718391;margin:7px 0;max-height:42px;overflow:auto}
#ca81d-rider-map-detail p.ca81h-cash{display:flex;justify-content:space-between;font-size:12px;margin:8px 0}
#ca81d-rider-map-detail p.ca81h-route-status{font-size:11px;color:#137c5b;background:#edf7f2;border-radius:10px;padding:8px 10px;margin:10px 0}
#ca81d-rider-map-detail [data-accept-id]{display:flex;align-items:center;justify-content:space-between;margin:0;background:linear-gradient(110deg,#ed7021,#fa9540);border-radius:14px;font-size:12px;letter-spacing:.5px;min-height:46px;padding:12px 16px;box-shadow:0 4px 12px #f47b2525}
.ca81h-choices{display:flex;gap:6px;overflow:auto;margin:0 0 12px;padding:2px}
.ca81h-choices button{flex-shrink:0;border:1px solid #e2e9ed;background:#f3f6f7;color:#65808e;border-radius:10px;padding:8px 12px;font-size:11px;font-weight:700;cursor:pointer}.ca81h-choices button.selected{color:#ad5017;background:#fff0e4;border-color:#ffc793}
@media(min-width:700px){.ca81h-swipe{max-width:430px;left:50%;right:auto;width:calc(100% - 32px);transform:translateX(-50%)}#ca81d-rider-map-detail{max-width:430px;left:16px;right:auto;width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.ca81h-swipe,.ca81h-swipe>button{transition:none}}

#ca81d-map-message[role=button]{pointer-events:auto;cursor:pointer;font-weight:700}#ca81d-map-message[role=button]:focus-visible{outline:3px solid #f47b25}
/* Animazione geolocalizzata: nessun overlay che interrompe la mappa. */
.ca81h-arrival-art{position:absolute;left:-42px;bottom:-5px;width:128px;height:154px;pointer-events:none;z-index:3;transform-origin:64px 140px;animation:ca81h-parcel-pop 3.6s var(--ca81h-phase,0ms) both}
.ca81h-arrival-svg{width:128px!important;height:154px!important;overflow:visible;filter:drop-shadow(0 7px 9px #12354b22)}
.ca81h-arrival-halo{position:absolute;width:94px;height:28px;border-radius:50%;left:17px;bottom:0;border:2px solid #f47b25;animation:ca81h-halo 3.6s var(--ca81h-phase,0ms) both}
.ca81h-bag-in{animation:ca81h-bag-in 3.6s var(--ca81h-phase,0ms) both;transform-origin:64px 70px}
.ca81h-flap-left{transform-origin:20px 94px;animation:ca81h-open-left 3.6s var(--ca81h-phase,0ms) both}
.ca81h-flap-right{transform-origin:88px 94px;animation:ca81h-open-right 3.6s var(--ca81h-phase,0ms) both}
.ca81h-seal{animation:ca81h-tape 3.6s var(--ca81h-phase,0ms) both}
.ca81h-new-label{position:absolute;left:50%;bottom:-23px;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:1px;font-weight:900;color:#fff;background:#12354b;border:2px solid #fff;padding:5px 8px;border-radius:9px;box-shadow:0 3px 10px #12354b25}
@keyframes ca81h-parcel-pop{0%{opacity:0;transform:scale(.3)}10%{opacity:1;transform:scale(1.07)}18%,84%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.35)}}
@keyframes ca81h-open-left{0%,8%,75%,100%{transform:rotate(0)}24%,62%{transform:rotate(-115deg)}}
@keyframes ca81h-open-right{0%,10%,78%,100%{transform:rotate(0)}26%,64%{transform:rotate(115deg)}}
@keyframes ca81h-bag-in{0%,24%{opacity:0;transform:translateY(-20px) rotate(-8deg) scale(.8)}34%{opacity:1;transform:translateY(-3px) rotate(4deg) scale(1)}45%{opacity:1;transform:translateY(4px) rotate(-2deg)}64%,100%{opacity:1;transform:translateY(86px) rotate(0)}}
@keyframes ca81h-tape{0%,78%{opacity:0}85%,100%{opacity:.48}}
@keyframes ca81h-halo{0%{opacity:0;transform:scale(.5)}20%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.8)}}
@media(prefers-reduced-motion:reduce){.ca81h-arrival-art{animation:none;transform:scale(.7)}.ca81h-arrival-art *{animation:none!important}.ca81h-bag-in{display:none}.ca81h-arrival-halo{display:none}}
