/* Patch 0445 - gesti touch confinati alla mappa su Safari/iOS. */
.atlas-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(48px,6vw,82px) 0;background:linear-gradient(180deg,#edf6f7 0%,#f8fbfb 100%);color:#12384c}
.atlas-section:before{content:"";position:absolute;z-index:-1;width:420px;height:420px;left:-230px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(16,151,165,.16),transparent 70%);pointer-events:none}
.atlas-section--page{min-height:calc(100vh - 190px);max-width:100%;overflow:clip}
.atlas-section--page .wrap,.atlas-experience,.atlas-map-panel{min-width:0;max-width:100%}
.atlas-section [hidden]{display:none!important}
.atlas-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}
.atlas-heading>div{max-width:820px}
.atlas-kicker{display:block;margin-bottom:8px;color:#d98413;font-size:.76rem;font-weight:900;letter-spacing:.19em}
.atlas-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.15rem,4.7vw,4.2rem);line-height:1.03;letter-spacing:-.025em;color:#10384c}
.atlas-heading p{max-width:760px;margin:14px 0 0;color:#58717d;font-size:clamp(1rem,1.4vw,1.16rem)}
.atlas-open-link{flex:0 0 auto;white-space:nowrap}
.atlas-home-mobile-link{display:none}
.atlas-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.atlas-home-card{min-width:0;overflow:hidden;border:1px solid #cfe0e4;border-radius:20px;background:#fff;color:#12384c;text-decoration:none;box-shadow:0 14px 36px rgba(12,53,69,.09);transition:transform .2s ease,box-shadow .2s ease}
.atlas-home-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(12,53,69,.14)}
.atlas-home-image{position:relative;height:150px;overflow:hidden;background:#dce9ed}
.atlas-home-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.atlas-home-image span{position:absolute;left:12px;bottom:12px;display:grid;width:30px;height:30px;place-items:center;border:2px solid #fff;border-radius:50%;background:#0b8398;color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 5px 14px rgba(0,35,48,.25)}
.atlas-home-card>div:last-child{display:flex;min-height:132px;flex-direction:column;padding:16px}
.atlas-home-card small{color:#d98413;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atlas-home-card strong{display:-webkit-box;margin-top:7px;overflow:hidden;font-family:Georgia,serif;font-size:1.12rem;line-height:1.18;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.atlas-home-card em{margin-top:auto;padding-top:11px;color:#68808a;font-size:.8rem;font-style:normal;font-weight:700}
.atlas-filters{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;margin:0 0 18px;padding:2px}
.atlas-filters::-webkit-scrollbar,.atlas-destination-strip::-webkit-scrollbar{display:none}
.atlas-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;flex:0 0 auto;border:1px solid #bfd5da;border-radius:999px;padding:9px 16px;background:#fff;color:#254b5d;font:inherit;font-weight:800;cursor:pointer}
.atlas-filters button span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#e8f1f3;font-size:.76rem}
.atlas-filters button.is-active{border-color:#f2a12f;background:#f7aa3b;color:#153442;box-shadow:0 8px 22px rgba(226,143,25,.18)}
.atlas-mobile-intro{display:none}
.atlas-experience{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,382px);gap:22px;align-items:stretch}
.atlas-map-panel,.atlas-detail-card{min-width:0;border:1px solid #c9dde1;border-radius:24px;background:#fff;box-shadow:0 22px 56px rgba(12,53,69,.12)}
.atlas-map-panel{display:flex;flex-direction:column;padding:12px}
.atlas-map-stage{position:relative;width:100%;height:clamp(220px,43vw,560px);overflow:hidden;border-radius:17px;background:#063d52}
.atlas-map-canvas{display:block;width:100%;height:100%;overflow:hidden;cursor:grab;touch-action:none;user-select:none}
.atlas-map-canvas.is-dragging{cursor:grabbing}
.atlas-map-ocean,.atlas-world-image{pointer-events:none}
.atlas-world-image{image-rendering:auto}
.atlas-map-rim{fill:none;stroke:rgba(207,240,239,.45);stroke-width:2;pointer-events:none;vector-effect:non-scaling-stroke}
.atlas-svg-markers{isolation:isolate}
.atlas-svg-point,.atlas-svg-cluster{cursor:pointer;outline:none}
.atlas-svg-point-hit{fill:transparent}
.atlas-svg-point-ring{fill:rgba(244,163,51,.2);stroke:#ffe1ad}
.atlas-svg-point-core{fill:#f4a333;stroke:#fff;filter:url(#atlasGlow0439)}
.atlas-svg-point--past .atlas-svg-point-ring{fill:rgba(49,170,145,.2);stroke:#a8f0df}
.atlas-svg-point--past .atlas-svg-point-core{fill:#31aa91}
.atlas-svg-point--inactive .atlas-svg-point-ring{fill:rgba(218,232,235,.22);stroke:#e9f4f5}
.atlas-svg-point--inactive .atlas-svg-point-core{fill:#7897a1}
.atlas-svg-point.is-indicative .atlas-svg-point-ring{stroke-dasharray:4 3}
.atlas-svg-point.is-selected .atlas-svg-point-ring{fill:rgba(255,255,255,.32);stroke:#fff}
.atlas-svg-point.is-selected .atlas-svg-point-core{fill:#fff;stroke:#f4a333;filter:url(#atlasGlow0439)}
.atlas-svg-point:focus .atlas-svg-point-ring,.atlas-svg-cluster:focus .atlas-svg-cluster-core{stroke:#fff;stroke-width:3}
.atlas-svg-cluster-halo{fill:rgba(255,188,89,.2);stroke:none}
.atlas-svg-cluster-core{fill:#ffb64b;stroke:#fff;filter:url(#atlasGlow0439)}
.atlas-svg-cluster text{fill:#12384c;font-family:Arial,sans-serif;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.atlas-svg-spider-line{stroke:rgba(255,255,255,.62);stroke-dasharray:3 3;pointer-events:none}
.atlas-svg-origin{pointer-events:none}
.atlas-svg-origin circle{fill:#0f6e83;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:url(#atlasGlow0439)}
.atlas-svg-origin text{fill:#fff;font-family:Arial,sans-serif;font-weight:800;paint-order:stroke;stroke:#08384b;stroke-width:3;stroke-linejoin:round}
.atlas-map-controls{position:absolute;z-index:5;right:12px;top:12px;display:flex;overflow:hidden;border:1px solid rgba(7,55,73,.18);border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(9,47,61,.18)}
.atlas-map-controls button{min-width:42px;height:42px;border:0;border-right:1px solid #d7e3e6;padding:0 12px;background:#fff;color:#12384c;font:800 1rem/1 Arial,sans-serif;cursor:pointer}
.atlas-map-controls button:last-child{border-right:0}
.atlas-map-controls [data-atlas-fit]{font-size:.75rem}
.atlas-map-controls output{display:grid;min-width:56px;height:42px;place-items:center;border-right:1px solid #d7e3e6;background:#edf5f6;color:#486773;font:800 .68rem/1 Arial,sans-serif}
.atlas-map-toggle{display:none}
.atlas-map-hint{position:absolute;z-index:5;left:50%;bottom:10px;transform:translateX(-50%);max-width:calc(100% - 210px);border-radius:999px;padding:8px 12px;background:rgba(4,41,55,.82);color:#fff;font-size:.68rem;font-weight:800;text-align:center;pointer-events:none;white-space:nowrap}
.atlas-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:13px 5px 2px;color:#345866;font-size:.78rem;font-weight:800}
.atlas-legend span{display:inline-flex;align-items:center;gap:7px}
.atlas-legend i{display:inline-block;width:9px;height:9px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 3px rgba(244,163,51,.2);background:#f4a333}
.atlas-legend .atlas-legend-inactive{background:#7897a1;box-shadow:0 0 0 3px rgba(120,151,161,.18)}
.atlas-legend .atlas-legend-past{background:#31aa91;box-shadow:0 0 0 3px rgba(49,170,145,.18)}
.atlas-legend small{margin-left:auto;color:#78909a;font-weight:500}
.atlas-detail-card{overflow:hidden;display:flex;flex-direction:column;color:#173746}
.atlas-detail-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dce9ed}
.atlas-detail-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.atlas-detail-body{display:flex;flex:1;flex-direction:column;padding:23px}
.atlas-detail-eyebrow{color:#d98413;font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.atlas-detail-card h3{margin:8px 0 5px;font-family:Georgia,serif;font-size:clamp(1.48rem,2.1vw,2rem);line-height:1.08;color:#12384c;overflow-wrap:anywhere}
.atlas-detail-location{min-height:1.5em;margin:0 0 17px;color:#617985;font-weight:700}
.atlas-detail-history{margin:0 0 13px;border-left:3px solid #f4a333;border-radius:0 10px 10px 0;padding:10px 12px;background:#fff6e8;color:#234b5d;font-size:.88rem;font-weight:800}
.atlas-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:auto}
.atlas-detail-facts.is-single{grid-template-columns:1fr}
.atlas-detail-facts>span{min-width:0;padding:11px 12px;border-radius:13px;background:#eef5f6}
.atlas-detail-facts small{display:block;margin-bottom:3px;color:#718b95;font-size:.62rem;font-weight:900;letter-spacing:.1em}
.atlas-detail-facts strong{display:block;color:#12384c;font-size:.92rem;line-height:1.25;overflow-wrap:anywhere}
.atlas-detail-status{display:flex;align-items:center;gap:8px;margin:14px 0;color:#227153;font-weight:800}
.atlas-detail-status:before{content:"";width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#35a879;box-shadow:0 0 0 5px rgba(53,168,121,.12)}
.atlas-status--ultimi_posti{color:#9b650c}.atlas-status--ultimi_posti:before{background:#e49a23}
.atlas-status--completo,.atlas-status--non_disponibile{color:#a23f4d}.atlas-status--completo:before,.atlas-status--non_disponibile:before{background:#cf5264}
.atlas-status--memory{color:#168875}.atlas-status--memory:before{background:#48bca6}
.atlas-status--inactive{color:#687f88}.atlas-status--inactive:before{background:#7897a1}
.atlas-detail-actions{display:grid;gap:9px;margin-top:auto}
.atlas-detail-link,.atlas-request-button{display:block;width:100%;text-align:center}
.atlas-destination-strip{display:flex;gap:11px;margin-top:18px;padding:2px 2px 7px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.atlas-destination{display:grid;grid-template-columns:74px minmax(0,1fr);width:min(300px,78vw);min-height:82px;flex:0 0 auto;overflow:hidden;border:1px solid #c9dde1;border-radius:15px;padding:0;background:#fff;color:#173746;text-align:left;scroll-snap-align:start;cursor:pointer}
.atlas-destination.is-selected{border-color:#1594a7;box-shadow:0 0 0 2px rgba(21,148,167,.14)}
.atlas-destination img{display:block;width:74px;height:100%;min-height:82px;object-fit:cover;object-position:center}
.atlas-destination>span{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:10px 12px}
.atlas-destination small{overflow:hidden;color:#cf7e14;font-size:.61rem;font-weight:900;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.atlas-destination strong{display:-webkit-box;margin-top:3px;overflow:hidden;font-size:.88rem;line-height:1.16;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.atlas-destination em{margin-top:4px;color:#708892;font-size:.7rem;font-style:normal}
.atlas-request-modal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;overflow:auto;padding:22px;background:rgba(5,32,45,.74);backdrop-filter:blur(5px)}
.atlas-request-modal[hidden]{display:none!important}
.atlas-request-dialog{position:relative;width:min(620px,100%);max-height:calc(100dvh - 44px);overflow:auto;border-radius:24px;padding:30px;background:#fff;box-shadow:0 30px 90px rgba(0,28,42,.35)}
.atlas-request-dialog h2{margin:4px 42px 10px 0;font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,2.55rem);line-height:1.08;color:#12384c}
.atlas-request-dialog>p{margin:0 0 20px;color:#58717d;line-height:1.55}
.atlas-request-close{position:absolute;right:15px;top:15px;display:grid;width:40px;height:40px;place-items:center;border:1px solid #c8dce1;border-radius:50%;background:#fff;color:#12384c;font:700 1.5rem/1 Arial,sans-serif;cursor:pointer}
.atlas-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.atlas-request-grid label{display:grid;gap:6px;color:#173746;font-size:.84rem;font-weight:800}
.atlas-request-grid .full{grid-column:1/-1}
.atlas-request-grid input,.atlas-request-grid textarea{width:100%;min-width:0;border:1px solid #bfd2d8;border-radius:12px;padding:12px 13px;background:#fff;color:#173746;font:inherit}
.atlas-request-grid textarea{resize:vertical}
.atlas-request-grid .check{display:flex;align-items:flex-start;gap:9px;font-weight:600;line-height:1.45}
.atlas-request-grid .check input{width:20px;height:20px;flex:0 0 auto;margin-top:1px;padding:0}
.atlas-request-captcha{grid-template-columns:1fr minmax(90px,140px)!important;align-items:center}
.atlas-request-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.atlas-request-actions .btn{min-width:150px}
.atlas-request-notice{margin:0 0 18px}
body.atlas-modal-open{overflow:hidden}
@media(max-width:1050px){
  .atlas-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .atlas-experience{grid-template-columns:minmax(0,1fr)}
  .atlas-map-stage{height:clamp(280px,50vw,500px)}
  .atlas-detail-card{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr)}
  .atlas-detail-image{height:100%;min-height:270px;aspect-ratio:auto}
  .atlas-detail-body{min-height:270px}
}
@media(max-width:720px){
  .atlas-section{padding:42px 0}
  .atlas-heading{display:block;margin-bottom:20px}
  .atlas-heading h2{font-size:clamp(2rem,10.5vw,2.9rem)}
  .atlas-heading p{font-size:.98rem}
  .atlas-open-link{display:none}
  .atlas-home-grid{grid-template-columns:1fr;gap:11px}
  .atlas-home-card{display:grid;grid-template-columns:116px minmax(0,1fr);border-radius:16px}
  .atlas-home-image{height:100%;min-height:118px}
  .atlas-home-card>div:last-child{min-height:118px;padding:13px}
  .atlas-home-card strong{font-size:1rem}
  .atlas-home-mobile-link{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-radius:14px;padding:15px 17px;background:#0d5268;color:#fff;font-weight:900;text-decoration:none}
  .atlas-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible;gap:8px;padding:0}
  .atlas-filters button{width:100%;min-width:0;justify-content:center;padding:8px 9px;text-align:center;white-space:normal}
  .atlas-filters button:last-child:nth-child(odd){grid-column:1/-1}
  .atlas-mobile-intro{display:block;margin:-4px 0 14px;color:#5d7580;font-size:.88rem}
  .atlas-map-panel{padding:8px;border-radius:18px}
  .atlas-map-stage{height:clamp(230px,62vw,300px);min-height:230px;border-radius:13px}
  .atlas-map-canvas{cursor:default;touch-action:pan-y}
  .atlas-map-stage.is-map-active{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}
  .atlas-map-stage.is-map-active .atlas-map-canvas,.atlas-map-stage.is-map-active .atlas-map-canvas *{cursor:grab;touch-action:none}
  .atlas-map-stage.is-map-active .atlas-map-canvas.is-dragging{cursor:grabbing}
  .atlas-map-stage.is-map-active .atlas-map-controls button,.atlas-map-stage.is-map-active .atlas-map-toggle{touch-action:manipulation}
  .atlas-map-toggle{position:absolute;z-index:6;left:50%;bottom:10px;display:flex;min-height:42px;align-items:center;justify-content:center;transform:translateX(-50%);border:2px solid #fff;border-radius:999px;padding:9px 17px;background:#0c5268;color:#fff;font:800 .82rem/1 Arial,sans-serif;box-shadow:0 8px 22px rgba(5,37,49,.3);white-space:nowrap}
  .atlas-map-stage.is-map-active .atlas-map-toggle{left:10px;bottom:10px;transform:none;background:#fff;color:#12384c;border-color:#c6dade}
  .atlas-map-hint{left:50%;bottom:60px;max-width:calc(100% - 28px);white-space:normal}
  .atlas-map-controls{right:8px;top:8px}
  .atlas-map-controls button{min-width:38px;height:38px;padding:0 9px}
  .atlas-map-controls output{min-width:49px;height:38px}
  .atlas-legend{gap:12px;padding:11px 4px 2px}
  .atlas-legend small{flex:0 0 100%;margin-left:0;font-size:.69rem}
  .atlas-detail-card{display:flex;border-radius:18px}
  .atlas-detail-image{height:auto;min-height:0;aspect-ratio:16/9}
  .atlas-detail-body{min-height:0;padding:19px}
  .atlas-detail-card h3{font-size:1.62rem}
  .atlas-destination-strip{width:100%;max-width:100%;margin-right:0;padding-right:2px;overscroll-behavior-inline:contain}
  .atlas-request-modal{align-items:end;padding:0}
  .atlas-request-dialog{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding:24px 18px calc(20px + env(safe-area-inset-bottom))}
  .atlas-request-grid{grid-template-columns:1fr}
  .atlas-request-grid .full{grid-column:auto}
  .atlas-request-actions{position:sticky;bottom:0;margin:18px -18px -20px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(9,48,63,.09)}
  .atlas-request-actions .btn{min-width:0;flex:1;padding-left:10px;padding-right:10px}
}
@media(max-width:720px){
  html.atlas-map-gesture-lock,html.atlas-map-gesture-lock body{overscroll-behavior:none}
  html.atlas-map-gesture-lock body{touch-action:none}
}
@media(max-width:430px){
  .atlas-experience{gap:13px}
  .atlas-map-panel{margin-left:-8px;margin-right:-8px}
  .atlas-detail-facts{grid-template-columns:1fr 1fr}
  .atlas-detail-facts>span{padding:10px}
  .atlas-destination{width:min(286px,82vw)}
}
@media(prefers-reduced-motion:reduce){
  .atlas-section *{scroll-behavior:auto!important;transition:none!important}
}
