/* ==========================================================================
   GALLERY — listing page, single album, and lightbox
   Requires design-system.css to be loaded first
   ========================================================================== */

.awk-hero{ padding:80px 0; }
.awk-hero__inner{ display:flex; align-items:center; gap:48px; flex-wrap:wrap; }
.awk-hero__text{ flex:1; min-width:320px; }
.awk-hero h1{ font-size:44px; margin-bottom:20px; }
.awk-hero__desc{ max-width:460px; margin-bottom:28px; font-size:17px; }
.awk-hero__image{ flex:1; min-width:320px; }
.awk-hero__image img{ border-radius:var(--awk-radius-lg); width:100%; height:340px; object-fit:cover; }

/* Gallery card (reused from Events page component, used on category archive) */
.awk-gallery-card img{ width:100%; height:220px; object-fit:cover; }
.awk-gallery-card__body{ padding:18px; text-align:center; }
.awk-gallery-card__body h4{ font-size:17px; margin-bottom:12px; }

/* Collection card — Gallery hub page */
.awk-collection-card{ display:block; overflow:hidden; }
.awk-collection-card__image{ height:200px; overflow:hidden; }
.awk-collection-card__image img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.awk-collection-card:hover .awk-collection-card__image img{ transform:scale(1.06); }
.awk-collection-card__body{ padding:20px; padding-top:34px; position:relative; }
.awk-collection-card__icon{
	position:absolute; top:-24px; left:20px; width:48px; height:48px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; font-size:20px; color:#fff;
	border:3px solid #fff; box-shadow:var(--awk-shadow-soft);
}
.awk-collection-card__row{ display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.awk-collection-card__body h4{ font-size:17px; margin:0 0 4px; color:var(--awk-navy); }
.awk-collection-card__count{ font-size:13px; color:var(--awk-text-muted); }
.awk-collection-card__link{ font-size:13px; font-weight:700; color:var(--awk-orange); white-space:nowrap; }

/* Stats bar */
.awk-gallery-stats{
	display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; background:var(--awk-bg-soft);
	border-radius:var(--awk-radius-lg); padding:32px; margin:20px auto 0;
}
.awk-gallery-stats__item{ display:flex; align-items:center; gap:14px; justify-content:center; }
.awk-gallery-stats__icon{ font-size:26px; }
.awk-gallery-stats__item strong{ display:block; font-family:var(--awk-font-heading); font-size:22px; color:var(--awk-navy); }
.awk-gallery-stats__item span{ font-size:13px; color:var(--awk-text-muted); }

/* Single album header */
.awk-single-album__header{ text-align:left; max-width:800px; margin-bottom:32px; }
.awk-single-album__header h1{ font-size:36px; margin:8px 0 0; }

/* Album photo grid — our own markup, no WordPress block CSS conflicts possible */
.awk-album-grid{
	display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;
}
.awk-album-photo{
	display:block; padding:0; border:none; background:none; margin:0;
	border-radius:var(--awk-radius-md); overflow:hidden; cursor:pointer;
	box-shadow:var(--awk-shadow-soft); transition:transform .2s ease, box-shadow .2s ease;
}
.awk-album-photo:hover{ transform:translateY(-4px); box-shadow:var(--awk-shadow-hover); }
.awk-album-photo img{
	width:100%; height:260px; object-fit:cover; display:block; border-radius:var(--awk-radius-md);
}

@media(max-width:900px){
	.awk-album-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media(max-width:600px){
	.awk-album-grid{ grid-template-columns:1fr; }
}

/* Lightbox overlay */
.awk-lightbox{
	position:fixed; inset:0; background:rgba(15,20,40,0.92); z-index:9999;
	display:none; align-items:center; justify-content:center;
}
.awk-lightbox.is-open{ display:flex; }
.awk-lightbox__img{ max-width:88vw; max-height:85vh; border-radius:var(--awk-radius-md); object-fit:contain; }
.awk-lightbox__close,
.awk-lightbox__prev,
.awk-lightbox__next{
	position:absolute; background:rgba(255,255,255,0.12); border:none; color:#fff;
	width:48px; height:48px; border-radius:50%; font-size:26px; cursor:pointer;
	display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.awk-lightbox__close:hover,
.awk-lightbox__prev:hover,
.awk-lightbox__next:hover{ background:rgba(255,255,255,0.25); }
.awk-lightbox__close{ top:24px; right:24px; }
.awk-lightbox__prev{ left:24px; top:50%; transform:translateY(-50%); }
.awk-lightbox__next{ right:24px; top:50%; transform:translateY(-50%); }
@media(max-width:640px){
	.awk-lightbox__prev, .awk-lightbox__next{ width:40px; height:40px; font-size:20px; }
}

.awk-cta-wrap{ padding-bottom:80px; }
.awk-cta{ border-radius:var(--awk-radius-lg); padding:48px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.awk-cta h3{ color:#fff; font-size:24px; margin-bottom:8px; }
.awk-cta p{ color:#cfd6ea; margin:0; }
.awk-cta__actions{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.awk-cta__phone{ color:#fff; font-weight:600; }

.awk-reveal{ opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; }
.awk-reveal.is-visible{ opacity:1; transform:translateY(0); }

@media(max-width:640px){
	.awk-hero{ padding:48px 0; }
	.awk-hero h1{ font-size:30px; }
	.awk-cta{ padding:32px 24px; text-align:center; justify-content:center; }
	.awk-gallery-stats{ grid-template-columns:repeat(2, 1fr); }
}
