/*
 * Scoped QA component fixes v98.
 * These rules target only components confirmed by TEST run #171.
 */

.nsv98-media-placeholder {
	display: grid !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	place-items: center !important;
	align-content: center !important;
	gap: 8px !important;
	box-sizing: border-box !important;
	padding: 28px !important;
	background:
		radial-gradient(circle at 22% 18%, rgba(211, 169, 75, .18), transparent 34%),
		linear-gradient(145deg, #edf5f2 0%, #dce9e5 100%) !important;
	color: #416064 !important;
	text-align: center !important;
}

.nsv98-media-placeholder img {
	display: block !important;
	width: 54px !important;
	min-width: 54px !important;
	height: 54px !important;
	min-height: 54px !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, .82) !important;
	padding: 8px !important;
	box-shadow: 0 10px 26px rgba(16, 47, 52, .1) !important;
}

.nsv98-media-placeholder strong,
.nsv98-media-placeholder small {
	display: block !important;
	max-width: 260px !important;
}

.nsv98-media-placeholder strong {
	color: #24484c !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

.nsv98-media-placeholder small {
	color: #6b8184 !important;
	font-size: 10px !important;
	line-height: 1.4 !important;
}

.nsv80-service-card__media.is-placeholder::after,
.nsv80-article-card__media.is-placeholder::after {
	display: none !important;
	content: none !important;
}

.nsv80-article-card.is-installation-article {
	border-style: dashed !important;
}

.nsv-room-detail-page img.is-nsv-image-fallback {
	object-fit: contain !important;
	background: #edf4f2 !important;
	padding: 12px !important;
}

.nsv-hotel-gallery.is-single-image {
	grid-template-columns: minmax(0, 1fr) !important;
}

.nsv-hotel-gallery.is-single-image .nsv-hotel-gallery__main {
	grid-column: 1 !important;
}

.nsv-hotel-gallery.is-single-image .nsv-hotel-gallery__rail,
.nsv-hotel-gallery.is-single-image .nsv-hotel-gallery__all {
	display: none !important;
}

@media (max-width: 900px) {
	.nsv-hotel-nav__track {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 6px !important;
		overflow: visible !important;
		padding: 6px !important;
	}

	.nsv-hotel-nav__track > a {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		padding-inline: 8px !important;
		white-space: normal !important;
		text-align: center !important;
	}
}

@media (max-width: 700px) {
	.nsv-room-detail-breadcrumbs {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: wrap !important;
		overflow: hidden !important;
		gap: 6px !important;
	}

	.nsv-room-detail-breadcrumbs a {
		max-width: calc(100% - 24px) !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	.nsv-room-detail-heading {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
	}

	.nsv-room-detail-heading__copy,
	.nsv-room-detail-heading__actions {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.nsv-room-detail-heading__actions {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.nsv-room-detail-heading__actions > * {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.nsv-hotel-nav__track {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.nsv-site-footer .nsv-footer-column > h2[data-nsv98-toggle="1"] {
		position: relative !important;
		min-height: 42px !important;
		margin: 0 !important;
		padding: 11px 34px 11px 0 !important;
		cursor: pointer !important;
	}

	.nsv-site-footer .nsv-footer-column > h2[data-nsv98-toggle="1"]::after {
		position: absolute !important;
		top: 50% !important;
		right: 4px !important;
		content: "+" !important;
		font-size: 20px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		transform: translateY(-50%) !important;
	}

	.nsv-site-footer .nsv-footer-column:not(.is-collapsed) > h2[data-nsv98-toggle="1"]::after {
		content: "−" !important;
	}

	.nsv-site-footer .nsv-footer-column.is-collapsed > ul {
		display: none !important;
	}

	.nsv-site-footer .nsv-footer-column:not(.is-collapsed) > ul {
		display: grid !important;
	}
}
