/**
 * نقشه انتخاب صندلی در فرم رزرو.
 */

.nobex-venue-picker {
	margin-top: 1rem;
}

.nobex-venue-picker__title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--nobex-text, #0f172a);
}

.nobex-venue-picker__hint,
.nobex-venue-picker__summary {
	margin: 0 0 0.65rem;
	font-size: 0.82rem;
	color: var(--nobex-muted, #64748b);
	line-height: 1.5;
}

.nobex-venue-picker__summary {
	font-weight: 600;
	color: var(--nobex-primary, #2563eb);
}

.nobex-venue-picker__canvas-wrap {
	overflow: auto;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.5rem;
	border: 1px solid var(--nobex-border, #e2e8f0);
	border-radius: 12px;
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.nobex-venue-picker__canvas-wrap--zoomable {
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	touch-action: none;
	max-height: min(70vh, 520px);
}

.nobex-venue-picker__canvas-wrap--zoomable.is-user-zoomed {
	overflow: auto;
	touch-action: pan-x pan-y;
}

.nobex-venue-picker__zoom-hint {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	color: var(--nobex-muted, #64748b);
	text-align: center;
	line-height: 1.4;
}

.nobex-venue-picker__zoom-hint[hidden] {
	display: none !important;
}

.nobex-venue-picker__canvas-scaler {
	position: relative;
	margin: 0 auto;
	overflow: visible;
}

.nobex-venue-picker--resource .nobex-venue-picker__title {
	margin-bottom: 0.25rem;
}

.nobex-venue-picker--resource .nobex-venue-item--seat {
	opacity: 0.35;
	pointer-events: none;
}

.nobex-venue-picker__canvas {
	position: relative;
	margin: 0 auto;
	min-width: 320px;
	min-height: 240px;
}

.nobex-venue-picker .nobex-venue-item {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0;
	cursor: default;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.nobex-venue-picker .nobex-venue-item.is-decor {
	pointer-events: none;
	opacity: 0.92;
}

.nobex-venue-picker .nobex-venue-item.is-selectable {
	cursor: pointer;
}

.nobex-venue-picker .nobex-venue-item.is-selectable:hover {
	z-index: 4;
}

.nobex-venue-picker .nobex-venue-item--seat.is-selectable .nobex-venue-item__art {
	filter: drop-shadow(0 1px 3px rgba(15, 23, 42, 0.1));
}

.nobex-venue-picker .nobex-venue-item--seat.is-selectable:hover .nobex-venue-item__art {
	filter: drop-shadow(0 2px 5px rgba(15, 23, 42, 0.14)) brightness(1.06);
}

.nobex-venue-picker .nobex-venue-item.is-selected {
	border-color: #15803c;
	border-radius: 10px;
	box-shadow:
		0 0 0 3px rgba(21, 128, 60, 0.28),
		0 4px 14px rgba(21, 128, 60, 0.18);
	transform: scale(1.05);
	z-index: 5;
}

.nobex-venue-picker .nobex-venue-item.is-selected .nobex-venue-item__art {
	filter: drop-shadow(0 3px 8px rgba(21, 128, 60, 0.35)) brightness(1.08);
}

.nobex-venue-picker .nobex-venue-item.is-selected .nobex-venue-item__label {
	background: rgba(21, 128, 60, 0.94);
}

.nobex-venue-picker .nobex-venue-item.is-occupied {
	opacity: 0.42;
	cursor: not-allowed;
	filter: grayscale(0.85);
}

.nobex-venue-picker .nobex-venue-item.is-occupied .nobex-venue-item__label::after {
	content: ' ✕';
	color: #ef4444;
}

.nobex-booking__venue-wrap {
	margin-top: 0.75rem;
}

.nobex-booking__venue-wrap[hidden] {
	display: none !important;
}

.nobex-booking__venue-loading {
	margin: 0.75rem 0 0;
}
