html.cs-ship-gallery-open { overflow: hidden; }
.cs-ship-gallery { width: min(1280px, calc(100vw - 24px)); height: calc(100dvh - 32px); max-width: none; max-height: none; padding: 0; border: 0; background: transparent; color: white; overflow: hidden; box-shadow: none; }
.cs-ship-gallery[open] { display: flex; flex-direction: column; }
.cs-ship-gallery::backdrop { background: rgba(8, 12, 24, .94); }
.cs-ship-gallery-close { position: absolute; right: 0; top: 0; z-index: 2; border: 0; background: transparent; color: white; font-size: 32px; width: 44px; height: 44px; cursor: pointer; }
.cs-ship-gallery nav { display: flex; gap: 8px; overflow-x: auto; flex-shrink: 0; padding: 4px 0 12px; margin: 0 52px; }
.cs-ship-gallery nav button { flex: none; border: 1px solid rgba(255,255,255,.3); border-radius: 24px; padding: 10px 16px; background: transparent; color: white; font: inherit; cursor: pointer; }
.cs-ship-gallery nav button[aria-current="true"] { background: #fed470; color: #172039; border-color: #fed470; }
.cs-ship-gallery button:focus-visible { outline: 3px solid #fed470; outline-offset: -3px; }
.cs-ship-gallery-stage { display: flex; position: relative; flex: 1; min-height: 0; padding: 8px 60px 0; align-items: center; justify-content: center; }
.cs-ship-gallery-stage img { display: block; width: 100%; height: 100%; object-fit: contain; touch-action: pan-y; }
.cs-ship-gallery-prev, .cs-ship-gallery-next { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 52px; border: 0; border-radius: 8px; background: rgba(8,12,24,.65); color: white; font-size: 40px; cursor: pointer; line-height: 1; }
.cs-ship-gallery-prev { left: 0; }
.cs-ship-gallery-next { right: 0; }
.cs-ship-gallery-stage button:disabled { opacity: .3; cursor: default; }
.cs-ship-gallery footer { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 640px) {
  .cs-ship-gallery { width: 100%; height: 100dvh; margin: 0; }
  .cs-ship-gallery nav { margin: 8px 48px 0 8px; }
  .cs-ship-gallery-stage { padding: 8px 0; }
  .cs-ship-gallery-prev { left: 8px; }
  .cs-ship-gallery-next { right: 8px; }
}
