/* Grid + captions */
.isg-grid{
  margin:0 !important;
  display:grid;
  grid-template-columns: repeat(var(--isg-cols-d,4), minmax(0,1fr));
  gap: var(--isg-gap,5px);
  --isg-radius: 0px;
  --isg-caption-bg: rgba(0,0,0,.45);
  --isg-caption-color:#fff;
  font-family: var(--isg-font, inherit);
  font-size: var(--isg-font-size, 14px);
}
@media (max-width:960px){ .isg-grid{ grid-template-columns: repeat(var(--isg-cols-t,3), minmax(0,1fr)); } }
@media (max-width:600px){ .isg-grid{ grid-template-columns: repeat(var(--isg-cols-m,2), minmax(0,1fr)); } }

/* Masonry layout (pure CSS columns) */
.isg-grid.layout-masonry{
  display:block;
  column-count: var(--isg-cols-d,4);
  column-gap: var(--isg-gap,5px);
  /* single bottom padding equal to gap to keep end breathing room; set to 0 if not wanted */
  padding-bottom: var(--isg-gap,5px);
}
@media (max-width:960px){ .isg-grid.layout-masonry{ column-count: var(--isg-cols-t,3); } }
@media (max-width:600px){ .isg-grid.layout-masonry{ column-count: var(--isg-cols-m,2); } }
.layout-masonry .isg-item{
  display:inline-block; width:100%;
  /* vertical spacing equals --isg-gap */
  margin: 0 0 var(--isg-gap,5px) 0;
  vertical-align: top;
  break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid;
}

