/* univkorea.kr 08 갤러리 — B 매거진 (2026-10-08, 시안 dashboard-preview3-gallery B안) */
#s8[hidden], .links a[hidden] { display: none; }
#s8 .ch-body { min-width: 0; }

.gp-count { margin: 28px 0 0; color: var(--dim); font-size: 13px; letter-spacing: .1em; }
.gp-count b { font-family: var(--en); font-weight: 500; font-size: 30px; color: var(--sand); margin-right: 6px; }

/* 7장 한 묶음: 큰 1 + 작은 4 + 가로 2 (inventory 유학 갤러리 화면 표시와 같은 규칙) */
.gp { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 170px; gap: 8px; }
.gp-it:nth-child(7n+1) { grid-column: span 2; grid-row: span 2; }
.gp-it:nth-child(7n+6), .gp-it:nth-child(7n) { grid-column: span 2; }

.gp-it { position: relative; overflow: hidden; cursor: zoom-in; background: var(--line); border: 0; padding: 0; display: block; }
.gp-it img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease, filter .4s; filter: saturate(.9) brightness(.94); }
.gp-it:hover img { transform: scale(1.04); filter: none; }
.gp-it::after { content: ''; position: absolute; inset: 0; border: 1px solid transparent; transition: border-color .3s; pointer-events: none; }
.gp-it:hover::after, .gp-it:focus-visible::after { border-color: var(--sand); }

.gp-more-row { text-align: center; margin-top: 34px; }
.gp-more { background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.gp-more[hidden] { display: none; }

/* 크게 보기 */
.lb { position: fixed; inset: 0; z-index: 50; background: rgba(8,9,11,.96); display: flex; align-items: center; justify-content: center; }
.lb[hidden] { display: none; }
.lb-img { max-width: min(84vw, 1400px); max-height: 82vh; object-fit: contain; display: block; }
.lb-x { position: absolute; top: 18px; right: 26px; background: none; border: 0; color: var(--fg); font-size: 40px; cursor: pointer; line-height: 1; }
.lb-nav { background: none; border: 0; color: var(--dim); font-size: 64px; cursor: pointer; padding: 0 24px; font-family: var(--en); }
.lb-nav:hover, .lb-x:hover { color: var(--sand); }
.lb-no { position: absolute; bottom: 22px; left: 0; right: 0; margin: 0; text-align: center; font-family: var(--en); font-style: italic; font-size: 20px; color: var(--sand); letter-spacing: .08em; }

@media (max-width: 680px) {
  .gp { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 120px; gap: 6px; }
  .gp-it:nth-child(7n+1) { grid-column: span 1; grid-row: span 2; }
  .lb-nav { position: absolute; bottom: 10px; font-size: 48px; }
  .lb-prev { left: 10px; } .lb-next { right: 10px; }
  .lb-img { max-width: 94vw; max-height: 72vh; }
}
