.glightbox-container{--glightbox-color-bg:#1a1a1a;--glightbox-color-text:#efefef;--glightbox-color-accent:var(--primary)}.gallery-container{max-width:1100px;margin:0 auto;padding:var(--gap)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.gallery-card{background:var(--entry);border:1px solid hsla(var(--primary-h),var(--primary-s),var(--primary-l),.1);border-radius:12px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.gallery-img-wrapper{aspect-ratio:16/9;overflow:hidden;background:var(--border)}.gallery-img{width:100%;height:100%;object-fit:cover;display:block}.gallery-content{padding:1.25rem;display:flex;flex-direction:column;flex-grow:1}.gallery-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--primary)}.gallery-caption{font-size:.9rem;color:var(--secondary);line-height:1.5;margin-bottom:1.5rem;flex-grow:1}.gallery-link{display:inline-block;padding:.5rem 1rem;border:1px solid var(--primary);color:var(--primary);text-decoration:none;border-radius:6px;font-size:.85rem;text-align:center;transition:all .2s ease;background:0 0}.gallery-link:hover{background:var(--entry);color:var(--primary)}.gallery-link:visited:hover{color:var(--primary)}.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.gallery-pagination a,.gallery-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .75rem;border-radius:6px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease}.gallery-pagination a{border:1px solid var(--border);color:var(--primary);background:var(--entry)}.gallery-pagination a:hover{border-color:var(--primary);background:var(--code-bg)}.gallery-pagination .active{background:var(--primary);color:var(--theme);border:1px solid var(--primary)}.gallery-pagination .disabled{color:var(--tertiary);border:1px solid var(--border);cursor:not-allowed;opacity:.5}@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}.gallery-pagination{gap:.25rem;flex-wrap:wrap}.gallery-pagination a,.gallery-pagination span{min-width:2rem;height:2rem;font-size:.8rem}}.gallery-page-info{color:var(--secondary);font-size:.85rem;margin-top:.25rem}.gallery-content-wrapper{margin-top:3rem}