/* Client gallery — additive styles only; uses the site's existing tokens. */
[hidden]{display:none!important}
.cg-login-wrap{max-width:560px}
.cg-login{display:grid;gap:14px}
.cg-login label{display:grid;gap:6px;font-size:14px;color:var(--ink-soft)}
.cg-login input{font:16px var(--sans);padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink)}
.cg-login input:focus{outline:2px solid var(--accent);outline-offset:1px}
.cg-login .btn{justify-self:start;border:0;cursor:pointer;font:inherit}
.cg-msg{min-height:1.4em;color:var(--muted);font-size:14px;margin:0}
.cg-list{max-width:none}
.cg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:18px 0 28px}
.cg-card{display:grid;gap:6px;text-decoration:none;color:var(--ink)}
.cg-card img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);background:var(--bg-alt)}
.cg-card b{font-weight:600}
.cg-card span{font-size:13px;color:var(--muted)}
.cg-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.2vw,16px);margin-top:12px}
.cg-strip img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.cg-dl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.cg-dl .btn{border:0;cursor:pointer;font:inherit}
.cg-dl .cg-msg{flex-basis:100%}
#g-gal img{cursor:zoom-in}
@media (max-width:640px){.cg-strip{grid-template-columns:1fr 1fr}}