.isg-item{ position:relative; overflow:hidden; border-radius:var(--isg-radius); line-height:0; background:#111; margin:0; }
.isg-img{ width:100%; height:auto; display:block; opacity:0; transition:opacity .3s ease }
.isg-grid:not(.layout-masonry) .isg-img{ height:100%; object-fit:cover; aspect-ratio:1/1; }
.isg-img.isg-loaded{ opacity:1 }

.isg-caption{
  position:absolute; left:50%; bottom:10px; transform:translateX(-50%);
  background:var(--isg-caption-bg); color:var(--isg-caption-color, #fff);
  padding:.4em .6em; border-radius:.5em; line-height:1.2; max-width:90%;
}

/* 3×3 caption placement */
.isg-grid.pos-top-left .isg-caption{ top:10px; left:10px; bottom:auto; transform:none }
.isg-grid.pos-top-center .isg-caption{ top:10px; left:50%; bottom:auto; transform:translate(-50%,0) }
.isg-grid.pos-top-right .isg-caption{ top:10px; right:10px; left:auto; bottom:auto; transform:none }
.isg-grid.pos-middle-left .isg-caption{ top:50%; left:10px; bottom:auto; transform:translate(0,-50%) }
.isg-grid.pos-middle-center .isg-caption{ top:50%; left:50%; bottom:auto; transform:translate(-50%, -50%) }
.isg-grid.pos-middle-right .isg-caption{ top:50%; right:10px; left:auto; bottom:auto; transform:translate(0,-50%) }
.isg-grid.pos-bottom-left .isg-caption{ bottom:10px; left:10px; transform:none }
.isg-grid.pos-bottom-center .isg-caption{ bottom:10px; left:50%; transform:translate(-50%,0) }
.isg-grid.pos-bottom-right .isg-caption{ bottom:10px; right:10px; left:auto; transform:none }

/* Custom-link tiles: normal cursor */
.isg-item a{ cursor:auto }

/* Hover options (desktop only) */
@media (hover:hover) and (pointer:fine){
  .isg-grid.hover-zoom .isg-img{ transition: transform .25s ease, opacity .3s ease; }
  .isg-grid.hover-zoom .isg-item:hover .isg-img,
  .isg-grid.hover-zoom .isg-item:focus-within .isg-img{ transform: scale(1.04); }

  .isg-grid.blur-hover .isg-img{
    filter: blur(6px);
    transition: filter .22s ease, transform .25s ease, opacity .3s ease;
  }
  .isg-grid.blur-hover .isg-item:hover .isg-img,
  .isg-grid.blur-hover .isg-item:focus-within .isg-img{
    filter: none;
  }
}

/* Admin thumbs */
.isg-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.isg-thumb{border:1px solid #e5e5e5;border-radius:4px;overflow:hidden;width:64px;height:64px;background:#fafafa}
.isg-thumb-img{width:64px;height:64px;object-fit:cover;display:block}

/* === ISG 12.2.1: Suppress magnifier icon/cursor on desktop hover === */
@media (hover:hover) and (pointer:fine){
  /* Ensure no theme/plugin "zoom" cursor shows on lightbox-enabled figures */
  .isg-grid .isg-item[data-isglb-src],
  .isg-grid .isg-item[data-isglb-src] .isg-img,
  .isg-grid .isg-item[data-isglb-src] a{
    cursor: default !important;
    background-image: none !important;
  }
  /* Nuke generic magnifier pseudo-elements some themes add */
  .isg-grid .isg-item[data-isglb-src]::before,
  .isg-grid .isg-item[data-isglb-src]::after,
  .isg-grid .isg-item[data-isglb-src] a::before,
  .isg-grid .isg-item[data-isglb-src] a::after{
    content: none !important;
    background: none !important;
    box-shadow: none !important;
  }
}


/* Linked captions inherit color and remove underline by default */
.isg-caption a {
  color: inherit;
  text-decoration: none;
}
.isg-caption a:hover,
.isg-caption a:focus {
  text-decoration: underline;
}



.isg-caption a {
  color: inherit;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: inherit;
  border-radius: inherit;
  background: inherit;
}
.isg-caption a:hover,
.isg-caption a:focus {
  text-decoration: none;
  filter: brightness(1.15);
}


/* Linked caption: single box clickable fix */
.isg-caption--linked { background: transparent; padding: 0; }
.isg-caption--linked > a {
  display: block;
  background: var(--isg-caption-bg);
  color: inherit;
  text-decoration: none;
  padding: .4em .6em;
  border-radius: .5em;
}
.isg-caption--linked > a:hover,
.isg-caption--linked > a:focus {
  text-decoration: none;
  background: rgba(0,0,0,.58);
}


/* --- LINKED CAPTION CLEAN SINGLE PILL FIX --- */
.isg-caption--linked{
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}
.isg-caption--linked > a{
  pointer-events: auto;
  display: inline-block;
  background: var(--isg-caption-bg);
  color: inherit;
  text-decoration: none;
  padding: .4em .6em;
  border-radius: .5em;
  line-height: 1.2;
}
.isg-caption--linked > a:hover,
.isg-caption--linked > a:focus{
  text-decoration: none;
  filter: brightness(1.08);
  
}


/* ===== ISG 12.3.0 Caption system rebuild ===== */

/* Neutralize legacy figcaption pill; visuals move to __inner */
.isg-caption{
  color: var(--isg-caption-color, #fff);
}
.isg-caption{ background: transparent !important; padding: 0 !important; border-radius: 0 !important; box-shadow:none !important; }

/* Single visual pill element */
.isg-caption__inner{
  display: inline-block;
  background: var(--isg-caption-bg, rgba(0,0,0,.45));
  color: inherit;
  padding: .4em .6em;
  border-radius: .5em;
  line-height: 1.2;
}

/* Linked: click target is the anchor; inner handles visuals */
.isg-caption--linked{ pointer-events: none; }
.isg-caption--linked > .isg-caption__link{ pointer-events: auto; text-decoration: none; }
.isg-caption--linked > .isg-caption__link .isg-caption__inner{ text-decoration: none; }
.isg-caption--linked > .isg-caption__link:hover .isg-caption__inner,
.isg-caption--linked > .isg-caption__link:focus .isg-caption__inner{
  filter: brightness(1.08);
  
  text-decoration: none;
}

/* Baseline link style fallback */
.isg-caption a{ color: inherit; text-decoration: none; }
.isg-caption a:hover, .isg-caption a:focus{ text-decoration: underline; }

/* ---- Back-compat shims ---- */
/* Older non-linked markup (no __inner): keep old visuals */
.isg-caption:not(.isg-caption--linked):not(:has(.isg-caption__inner)){
  background: var(--isg-caption-bg, rgba(0,0,0,.45));
  padding: .4em .6em;
  border-radius: .5em;
}
/* Older linked markup: figcaption.isg-caption.isg-caption--linked > a.isg-link (no __inner) */
.isg-caption.isg-caption--linked > a.isg-link:not(:has(.isg-caption__inner)){
  display: inline-block;
  background: var(--isg-caption-bg, rgba(0,0,0,.45));
  padding: .4em .6em;
  border-radius: .5em;
  text-decoration: none;
}


/* ===== ISG 12.3.1: enforce single-pill clickable caption ===== */
.isg-v123 .isg-caption{
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.isg-v123 .isg-caption__inner{
  display:inline-block;
  background: var(--isg-caption-bg, rgba(0,0,0,.45));
  color: var(--isg-caption-color, #fff);
  padding:.4em .6em;
  border-radius:.5em;
  line-height:1.2;
}
.isg-v123 .isg-caption--linked{ pointer-events:none; }
.isg-v123 .isg-caption--linked > .isg-caption__link{
  pointer-events:auto;
  text-decoration:none;
}
.isg-v123 .isg-caption--linked > .isg-caption__link .isg-caption__inner{
  text-decoration:none;
}
.isg-v123 .isg-caption--linked > .isg-caption__link:hover .isg-caption__inner,
.isg-v123 .isg-caption--linked > .isg-caption__link:focus .isg-caption__inner{
  filter:brightness(1.08);
  
}


/* === ISG 12.3.2: single-pill caption (no double black box) === */
.isg-v123 .isg-caption {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.isg-v123 .isg-caption--linked > .isg-caption__link {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.isg-v123 .isg-caption__inner {
  display: inline-block !important;
  background: var(--isg-caption-bg, rgba(0,0,0,.45)) !important;
  color: var(--isg-caption-color, #fff) !important;
  padding: .4em .6em !important;
  border-radius: .5em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
.isg-v123 .isg-caption--linked > .isg-caption__link:hover .isg-caption__inner,
.isg-v123 .isg-caption--linked > .isg-caption__link:focus .isg-caption__inner {
  filter: brightness(1.08);
  
  text-decoration: none !important;
}


/* === ISG 12.3.4: disable hand cursor over linked captions === */
.isg-v123 .isg-caption--linked > .isg-caption__link,
.isg-v123 .isg-caption--linked > .isg-caption__link .isg-caption__inner {
  cursor: default !important;
}
