/* Styles limited to the public gallery cards. */
[data-gallery] .gallery-works { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
[data-gallery] .gallery-work { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
[data-gallery] .gallery-work__header { margin: 20px; padding-left: 14px; }
[data-gallery] .gallery-work__header span { font-size: 11px; }
[data-gallery] .gallery-work__header h2 { font-size: clamp(1.15rem,2.3vw,1.6rem); overflow-wrap: anywhere; }
.work-media { position: relative; min-width: 0; background: var(--blue-soft); }
.work-media__track { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
.work-media__track::-webkit-scrollbar { display: none; }
.work-media__slide { position: relative; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.work-media__image { display: block; width: 100%; aspect-ratio: 4/3; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.work-media__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.work-media__phase { position: absolute; z-index: 1; bottom: 12px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 120px); padding: 5px 13px; border-radius: var(--radius); background: var(--orange); color: #fff; font-size: 13px; line-height: 1.3; font-weight: 800; text-shadow: 0 1px 2px #713700; pointer-events: none; }
.work-media__phase:empty { display: none; }
.work-media__arrow { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0 0 4px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(6,29,63,.74); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.work-media__arrow:hover { background: var(--blue); }
.work-media__arrow--previous { left: 10px; }
.work-media__arrow--next { right: 10px; }
.work-media :focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.work-media__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gallery-lightbox .gallery-lightbox__media { position: relative; width: fit-content; max-width: 100%; margin-inline: auto; }
.gallery-lightbox .gallery-lightbox__media img { width: auto; height: auto; max-width: 100%; max-height: 86vh; max-height: 86dvh; object-fit: contain; }
.gallery-lightbox .gallery-lightbox__arrow { top: 50%; transform: translateY(-50%); padding: 0 0 4px; border: 1px solid rgba(255,255,255,.5); background: rgba(6,29,63,.74); color: #fff; font-size: 30px; }
.gallery-lightbox .gallery-lightbox__arrow:hover { background: var(--blue); }
.gallery-lightbox .gallery-lightbox__arrow--previous { left: 10px; right: auto; }
.gallery-lightbox .gallery-lightbox__arrow--next { right: 10px; }
.gallery-lightbox [data-gallery-close] { top: 10px; right: 10px; }
.gallery-lightbox [hidden] { display: none; }
@media (max-width: 650px) {
    [data-gallery] .gallery-works { grid-template-columns: minmax(0,1fr); gap: 24px; }
    [data-gallery] .gallery-work__header { margin: 16px; }
    .work-media__phase { bottom: 9px; padding: 4px 10px; font-size: 12px; }
}
