

.gallery-tagline{
  margin-top:8px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.4;
}

.gallery-spec-strip{padding:0}
.gallery-spec-strip__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:24px auto;
}
.gallery-spec-tile{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:9px;
  padding:16px;
}
.gallery-spec-tile small{
  display:block;
  color:var(--muted);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.gallery-spec-tile strong{
  display:block;
  margin-top:6px;
  font-size:1.4rem;
  color:var(--text);
}


.gallery-hero{padding:22px 0 12px}
.gallery-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:32px;
  margin-top:16px;
  align-items:start;
}
.gallery-hero__media{min-width:0}
.gallery-hero__main{display:block;line-height:0}
.gallery-hero__photo{
  width:100%;
  max-height:none;
  aspect-ratio:4/3;
  object-fit:cover;
  margin:0 0 10px;
}
.gallery-hero__thumbs img{width:88px;height:66px}
.gallery-hero__placeholder{
  aspect-ratio:4/3;
  border:1px dashed var(--border);
  border-radius:10px;
  background:var(--surface-2);
}
.gallery-hero__info{min-width:0}
.gallery-hero__info h1{margin:10px 0 6px;font-size:34px}
.gallery-hero__badges{margin-top:4px}
.gallery-hero__cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin:18px 0 20px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
}
.gallery-hero__cta .btn{flex:0 0 auto}

.gallery-requirements__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.gallery-requirements__group h3{font-size:15px}
.gallery-requirements__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gallery-requirements__list li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.gallery-requirements__qty{
  color:var(--primary-2);
  font-weight:800;
  font-size:12px;
  white-space:nowrap;
}
.gallery-requirements__note{flex:1 1 100%;font-size:12px}

.gallery-videos__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.gallery-video{display:grid;gap:8px}
.gallery-video__facade{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:var(--surface-2);
  cursor:pointer;
  aspect-ratio:16/9;
}
.gallery-video__poster{width:100%;height:100%;object-fit:cover;display:block}

.gallery-video__poster--placeholder{
  background:linear-gradient(135deg,var(--surface-2),var(--border));
}
.gallery-video__play{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--on-accent);
}
.gallery-video__play svg{
  width:64px;
  height:64px;
  padding:16px;
  border-radius:50%;
  background:var(--primary);
  box-shadow:0 8px 24px var(--accent-shadow);
}
.gallery-video__frame-host{
  aspect-ratio:16/9;
  border-radius:10px;
  overflow:hidden;
  background:var(--surface-2);
}
.gallery-video__frame{width:100%;height:100%;border:0;display:block}
.gallery-video__link{font-size:12px}

.gallery-story__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.gallery-story__tag{
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:999px;
  padding:6px 12px;
  font-size:.8rem;
  color:var(--muted);
}


@media (max-width: 640px) {
  .gallery-tagline{
    font-size:16px;
    line-height:22px;
    margin-top:8px;
    max-height:44px;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .gallery-spec-strip__grid{
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin:16px auto;
    padding:8px 0;
  }
  .gallery-spec-tile{
    min-height:64px;
    padding:10px;
  }

  .gallery-hero__grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .gallery-hero__info h1{font-size:26px}
  .gallery-hero__thumbs img{width:64px;height:48px}
  .gallery-requirements__grid,.gallery-videos__grid{grid-template-columns:minmax(0,1fr)}
}
