/* ===== Gallery page ===== */
.df-gallery-section{padding:100px 15px;}
.df-gallery-container{max-width:1200px;margin:0 auto;}
.df-gallery-eyebrow{display:block;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#c88a32;margin:0 0 14px;text-align:center;}
.df-gallery-heading{font-family:"Poppins", Sans-serif;font-size:36px;line-height:1.25;font-weight:600;color:#171717;margin:0 0 18px;text-align:center;}
.df-gallery-text{font-family:"DM Sans", Sans-serif;font-size:17px;line-height:28px;font-weight:400;color:#3a3a3a;margin:0 auto 0;text-align:center;max-width:700px;}

/* Hero */
.df-gallery-hero{position:relative;padding:220px 20px 100px;background-image:linear-gradient(180deg, #3a0403b8 31%, #3a04036b 75%), url("./gallery-3.jpg");background-size:cover;background-position:center 30%;background-repeat:no-repeat;text-align:center;}
.df-gallery-hero-inner{max-width:760px;margin:0 auto;}
.df-gallery-hero-title{font-family:"Poppins", Sans-serif;font-size:46px;line-height:1.2;font-weight:600;color:#ffffff;margin:0 0 20px;}
.df-gallery-hero-text{font-family:"DM Sans", Sans-serif;font-size:18px;line-height:29px;color:#f2ede1;margin:0;}

/* Uniform grid — equal height, cropped */
.df-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:44px;}
.df-gallery-item{display:block;width:100%;border-radius:14px;overflow:hidden;border:0;padding:0;background:none;cursor:pointer;position:relative;}
.df-gallery-item img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .4s ease;}
.df-gallery-item:hover img{transform:scale(1.06);}
.df-gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(58,4,3,0.55), rgba(58,4,3,0));opacity:0;transition:opacity .3s ease;}
.df-gallery-item:hover::after{opacity:1;}
.df-gallery-zoom{position:absolute;right:14px;bottom:14px;width:34px;height:34px;border-radius:50%;background:#c88a32;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;}
.df-gallery-item:hover .df-gallery-zoom{opacity:1;transform:translateY(0);}
.df-gallery-zoom svg{width:16px;height:16px;color:#ffffff;}

/* Bottom CTA — gold, never dark green (sits right above the footer) */
.df-gallery-cta{background-color:#c88a32;text-align:center;}
.df-gallery-cta .df-gallery-heading{color:#ffffff;}
.df-gallery-cta .df-gallery-text{color:#ffffff;}
.df-gallery-btn{display:inline-flex;align-items:center;gap:10px;font-family:"Plus Jakarta Sans", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#ffffff;background-color:#5a0808;padding:16px 32px;border-radius:300px;text-decoration:none;border:none;cursor:pointer;transition:background-color .3s,color .3s;margin-top:26px;}
.df-gallery-btn:hover{background-color:#3a0403;color:#ffffff;}
.df-gallery-btn svg{width:16px;height:16px;flex:0 0 auto;}

/* Lightbox */
.df-gallery-lightbox{position:fixed;inset:0;background:rgba(58,4,3,0.92);z-index:9999;display:none;align-items:center;justify-content:center;padding:40px;}
.df-gallery-lightbox.is-open{display:flex;}
.df-gallery-lightbox-img{max-width:90vw;max-height:85vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.df-gallery-lightbox-close,
.df-gallery-lightbox-prev,
.df-gallery-lightbox-next{position:absolute;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.3);color:#ffffff;border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;}
.df-gallery-lightbox-close:hover,
.df-gallery-lightbox-prev:hover,
.df-gallery-lightbox-next:hover{background:rgba(200,138,50,0.85);border-color:#c88a32;}
.df-gallery-lightbox-close{top:24px;right:24px;}
.df-gallery-lightbox-prev{left:24px;top:50%;transform:translateY(-50%);}
.df-gallery-lightbox-next{right:24px;top:50%;transform:translateY(-50%);}
.df-gallery-lightbox-close svg,
.df-gallery-lightbox-prev svg,
.df-gallery-lightbox-next svg{width:22px;height:22px;}

@media (max-width:991px){
	.df-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
	.df-gallery-item img{height:220px;}
}
@media (max-width:767px){
	.df-gallery-section{padding:60px 15px;}
	.df-gallery-hero{padding:150px 20px 70px;}
	.df-gallery-hero-title{font-size:32px;}
	.df-gallery-heading{font-size:28px;}
	.df-gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
	.df-gallery-item img{height:150px;}
	.df-gallery-item{border-radius:10px;}
	.df-gallery-lightbox{padding:16px;}
	.df-gallery-lightbox-prev,
	.df-gallery-lightbox-next{width:38px;height:38px;}
	.df-gallery-lightbox-close{top:12px;right:12px;width:38px;height:38px;}
	.df-gallery-lightbox-prev{left:8px;}
	.df-gallery-lightbox-next{right:8px;}
}
