.lg-outer.ib-media-viewer {
  --ib-viewer-toolbar: calc(58px + env(safe-area-inset-top));
  --ib-viewer-rail: 0px;
  --ib-viewer-height: calc(100dvh - var(--ib-viewer-toolbar) - var(--ib-viewer-rail));
  font-family: Inter, system-ui, sans-serif;
}
.lg-outer.ib-media-viewer.ib-rail-ready { --ib-viewer-rail: calc(76px + env(safe-area-inset-bottom)); }
.lg-outer.ib-media-viewer .ib-viewer-rail { display:none; position:absolute; bottom:0; left:0; right:0; z-index:1080; }
.lg-outer.ib-media-viewer.ib-rail-ready .ib-viewer-rail { display:block; }
.lg-outer.ib-media-viewer .ib-viewer-rail .lg-thumb { display:flex; gap:8px; justify-content:flex-start; align-items:center; width:100%; height:100%; overflow-x:auto; overflow-y:hidden; padding:0 8px; }
.lg-outer.ib-media-viewer .ib-viewer-rail .lg-thumb-item { flex:0 0 64px; width:64px; height:48px; padding:0; background:#21152f; color:#fff; }
.lg-outer.ib-media-viewer .ib-viewer-rail .lg-thumb-item:focus:not(:focus-visible) { outline:0; background:#21152f; }
.lg-outer.ib-media-viewer .ib-viewer-rail .lg-thumb-item.active:focus:not(:focus-visible) { border-color:#ff2795; }
.lg-outer.ib-media-viewer.ib-caption-top { --ib-viewer-height:calc(100dvh - var(--ib-viewer-toolbar) - var(--ib-viewer-rail) - 30px); }
.lg-outer.ib-media-viewer.ib-caption-top .lg-content { top:calc(var(--ib-viewer-toolbar) + 30px) !important; }
.lg-outer.ib-media-viewer.ib-caption-top > .lg-sub-html { display:flex; align-items:center; position:absolute; top:var(--ib-viewer-toolbar); bottom:auto; left:0; right:0; min-height:30px; transform:none !important; opacity:1; visibility:visible; color:#fff; line-height:18px; z-index:1081; }
.lg-outer.ib-media-viewer.ib-player-fullscreen { --ib-viewer-toolbar: 0px; --ib-viewer-rail: 0px; }
.lg-outer.ib-media-viewer.ib-player-fullscreen .lg-toolbar,
.lg-outer.ib-media-viewer.ib-player-fullscreen .lg-thumb-outer,
.lg-outer.ib-media-viewer.ib-player-fullscreen .lg-prev,
.lg-outer.ib-media-viewer.ib-player-fullscreen .lg-next { visibility: hidden; pointer-events: none; }
/* Override LightGallery's calculated inline offsets: our toolbar/rail reserve space. */
.lg-outer.ib-media-viewer .lg-content { top: var(--ib-viewer-toolbar) !important; bottom: var(--ib-viewer-rail) !important; }
.lg-outer.ib-media-viewer .lg-video-cont { width: 100% !important; height: 100% !important; max-width: 100%; max-height: 100%; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.lg-outer.ib-media-viewer .ib-gallery-player {
  width: min(100%, calc(var(--ib-viewer-height) * var(--ib-video-ratio, 1.77778)));
  height: 100%; max-height: var(--ib-viewer-height); max-width: 100%;
  aspect-ratio: var(--ib-video-ratio, 16 / 9); border: 0; border-radius: 10px; box-shadow: none;
}
.lg-outer.ib-media-viewer .ib-gallery-player:fullscreen,
.lg-outer.ib-media-viewer .ib-gallery-player.is-pseudo-fullscreen { width: 100vw; height: 100dvh; max-height: none; border-radius: 0; }
.ib-gallery-player .ib-video-player__video { object-fit: contain; }
.ib-media-viewer .lg-video-cont, .ib-media-viewer .lg-img-wrap { touch-action: none; }
.ib-media-viewer button, .ib-media-viewer input { touch-action: manipulation; }
.lg-outer.ib-media-viewer .lg-toolbar { display: flex; align-items: center; gap: 2px; min-height: var(--ib-viewer-toolbar); padding: env(safe-area-inset-top) 8px 0; background: #0c0b11; }
.lg-outer.ib-media-viewer .lg-toolbar .lg-icon { float: none; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; }
.lg-outer.ib-media-viewer .lg-counter { flex: 1 0 auto; float: none; padding: 10px 4px; white-space: nowrap; }
.ib-viewer-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid #ffffff30; border-radius: 9px; color: #fff; background: #ffffff0c; padding: 6px 10px; font: 500 12px/1.2 Inter, system-ui, sans-serif; cursor: pointer; text-align: center; }
.ib-viewer-action:hover { color: #fff; background: #ffffff20; }
.ib-viewer-action[hidden] { display:none; }
.ib-viewer-action--icon { width:44px; padding:9px; }
.ib-viewer-action--icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ib-viewer-action:focus-visible, .ib-media-viewer .lg-icon:focus-visible, .ib-media-viewer .lg-thumb-item:focus-visible { outline: 2px solid #ff7ac4; outline-offset: 2px; }
.lg-outer.ib-media-viewer .lg-thumb-outer { height: var(--ib-viewer-rail); padding: 8px 0 env(safe-area-inset-bottom); background: #0c0b11; }
.lg-outer.ib-media-viewer .lg-thumb { padding: 0; }
.lg-outer.ib-media-viewer .lg-thumb-item { border-radius: 7px; border: 2px solid transparent; cursor:pointer; touch-action:pan-x; }
.lg-outer.ib-media-viewer .lg-thumb-item * { pointer-events:none; }
.lg-outer.ib-media-viewer .lg-thumb-item:focus-visible { border-color:#ff7ac4; }
.lg-outer.ib-media-viewer .lg-thumb-item.active { border-color: #ff2795; box-shadow: 0 0 0 1px #ff7ac4; }
.lg-outer.ib-media-viewer .lg-thumb-item .ib-media-card__thumb { position:relative; width:100%; height:100%; background:linear-gradient(135deg,#21152f,#44304c); }
.lg-outer.ib-media-viewer .lg-thumb-item .ib-media-card__poster,.lg-outer.ib-media-viewer .lg-thumb-item video { position:absolute; inset:0; }
.lg-outer.ib-media-viewer .lg-thumb-item .ib-media-card__poster { z-index:1; }
.lg-outer.ib-media-viewer .lg-thumb-item.ib-preview-ready .ib-media-card__poster { display:none; }
.lg-outer.ib-media-viewer .lg-thumb-item img,.lg-outer.ib-media-viewer .lg-thumb-item video { display:block; width:100%; height:100%; object-fit:cover; }
.lg-outer.ib-media-viewer .lg-thumb-item .ib-media-card__overlay { position:absolute; inset:0; display:grid; place-items:center; background:#10091b38; }
.lg-outer.ib-media-viewer .lg-thumb-item .ib-media-card__duration { position:absolute; z-index:3; bottom:2px; right:2px; padding:1px 3px; border-radius:3px; background:#000d; color:#fff; font-size:9px; line-height:12px; }
.lg-outer.ib-media-viewer .lg-thumb-item .ib-media-card__play-icon { min-width: 20px; min-height: 20px; width: 20px; height: 20px; padding:0; border:1px solid #ffffffb0; border-radius:50%; font:700 9px/1 system-ui,sans-serif; background: #130d1de0; box-shadow: none; transform:none; }
.lg-outer.ib-media-viewer .ib-embed-loading { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; background:linear-gradient(135deg,#21152f,#44304c); color:#fff; z-index:2; pointer-events:none; }
.lg-outer.ib-media-viewer .ib-embed-loading img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:.72; }
.lg-outer.ib-media-viewer .ib-embed-loading span { position:relative; padding:9px 13px; border-radius:8px; background:#130d1dd9; font-size:13px; }
.lg-outer.ib-media-viewer .lg-toolbar,.lg-outer.ib-media-viewer .lg-thumb-outer,.lg-outer.ib-media-viewer .lg-prev,.lg-outer.ib-media-viewer .lg-next,.lg-outer.ib-media-viewer .lg-sub-html { transition:opacity .2s ease,background-color .2s ease; }
.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-thumb-outer,.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-prev,.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-next,.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-sub-html { opacity:0; pointer-events:none; }
.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-toolbar { background:transparent; }
.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-toolbar > :not(.lg-close) { opacity:0; pointer-events:none; }
.lg-outer.ib-media-viewer.ib-chrome-hidden .lg-close { opacity:.7; background:#0c0b11b8; border-radius:8px; pointer-events:auto; }
@media (prefers-reduced-motion: reduce) { .lg-outer.ib-media-viewer .lg-toolbar,.lg-outer.ib-media-viewer .lg-thumb-outer,.lg-outer.ib-media-viewer .lg-prev,.lg-outer.ib-media-viewer .lg-next,.lg-outer.ib-media-viewer .lg-sub-html { transition:none; } }
.ib-media-card__thumb [hidden] { display: none !important; }
.ib-media-card__thumb .ib-media-card__overlay { pointer-events: none; }
.lg-outer.ib-media-viewer .lg-img-wrap { padding: 0; }
.lg-outer.ib-media-viewer .lg-sub-html { color:#e9e5ec; background:#0c0b11e8; }
.lg-outer.ib-media-viewer .lg-sub-html strong { color:#fff; }
@media (max-width: 430px) {
  .ib-viewer-action { padding: 5px 7px; font-size: 11px; }
  .lg-outer.ib-media-viewer .lg-toolbar .lg-icon { flex-basis: 40px; width: 40px; }
  .lg-outer.ib-media-viewer .ib-gallery-player { border-radius: 0; }
}
