/* 축의대 갤러리: 글 카드 목록과, 베뉴 상세처럼 작은 썸네일을 눌러 크게 보는 글 상세. */
.reception-gallery-page{padding:clamp(40px,6vw,80px) clamp(16px,5vw,72px) clamp(56px,7vw,96px)}
.gallery-list-view{width:min(1440px,100%);margin:0 auto}
.gallery-post-view{width:min(1080px,100%);margin:0 auto}
.gallery-head{margin-bottom:clamp(26px,4vw,44px);text-align:center}
.gallery-head h1,.gallery-post-head h1{margin:0;font-size:clamp(30px,3.4vw,46px);font-weight:300;letter-spacing:-.04em;color:#4a4a4a}
.gallery-head h1 em{font-style:normal;color:var(--accent-text,#e2939a)}
.gallery-head>p:not(.section-number){margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.gallery-post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,30px);margin:0;padding:0;list-style:none}
.gallery-post-card{display:block;height:100%;overflow:hidden;border:1px solid #eadfdf;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(94,70,72,.06);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.gallery-post-card:hover{transform:translateY(-5px);border-color:var(--accent,#d98a92);box-shadow:0 18px 42px rgba(94,70,72,.12)}
.gallery-post-card:focus-visible{outline:2px solid var(--accent,#d98a92);outline-offset:3px}
.gallery-post-cover{position:relative;overflow:hidden;aspect-ratio:3/4;background:linear-gradient(145deg,var(--accent-soft,#fbf1f1),#fff9f8)}
.gallery-post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .3s ease}
.gallery-post-card:hover .gallery-post-cover img{transform:scale(1.025);filter:saturate(1.04)}
.gallery-post-cover span{position:absolute;right:10px;bottom:10px;padding:4px 9px;border-radius:99px;background:#ffffffe6;color:#555;font-size:10px;font-weight:700}
.gallery-post-cover.is-empty:after{content:"YUYEON FILM";position:absolute;inset:0;display:grid;place-items:center;color:var(--accent-text,#e2939a);font-size:10px;font-weight:700;letter-spacing:.2em}
.gallery-post-copy{display:grid;gap:8px;padding:20px 22px 24px;border-top:1px solid #f4ebeb}
.gallery-post-copy small{min-height:14px;color:var(--accent-text,#e2939a);font-size:10px;font-weight:700;letter-spacing:.08em}
.gallery-post-copy strong{font-size:17px;font-weight:600;line-height:1.45;color:var(--ink);letter-spacing:-.02em}
.gallery-post-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.7;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gallery-pagination{display:flex;width:max-content;align-items:center;justify-content:center;gap:4px;margin:clamp(30px,4vw,46px) auto 0;padding:6px;border:1px solid #eadfdf;border-radius:999px;background:#fff;box-shadow:0 10px 28px rgba(94,70,72,.07)}
.gallery-pagination[hidden]{display:none}
.gallery-pagination a{display:grid;width:38px;height:38px;place-items:center;border:1px solid transparent;border-radius:50%;background:#fff;color:var(--muted);font-size:12px;font-weight:700;transition:border-color .2s ease,background .2s ease,color .2s ease}
.gallery-pagination a:hover,.gallery-pagination a:focus-visible{border-color:var(--accent,#d98a92);color:var(--accent-strong,#cf7d86)}
.gallery-pagination a:focus-visible{outline:2px solid var(--accent,#d98a92);outline-offset:3px}
.gallery-pagination a[aria-current="page"]{border-color:var(--accent,#d98a92);background:var(--accent,#d98a92);color:#fff}
.gallery-pagination .gallery-page-arrow{font-size:15px;font-weight:400}
.gallery-empty{margin:0;padding:clamp(50px,9vw,110px) 20px;border:1px solid var(--line);color:var(--muted);font-size:14px;text-align:center}
.gallery-back{display:inline-block;margin-bottom:26px;color:var(--muted);font-size:12px;font-weight:700}
.gallery-back:hover{color:var(--accent-strong,#cf7d86)}
.gallery-post-head{padding-bottom:22px;border-bottom:1px solid var(--line)}
.gallery-post-head .section-number{margin-bottom:12px}
.gallery-post-text{max-width:760px;margin:26px 0 0;color:#555;font-size:15px;line-height:1.95;white-space:pre-line}
.gallery-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:30px}
.gallery-photo{overflow:hidden;padding:0;border:0;background:var(--accent-soft,#fbf1f1);cursor:zoom-in}
.gallery-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s ease,opacity .3s ease}
.gallery-photo:hover img{transform:scale(1.03);opacity:.92}
.gallery-photo:focus-visible{outline:2px solid var(--accent,#d98a92);outline-offset:2px}
.gallery-post-actions{display:flex;justify-content:center;gap:8px;margin-top:clamp(36px,5vw,60px)}
.gallery-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(28,26,26,.94);color:#fff}
.gallery-lightbox[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center}
.gallery-lightbox::backdrop{background:#000}
.gallery-lightbox>button{height:100%;border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}
.gallery-lightbox>[data-lightbox-close]{position:absolute;z-index:2;top:10px;right:12px;width:50px;height:50px}
.gallery-lightbox figure{display:grid;align-content:center;height:100vh;margin:0}
.gallery-lightbox img{max-width:100%;max-height:88vh;margin:auto;object-fit:contain}
.gallery-lightbox figcaption{margin-top:14px;color:#d8d2d0;font-size:10px;text-align:center;letter-spacing:.08em}
@media(min-width:1680px){.gallery-post-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.gallery-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}}
@media(max-width:640px){
  body.reception-gallery-body{height:100dvh;padding-bottom:0;overflow:hidden}
  .reception-gallery-body .content-page-main{height:calc(100dvh - 62px);min-height:0;overflow:hidden}
  .reception-gallery-body .content-page-footer{display:none}
  body.reception-gallery-body.is-gallery-detail{height:auto;overflow-x:hidden;overflow-y:auto}
  .reception-gallery-body.is-gallery-detail .content-page-main{height:auto;min-height:calc(100dvh - 62px);overflow:visible}
  .reception-gallery-page{padding:26px 12px 42px}
  .gallery-head{margin-bottom:20px}
  .gallery-head h1{font-size:28px}
  .gallery-head>p:not(.section-number){margin-top:10px;font-size:12px;line-height:1.6}
  .gallery-post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-post-card{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:auto;aspect-ratio:3/4;border-radius:12px}
  .gallery-post-cover{height:100%;aspect-ratio:auto}
  .gallery-post-copy{gap:5px;padding:12px 11px 14px}
  .gallery-post-copy small{min-height:12px;overflow:hidden;font-size:8px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
  .gallery-post-copy strong{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .gallery-post-copy p{display:none}
  .gallery-pagination{margin-top:24px}
  .gallery-post-text{font-size:14px}
  .gallery-photo-grid{margin-right:-16px;margin-left:-16px}
  .gallery-post-actions{display:grid;grid-template-columns:1fr 1fr}
  .gallery-lightbox[open]{grid-template-columns:45px 1fr 45px}.gallery-lightbox>button{font-size:19px}
}
@media(max-width:640px) and (max-height:760px){
  .reception-gallery-page{padding-top:16px;padding-bottom:10px}
  .gallery-head{margin-bottom:12px}
  .gallery-head .section-number{margin-bottom:10px}
  .gallery-head h1{font-size:24px}
  .gallery-head>p:not(.section-number){margin-top:6px;font-size:11px;line-height:1.4}
  .gallery-post-list{--gallery-card-width:clamp(88px,calc(37.5dvh - 89px),178px);grid-template-columns:repeat(2,var(--gallery-card-width));justify-content:center;gap:8px}
  .gallery-post-copy{padding:8px 8px 10px}
  .gallery-post-copy small{font-size:7px}
  .gallery-post-copy strong{font-size:12px}
  .gallery-pagination{margin-top:14px;padding:4px}
  .gallery-pagination a{width:34px;height:34px}
}
