/* ── Галерея «Двери на заказ по ТЗ заказчика» — независимая витрина ── */

.cg-hero{padding-bottom:24px}
.cg-intro{max-width:760px;font-size:15px;color:var(--ink2);line-height:1.7;margin-top:8px}
.cg-intro p{margin-bottom:10px}

.cg-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}
@media(max-width:1024px){ .cg-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px){ .cg-grid{ grid-template-columns:repeat(2,1fr); gap:10px; } }

.cg-item{
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:3/4;
	border:none;
	padding:0;
	margin:0;
	border-radius:12px;
	overflow:hidden;
	cursor:zoom-in;
	background:var(--bg2);
}
.cg-item img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .35s ease;
}
.cg-item:hover img{ transform:scale(1.06); }
.cg-item-zoom{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(20,22,40,0);
	color:#fff;
	opacity:0;
	transition:all .2s ease;
}
.cg-item:hover .cg-item-zoom{
	opacity:1;
	background:rgba(20,22,40,.28);
}

/* ── CTA внизу ── */
.cg-cta{background:var(--bg2)}
.cg-cta-box{
	background:var(--white);
	border:1px solid var(--line);
	border-radius:18px;
	padding:36px 40px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	flex-wrap:wrap;
	box-shadow:0 8px 28px rgba(30,34,51,.06);
}
.cg-cta-box h2{
	font-family:var(--font-display);
	font-size:clamp(19px,2vw,24px);
	font-weight:800;
	letter-spacing:-.02em;
	color:var(--ink);
	margin-bottom:8px;
}
.cg-cta-box p{ font-size:14px; color:var(--ink2); max-width:520px; }
.cg-cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* ── Лайтбокс (независимая копия — без зависимости от product.css) ── */
.cg-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center}
.cg-lightbox.open{display:flex}
.cg-lightbox-overlay{position:absolute;inset:0;background:rgba(0,0,0,.92);cursor:pointer}
.cg-lightbox-inner{position:relative;z-index:1;display:flex;align-items:center;gap:16px;max-width:92vw;max-height:88vh}
.cg-lightbox-img{max-width:80vw;max-height:78vh;object-fit:contain;border-radius:6px;display:block}
.cg-lightbox-caption{
	position:absolute;
	left:0;right:0;bottom:-34px;
	text-align:center;
	color:rgba(255,255,255,.85);
	font-size:13px;
	display:none;
}
.cg-lightbox-close{position:absolute;top:-44px;right:0;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1;padding:4px 10px}
.cg-lightbox-prev,.cg-lightbox-next{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:26px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.cg-lightbox-prev:hover,.cg-lightbox-next:hover{background:rgba(255,255,255,.25)}
.cg-lightbox-counter{position:absolute;bottom:-64px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:13px;white-space:nowrap}
@media(max-width:600px){
	.cg-lightbox-prev,.cg-lightbox-next{display:none}
	.cg-cta-box{flex-direction:column;align-items:flex-start;padding:28px}
}
