.gallery-section{margin:0;padding:0}.gallery-section .gallery-lightbox{display:flex;flex-wrap:wrap;margin-bottom:2rem;margin-left:-15px;margin-right:-15px}.gallery-section .gallery-item-wrapper{box-sizing:border-box;margin-bottom:1.5rem;padding-left:15px;padding-right:15px}.gallery-section .gallery-item-link{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);display:block;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.gallery-section .gallery-item-link:hover{box-shadow:0 8px 20px rgba(0,0,0,.15);transform:translateY(-4px)}.gallery-section .gallery-item-link:hover .gallery-item-image{transform:scale(1.05)}.gallery-section .gallery-item-link:focus{outline:3px solid #007cba;outline-offset:2px}.gallery-section .gallery-item-image{background-color:#e0e0e0;display:block;height:250px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .3s ease;width:100%}.gallery-section .gallery-item-caption{color:#666;font-size:.875rem;line-height:1.4;margin-bottom:0;margin-top:.75rem;padding:0 .5rem;text-align:center}.gallery-section .gallery-empty-message{background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px;color:#999;font-size:1.1rem;font-style:italic;padding:3rem 2rem;text-align:center}@media(max-width:768px){.gallery-section .gallery-item-wrapper{margin-bottom:1rem}.gallery-section .gallery-item-image{height:200px}}@media(max-width:576px){.gallery-section .gallery-item-wrapper{margin-bottom:.75rem;padding-left:10px;padding-right:10px}.gallery-section .gallery-lightbox{margin-left:-10px;margin-right:-10px}.gallery-section .gallery-item-image{height:180px}}.gallery-section.dark-background .gallery-item-caption{color:#ccc}.gallery-section.dark-background .gallery-empty-message{color:#999}
