/* SimpleGallery lightbox - Interior template */
.sg-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	justify-content: center;
	align-items: center;
}
.sg-modal.open {
	display: flex;
}
.sg-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	backdrop-filter: blur(10px);
	cursor: pointer;
	touch-action: manipulation;
}
.sg-content {
	position: relative;
	z-index: 2;
	max-width: 90vw;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
}
.sg-progress-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, #c6b069, #b8a05a);
	overflow: hidden;
	z-index: 10000;
}
.sg-progress-bar {
	height: 100%;
	width: 100%;
	background: #000;
	transform-origin: right;
}
.sg-progress-bar.sg-progress-active {
	animation: sg-progress-shrink linear forwards;
}
@keyframes sg-progress-shrink {
	from { transform: scaleX(1); }
	to { transform: scaleX(0); }
}
.sg-inner {
	display: flex;
	justify-content: center;
	align-items: center;
}
.sg-inner .sg-image,
.sg-inner .sg-video {
	max-width: 100%;
	max-height: 85vh;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5);
}
.sg-inner .sg-video {
	display: block;
	background: #000;
}
.sg-close,
.sg-prev,
.sg-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	z-index: 3;
	padding: 12px;
	touch-action: manipulation;
	transition: opacity 0.2s ease;
}
.sg-close:hover,
.sg-prev:hover,
.sg-next:hover {
	opacity: 0.9;
}
.sg-close {
	top: max(1.5rem, env(safe-area-inset-top));
	right: max(1.5rem, env(safe-area-inset-right));
	transform: none;
}
.sg-prev {
	left: max(1rem, env(safe-area-inset-left));
}
.sg-next {
	right: max(1rem, env(safe-area-inset-right));
}
@media (max-width: 768px) {
	.sg-close {
		top: max(1rem, env(safe-area-inset-top));
		right: max(1rem, env(safe-area-inset-right));
	}
	.sg-close svg,
	.sg-prev svg,
	.sg-next svg {
		width: 40px;
		height: 40px;
	}
	.sg-prev { left: 0.5rem; }
	.sg-next { right: 0.5rem; }
	.sg-inner .sg-image,
	.sg-inner .sg-video {
		max-height: 80vh;
	}
}

/* Gallery: CSS columns so items pack and fill gaps (no row stretch) */
.gallery-area .gallery-columns {
	column-count: 3;
	column-gap: 20px;
}
.gallery-area .gallery-item {
	break-inside: avoid;
	margin-bottom: 20px;
	display: block;
}
@media (max-width: 991px) {
	.gallery-area .gallery-columns { column-count: 2; }
}
@media (max-width: 575px) {
	.gallery-area .gallery-columns { column-count: 1; }
}
/* Portfolio filter: hide non-matching items */
.gallery-area .gallery-item.hidden { display: none !important; }
.gallery-area .single-gallery.hidden { display: none !important; }

/* Contact form feedback (Aurora-style) */
.form-feedback { margin-top: 1rem; clear: both; }
.form-message { padding: 0.75rem 1rem; border-radius: 4px; margin-bottom: 0.5rem; }
.form-message--success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.form-message--error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
