.scroll-x-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 8px;
}

.scroll-x-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background-color: currentColor;
	opacity: 0.25;
	cursor: pointer;
	transition: opacity 0.2s;
}

.scroll-x-dot[data-is-active] {
	opacity: 1;
}

wbc-scroll-x {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	overflow-x: auto;
	gap: var(--layout-space-100);
	padding-top: 10px;
	padding-bottom: var(--layout-space-300);
	padding-inline: var(--page-paddingInline);
	width: 100%;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--page-paddingInline);p
	> * {
		scroll-snap-align: center;
	}
}

@media (width > 600px) {
	wbc-scroll-x[data-mode="compact-only"] {
		display: contents;
		border: 1px solid var(--color-main-900);

		> * {
			width: 100%;
		}

		+ .scroll-x-dots {
			display: none;
		}
	}
}
body:has(:where([dev], [dev-all])) {
	border: 4px solid red;
}

[dev],
[dev-all],
[dev-all] * {
	---dev-border-color: currentColor;
	border: 4px solid var(---dev-border-color);
}

[dev],
[dev-all] > * {
	---dev-border-color: red;
	> * {
		---dev-border-color: blue;
		> * {
			---dev-border-color: green;
			> * {
				---dev-border-color: yellow;
				> * {
					---dev-border-color: orange;
					> * {
						---dev-border-color: purple;
						> * {
							---dev-border-color: pink;
							> * {
								---dev-border-color: gray;
								> * {
									---dev-border-color: black;
								}
							}
						}
					}
				}
			}
		}
	}
}

.devInfoImg-trigger {
	position: absolute;
	z-index: 99999999;
	margin: 0.5em;
	font-size: 16px;
}

.devInfoImg-triggerIcon {
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	background-color: white;
	color: black;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: serif;
	font-style: italic;
	font-weight: bold;
	cursor: help;
	opacity: 0.8;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.devInfoImg {
	font-size: 16px;
	position: absolute;
	top: 0;
	left: 0;
	margin-top: 1.75em;
	background-color: white;
	color: black;
	padding: 0.4em;
	opacity: 0.95;
	width: max-content;
	max-width: 280px;
	overflow: auto;
	max-height: 80vh;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	display: none;
}

.devInfoImg-trigger:hover .devInfoImg,
.devInfoImg-trigger:focus-within .devInfoImg {
	display: block;
}

.devInfoImg-label {
	font-size: 0.7em;
}

.devInfoImg-ratioActual,
.devInfoImg-ratioNatural,
.devInfoImg-sizeActual,
.devInfoImg-sizeNatural {
	display: flex;
	justify-content: space-between;
	gap: 1em;
}

.devInfoImg-srcCurrent {
	margin-bottom: 0.5em;
	word-break: break-all;
}
