/* 客製作品牆：沿用全站字體、黑白底與黃色膠囊按鈕 */
.cw{max-width:1166px;margin:0 auto;padding:40px 40px 24px;text-align:center}
.cw h2{font-size:30px;font-weight:700;line-height:1.3;color:var(--ink)}
.cw-lead{margin-top:10px;font-size:16px}
.cw-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 32px}
.cw-filter button{font:inherit;font-size:15px;font-weight:400;padding:8px 20px;border-radius:50px;border:1px solid #ddd;background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s}
.cw-filter button:hover{border-color:var(--yellow)}
.cw-filter button[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow);color:var(--btn-text)}
.cw-filter small{font-size:13px;margin-left:6px;opacity:.65}
.cw-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;text-align:left}
.js .cw-item[hidden]{display:none}
.cw-card{display:block;color:var(--ink);text-decoration:none}
.cw-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.cw-pic{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--grey);border-radius:20px}
.snap .cw-pic img,.cw-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cw-card:hover .cw-pic img{transform:scale(1.04)}
.cw-name{display:block;margin-top:12px;font-size:18px;font-weight:700;line-height:1.4}
.cw-meta{display:block;margin-top:2px;font-size:14px;color:#666}
.cw-more-wrap{margin-top:36px}
.cw-more{font:inherit;font-size:15px;font-weight:400;width:280px;max-width:100%;height:45px;border:1px solid transparent;border-radius:50px;background:var(--yellow);color:var(--btn-text);cursor:pointer}
.cw-more:hover{background:#e9c93a}
.cw-lb{border:0;padding:0;background:#111;color:#fff;width:min(1100px,100vw);max-width:100vw;max-height:100dvh;overflow:auto}
.cw-lb::backdrop{background:rgba(0,0,0,.88)}
.cw-view{position:relative;background:#111}
.cw-view>img{display:block;width:100%;height:auto;max-height:74dvh;object-fit:contain}
.cw-nav,.cw-x{position:absolute;border:0;border-radius:50%;background:#fff;color:#000;cursor:pointer;line-height:1}
.cw-nav{top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:26px}
.cw-prev{left:12px}.cw-next{right:12px}
.cw-nav[hidden]{display:none}
.cw-x{top:12px;right:12px;width:42px;height:42px;font-size:24px}
.cw-cap{display:flex;justify-content:space-between;gap:12px;padding:14px 18px 6px}
.cw-cap b{font-size:18px;font-weight:700}
.cw-cap span{font-size:14px;opacity:.75;white-space:nowrap}
.cw-thumbs{display:flex;gap:8px;padding:6px 18px 16px;overflow-x:auto}
.cw-thumbs button{flex:none;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.6}
.cw-thumbs button[aria-current=true]{border-color:var(--yellow);opacity:1}
.cw-thumbs img{display:block;width:76px;height:57px;object-fit:cover}
@media(max-width:900px){.cw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
@media(max-width:600px){
.cw{padding:32px 16px 16px}
.cw h2{font-size:24px}
.cw-filter{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin:20px -16px 22px;padding:0 16px 4px}
.cw-filter button{flex:none;font-size:14px;padding:7px 15px}
.cw-name{font-size:15px;margin-top:8px}
.cw-meta{font-size:12px}
}
