/* Public (shared) */
.igg-gallery { max-width: 70%; margin: 16px auto; --igg-radius: 10px; }
@media (max-width: 768px) { .igg-gallery { max-width: 100%; } }
.igg-main { position: relative; }
.igg-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; }
.igg-track::-webkit-scrollbar { display: none; }
.igg-slide { position: relative; width: 100%; aspect-ratio: var(--igg-aspect, 1/1); scroll-snap-align: center; overflow: hidden; background: #f6f6f6; border-radius: var(--igg-radius); }
.igg-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; -webkit-user-drag: none; }
.igg-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.9); border: 0; width: 36px; height: 36px; border-radius: 9999px; box-shadow: 0 2px 10px rgba(0,0,0,.1); font-size: 22px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 5; }
.igg-arrow.prev { left: 8px; } .igg-arrow.next { right: 8px; }
.igg-dots { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); display: flex; gap: 6px; }
.igg-dots button { width: 6px; height: 6px; border-radius: 50%; border: 0; background: rgba(255,255,255,.6); padding: 0; }
.igg-dots button[aria-current="true"] { background: #fff; transform: scale(1.2); }
.igg-counter { position: absolute; right: 10px; top: 10px; background: rgba(0,0,0,.55); color: #fff; font-size: 12px; padding: 3px 7px; border-radius: 9999px; }
.igg-thumbs { margin-top: 10px; display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.igg-thumb { flex: 0 0 auto; width: 70px; aspect-ratio: 1/1; padding: 0; border: 0; background: transparent; cursor: pointer; border-radius: 8px; overflow: hidden; position: relative; }
.igg-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.igg-thumb[aria-current="true"]::after { content: ""; position: absolute; inset: 0; border: 2px solid #111; border-radius: 8px; box-shadow: inset 0 0 0 1px #fff; }
@media (min-width: 768px) { .igg-thumbs { flex-wrap: wrap; } .igg-thumb { width: 84px; } }

/* Editor (grid) + translucent control band */
.wp-block-igg-carousel.igg-block { border: 1px dashed transparent; padding: 8px; }
.wp-block-igg-carousel.igg-block.is-selected { border-color: #2271b1; box-shadow: 0 0 0 1px rgba(34,113,177,.15) inset; }
.igg-empty { min-height: 120px; display: grid; place-items: center; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 8px; }
.igg-editor-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(160px,1fr)); gap: 12px; }
.igg-editor-thumb { position: relative; border: 1px solid #e5e7eb; border-radius: 6px; overflow: hidden; background: #f6f6f6; cursor: grab; }
.igg-editor-thumb:active { cursor: grabbing; }
.igg-editor-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 1 / 1; }
.igg-thumb-tools { position: absolute; left: 6px; right: 6px; bottom: 6px; display: flex; gap: 8px; align-items: center; justify-content: space-between;
  background: rgba(0,0,0,.45); padding: 4px 6px; border-radius: 6px; }
.igg-thumb-tools .igg-row { display: flex; gap: 6px; }
.igg-thumb-tools .components-button { color: #fff; background: transparent; border: 0; }
.igg-thumb-tools .components-button:hover { color: #ffd54a; }
.igg-add-more { border: 1px dashed #94a3b8; background: #fafafa; border-radius: 6px; padding: 12px; cursor: pointer; }

/* Lightbox */
.igg-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.9); display:flex; align-items:center; justify-content:center; z-index: 9999; }
.igg-lightbox .lb-img { max-width: 92vw; max-height: 92vh; border-radius: 8px; box-shadow: 0 8px 40px rgba(0,0,0,.5); }
.igg-lightbox .lb-close, .igg-lightbox .lb-prev, .igg-lightbox .lb-next {
  position: absolute; background: rgba(0,0,0,.55); color:#fff; border:0; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:22px; cursor:pointer;
}
.igg-lightbox .lb-close { top:16px; right:16px; font-size:24px; }
.igg-lightbox .lb-prev { left:16px; top:50%; transform: translateY(-50%); }
.igg-lightbox .lb-next { right:16px; top:50%; transform: translateY(-50%); }