/* 공연 갤러리 시안 v02 — DRAFT · 승인 대기 (FINAL 아님) */
.draft-badge{position:fixed;right:14px;bottom:14px;z-index:3000;padding:7px 12px;border-radius:999px;
  background:rgba(52,48,74,.82);color:#fff;font-size:12px;font-weight:600;pointer-events:none}
.section-kicker{margin:0;font-size:19px;line-height:28px;font-weight:600;color:#764EB1}
.section-title{margin:6px 0 0;font-family:"PayboocFont",sans-serif;font-size:42px;line-height:52px;font-weight:800;color:#ED2B79}
.section-title span{color:#6F269F}

/* ── 1. HERO (토리 키 340/280/215px, hug 포즈 폭 252/207/159) ── */
.gl-hero{position:relative;min-height:520px;background:url("./assets/gallery_v02/hero_pastel_sky.jpg") center 30%/cover no-repeat}
.gl-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff)}
.gl-hero-inner{position:relative;z-index:2;max-width:1585px;margin:0 auto;min-height:520px;padding:40px 220px 70px 160px;
  display:flex;align-items:center;justify-content:space-between;gap:30px}
.gl-hero-copy{position:relative}
.gl-hero-copy::before{content:"";position:absolute;inset:-60px -90px -50px -110px;z-index:-1;
  background:radial-gradient(closest-side,rgba(255,255,255,.92),rgba(255,255,255,.6) 55%,rgba(255,255,255,0))}
.gl-kicker{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:20px;font-weight:700;color:#764EB1}
.gl-kicker img{height:38px;width:auto}
.gl-hero-copy h1{margin:0}
.gl-line{display:block;font-family:"SchoolSafetyRoundedSmile",sans-serif;font-size:60px;line-height:72px;font-weight:700;letter-spacing:-2px}
.gl-line.dark{color:#29232C}.gl-line.pink{color:#ED0C6E}
.gl-hero-text{margin:20px 0 0;font-size:18px;line-height:31px;color:#4C464E}
.gl-hero-art{flex:0 0 auto;width:252px;max-width:70vw}
.gl-hero-art img{display:block;width:100%;filter:drop-shadow(0 18px 26px rgba(120,43,144,.2));animation:gl-float 5s ease-in-out infinite}
@keyframes gl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ── 2. 공연 기록 ── */
.gl-sec{padding:60px 72px 50px;max-width:1585px;margin:0 auto;box-sizing:border-box}
.gl-head{margin-bottom:30px}
.gl-year + .gl-year{margin-top:46px}
.gl-year-title{margin:0 0 20px;display:flex;align-items:center;gap:16px;font-family:"SchoolSafeVaultingBox",sans-serif;font-weight:400;font-size:28px;color:#6F269F}
.gl-year-title::after{content:"";flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,#F3D3E6,rgba(243,211,230,0))}
.gl-year-title span{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:#F6EEFC}
.gl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gl-card{border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #F0E4F6,0 12px 26px rgba(60,40,90,.08);transition:transform .2s ease}
.gl-card:hover{transform:translateY(-4px)}
.gl-photo{position:relative;display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:#F6EEFC}
.gl-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.gl-card:hover .gl-photo img{transform:scale(1.03)}
.gl-photo:focus-visible{outline:3px dashed #ED2B79;outline-offset:-6px}
.gl-chip{position:absolute;left:14px;top:14px;height:28px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;
  background:rgba(52,48,74,.78);color:#fff;font-size:13px;font-weight:700}
.gl-body{padding:16px 20px 20px}
.gl-date{margin:0 0 6px;font-size:14px;font-weight:700;color:#ED2B79}
.gl-body h4{margin:0 0 6px;font-size:18px;line-height:26px;color:#34304A;word-break:keep-all}
.gl-place{margin:0;font-size:15px;line-height:23px;color:#636466}
.gl-pending{margin:0;font-size:14.5px;line-height:23px;color:#9A93A6}
.gl-empty{margin:20px 0;text-align:center;font-size:17px;color:#7A7385}
.gl-more-wrap{text-align:center;margin-top:36px}
.gl-more{height:54px;padding:0 34px;border:0;border-radius:999px;cursor:pointer;font:inherit;font-size:17px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#F25AA0,#C2187D);box-shadow:0 10px 20px rgba(237,12,110,.22)}
.gl-more:hover{filter:brightness(1.05)}

/* ── 라이트박스 ── */
.lb{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;gap:16px;padding:30px;background:rgba(28,22,40,.86)}
.lb[hidden]{display:none}
.lb-fig{margin:0;max-width:min(1100px,86vw);text-align:center}
.lb-fig img{display:block;max-width:100%;max-height:78vh;margin:0 auto;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.lb-fig figcaption{margin-top:14px;font-size:15.5px;line-height:24px;color:#fff;white-space:pre-wrap}
.lb button{border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.14);font:inherit}
.lb button:hover{background:rgba(255,255,255,.26)}
.lb button:focus-visible{outline:3px solid #F9A8CF;outline-offset:3px}
.lb-close{position:absolute;right:22px;top:18px;width:48px;height:48px;border-radius:50%;font-size:32px;line-height:1}
.lb-nav{flex:0 0 auto;width:54px;height:54px;border-radius:50%;font-size:38px;line-height:1}

/* ── RESPONSIVE ── */
@media (max-width:1300px){ .gl-hero-inner{padding:40px 90px 70px 80px} }
@media (max-width:1100px){
  .gl-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .gl-hero-art{width:207px}
}
@media (max-width:900px){
  .gl-hero-inner{flex-direction:column;text-align:center;padding:46px 24px 60px}
  .gl-kicker{justify-content:center}
}
@media (max-width:700px){
  .section-kicker{font-size:15px;line-height:23px}
  .section-title{font-size:28px;line-height:37px}
  .gl-sec{padding:44px 20px 30px}
  .gl-line{font-size:38px;line-height:47px;letter-spacing:-1px}
  .gl-kicker{font-size:16px}.gl-kicker img{height:30px}
  .gl-hero-text{font-size:15.5px;line-height:26px}
  .gl-hero-text br{display:none}
  .gl-hero-art{width:159px}
  .gl-grid{grid-template-columns:1fr;gap:16px}
  .gl-year-title{font-size:22px}
  .lb{padding:16px 8px;gap:4px}
  .lb-fig{max-width:100%}
  .lb-nav{position:absolute;bottom:22px;width:48px;height:48px}
  .lb-prev{left:calc(50% - 60px)}.lb-next{right:calc(50% - 60px)}
}
