/**
 * Small global reset. Visual decisions belong to theme.json so they remain
 * editable through Global Styles.
 */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

body {
	min-height: 100vh;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizelegibility;
}

.wp-site-blocks {
	display: flex;
	min-height: 100vh;
	min-height: 100dvh;
	flex-direction: column;
}

.wp-site-blocks > .site-footer {
	margin-top: auto;
}

.admin-bar .wp-site-blocks {
	min-height: calc(100dvh - 32px);
}

img,
picture,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

button {
	cursor: pointer;
}

a {
	color: inherit;
}

.tlab-designers-container {
	width: min(100% - 40px, var(--wp--style--global--wide-size));
	margin-inline: auto;
}

/* Shared catalogue-style pagination. */
:where(.tlab-shop .wp-block-query-pagination, .tlab-pagination) {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 34px 0 0;
}

:where(.tlab-shop, .tlab-pagination) .wp-block-query-pagination-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

:where(.tlab-shop, .tlab-pagination) .page-numbers,
:where(.tlab-shop, .tlab-pagination) .wp-block-query-pagination-previous,
:where(.tlab-shop, .tlab-pagination) .wp-block-query-pagination-next {
	display: grid;
	box-sizing: border-box;
	min-width: 40px;
	height: 40px;
	margin: 0 !important;
	padding: 0 10px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--card);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1;
	text-decoration: none;
	place-items: center;
}

:where(.tlab-shop, .tlab-pagination) .page-numbers.current {
	border-color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

:where(.tlab-shop, .tlab-pagination) .page-numbers.dots {
	min-width: 24px;
	padding: 0;
	border-color: transparent;
}

:where(.tlab-shop, .tlab-pagination) :is(.prev, .next, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	width: 40px;
	padding: 0;
	overflow: hidden;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px;
	font-size: 0;
}

:where(.tlab-shop, .tlab-pagination) :is(.prev, .wp-block-query-pagination-previous) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M10 3.5 5.5 8l4.5 4.5' stroke='%23111412' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:where(.tlab-shop, .tlab-pagination) :is(.next, .wp-block-query-pagination-next) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m6 3.5 4.5 4.5L6 12.5' stroke='%23111412' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:where(.tlab-shop, .tlab-pagination) a.page-numbers:hover,
:where(.tlab-shop, .tlab-pagination) .wp-block-query-pagination-previous:hover,
:where(.tlab-shop, .tlab-pagination) .wp-block-query-pagination-next:hover {
	border-color: var(--wp--preset--color--contrast);
}

@media (max-width: 639px) {

	.tlab-designers-container {
		width: min(100% - 28px, var(--wp--style--global--wide-size));
	}
}

@media (max-width: 782px) {

	.admin-bar .wp-site-blocks {
		min-height: calc(100dvh - 46px);
	}
}

@media (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}
