/* ===== Gallery 60 anni OIKI ===== */
.ok-gallery-wrap{max-width:1600px;margin:0 auto;padding:0 16px 48px}
/* mosaico: tutte le foto sono orizzontali, il ritmo si crea con tile larghe */
.ok-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;
  grid-auto-flow:dense;gap:12px}
.ok-grid figure{margin:0;overflow:hidden;background:#f2f2f2;cursor:zoom-in;position:relative}
.ok-grid figure.ok-w{grid-column:span 2;grid-row:span 2}
.ok-grid img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.ok-grid img.js-fade{opacity:0;transition:transform .5s cubic-bezier(.2,.6,.2,1),opacity .4s}
.ok-grid img.js-fade.is-in{opacity:1}
.ok-grid figure:hover img{transform:scale(1.045)}

@media(max-width:1200px){.ok-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px}}
@media(max-width:820px){
  .ok-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .ok-grid figure.ok-w{grid-column:span 2;grid-row:span 1}
}
@media(max-width:560px){
  .ok-grid{grid-template-columns:1fr;grid-auto-rows:240px;gap:10px}
  .ok-grid figure.ok-w{grid-column:span 1;grid-row:span 1}
}

/* lightbox */
.ok-lb{position:fixed;inset:0;background:rgba(8,8,8,.97);z-index:99999;
  display:none;align-items:center;justify-content:center}
.ok-lb.is-open{display:flex}
.ok-lb-img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 8px 60px rgba(0,0,0,.6)}
.ok-lb button{position:absolute;background:transparent;border:0;color:#fff;cursor:pointer;
  line-height:1;opacity:.75;transition:.15s;font-family:inherit}
.ok-lb button:hover{opacity:1;color:#c5161d}
.ok-lb-x{top:18px;right:26px;font-size:44px}
.ok-lb-p,.ok-lb-n{top:50%;transform:translateY(-50%);font-size:64px;padding:10px 22px}
.ok-lb-p{left:8px}.ok-lb-n{right:8px}
.ok-lb-c{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;
  opacity:.6;font-size:14px;letter-spacing:.04em}
@media(max-width:600px){
  .ok-lb-p,.ok-lb-n{font-size:40px;padding:8px 12px}
  .ok-lb-x{font-size:34px;top:10px;right:14px}
}
