body { background:#fff; }
.gallery-hero { background:linear-gradient(135deg,#fff 0%,var(--red-light) 100%); padding:70px 0; text-align:center; }
.gallery-hero h1 { font-size:42px; margin:8px 0 12px; }
.gallery-hero p { color:var(--gray-700); max-width:650px; margin:auto; }
.gallery-event { margin-bottom:60px; }
.gallery-event-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:24px; }
.gallery-event-head h2 { font-size:28px; margin:4px 0; }
.gallery-event-head p { color:var(--gray-700); max-width:700px; }
.gallery-event-head > strong { background:var(--black); color:#fff; padding:8px 14px; border-radius:20px; white-space:nowrap; }
.gallery-date { color:var(--red) !important; font-weight:700; margin-bottom:4px; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.gallery-item { border:0; padding:0; background:none; cursor:pointer; aspect-ratio:4/3; overflow:hidden; border-radius:12px; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; padding:30px; z-index:9999; }
.gallery-lightbox.open { display:flex; }
.gallery-lightbox img { max-width:95vw; max-height:90vh; object-fit:contain; }
.gallery-close { position:absolute; top:18px; right:25px; border:0; background:none; color:#fff; font-size:42px; cursor:pointer; }
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-event-head{align-items:flex-start;flex-direction:column}.gallery-hero h1{font-size:34px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-hero{padding:50px 0}.gallery-event-head h2{font-size:24px}}
