/* Gallery archive: editorial collections and tactile contact prints. */
.gallery-page{min-height:calc(100vh - 74px);background:#0d0d0e}
.gallery-workspace{padding:clamp(.55rem,1.5vw,1rem) clamp(1rem,4vw,3.8rem) 5rem}
.gallery-workspace__inner{width:min(1440px,100%);margin:0 auto}
.gallery-masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.8rem 3rem;align-items:start;padding-bottom:2.2rem;border-bottom:1px solid rgba(216,168,90,.32)}
.gallery-masthead__copy{position:relative;min-width:0;align-self:start;display:flex;flex-direction:column;justify-content:flex-start}
.gallery-masthead__kicker{margin:0 0 .7rem;color:var(--gold);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}
.gallery-masthead__title{margin:0;align-self:flex-start;font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.6rem);font-weight:500;line-height:.88;letter-spacing:0}
.gallery-masthead__title em{color:#efac32;font-weight:500}
.gallery-masthead__hint{margin:1rem 0 0;color:var(--text-soft);font-size:.86rem}
.gallery-masthead__status{position:absolute;left:-9999px}
.gallery-masthead__actions{display:flex;align-items:center;gap:.8rem}
.gallery-masthead__qr{width:64px;height:64px;padding:3px;background:#fff;border:1px solid rgba(216,168,90,.5)}
.gallery-slideshow{min-height:42px;border:1px solid rgba(216,168,90,.48);border-radius:0;background:transparent;color:var(--gold-soft);padding:.65rem 1rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.gallery-slideshow:hover:not(:disabled),.gallery-slideshow:focus-visible{background:var(--gold);color:#17110a}
.gallery-slideshow:disabled{opacity:.42;cursor:not-allowed}
.gallery-progress{
  position:fixed;
  right:clamp(.8rem,2vw,1.5rem);
  top:clamp(4.5rem,8vh,6rem);
  z-index:260;
  width:min(420px,calc(100vw - 1.6rem));
  max-width:none;
  margin:0;
  padding:.72rem .78rem;
  border-color:rgba(216,168,90,.5);
  border-radius:8px;
  background:rgba(18,18,21,.96);
  box-shadow:0 16px 38px rgba(0,0,0,.52);
  backdrop-filter:blur(10px);
  animation:gallery-progress-in .22s var(--ease) both;
}
.gallery-progress[hidden]{display:none}
@keyframes gallery-progress-in{from{opacity:0}to{opacity:1}}
.gallery-collections{grid-column:1/-1;min-width:0;padding-top:.45rem}
.gallery-collections .folder-list
{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  justify-content:start;gap:clamp(.7rem,1.5vw,1.2rem);
  min-height:0;overflow:visible;
  padding:.4rem .25rem .7rem
}
.gallery-collections .folder-card{position:relative;width:100%;max-width:360px;padding:.35rem .35rem 0;display:block;border:0;border-radius:1px;background:#eee9df;box-shadow:0 8px 18px rgba(0,0,0,.3);transform:rotate(-1deg);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.gallery-collections .folder-card:nth-child(3n+2){transform:rotate(1.2deg) translateY(.35rem)}
.gallery-collections .folder-card:nth-child(3n){transform:rotate(-.4deg) translateY(.15rem)}
.gallery-collections .folder-card:hover,.gallery-collections .folder-card.is-active{transform:rotate(0) translateY(-5px);box-shadow:0 20px 38px rgba(0,0,0,.5)}
.gallery-collections .folder-card.is-active{outline:2px solid var(--gold);outline-offset:5px}
.gallery-collections .folder-card__select{width:100%;min-height:0;border:0;border-radius:0;background:transparent;padding:0;color:#28231d;display:block;text-align:left}
.gallery-collections .folder-card__select:hover,.gallery-collections .folder-card__select:focus-visible{border:0;background:transparent}
.gallery-collections .folder-card__cover
{
  display:block;
  width:100%;aspect-ratio:4/3;
  object-fit:cover;
  background:#8f8f8f;
  filter:saturate(.88) contrast(1.03)
}
.gallery-collections .folder-card__cover--empty{display:flex;align-items:center;justify-content:center;color:#dedbd4;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em}
.gallery-collections .folder-card__details{display:block;min-width:0;padding:.4rem 1.6rem .45rem .2rem}
.gallery-collections .folder-card__name{display:block;color:#352e27;font-family:var(--font-script);font-size:.88rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gallery-collections .folder-card__count{display:block;margin-top:.18rem;color:#786f65;font-family:var(--font-mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase}
.gallery-collections .folder-card__download{position:absolute;right:.4rem;bottom:.42rem;width:22px;height:22px;margin:0;padding:0;border:1px solid rgba(41,35,28,.18);border-radius:4px;background:transparent;color:#594f43;font-size:0}
.gallery-collections .folder-card__download:after{content:"↓";font-size:.72rem}
.gallery-collections .folder-card__download:hover,.gallery-collections .folder-card__download:focus-visible{color:#17110a;border-color:#6c5b45;background:rgba(216,168,90,.24)}
.gallery-photo-wall{height:auto;min-height:340px;overflow:visible;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;padding:3rem 0 1rem;align-items:start}
.gallery-photo-wall .incoming-thumb{overflow:hidden;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--ink-panel);box-shadow:none;transform:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.gallery-photo-wall .incoming-thumb:nth-child(n){transform:none}
.gallery-photo-wall .incoming-thumb:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-md);z-index:auto}
.gallery-photo-wall .incoming-thumb img{aspect-ratio:4/3;background:var(--ink-soft);filter:none}
.gallery-photo-wall .incoming-thumb__meta{min-height:0;border-top:1px solid var(--line);padding:.42rem .5rem .42rem .62rem;color:var(--text)}
.gallery-photo-wall .incoming-thumb__name{color:var(--text-dim);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.05em;text-transform:uppercase;text-align:left}
.gallery-photo-wall .incoming-thumb__download,.gallery-photo-wall .incoming-thumb__delete{border-color:var(--line);background:var(--ink-elev);color:var(--text-soft)}
.gallery-photo-wall .incoming-thumb__delete{border-color:rgba(207,70,87,.56);background:rgba(207,70,87,.15);color:#f3bec6}
.gallery-photo-wall .incoming-slot{grid-column:1/-1;border-radius:0;min-height:300px}

.gallery-photo-wall .incoming-thumb__preview { position: relative; display: block; width: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; }
.gallery-photo-wall .incoming-thumb__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.38);
  color: #E5A93C;
  transition: background .2s;
  pointer-events: none;
}
.gallery-photo-wall .incoming-thumb__play svg { width: 30px; height: 30px; filter: drop-shadow(0 2px 8px rgba(0,0,0,.55)); }
.gallery-photo-wall .incoming-thumb--video:hover .incoming-thumb__play { background: rgba(0,0,0,.2); }
.livecam-modal__video {
  max-width: 100%;
  max-height: 80vh;
  width: auto;
  height: auto;
  background: #000;
  border-radius: 4px;
}

@media (max-width:900px){
  .gallery-masthead{grid-template-columns:1fr}
  .gallery-masthead__actions{justify-content:flex-start}
  .gallery-collections .folder-list{grid-template-columns:repeat(3,minmax(0,150px))}
  .gallery-collections .folder-card{max-width:150px}
  .gallery-photo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:560px){
  .gallery-workspace{padding:.7rem .8rem 3.5rem}
  .gallery-masthead{gap:1.3rem;padding-bottom:1.5rem}
  .gallery-masthead__title{font-size:2.65rem}
  .gallery-masthead__qr{width:54px;height:54px}
  .gallery-collections .folder-list{grid-template-columns:repeat(2,minmax(0,130px));gap:1rem;padding:.3rem .2rem .6rem}
  .gallery-collections .folder-card{max-width:130px}
  .gallery-collections .folder-card__name{font-size:.82rem}
  .gallery-photo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:2rem 0 0}
}
