.wc-gallery {
  position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh;
  max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
  color: #fff; background: rgba(6, 12, 24, .97);
  font-family: Inter, system-ui, sans-serif; box-sizing: border-box;
}
.wc-gallery::backdrop { background: rgba(0, 0, 0, .85); }
.wc-gallery[open] { display: flex; flex-direction: column; }
.wc-gallery * { box-sizing: border-box; }
.wc-gallery [hidden] { display: none !important; }
.wc-gallery-toolbar {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: max(14px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 14px max(20px, env(safe-area-inset-left));
  flex: 0 0 auto;
}
.wc-gallery-count { font-size: 16px; font-weight: 700; }
.wc-gallery button {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 48px; min-height: 48px; border: 1px solid #64748b; border-radius: 14px;
  background: #172336; color: #fff; font: inherit; cursor: pointer;
}
.wc-gallery button:hover { background: #2563eb; border-color: #60a5fa; }
.wc-gallery button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 4px; }
.wc-gallery-close { gap: 12px; padding: 8px 16px; }
.wc-gallery-close span { font-size: 28px; line-height: 1; }
.wc-gallery-stage { position: relative; flex: 1; min-height: 0; padding: 0 84px max(18px, env(safe-area-inset-bottom)); display: flex; }
.wc-gallery figure { margin: 0; width: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.wc-gallery-photo { display: block; width: 100%; height: 0; flex: 1; min-height: 0; object-fit: contain; touch-action: pan-y pinch-zoom; }
.wc-gallery figcaption { flex-shrink: 0; max-width: 900px; padding: 0 6px; font-size: 16px; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.wc-gallery-prev, .wc-gallery-next { position: absolute; top: calc(50% - 40px); z-index: 1; width: 56px; height: 64px; }
.wc-gallery-prev { left: 16px; }
.wc-gallery-next { right: 16px; }
.wc-gallery-prev span, .wc-gallery-next span { font-size: 44px; line-height: 1; }
.wc-gallery-error { color: #fff; font-size: 16px; text-align: center; }
.gallery-zoom-trigger, .camper-image-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; border-radius: 18px; }
.gallery-zoom-trigger:focus-visible, .camper-image-button:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.gallery-grid a[data-wc-gallery] { cursor: zoom-in; }
.gallery-preview-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; }
.gallery-preview-controls button { border: 1px solid #cbd5e1; border-radius: 12px; min-width: 48px; min-height: 48px; background: #fff; color: #0f172a; font-size: 28px; cursor: pointer; }
.gallery-preview-controls span { font-size: 14px; color: #475569; }
@media (max-width: 600px) {
  .wc-gallery-toolbar { padding: max(10px, env(safe-area-inset-top)) 12px 10px; }
  .wc-gallery-stage { padding: 0 10px max(78px, calc(env(safe-area-inset-bottom) + 66px)); }
  .wc-gallery-prev, .wc-gallery-next { top: auto; bottom: max(12px, env(safe-area-inset-bottom)); width: 56px; height: 48px; }
  .wc-gallery-prev { left: calc(50% - 68px); }
  .wc-gallery-next { right: calc(50% - 68px); }
  .wc-gallery figcaption { font-size: 14px; }
}
