/* KOBIS Photobook: event galleries, films, lightbox */
.pb-head .pb-sub{margin-top:18px;max-width:40em;font-size:clamp(1.05rem,2vw,1.3rem);color:#e3e3e6}
.pb-head .actions{margin-top:28px}
.pb-note{margin-top:28px}.pb-note code{background:rgba(127,127,127,.18);padding:1px 6px;border-radius:6px;font-size:.9em}
.pb-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pb-pill{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;box-shadow:var(--sh1);transition:transform .25s,box-shadow .25s}
.pb-pill:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.pb-pill h3{font-size:1.1rem;margin:14px 0 6px}.pb-pill p{color:var(--muted);font-size:.96rem}
.pb-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(255,87,2,.12);color:var(--brand-d,#E84E00)}
.pb-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* filter */
.pb-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.pb-chip{font:600 .92rem/1 var(--body);padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;transition:all .2s}
.pb-chip:hover{border-color:var(--orange)}
.pb-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pb-chip:focus-visible,.pb-ph:focus-visible,.pb-film:focus-visible,.pb-thumb:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
/* event cards */
.pb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pb-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh1);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.pb-card:hover{transform:translateY(-5px);box-shadow:var(--sh2)}
.pb-card[hidden],.pb-album[hidden]{display:none}
.pb-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#222;text-decoration:none!important}
.pb-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pb-card:hover .pb-thumb img{transform:scale(1.07)}
.pb-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.7))}
.pb-badge{position:absolute;z-index:2;top:14px;left:14px;background:var(--orange);color:#1a1004;font:700 .75rem/1 var(--body);letter-spacing:.05em;text-transform:uppercase;padding:7px 11px;border-radius:999px}
.pb-count{position:absolute;z-index:2;left:14px;bottom:14px;color:#fff;font:600 .85rem/1 var(--body);display:flex;align-items:center;gap:7px}
.pb-count i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.pb-open{position:absolute;z-index:2;right:14px;bottom:12px;background:#fff;color:var(--navy);font:700 .8rem/1 var(--body);padding:9px 13px;border-radius:999px;opacity:0;transform:translateY(8px);transition:all .25s}
.pb-card:hover .pb-open,.pb-thumb:focus-visible .pb-open{opacity:1;transform:none}
.pb-body{padding:20px 22px 24px}
.pb-meta{font:600 .8rem/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pb-body h3{font-size:1.18rem;margin-bottom:8px}.pb-body h3 a{color:var(--navy)}
.pb-desc{color:var(--muted);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pb-none{text-align:center;padding:30px 0}
/* films */
.pb-filmgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pb-film{position:relative;display:block;padding:0;border:0;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;cursor:pointer;background:#111;box-shadow:var(--sh2)}
.pb-film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .3s;filter:brightness(.8)}
.pb-film:hover img{transform:scale(1.06);filter:brightness(.95)}
.pb-film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.78))}
.pb-play{position:absolute;z-index:2;left:50%;top:44%;width:66px;height:66px;margin:-33px 0 0 -33px;border-radius:50%;background:var(--orange);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(255,87,2,.25);transition:transform .25s}
.pb-film:hover .pb-play{transform:scale(1.1)}
.pb-play svg{width:28px;height:28px;fill:#1a1004;margin-left:3px}
.pb-cap{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;text-align:left;color:#fff}
.pb-cap b{display:block;font-size:1.02rem}.pb-cap small{color:#d6d6da;font-size:.82rem}
/* albums */
.pb-albumlist{display:grid;gap:34px}
.pb-album{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,32px);box-shadow:var(--sh1)}
.pb-ah{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}
.pb-ah>div:first-child{flex:1 1 420px;max-width:760px}
.pb-ah h3{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:8px}
.pb-ah p:not(.pb-meta){color:var(--muted)}
.pb-acts{display:flex;gap:10px;flex-wrap:wrap}
.pb-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.pb-ph{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:#222}
.pb-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pb-ph:hover img{transform:scale(1.1)}
.pb-album:target{box-shadow:0 0 0 3px var(--orange),var(--sh2)}
.pb-how .steps{margin-top:6px}
.pb-interest .ucyform-box{margin-top:6px}
/* lightbox */
.pbx{position:fixed;inset:0;z-index:99999;background:rgba(8,8,10,.94);display:none;flex-direction:column;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pbx.open{display:flex;animation:pbxin .25s}
@keyframes pbxin{from{opacity:0}to{opacity:1}}
.pbx-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;gap:14px}
.pbx-top b{font-size:1rem}.pbx-top span{color:#b9b9bf;font-size:.85rem;margin-left:10px}
.pbx-x,.pbx-nav{background:rgba(255,255,255,.12);border:0;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.pbx-x:hover,.pbx-nav:hover{background:var(--orange);color:#1a1004}
.pbx-x svg,.pbx-nav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pbx-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:0 70px}
.pbx-stage img,.pbx-stage video,.pbx-stage iframe{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.pbx-stage iframe,.pbx-stage video{width:min(100%,1100px);aspect-ratio:16/9;border:0;background:#000}
.pbx-nav{position:absolute;top:50%;margin-top:-23px}.pbx-prev{left:12px}.pbx-next{right:12px}
.pbx-soon{max-width:520px;text-align:center;padding:36px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15)}
.pbx-soon h4{color:#fff;font-size:1.3rem;margin-bottom:8px}.pbx-soon p{color:#c9c9ce;margin-bottom:18px}
.pbx-bot{padding:14px 18px 20px;text-align:center;color:#d6d6da;font-size:.95rem}
.pbx-bot small{display:block;color:#8d8d94;margin-top:4px}
body.pbx-lock{overflow:hidden}
@media(max-width:1000px){.pb-grid,.pb-filmgrid{grid-template-columns:repeat(2,1fr)}.pb-pillars{grid-template-columns:repeat(2,1fr)}.pb-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.pb-grid,.pb-filmgrid,.pb-pillars{grid-template-columns:1fr}.pb-strip{grid-template-columns:repeat(2,1fr)}.pbx-stage{padding:0 8px}.pbx-nav{top:auto;bottom:-4px;margin:0}.pbx-prev{left:16px}.pbx-next{right:16px}.pb-open{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pb-card,.pb-card *,.pb-ph img,.pb-film img{transition:none!important}.pbx.open{animation:none}}
