:root {
	--font-edito: "EB Garamond", "Bell MT", Times New Roman, serif;
	--font-primary: "Manrope", "Roboto", sans-serif;
	--font-size-heading-xxl: 2.125rem;
	--font-size-heading-xl: 1.875rem;
	--font-size-heading-m: 1.5rem;
	--font-size-body-l: 1rem;
	--font-size-body-m: 0.75rem;
	--font-size-body-default: 0.6875rem;
	--font-size-body-xs: 0.5rem;
	--font-weight-400: 400;
	--font-weight-500: 500;

	--color-text: #111111;
	--color-page-bg: #fcf7f1;
	--color-surface: #ffffff;
	--color-accent-green: #abd12d;
	--color-overlay: rgba(0, 0, 0, 0.4);

	--layout-max: 87.5rem;
	--layout-gutter: clamp(0.875rem, 2.5vw, 1.25rem);
	--header-logo: clamp(6.75rem, 18vw, 13.4375rem);
	--header-cart: clamp(3rem, 12vw, 6.875rem);
	--header-title: clamp(0.6875rem, 4.2vw, 2.875rem);
	--greenbar-height: clamp(3.75rem, 11vw, 8.125rem);
	--green-section-height: clamp(7.5rem, 22vw, 16.25rem);
	--greenbar-gap: calc((var(--green-section-height) - var(--greenbar-height)) / 2);
	--rhythm-gap: clamp(1.375rem, 3vw, 1.625rem);
	--rhythm-text: 0.875rem;
	--rhythm-page-end: 5rem;
	--green-btn-height: clamp(3.125rem, 11vw, 8.125rem);
	--green-btn-gap: clamp(2.5rem, 11vw, 17.5rem);
	--sidecart-width: min(30rem, 100vw);
	--ahdb-cart-thumb: 8.75rem;
	--ahdb-icon-spin-duration: 1.2s;
}

@keyframes ahdb-icon-spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 767px) {
	:root {
		--rhythm-gap: 1.375rem;
		--rhythm-text: 0.75rem;
		--rhythm-page-end: 3.5rem;
		--ahdb-cart-thumb: 4.5rem;
	}
}

@media (max-width: 480px) {
	:root {
		--ahdb-cart-thumb: 3.75rem;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	background-color: var(--color-page-bg);
}

body {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-primary);
	font-size: var(--font-size-body-l);
	font-weight: var(--font-weight-400);
	line-height: 1.5;
	background-color: var(--color-page-bg);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
}

.site-header,
.site-main,
.site-home,
.site-shop,
.site-footer {
	background-color: var(--color-page-bg);
}

.site-main {
	min-height: 50vh;
}

.site-home,
.site-shop,
.site-product,
.site-artist,
.site-shows,
.site-footer--showcase {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
}

.ahdb-wc-notice {
	margin: var(--layout-gutter);
	padding: 1.25rem;
	border: 1px solid #dddddd;
	background: var(--color-surface);
	color: var(--color-text);
	font-family: var(--font-primary);
}

.ahdb-page-h1 {
	margin: 0 auto 1.25rem;
	max-width: min(var(--layout-max), 100%);
	padding-inline: var(--layout-gutter);
	font-family: var(--font-edito);
	font-size: clamp(1.25rem, 3.5vw, 2rem);
	font-weight: var(--font-weight-500);
	line-height: 1.15;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
	color: var(--color-text);
}

.ahdb-shows-intro {
	padding-top: clamp(1rem, 3vw, 2rem);
}

.ahdb-shop-h1 {
	padding-inline: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
