/* ---------- CAROSELLO sopralluoghi ---------- */
.carousel{position:relative;margin-top:8px}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:2px;margin:-2px;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.car-track:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.car-track .slide{flex:0 0 calc((100% - 28px)/3);scroll-snap-align:start;aspect-ratio:4/3;margin:0;border:1px solid var(--paper-line);border-radius:4px;background:#fff;position:relative;overflow:hidden;display:grid;place-items:center}
.car-track .slide .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:28px 28px;opacity:.45}
.car-track .slide span{position:relative;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:var(--steel-dim)}
.car-track .slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--paper-line);background:rgba(255,255,255,.92);backdrop-filter:blur(4px);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:opacity .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);box-shadow:0 8px 22px rgba(11,19,32,.1)}
.car-btn:hover{border-color:var(--accent);color:var(--accent)}
.car-btn .arr{font-size:1.15rem;line-height:1;font-family:var(--mono)}
.car-btn.prev{left:-12px}
.car-btn.next{right:-12px}
.car-btn[disabled]{opacity:0;pointer-events:none}

/* ---------- GALLERY ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.gallery .ph{aspect-ratio:1/1;border:1px solid var(--paper-line);border-radius:4px;background:#fff;position:relative;overflow:hidden;display:grid;place-items:center}
.gallery .ph .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:28px 28px;opacity:.45}
.gallery .ph span{position:relative;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:var(--steel-dim)}
.gallery .ph.wide{grid-column:span 2}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .gallery{grid-template-columns:1fr 1fr}
  .car-track .slide{flex-basis:calc((100% - 14px)/2)}
}
@media(max-width:560px){
  .gallery{grid-template-columns:1fr}
  .car-track .slide{flex-basis:84%}
  .car-btn{display:none}
}
