/* 베뉴 상세: 흰 배경 위에 인스타그램 피드처럼 작은 썸네일을 나란히 두고, 누르면 크게 본다. */
:root{--venue-ink:#333;--venue-muted:#8c8c8c;--venue-line:#ebe6e3;--venue-accent:#d98a92;--venue-accent-strong:#cf7d86;--venue-accent-text:#e2939a;--venue-soft:#fbf1f1}
body{margin:0;background:#fff;color:var(--venue-ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}
.venue-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--venue-line);background:#ffffffeb;color:var(--venue-ink);backdrop-filter:blur(14px)}
.venue-header a{color:inherit;text-decoration:none}
.venue-header>a:last-child{font-size:10px;font-weight:700;letter-spacing:.04em}
.venue-wordmark{display:flex;align-items:baseline;font-size:26px;font-weight:300;letter-spacing:-.06em}
.venue-wordmark small{margin-left:12px;color:var(--venue-muted);font-size:8px;font-weight:500;letter-spacing:.2em}
.venue-detail{min-height:calc(100svh - 72px)}
.venue-loading,.venue-not-found{display:grid;min-height:calc(100svh - 72px);margin:0;place-items:center;color:var(--venue-muted);font-size:13px}
.venue-hero,.venue-gallery-section,.venue-gallery-footer{width:min(1180px,100%);margin:0 auto;padding-right:clamp(16px,4vw,40px);padding-left:clamp(16px,4vw,40px);box-sizing:border-box}
.venue-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-top:clamp(34px,5vw,64px);padding-bottom:22px;border-bottom:1px solid var(--venue-line)}
.venue-kicker{margin:0 0 12px;color:var(--venue-accent-text);font-size:10px;font-weight:700;letter-spacing:.16em}
.venue-hero h1{margin:0;font-size:clamp(28px,3.4vw,44px);font-weight:300;line-height:1.25;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word}
.venue-count{margin:0 0 6px;color:var(--venue-muted);font-size:10px;font-weight:700;letter-spacing:.14em;white-space:nowrap}
.venue-gallery-section{padding-top:22px;padding-bottom:clamp(40px,6vw,72px)}
.venue-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.venue-gallery-item{position:relative;overflow:hidden;padding:0;border:0;background:var(--venue-soft);cursor:zoom-in}
.venue-gallery-item img,.venue-gallery-item video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease,opacity .3s ease}.venue-gallery-item video{background:var(--venue-soft)}
.venue-gallery-item:hover img,.venue-gallery-item:hover video{transform:scale(1.03);opacity:.92}.venue-video-badge{position:absolute;right:8px;bottom:8px;padding:5px 8px;border-radius:999px;background:#ffffffe6;color:var(--venue-ink);font-size:8px;font-weight:800;letter-spacing:.12em}
.venue-gallery-item:focus-visible{outline:2px solid var(--venue-accent);outline-offset:2px}
.venue-gallery-empty{grid-column:1/-1;display:grid;min-height:40vh;margin:0;place-items:center;background:var(--venue-soft);color:var(--venue-muted);font-size:15px}
.venue-gallery-footer{display:flex;justify-content:center;padding-top:0;padding-bottom:calc(clamp(44px,6vw,80px) + env(safe-area-inset-bottom));background:#fff}
.venue-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(420px,100%)}
.venue-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 16px;border-radius:2px;background:var(--venue-accent);color:#fff;font-size:12px;font-weight:700;text-align:center;text-decoration:none;transition:background .2s,transform .2s}
.venue-actions a:hover{background:var(--venue-accent-strong);transform:translateY(-2px)}
.venue-not-found{align-content:center;padding:80px 20px;background:#fff;text-align:center}
.venue-not-found p{margin:0;color:var(--venue-accent-text);font-size:10px;font-weight:700;letter-spacing:.17em}
.venue-not-found h1{margin:14px 0 28px;color:var(--venue-ink);font-size:clamp(26px,4vw,40px);font-weight:300;letter-spacing:-.04em}
.venue-not-found a{color:var(--venue-accent-strong);font-size:12px}
.venue-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}
.venue-lightbox[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center}
.venue-lightbox::backdrop{background:#000}
.venue-lightbox>button{height:100%;border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}
.venue-lightbox>[data-lightbox-close]{position:absolute;z-index:2;top:10px;right:12px;width:50px;height:50px}
.venue-lightbox figure{display:grid;align-content:center;height:100vh;margin:0}
.venue-lightbox [data-lightbox-media]{display:grid;place-items:center;min-height:0}.venue-lightbox img,.venue-lightbox video{display:block;max-width:100%;max-height:88vh;margin:auto;object-fit:contain}
.venue-lightbox figcaption{margin-top:14px;color:#d8d2d0;font-size:10px;text-align:center;letter-spacing:.08em}
@media(min-width:760px){.venue-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}
@media(min-width:1200px){.venue-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){
  .venue-header{height:62px;padding:0 18px}.venue-wordmark{font-size:23px}.venue-wordmark small{display:none}
  .venue-detail,.venue-loading,.venue-not-found{min-height:calc(100svh - 62px)}
  .venue-hero{display:block;padding-top:28px;padding-bottom:16px}.venue-count{margin:10px 0 0}
  .venue-hero,.venue-gallery-footer{padding-right:18px;padding-left:18px}
  .venue-gallery-section{padding:12px 0 36px}.venue-gallery{gap:2px}
  .venue-actions{width:100%}
  .venue-lightbox[open]{grid-template-columns:45px 1fr 45px}.venue-lightbox>button{font-size:19px}
}
