.page-header{position:relative;height:400px;background-image:url(/destination-wedding/destination-wedding-03.jpg);background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 1rem;margin-top:90px}.page-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.page-header .header-content{position:relative;z-index:1;max-width:800px}.page-header .header-content h1{font-size:3rem;font-weight:700;color:#fff;margin-bottom:1rem;font-family:Playfair Display,serif}@media(min-width:768px){.page-header .header-content h1{font-size:4rem}}.page-header .header-content p{font-size:1.2rem;color:var(--gold);text-transform:uppercase;letter-spacing:3px;margin:0;font-weight:300}.section-title{font-size:2.25rem;font-weight:700;color:var(--charcoal);line-height:1.3;margin-bottom:2rem;position:relative;padding-bottom:1rem}@media(min-width:768px){.section-title{font-size:2.5rem}}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background-color:var(--gold)}.section-title.centered{text-align:center}.section-title.centered:after{left:50%;transform:translateX(-50%)}.gallery-section{background-color:#fff}.gallery-section .gallery-intro{max-width:800px;margin:0 auto 3rem;text-align:center}.gallery-section .gallery-intro .intro-text{color:#666;font-size:1.05rem;line-height:1.8}.gallery-section .gallery-categories{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.gallery-section .gallery-categories .category-btn{padding:.75rem 1.5rem;background-color:rgba(0,0,0,0);border:1px solid #ddd;border-radius:3px;font-size:.9rem;font-weight:500;color:var(--charcoal);cursor:pointer;transition:all .3s ease}.gallery-section .gallery-categories .category-btn:hover{border-color:var(--gold);color:var(--gold)}.gallery-section .gallery-categories .category-btn.active{background-color:var(--gold);border-color:var(--gold);color:#fff}.gallery-section .gallery-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}@media(min-width:640px){.gallery-section .gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.gallery-section .gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-section .gallery-grid .gallery-item{position:relative;border-radius:5px;overflow:hidden;cursor:pointer;height:300px}.gallery-section .gallery-grid .gallery-item .gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-section .gallery-grid .gallery-item .gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,.7) 0,rgba(0,0,0,0) 50%);display:flex;align-items:flex-end;opacity:0;transition:opacity .3s ease}.gallery-section .gallery-grid .gallery-item .gallery-overlay .overlay-content{padding:1.5rem;width:100%}.gallery-section .gallery-grid .gallery-item .gallery-overlay .overlay-content .image-caption{color:#fff;font-size:1rem;margin:0;font-weight:500}.gallery-section .gallery-grid .gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-section .gallery-grid .gallery-item:hover .gallery-overlay{opacity:1}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.image-modal .modal-content{position:relative;max-width:90%;max-height:90%}.image-modal .modal-content .close-btn{position:absolute;top:-2rem;right:-2rem;background:rgba(0,0,0,0);border:none;color:#fff;font-size:1.5rem;cursor:pointer;z-index:1001}.image-modal .modal-content .close-btn:hover{color:var(--gold)}.image-modal .modal-content .modal-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:5px}.image-modal .modal-content .modal-caption{color:#fff;text-align:center;margin-top:1rem;font-size:1.1rem}