/* ===== Activities Gallery ===== */
.mws-gal-wrap{
  position:relative;
  isolation:isolate;
  z-index:10;
}

/* Desktop grid */
.mws-gal{
  --gap:16px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:var(--gap);
}
@media (max-width:1200px){ .mws-gal{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:900px){  .mws-gal{ grid-template-columns:repeat(3,1fr); } }

/* Cards */
.mws-card{ 
  display:block; 
  text-decoration:none; 
  color:inherit; 
  border-radius:14px; 
  overflow:hidden; 
  position:relative; 
}

.mws-fig{ 
  margin:0; 
  position:relative; 
  aspect-ratio:1/1; 
  background:#000;
}

/* Custom desktop height if specified */
.mws-gal-wrap[style*="--desktop-height"] .mws-fig {
  height: var(--desktop-height);
}

.mws-gal-wrap[style*="--desktop-height"] .mws-fig {
  aspect-ratio: auto;
}

.mws-fig img{
  position:absolute; 
  inset:0; 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block;
  transition:transform .35s ease, filter .35s ease; 
  filter:brightness(0.92);
}

.mws-card:hover img{ 
  transform:scale(1.04); 
  filter:brightness(1); 
}

.mws-card:focus-visible{ 
  outline:2px solid #00d1ff; 
  outline-offset:3px; 
  border-radius:16px; 
}

/* ===== Mobile carousel (fixed height with proper space) ===== */
@media (max-width:600px), (hover:none) and (pointer:coarse){
  .mws-gal-wrap{ 
    min-height:var(--mobile-height, 250px);
    margin:20px 0;
    display:block;
    clear:both;
    overflow:hidden;
  }
  
  .mws-gal{
    display:flex;
    gap:12px;
    overflow:visible;
    height:var(--mobile-height, 250px);
    align-items:stretch;
    will-change:transform;
    transition:transform .5s ease;
  }
  
  .mws-card{
    flex:0 0 calc(100% - 24px);
    min-width:calc(100% - 24px);
    height:var(--mobile-height, 250px);
    display:block;
  }
  
  .mws-fig{
    aspect-ratio:auto;
    height:100%;
    width:100%;
  }
  
  .mws-fig img{ 
    object-fit:cover;
    width:100%;
    height:100%;
  }
}

