.gallery-help { max-width: 64rem; margin: 0 auto 1.75rem; padding: 1.25rem 1.5rem; border: 1px solid var(--border-color); border-radius: 1rem; background: rgba(13,31,24,.72); }
.gallery-help p { margin-bottom: 0; color: var(--text-muted); }
.gallery-search { position: relative; max-width: 42rem; margin: 0 auto 1.75rem; }
.gallery-search > span { position: absolute; top: .64rem; left: 1rem; color: var(--text-muted); font-size: 1.2rem; }
.gallery-search input { width: 100%; height: 3rem; padding: 0 3rem; border: 1px solid var(--border-color); border-radius: 99px; background: rgba(13,31,24,.72); color: var(--text-primary); }
.gallery-search > a { position: absolute; top: .55rem; right: .8rem; display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; color: var(--text-muted); }
.filter-pills { margin-bottom: 2rem; }
.filter-pills a { display: inline-flex; align-items: center; gap: .5rem; }
.filter-pills b { padding: .1rem .4rem; border-radius: 99px; background: rgba(133,199,155,.18); font-size: .7rem; }
.filter-pills a.active b { background: rgba(8,21,15,.2); }
.art-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; }
.art-card { position: relative; display: block; overflow: hidden; aspect-ratio: 1; border-radius: .55rem; background: #1f2937; box-shadow: 0 14px 30px rgba(0,0,0,.28); touch-action: manipulation; }
.art-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.art-card:hover > img { transform: scale(1.05); }
.art-card-shade { position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,.72),transparent 65%,rgba(0,0,0,.18)); transition: background .25s ease; }
.art-card:hover .art-card-shade { background: linear-gradient(to top,rgba(0,0,0,.82),transparent 68%,rgba(0,0,0,.2)); }
.art-card-copy { position: absolute; right: 0; bottom: 0; left: 0; padding: 1rem; color: white; }
.art-card-copy h3 { margin: 0; color: white; font: 600 1.05rem/1.25 'Playfair Display',serif; text-shadow: 0 6px 18px rgba(0,0,0,.4); }
.art-card-copy small { display: flex; flex-wrap: wrap; margin-top: .5rem; gap: .35rem; }
.art-card-copy small b { padding: .18rem .45rem; border-radius: 99px; background: #3b82f6; font: 600 .62rem Inter,sans-serif; }
.art-card-copy small b:first-child { background: #a855f7; }
.featured { position: absolute; top: .75rem; left: .75rem; padding: .25rem .55rem; border-radius: 99px; background: #f3c96c; color: #182016; font-size: .7rem; font-style: normal; font-weight: 600; }
.sold { position: absolute; top: 1.5rem; right: -2.1rem; width: 8.5rem; padding: .18rem; background: rgba(0,0,0,.28); color: rgba(255,255,255,.75); text-align: center; text-transform: uppercase; letter-spacing: .18em; transform: rotate(45deg); font-size: .65rem; font-style: normal; }
.pagination { display: flex; margin-top: 2.5rem; align-items: center; justify-content: center; gap: .4rem; }
.pagination a,.pagination span { display: grid; min-width: 2.3rem; height: 2.3rem; padding: 0 .7rem; place-items: center; border-radius: .5rem; color: var(--text-secondary); }
.pagination a:hover,.pagination a.active { background: var(--accent-primary); color: var(--bg-primary); }
.pagination a[aria-disabled="true"] { pointer-events: none; opacity: .4; }
.result-count { text-align: center; color: var(--text-muted); }
.gallery-thanks { max-width: 56rem; margin: 5rem auto 0; text-align: center; }
.gallery-thanks h2 { font-size: var(--heading-main-size); }
.gallery-thanks p { color: var(--text-secondary); font-size: 1.05rem; }
.image-protected { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-drag: none; pointer-events: none; user-select: none; }
.image-protected::selection { background: transparent; }
@media (max-width: 980px) { .art-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) { .art-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; } }
@media (max-width: 420px) { .art-grid { grid-template-columns: 1fr; } }
