/* Additive styles on top of the original Mostudio theme (style.css).
   Kept minimal so the original design/layout is preserved. */

.gallery-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 30px 30px 0 30px;
}
.gallery-filters button {
	border: 1px solid #e6e6e6;
	background: #fff;
	color: #2f2f2f;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 30px;
	cursor: pointer;
	transition: 0.3s;
}
.gallery-filters button:hover,
.gallery-filters button.active {
	background: #F96D00;
	border-color: #F96D00;
	color: #fff;
}

.gallery-empty, .gallery-loading {
	padding: 60px 30px;
	text-align: center;
	color: #999;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	width: 100%;
}

.btn-custom-load[disabled] {
	opacity: 0.5;
	pointer-events: none;
}

.price-currency {
	font-size: 16px;
	vertical-align: super;
	margin-right: 2px;
}

/* live toast (socket.io notices) */
.live-toast {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.live-toast .toast-item {
	background: #2f2f2f;
	color: #fff;
	padding: 14px 20px;
	border-radius: 6px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
	font-size: 14px;
	max-width: 320px;
	border-left: 4px solid #F96D00;
	animation: toastIn 0.25s ease;
}
.live-toast .toast-item a { color: #F96D00; }
@keyframes toastIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* contact form ajax feedback */
.form-alert {
	padding: 12px 18px;
	border-radius: 4px;
	margin-bottom: 20px;
	font-size: 14px;
}
.form-alert.success { background: #e6f6ec; color: #1e7e42; border: 1px solid #b7e3c6; }
.form-alert.error { background: #fdeaea; color: #b02a2a; border: 1px solid #f3bcbc; }

.contact-wrap .btn-primary[disabled] { opacity: 0.6; }

/* single photo view */
.single-photo-wrap { background: #fff; }
.single-photo-wrap .photo-figure { width: 100%; min-height: 420px; background-size: cover; background-position: center; }
.single-photo-wrap .photo-meta { padding: 40px; }
.single-photo-wrap .photo-meta .subheading { color: #F96D00; text-transform: uppercase; letter-spacing: 2px; font-size: 13px; }
.related-strip { display: flex; gap: 10px; padding: 0 40px 40px; flex-wrap: wrap; }
.related-strip a { width: 110px; height: 110px; background-size: cover; background-position: center; border-radius: 4px; display: block; }

.map-embed { width: 100%; height: 100%; min-height: 350px; border: 0; }

@media (max-width: 768px) {
	.gallery-filters { padding: 20px 20px 0; }
}
