/* =========================================
   DJGIZMO.EU — RELEASE 6.6 PHOTOS
   ========================================= */
.photos-page,.album-page{background:#080908}
.photos-hero{position:relative;min-height:72vh;display:grid;align-items:end;overflow:hidden;border-bottom:1px solid rgba(215,170,85,.26)}
.photos-hero__media{position:absolute;inset:0}
.photos-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.64) 48%,rgba(0,0,0,.16)),linear-gradient(0deg,#080908 0%,transparent 55%)}
.photos-hero__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.18);transform:scale(1.03)}
.photos-hero__content{position:relative;z-index:1;padding-top:10rem;padding-bottom:5rem}
.photos-hero h1{margin:.1rem 0 0;font-size:clamp(5rem,15vw,12rem);line-height:.75;letter-spacing:-.07em}
.photos-hero__content>p:not(.site-eyebrow){max-width:690px;margin:2rem 0;color:#d1d1cb;font-size:clamp(1.05rem,2vw,1.4rem)}
.photos-section{padding-top:7rem}
.photo-featured{display:grid;grid-template-columns:minmax(320px,1.05fr) .95fr;background:#0d0f0d;border:1px solid rgba(215,170,85,.56);overflow:hidden}
.photo-featured__image{position:relative;display:block;min-height:520px;background:#111;overflow:hidden}
.photo-featured__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05);transition:transform .5s ease}
.photo-featured__image:hover img{transform:scale(1.03)}
.photo-featured__image>span{position:absolute;top:1rem;left:1rem;padding:.55rem .8rem;background:var(--gold);color:#080808;font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.photo-featured__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.3rem,5vw,5rem)}
.photo-featured h2{margin:.25rem 0 1rem;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.9;letter-spacing:-.05em}
.photo-featured__event{color:var(--gold);font-weight:700}
.photo-featured__content>p:not(.site-eyebrow):not(.photo-featured__event){color:#b1b4ae;line-height:1.8}
.photos-heading{margin-top:7rem}
.album-grid-premium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.album-card-premium{background:#0e100e;border:1px solid #292d29;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.album-card-premium:hover{transform:translateY(-5px);border-color:#555b54;box-shadow:0 22px 48px rgba(0,0,0,.3)}
.album-card-premium>a{display:block;color:inherit;text-decoration:none}
.album-card-premium__image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#111}
.album-card-premium__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s ease}
.album-card-premium:hover img{transform:scale(1.04);filter:contrast(1.05)}
.album-card-premium__image span{position:absolute;right:.85rem;bottom:.85rem;padding:.4rem .55rem;background:rgba(0,0,0,.82);border:1px solid rgba(255,255,255,.14);color:var(--gold);font-size:.72rem;font-weight:900}
.album-card-premium__body{padding:1.2rem}
.album-card-premium h3{margin:0 0 .55rem;font-size:1.35rem}
.album-card-premium p{margin:0 0 1.25rem;color:#8f928d}
.album-card-premium strong{display:block;color:#eaeae4;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.photos-empty{padding:5rem 2rem;text-align:center;background:#0d0f0d;border:1px solid #292d29}
.photos-empty>span{color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.18em}
.photos-empty h3,.photos-empty h2,.photos-empty h1{margin:1rem 0;font-size:clamp(2rem,5vw,4rem)}
.photos-empty p{max-width:650px;margin:0 auto 2rem;color:#aaaea8}
.photos-booking__inner{display:flex;justify-content:space-between;align-items:center;gap:3rem;padding:clamp(2rem,5vw,4rem);background:#0e100e;border:1px solid #292d29}
.photos-booking h2{max-width:790px;margin:.35rem 0 1rem;font-size:clamp(2.15rem,5vw,4.7rem);line-height:.94}
.photos-booking p{max-width:700px;color:#a8aaa5}
.album-hero{padding:10rem 0 5rem;background:linear-gradient(180deg,#0e100e,#080908)}
.album-hero__content{max-width:1050px}
.album-back{display:inline-block;margin-bottom:2rem;color:#8f938d;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.album-back:hover{color:var(--gold)}
.album-hero h1{margin:.25rem 0 1rem;font-size:clamp(3.3rem,9vw,8rem);line-height:.86;letter-spacing:-.055em}
.album-hero__content>p:not(.site-eyebrow){max-width:850px;color:#b7bab4;line-height:1.8}
.album-counts{display:flex;gap:.65rem;margin-top:2rem}
.album-counts span{padding:.5rem .7rem;border:1px solid #343834;color:#b7bbb5;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.album-gallery-section{padding-top:2rem}
.masonry-gallery{columns:3 320px;column-gap:1rem}
.masonry-photo{position:relative;display:block;width:100%;margin:0 0 1rem;padding:0;border:0;background:#111;cursor:zoom-in;break-inside:avoid;overflow:hidden}
.masonry-photo img{display:block;width:100%;height:auto;transition:transform .4s ease,filter .3s ease}
.masonry-photo:hover img{transform:scale(1.025);filter:contrast(1.07)}
.masonry-photo>span{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem 1rem;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent);color:#fff;text-align:left;font-size:.85rem;font-weight:700;opacity:0;transform:translateY(8px);transition:.25s ease}
.masonry-photo:hover>span{opacity:1;transform:none}
.album-video-section{margin-top:7rem}
.video-grid-premium{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.video-grid-premium article{background:#0e100e;border:1px solid #292d29}
.video-grid-premium iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.video-grid-premium h3{padding:1rem 1.2rem;margin:0}
.lightbox[hidden]{display:none}
.lightbox{position:fixed;z-index:9999;inset:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;background:rgba(0,0,0,.96);padding:2rem}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;max-height:94vh}
.lightbox figure img{max-width:min(1200px,82vw);max-height:82vh;object-fit:contain;box-shadow:0 25px 80px rgba(0,0,0,.6)}
.lightbox figcaption{width:min(1200px,82vw);padding-top:1rem;color:#fff}
.lightbox figcaption strong{display:block;font-size:1rem}
.lightbox figcaption span{display:block;margin-top:.35rem;color:#959994;font-size:.9rem}
.lightbox__close{position:absolute;top:1rem;right:1rem;width:48px;height:48px;border:1px solid #444;background:#0c0c0c;color:#fff;font-size:2rem;cursor:pointer}
.lightbox__nav{width:54px;height:54px;border:1px solid #444;background:#0c0c0c;color:#fff;font-size:1.5rem;cursor:pointer}
.lightbox__nav:hover,.lightbox__close:hover{border-color:var(--gold);color:var(--gold)}
.lightbox__counter{position:absolute;left:1rem;bottom:1rem;color:#8f938d;font-size:.72rem;letter-spacing:.1em}
body.lightbox-open{overflow:hidden}
@media(max-width:980px){.photo-featured{grid-template-columns:1fr}.photo-featured__image{min-height:420px}.album-grid-premium{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.photos-hero{min-height:62vh}.photos-hero h1{font-size:clamp(4.2rem,23vw,7rem)}.album-grid-premium{grid-template-columns:1fr}.photo-featured__image{min-height:320px}.photos-booking__inner{align-items:flex-start;flex-direction:column}.lightbox{grid-template-columns:1fr;padding:1rem}.lightbox__nav{position:absolute;bottom:1rem}.lightbox__nav--prev{left:50%;transform:translateX(-70px)}.lightbox__nav--next{right:50%;transform:translateX(70px)}.lightbox figure img,.lightbox figcaption{max-width:92vw;width:92vw}.lightbox figure img{max-height:75vh}.lightbox__counter{display:none}}
@media(prefers-reduced-motion:reduce){.photo-featured__image img,.album-card-premium,.album-card-premium img,.masonry-photo img,.masonry-photo>span{transition:none}}

/* Release 7.9b — equal card rhythm */
.album-card-premium:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px rgba(215,170,85,.18),0 22px 48px rgba(0,0,0,.3)}
