:root { --gap: 12px; --radius: 16px; }
*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;color:#222}
.gallery-page{padding:24px}
.gallery-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.gallery-header h1{margin:0;font-size:28px}
.gallery-search input{padding:10px 12px;border:1px solid #ddd;border-radius:10px;min-width:220px}
.gallery-search button{padding:10px 14px;border:1px solid #333;background:#333;color:#fff;border-radius:10px;cursor:pointer}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--gap)}
.gallery-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;border:1px solid #eee;background:#fff;text-decoration:none}
.gallery-card img{display:block;width:100%;height:180px;object-fit:cover;transition:transform .25s ease}
.gallery-card .overlay{position:absolute;left:0;right:0;bottom:0;padding:8px;background:linear-gradient(transparent, rgba(0,0,0,.6));color:#fff}
.gallery-card .title{font-size:14px}
.gallery-card:hover img{transform:scale(1.03)}
.pager{margin:20px 0;text-align:center}
.pager a,.pager span{display:inline-block;margin:0 4px;padding:6px 10px;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:#333}
.pager .active{background:#333;color:#fff;border-color:#333}
