/* DCC – Gallery Styles */

/* ─── HERO V2 (scattered polaroid collage) ──────────────────── */
.gal-hero-v2 { background: linear-gradient(160deg, #f7f9fb 0%, #eef4f7 60%, #eaf3f6 100%); padding: 4.5rem 0; overflow: hidden; }
[data-theme="dark"] .gal-hero-v2 { background: linear-gradient(160deg, #060e10 0%, #081114 100%); }

.gal-hero-v2__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items: center; }

.gal-hero-v2__kicker { display: inline-flex; align-items: center; gap: .6rem; color: #0e7490; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.1rem; }
.gal-hero-v2__kicker-line { width: 30px; height: 2px; background: #0e7490; border-radius: 2px; }
.gal-hero-v2__title { font-family: 'Manrope', sans-serif; font-size: clamp(2.2rem, 4vw, 3.3rem); font-weight: 700; color: var(--navy); line-height: 1.18; margin-bottom: 1rem; }
.gal-hero-v2__title em { color: #0e7490; font-style: italic; }
.gal-hero-v2__sub { color: var(--gray); font-size: 1.02rem; line-height: 1.75; max-width: 460px; margin-bottom: 1.8rem; }

.gal-hero-v2__stats { display: flex; align-items: center; gap: 1.3rem; }
.ghs-item { display: flex; flex-direction: column; }
.ghs-item strong { font-family: 'Manrope', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--navy); line-height: 1; }
.ghs-item span { font-size: .72rem; color: var(--gray); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; margin-top: .3rem; }
.ghs-divider { width: 1px; height: 34px; background: var(--gray-light); }

/* Photo collage */
.gal-hero-v2__collage { position: relative; height: 400px; }
.ghc-photo {
  position: absolute; width: 155px; background: #fff; border-radius: 8px;
  padding: 10px 10px 32px; box-shadow: 0 16px 34px rgba(0,0,0,.14);
  transition: transform .3s ease, box-shadow .3s ease, z-index 0s;
}
[data-theme="dark"] .ghc-photo { background: var(--white); }
.ghc-photo:hover { transform: rotate(0deg) scale(1.08) !important; box-shadow: 0 22px 44px rgba(0,0,0,.2); z-index: 10; }
.ghc-photo__img { width: 100%; height: 120px; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: 3rem; }
.ghc-photo__cap { position: absolute; bottom: 10px; left: 10px; right: 10px; font-family: 'Manrope', sans-serif; font-size: .74rem; font-weight: 700; color: var(--navy); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ghc-photo--1 { top: 0; left: 8%; transform: rotate(-9deg); z-index: 2; }
.ghc-photo--2 { top: 4%; right: 4%; transform: rotate(7deg); z-index: 3; }
.ghc-photo--3 { bottom: 6%; left: 22%; transform: rotate(5deg); z-index: 4; width: 165px; }
.ghc-photo--4 { bottom: 0; right: 12%; transform: rotate(-6deg); z-index: 1; }

.gal-filter{background:var(--white);padding:1.5rem 0;border-bottom:1px solid var(--gray-light);position:sticky;top:52px;z-index:90}
.gal-filter__tabs{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.gal-tab{padding:.55rem 1.3rem;border-radius:9999px;font-family:'Manrope',sans-serif;font-size:.82rem;font-weight:700;border:2px solid var(--gray-light);background:var(--white);color:var(--navy);cursor:pointer;transition:var(--transition)}
.gal-tab:hover{border-color:var(--green);color:var(--green)}
.gal-tab.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 12px rgba(29,185,84,.25)}

.gal-main{padding:3.5rem 0;background:var(--off-white)}
.gal-grid{columns:4 220px;column-gap:1rem}
.gal-item{display:block;break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:1rem;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;transition:var(--transition)}
.gal-item:hover{transform:scale(1.02);box-shadow:0 14px 34px rgba(0,0,0,.18);z-index:2}
.gal-item.hidden{display:none}
.gal-item img{width:100%;display:block;transition:transform .5s ease}
.gal-item:hover img{transform:scale(1.06)}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 55%);display:flex;align-items:flex-end;padding:1.1rem;opacity:0;transition:opacity .3s ease}
.gal-item:hover .gal-overlay{opacity:1}
.gal-caption strong{display:block;color:#fff;font-family:'Manrope',sans-serif;font-size:.9rem;font-weight:700}
.gal-caption span{display:block;color:rgba(255,255,255,.75);font-size:.72rem;margin-top:.2rem}

.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);animation:lbFadeIn .3s ease}.lightbox[hidden]{display:none}
@keyframes lbFadeIn{from{opacity:0}to{opacity:1}}
.lightbox__close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.5rem;color:#fff;background:rgba(255,255,255,.15);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);border:none}.lightbox__close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}
.lightbox__prev,.lightbox__next{position:absolute;top:50%;transform:translateY(-50%);font-size:2.5rem;color:#fff;background:rgba(255,255,255,.1);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);border:none}.lightbox__prev{left:1.5rem}.lightbox__next{right:1.5rem}.lightbox__prev:hover,.lightbox__next:hover{background:rgba(29,185,84,.4)}
.lightbox__content{max-width:80vw;max-height:80vh;display:flex;align-items:center;justify-content:center;animation:lbZoomIn .3s ease}
.lightbox__content img{max-width:100%;max-height:80vh;border-radius:12px;display:block;box-shadow:0 20px 60px rgba(0,0,0,.5)}
@keyframes lbZoomIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.lightbox__caption{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:#fff;text-align:center;font-size:.88rem;font-weight:600;background:rgba(0,0,0,.5);padding:.6rem 1.5rem;border-radius:8px}

@media(max-width:1024px){
  .gal-grid{columns:3 200px}
  .gal-hero-v2__inner{grid-template-columns:1fr;text-align:center}
  .gal-hero-v2__collage{display:none}
  .gal-hero-v2__kicker,.gal-hero-v2__stats{justify-content:center}
  .gal-hero-v2__sub{margin-left:auto;margin-right:auto}
}
@media(max-width:768px){.gal-grid{columns:2 180px}.gal-hero-v2{padding:3.5rem 0}.gal-filter{top:46px}}
@media(max-width:480px){.gal-grid{columns:2 140px;column-gap:.6rem}.gal-item{margin-bottom:.6rem}.gal-hero-v2__stats{flex-wrap:wrap;row-gap:.6rem}.gal-filter__tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem;scrollbar-width:none;-ms-overflow-style:none}.gal-filter__tabs::-webkit-scrollbar{display:none}.gal-tab{flex-shrink:0}}

