/* Product images and full-screen gallery. */
.pd .product-image-link { display: block; position: relative; cursor: zoom-in; }
.pd .product-image-hint { position: absolute; right: 14px; bottom: 14px;
  padding: 6px 10px; border-radius: 5px; background: rgba(255,255,255,.92);
  color: #5A6A9E; font-size: 12px; line-height: 1.5; pointer-events: none; }
.pd .product-image-link:focus-visible { outline: 3px solid #1626C8; outline-offset: -3px; }
.pd .thumbs { overflow-x: auto; padding: 2px 2px 6px; }
.pd .thumbs .t { flex: 0 0 106px; padding: 0; background: #F7F9FF; }
.pd .thumbs .t:focus-visible { outline: 2px solid #1626C8; outline-offset: -4px; }
.pd .thumbs img { object-fit: contain; }
html.product-lightbox-open, html.product-lightbox-open body { overflow: hidden; }
.product-lightbox { position: fixed; inset: 0; z-index: 2000; width: 100%; height: 100%;
  height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0;
  border: 0; background: rgba(6,14,35,.96); color: #fff; }
.product-lightbox:not([open]) { display: none; }
.product-lightbox[open] { display: grid; grid-template-rows: minmax(0, 1fr) auto;
  padding: max(64px, env(safe-area-inset-top)) max(76px, env(safe-area-inset-right))
    max(24px, env(safe-area-inset-bottom)) max(76px, env(safe-area-inset-left)); }
.product-lightbox::backdrop { background: rgba(6,14,35,.85); }
.product-lightbox-stage { min-width: 0; min-height: 0; display: flex;
  justify-content: center; align-items: center; touch-action: pan-y pinch-zoom; }
.product-lightbox-image { width: auto; height: auto; max-width: 100%; max-height: 100%;
  object-fit: contain; user-select: none; -webkit-user-select: none; }
.product-lightbox-caption { margin-top: 16px; text-align: center; font-size: 14px; line-height: 1.6;
  color: #DDE2FB; overflow-wrap: anywhere; }
.product-lightbox-count { display: block; margin-top: 4px; font-size: 13px; color: #AEB8DD; }
.product-lightbox-control { position: absolute; display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%; background: rgba(27,42,92,.68); color: #fff; cursor: pointer; }
.product-lightbox-control[hidden], .product-lightbox-error[hidden], .product-lightbox-image[hidden] { display: none; }
.product-lightbox-control:hover { background: rgba(22,38,200,.9); }
.product-lightbox-control:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.product-lightbox-control svg { width: 24px; height: 24px; pointer-events: none; }
.product-lightbox-close { top: max(16px, env(safe-area-inset-top)); right: max(20px, env(safe-area-inset-right)); }
.product-lightbox-prev { left: max(16px, env(safe-area-inset-left)); top: calc(50% - 24px); }
.product-lightbox-next { right: max(16px, env(safe-area-inset-right)); top: calc(50% - 24px); }
.product-lightbox-error { text-align: center; padding: 24px; color: #DDE2FB; }
@media (max-width: 720px) {
  .pd .thumbs .t { flex-basis: 90px; }
  .product-lightbox[open] { padding-left: 12px; padding-right: 12px; }
  .product-lightbox-prev { left: max(8px, env(safe-area-inset-left)); }
  .product-lightbox-next { right: max(8px, env(safe-area-inset-right)); }
  .product-lightbox-caption { padding: 0 16px; font-size: 13px; }
}
