.td-lightbox { padding: 16px; width: min(1400px, calc(100% - 32px)); height: min(960px, calc(100dvh - 32px)); max-width: none; max-height: none; background: #080b10; color: #f8f9fa; border: 1px solid #34404e; border-radius: 6px; overflow: hidden; }
.td-lightbox[open] { display: grid; grid-template-rows: auto minmax(0,1fr) 88px auto; gap: 14px; }
.td-lightbox::backdrop { background: #000e; }
.td-lightbox-toolbar { display: flex; align-items: center; gap: 16px; min-width: 0; }
.td-lightbox-caption { margin: 0; flex: 1; min-width: 0; font-size: 16px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.td-lightbox-counter { font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.td-lightbox button { display: grid; place-items: center; padding: 0; cursor: pointer; background: #0e151e; color: #fff; border: 1px solid #4a5561; border-radius: 4px; }
.td-lightbox button:hover { border-color: #00d9ff; }
.td-lightbox button:focus-visible, .td-lightbox a:focus-visible { outline: 2px solid #00d9ff; outline-offset: 3px; }
.td-lightbox button svg, .td-lightbox-footer svg { width: 20px; height: 20px; }
.td-lightbox-close { width: 42px; height: 42px; flex: 0 0 42px; }
.td-lightbox-stage { position: relative; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 0 54px; }
.td-lightbox .td-lightbox-photo { width: 100%; height: 100%; object-fit: contain; max-height: 100%; touch-action: pan-y pinch-zoom; }
.td-lightbox-stage button { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 42px; }
.td-lightbox-prev { left: 0; }
.td-lightbox-prev svg { transform: rotate(180deg); }
.td-lightbox-next { right: 0; }
.td-lightbox-status { position: absolute; inset: 35% 60px auto; text-align: center; }
.td-lightbox-thumbs { display: flex; align-items: center; justify-content: flex-start; gap: 10px; overflow-x: auto; overflow-y: hidden; padding: 4px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #52606c #111820; }
.td-lightbox-thumbs button { flex: 0 0 104px; height: 72px; overflow: hidden; border: 2px solid transparent; }
.td-lightbox-thumbs button[aria-current="true"] { border-color: #00d9ff; }
.td-lightbox-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.td-lightbox-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; }
.td-lightbox-footer a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 0 16px; border: 1px solid #00d9ff8c; border-radius: 5px; background: #0a111b; color: #fff; font-size: 12px; font-weight: 850; text-transform: uppercase; transition: border-color .16s, background-color .16s, box-shadow .16s, transform .16s; }
.td-lightbox-footer a:hover { border-color: #00d9ff; background: #0d1722; box-shadow: 0 0 22px #00d9ff24; transform: translateY(-1px); }
.td-lightbox-footer .td-lightbox-details { border-color: #ff2ad4ad; background: linear-gradient(90deg, #118ee8, #6c4cff 54%, #d927c2); box-shadow: 0 0 22px #ff2ad426; }
.td-lightbox-footer .td-lightbox-details:hover { border-color: #ff63dc; background: linear-gradient(90deg, #199cf4, #7658ff 54%, #e235cd); box-shadow: 0 0 28px #15a8ff2e, 0 0 28px #ff2ad42e; }
.td-lightbox [hidden] { display: none !important; }
a[data-td-gallery] { cursor: zoom-in; }
@media (max-width: 640px) {
  .td-lightbox { width: calc(100% - 12px); height: calc(100dvh - 12px); padding: 10px; }
  .td-lightbox[open] { grid-template-rows: auto minmax(0,1fr) 78px auto; gap: 10px; }
  .td-lightbox-stage { padding: 0; }
  .td-lightbox-stage button { background: #080b10df; width: 38px; height: 44px; }
  .td-lightbox-thumbs button { flex-basis: 88px; height: 62px; }
  .td-lightbox-caption { font-size: 14px; }
	.td-lightbox-footer a { flex: 1 1 calc(50% - 7px); padding: 0 10px; }
}
.td-gallery-albums { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; }
.td-gallery-albums a { display: inline-flex; align-items: center; gap: 8px; color: var(--cyan, #00dcff); }
.td-gallery-albums svg { width: 16px; height: 16px; flex-shrink: 0; }
