/* Minimal, responsive grid + lightbox */
.acfvg { --acfvg-gap: 14px; }
.acfvg-grid { display: grid; gap: var(--acfvg-gap); }
.acfvg.acfvg-cols-1 .acfvg-grid { grid-template-columns: 1fr; }
.acfvg.acfvg-cols-2 .acfvg-grid { grid-template-columns: repeat(2, 1fr); }
.acfvg.acfvg-cols-3 .acfvg-grid { grid-template-columns: repeat(3, 1fr); }
.acfvg.acfvg-cols-4 .acfvg-grid { grid-template-columns: repeat(4, 1fr); }
.acfvg.acfvg-cols-5 .acfvg-grid { grid-template-columns: repeat(5, 1fr); }
.acfvg.acfvg-cols-6 .acfvg-grid { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1024px) {
  .acfvg .acfvg-grid { grid-template-columns: 1fr !important; }
}

.acfvg-item { display: flex; flex-direction: column; }
.acfvg-thumb {
  display: block; position: relative; width: 100%; overflow: hidden;
  border-radius: 0 !important;
  background: #f3f4f6;
}
.acfvg-thumb::before { content: ""; display: block; padding-top: var(--acfvg-aspect, 56.25%); }
.acfvg-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.acfvg-open:hover .acfvg-thumb img { transform: scale(1.03); }

.acfvg-play {
  position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%;
  background: rgba(0,0,0,.45); display: grid; place-items: center;
}
.acfvg-play::before {
  content: ""; display: block; margin-left: 4px; width: 0; height: 0;
  border-left: 18px solid #fff; border-top: 12px solid transparent; border-bottom: 12px solid transparent;
}

.acfvg-title { margin-top: 8px; font-size: 14px; line-height: 1.4; color:#ccc;}

.acfvg-lightbox[hidden] { display: none; }
.acfvg-lightbox {
  position: fixed !important; inset: 0 !important;
  z-index: 2147483647 !important;
}
.acfvg-lightbox__backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.6);
}
.acfvg-lightbox__dialog {
  position: fixed; inset: 0;
  margin: auto;
  width: min(96vw, 960px);
  height: min(60vh, 540px);
  background: #000;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.acfvg-close {
  position: absolute; top: 8px; right: 10px; z-index: 2;
  width: 36px; height: 36px; border: 0; border-radius: 8px;
  background: rgba(255,255,255,.85); cursor: pointer; font-size: 24px; line-height: 1;
  padding: 0px 0px 5px;
}
.acfvg-embed, .acfvg-embed iframe, .acfvg-embed video { width: 100%; height: 100%; }

html.acfvg-modal-open, body.acfvg-modal-open { overflow: hidden !important; }





@media (max-width: 1024px){
  .acfvg .acfvg-grid { grid-template-columns: 1fr !important; }
}


.acfvg .acfvg-open { position: relative !important; display:block !important; padding:0; border:0; background:none; cursor:pointer; }
.acfvg .acfvg-thumb { position: static !important; overflow: visible !important; border-radius: 0 !important; aspect-ratio: 16 / 9 !important; }
.acfvg .acfvg-thumb::before { content: none !important; }
.acfvg .acfvg-thumb img { position: static !important; width:100% !important; height:100% !important; object-fit: cover !important; transform:none !important; }
.acfvg .acfvg-open:hover .acfvg-thumb img { transform:none !important; }
.acfvg .acfvg-play { position:absolute !important; inset:0 !important; margin:auto; width:64px; height:64px; border-radius:50%; background:rgba(0,0,0,.45); pointer-events:none; }


.acfvg-lightbox { position: fixed !important; inset:0 !important; z-index:2147483647 !important; isolation:isolate; transform:translateZ(0); }
html.acfvg-modal-open body > *:not(.acfvg-lightbox) { pointer-events:none !important; }
html.acfvg-modal-open, body.acfvg-modal-open { overflow:hidden !important; } 



.acfvg .acfvg-open { line-height: 0 !important; }


/* re-enable hover zoom */
.acfvg .acfvg-open{
  position: relative;            /* keeps the play icon centered */
  overflow: hidden;              /* hides the scaled edges neatly */
}

/* make the image zoomable */
.acfvg .acfvg-thumb img{
  transition: transform .35s ease;
  transform-origin: center center;
}

/* zoom on hover (desktop only) */
@media (hover: hover) and (pointer: fine){
  .acfvg .acfvg-open:hover .acfvg-thumb img{
    transform: scale(1.03) !important;
  }
}