.tpal-zoomable-image{margin:32px auto;max-width:960px;position:relative;}
.tpal-zoomable-image.alignfull{max-width:none;}
.tpal-zoomable-image__grid{display:grid;grid-template-columns:var(--tpal-zoom-grid, repeat(auto-fit,minmax(220px,1fr)));gap:18px;align-items:start;}
.tpal-zoomable-image__item{
    margin:0;
    border-radius:16px;
    box-shadow:0 4px 14px rgba(15,23,42,.08), 0 8px 16px rgba(17,51,175,.08);
    transition:box-shadow .32s cubic-bezier(.25,.8,.25,1);
}
.tpal-zoomable-image__frame{
    display:block;
    position:relative;
    border-radius:16px;
    overflow:hidden;
    background:#f6f8ff;
    transform:translate3d(0,0,0);
    transition:transform .28s cubic-bezier(.25,.8,.25,1);
    cursor:zoom-in;
}
.tpal-zoomable-image__frame--unavailable{cursor:not-allowed;}
.tpal-zoomable-image__item:hover{
    box-shadow:0 24px 50px rgba(15,23,42,.16), 0 28px 54px rgba(17,51,175,.18);
}
.tpal-zoomable-image__frame:hover,
.tpal-zoomable-image__frame:focus{
    transform:translate3d(0,-6px,0);
}
.tpal-zoomable-image__frame::before{
	content:"";position:absolute;inset:0;border-radius:inherit;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
	mix-blend-mode:soft-light;
	pointer-events:none;
}
.tpal-zoomable-image__frame::after{content:'Click to zoom';position:absolute;bottom:14px;right:14px;background:rgba(17,51,175,.92);color:#fff;font-size:.75rem;padding:6px 12px;border-radius:999px;letter-spacing:.03em;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;}
.tpal-zoomable-image__frame--unavailable::after{display:none;}
.tpal-zoomable-image__frame:hover::after,
.tpal-zoomable-image__frame:focus::after{opacity:1;transform:translateY(0);}
.tpal-zoomable-image__img{display:block;width:100%;height:auto;}
.tpal-zoomable-image--height-full .tpal-zoomable-image__grid{align-items:stretch;}
.tpal-zoomable-image--height-full .tpal-zoomable-image__item{display:flex;flex-direction:column;height:100%;}
.tpal-zoomable-image--height-full .tpal-zoomable-image__frame{flex:1 1 auto;display:flex;}
.tpal-zoomable-image--height-full .tpal-zoomable-image__img{flex:1 1 auto;width:100%;height:100%;object-fit:cover;}
.tpal-zoomable-image--height-thumbnail .tpal-zoomable-image__item{display:flex;flex-direction:column;align-items:stretch;}
.tpal-zoomable-image--height-thumbnail .tpal-zoomable-image__frame{width:100%;max-width:100%;height:var(--tpal-zoom-thumb-height,160px);display:flex;align-items:center;justify-content:center;padding:12px;margin:0 auto;}
.tpal-zoomable-image--height-thumbnail .tpal-zoomable-image__img{width:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain;}
.tpal-zoomable-image--height-thumbnail .tpal-zoomable-image__caption{margin-top:8px;align-self:stretch;}
.tpal-zoomable-image__caption{margin-top:10px;font-size:.95rem;color:#4b5563;text-align:center;}
.tpal-zoomable-image__placeholder{display:flex;align-items:center;justify-content:center;min-height:180px;background:#f1f5f9;color:#64748b;font-size:.9rem;text-align:center;padding:18px;border-radius:12px;}
.tpal-zoomable-image__placeholder--error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.tpal-zoomable-image--scroll .tpal-zoomable-image__grid{display:flex!important;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:18px;-webkit-overflow-scrolling:touch;padding:2px 2px 10px}
.tpal-zoomable-image--scroll .tpal-zoomable-image__item{flex:0 0 auto;width:clamp(220px,32vw,340px);scroll-snap-align:start}
.tpal-zoomable-image--scroll .tpal-zoomable-image__grid{-ms-overflow-style:none;scrollbar-width:none}
.tpal-zoomable-image--scroll .tpal-zoomable-image__grid::-webkit-scrollbar{display:none}
/* When a fixed number of columns is chosen, lock item width so exactly N items are visible */
.tpal-zoomable-image--scroll.tpal-has-fixed .tpal-zoomable-image__item{width:calc((100% - (18px * (var(--tpal-zoom-items) - 1))) / var(--tpal-zoom-items))}
.tpal-zoomable-image__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:0;background:rgba(17,51,175,.96);color:#fff;box-shadow:0 6px 20px rgba(17,51,175,.22);cursor:pointer;opacity:.96;transition:opacity .2s ease,transform .2s ease}
.tpal-zoomable-image__arrow:hover{opacity:1;transform:translateY(-50%) scale(1.03)}
.tpal-zoomable-image__arrow[disabled]{opacity:.45;cursor:not-allowed}
.tpal-zoomable-image__prev{left:-12px}
.tpal-zoomable-image__next{right:-12px}
.tpal-zoomable-image:not(.has-overflow) .tpal-zoomable-image__arrow{display:none}
.tpal-zoomable-image__dots{display:flex;gap:8px;justify-content:center;margin-top:12px}
.tpal-zoomable-image__dot{width:8px;height:8px;border-radius:999px;background:#c7d2fe;transition:transform .2s ease,background .2s ease}
.tpal-zoomable-image__dot[aria-current="true"]{background:#1133af;transform:scale(1.25)}
.tpal-zoomable-image:not(.has-overflow) .tpal-zoomable-image__dots{display:none}
