body {
	font-family: var(--hpet-font-body);
	font-weight: var(--hpet-weight-normal);
	font-size: var(--hpet-fs-base);
	line-height: var(--hpet-lh-base);
	color: var(--hpet-text);
	background-color: var(--hpet-bg);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--hpet-font-body);
	font-weight: var(--hpet-weight-normal);
	line-height: var(--hpet-lh-tight);
	color: var(--hpet-text);
}

a {
	color: var(--hpet-text);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

a:hover,
a:focus {
	color: var(--hpet-accent);
}

.hpet-container {
	width: 100%;
	max-width: var(--hpet-container);
	margin-inline: auto;
	padding-inline: var(--hpet-gutter);
}

.hpet-container--text {
	max-width: var(--hpet-container-text);
}

.hpet-accent {
	color: var(--hpet-accent);
}

.hpet-warning {
	color: var(--hpet-warning);
}

.hpet-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.hpet-skip-link {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: var(--hpet-sp-2) var(--hpet-sp-4);
	background-color: var(--hpet-white);
	color: var(--hpet-text);
}

.hpet-skip-link:focus {
	left: var(--hpet-sp-4);
	top: var(--hpet-sp-2);
}

.hpet-button,
.single_add_to_cart_button,
.woocommerce .button {
	font-family: var(--hpet-font-buy);
	font-weight: var(--hpet-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--hpet-white);
	background-color: var(--hpet-black);
	border: 0;
	border-radius: var(--hpet-radius-buy);
	padding: var(--hpet-sp-3) var(--hpet-sp-8);
	transition: background-color var(--hpet-transition);
}

.hpet-button:hover,
.hpet-button:focus,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus,
.woocommerce .button:hover,
.woocommerce .button:focus {
	color: var(--hpet-white);
	background-color: var(--hpet-green-accessible);
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: var(--hpet-border-width) solid var(--hpet-accent);
	outline-offset: 2px;
}

mark.has-inline-color {
	background-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media (pointer: coarse) {
	.hpet-skip-link,
	.hpet-cart,
	.hpet-back,
	.hpet-logo {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}

	.hpet-contact__email,
	.hpet-footer__policies a,
	.hpet-footer__site-link,
	.hpet-footer__terms a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="password"],
	input[type="search"],
	select,
	textarea,
	button,
	input[type="submit"],
	.button {
		min-height: 44px;
	}

	input[type="checkbox"],
	input[type="radio"] {
		width: 24px;
		height: 24px;
	}

	.wpcf7-list-item label {
		display: flex;
		align-items: flex-start;
		gap: var(--hpet-sp-2);
	}
}

@media (pointer: coarse) {
	.wp-block-social-links .wp-social-link a {
		min-height: 44px;
		min-width: 44px;
		justify-content: center;
	}

	.woocommerce-form-login__rememberme input[type="checkbox"],
	.woocommerce form .form-row input[type="checkbox"] {
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
	}

	.woocommerce-LostPassword a,
	.lost_password a,
	.woocommerce-info a,
	.woocommerce-message a,
	.return-to-shop a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}
