/* assets/css/ik-gallery.css — Galería pública de la empresa (ikOrgGalleryHtml) y visor a pantalla completa (ik-gallery.js). */
.ikg { margin-top: 18px; min-width: 0; }
.ikg-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.ikg-title { margin: 0; font: 800 15px/1.3 Manrope, Inter, sans-serif; color: #1D2530; }
.ikg-count { font-size: 12.5px; color: #8a8f98; font-weight: 600; }
.ikg-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ikg-item { position: relative; display: block; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: #f1eee8; aspect-ratio: 4 / 3; cursor: zoom-in; }
.ikg-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.ikg-item:hover img { transform: scale(1.04); }
.ikg-item:focus-visible { outline: 3px solid #CD9765; outline-offset: 2px; }
.ikg-grid .ikg-item.is-cover { grid-column: span 2; grid-row: span 2; }
.ikg-kind { position: absolute; left: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 3px 8px; border-radius: 999px; background: rgba(29, 37, 48, .78); color: #fff; font: 700 11px/1.3 Inter, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; backdrop-filter: blur(4px); }
.ikg-more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(29, 37, 48, .55); color: #fff; font: 800 22px Manrope, sans-serif; }
.ikg--compact .ikg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.ikg--compact .ikg-grid .ikg-item.is-cover { grid-column: span 3; grid-row: auto; aspect-ratio: 16 / 9; }
.ikg--compact .ikg-kind { font-size: 10px; left: 6px; bottom: 6px; padding: 2px 6px; }
@media (max-width: 640px) {
  .ikg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .ikg-grid .ikg-item.is-cover { grid-column: span 3; grid-row: auto; aspect-ratio: 16 / 9; }
  .ikg-grid .ikg-item:not(.is-cover) .ikg-kind { display: none; }
}

/* Visor */
html.ikg-noscroll, html.ikg-noscroll body { overflow: hidden !important; }
.ikg-lb { position: fixed; inset: 0; z-index: 2147483000; display: none; flex-direction: column; background: rgba(10, 13, 18, .94); color: #fff; }
.ikg-lb.is-open { display: flex; animation: ikgIn .18s ease; }
@keyframes ikgIn { from { opacity: 0; } to { opacity: 1; } }
.ikg-lb-top { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; padding-top: max(10px, env(safe-area-inset-top)); }
.ikg-lb-n { font: 700 13px Inter, sans-serif; color: rgba(255, 255, 255, .8); }
.ikg-lb button { border: 0; background: none; color: inherit; cursor: pointer; }
.ikg-lb-x, .ikg-lb-nav { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .1) !important; transition: background .15s; }
.ikg-lb-x:hover, .ikg-lb-nav:hover { background: rgba(255, 255, 255, .22) !important; }
.ikg-lb-x:focus-visible, .ikg-lb-nav:focus-visible, .ikg-lb-strip button:focus-visible { outline: 2px solid #CD9765; outline-offset: 2px; }
.ikg-lb .material-symbols-outlined { font-size: 26px; }
.ikg-lb-stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 12px; }
.ikg-lb-nav[hidden] { display: none; }
.ikg-lb-fig { flex: 1; min-width: 0; height: 100%; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.ikg-lb-fig img { max-width: 100%; max-height: calc(100% - 48px); object-fit: contain; border-radius: 6px; transition: opacity .2s; }
.ikg-lb-fig img.is-loading { opacity: .35; }
.ikg-lb-fig figcaption { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: center; max-width: 760px; text-align: center; font: 500 14px/1.45 Inter, sans-serif; color: rgba(255, 255, 255, .92); }
.ikg-lb-kind { padding: 3px 10px; border-radius: 999px; background: #CD9765; color: #1D2530; font-weight: 800; font-size: 12px; }
.ikg-lb-kind[hidden] { display: none; }
.ikg-lb-strip { display: flex; gap: 6px; justify-content: center; overflow-x: auto; padding: 10px 14px; padding-bottom: max(12px, env(safe-area-inset-bottom)); scrollbar-width: none; }
.ikg-lb-strip::-webkit-scrollbar { display: none; }
.ikg-lb-strip button { flex: 0 0 56px; height: 42px; padding: 0; border-radius: 6px; overflow: hidden; opacity: .5; border: 2px solid transparent !important; }
.ikg-lb-strip button.is-on { opacity: 1; border-color: #CD9765 !important; }
.ikg-lb-strip img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 640px) {
  .ikg-lb-stage { padding: 0 4px; gap: 4px; }
  .ikg-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; }
  .ikg-lb-nav.is-prev { left: 6px; } .ikg-lb-nav.is-next { right: 6px; }
  .ikg-lb-strip { justify-content: flex-start; }
}

/* Buscador › Proveedores: la portada ocupa el hueco de foto de la tarjeta (search/index.php) */
.ikg.sup-photo--gal { margin: 0; padding: 0; display: block; min-height: 130px; }
.sup-photo--gal .ikg-item { width: 100%; height: 100%; min-height: 130px; aspect-ratio: auto; border-radius: 8px; }
.sup-photo--gal .ikg-item img { margin: 0; }
.ikg-n { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; gap: 3px; padding: 3px 8px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #1D2530; font: 800 11.5px Inter, sans-serif; }
.ikg-n .material-symbols-outlined { font-size: 15px; color: #1D2530; }
@media (max-width: 1100px) { .ikg.sup-photo--gal { display: block; grid-column: 1 / -1; height: 170px; } }
/* Ficha de producto › Conoce a tu proveedor */
.pd5-orggal { margin: 18px 0 4px; }
