/* ---------- محل خواب و سرویس‌ها (کارت‌های تصویری) ---------- */
.krp-spaces__head {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	margin-bottom: 24px;
}
.krp-spaces__head .krp-h2 { margin: 0; }
.krp-spaces__nav { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.krp-spaces__nav[hidden] { display: none; }
.krp-spaces__btn {
	-webkit-appearance: none; appearance: none;
	box-sizing: border-box; width: 32px; height: 32px; padding: 0; margin: 0;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; border: 1px solid rgba(0, 0, 0, .08); background: #fff;
	color: var(--krp-text); font-size: 12px; cursor: pointer;
	transition: transform .15s ease, box-shadow .2s ease, opacity .2s;
}
.krp-spaces__btn .krp-ico { stroke-width: 3; }
.krp-spaces__btn:hover:not([disabled]) { box-shadow: 0 2px 4px rgba(0, 0, 0, .18); transform: scale(1.04); }
.krp-spaces__btn:focus-visible { outline: 2px solid var(--krp-text); outline-offset: 2px; }
.krp-spaces__btn[disabled] { opacity: .45; cursor: not-allowed; }

.krp-spaces__track {
	display: flex; gap: 16px;
	overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
	scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.krp-spaces__track::-webkit-scrollbar { display: none; }
.krp-space {
	flex: 0 0 calc((100% - 32px) / 3);
	min-width: 0; margin: 0;
	scroll-snap-align: start;
}
.krp-space__media {
	-webkit-appearance: none; appearance: none;
	box-sizing: border-box; display: block; position: relative;
	width: 100%; aspect-ratio: 3 / 2; padding: 0; margin: 0; border: 0;
	border-radius: var(--krp-radius, 12px); overflow: hidden;
	background: var(--krp-bg-soft, #f7f7f7);
	font: inherit; color: inherit;
}
@supports not (aspect-ratio: 3 / 2) {
	.krp-space__media { height: 0; padding-bottom: 66.66%; }
	.krp-space__media > img, .krp-space__media > .krp-ico { position: absolute; }
}
button.krp-space__media { cursor: pointer; }
.krp-space__media img {
	position: absolute; inset: 0;
	display: block; width: 100%; height: 100%; object-fit: cover;
	transition: transform .35s ease;
}
button.krp-space__media::after {
	content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0);
	transition: background-color .2s ease; pointer-events: none;
}
button.krp-space__media:hover::after { background: rgba(0, 0, 0, .08); }
button.krp-space__media:focus-visible { outline: 2px solid var(--krp-text); outline-offset: 2px; }
.krp-space__media--empty {
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--krp-border, #ddd);
	color: var(--krp-text); font-size: 32px;
}
.krp-space__title {
	font: 500 16px/1.5 var(--krp-font); color: var(--krp-text);
	margin: 12px 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.krp-space__sub { font-size: 14px; line-height: 1.6; margin: 0; }

@media (max-width: 743px) {
	.krp-spaces__head { margin-bottom: 20px; }
	.krp-spaces__nav { display: none !important; }
	.krp-spaces__track {
		gap: 12px; margin: 0 -24px; padding: 0 24px 4px;
		scroll-padding: 0 24px;
	}
	.krp-space { flex-basis: calc((100% - 12px) / 2.15); }
	.krp-space__title { font-size: 15px; margin-top: 10px; }
	.krp-space__sub { font-size: 13px; }
	.krp-space__media--empty { font-size: 28px; }
}
