/* ===== Galeria pública ===== */
.cim-gal{ margin:0 0 24px; }

/* GRID */
.cim-gal--grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
@media (min-width:768px){
  .cim-gal--grid{ grid-template-columns:repeat(3,1fr); }
}
.cim-gal--grid .cim-gal__card{
  border-radius:8px;
  overflow:hidden;
  border:1px solid #eee;
}

/* MASONRY */
.cim-gal--masonry{
  column-count:2;
  column-gap:10px;
}
@media (min-width:768px){
  .cim-gal--masonry{ column-count:3; }
}
.cim-gal--masonry .cim-gal__card{
  break-inside: avoid;
  display:block;
  margin:0 0 10px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid #eee;
}

/* SLIDER */
.cim-gal--slider{
  display:flex;
  gap:10px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:6px;
}
.cim-gal--slider .cim-gal__card{
  flex:0 0 auto;
  width:280px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid #eee;
  scroll-snap-align:start;
}

/* Figures */
.cim-gal figure{ margin:0; position:relative; }
.cim-gal figcaption{ font-size:.85em; color:#666; padding:6px 8px; background:#fff; }

/* Botó que envolta la miniatura */
.cim-gal__btn{ all:unset; cursor:pointer; display:block; width:100%; }

/* Miniatures amb ALÇADA FIXA (també en masonry) */
.cim-gal img{
  width:100%;
  height:220px; /* canvia aquí si vols 260px, etc. */
  object-fit:cover;
  display:block;
}

/* ===== Lightbox ===== */
.cimlb{ position:fixed; inset:0; z-index:9999; display:none; }
.cimlb[aria-hidden="false"]{ display:block; }

.cimlb__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.8); }
.cimlb__content{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:40px 56px;
}

.cimlb__img{
  max-width:min(96vw,1400px);
  max-height:80vh;
  width:auto; height:auto;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  border-radius:8px;
}

.cimlb__cap{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom:20px; max-width:90vw;
  color:#fff; text-align:center; font-size:14px; line-height:1.35;
  background:rgba(0,0,0,.45);
  padding:6px 10px; border-radius:6px;
}

.cimlb__close{
  position:absolute; top:34px; right:18px;
  font-size:28px; line-height:1; color:#fff;
  background:transparent; border:none; cursor:pointer;
}
.cimlb__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px;
  background:rgba(0,0,0,.5);
  border:none; color:#fff; font-size:28px; line-height:44px;
  cursor:pointer;
}
.cimlb__prev{ left:14px; }
.cimlb__next{ right:14px; }

@media (max-width:768px){
  .cimlb__content{ padding:24px; }
  .cimlb__img{ max-height:72vh; }
}
