:root {
	--garner-tap-min: 44px;
	--garner-text: #2c2418;
	--garner-accent: #6b4f2a;
	--garner-bg: #f7f3ed;
}

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

body.garner-mobile-optimized {
	color: var(--garner-text);
	background: #fff;
}

.site-header,
.storefront-primary-navigation {
	background: var(--garner-bg);
}

.main-navigation ul li a,
.site-header-cart .cart-contents {
	min-height: var(--garner-tap-min);
	display: inline-flex;
	align-items: center;
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.add_to_cart_button,
.wc-block-components-button {
	min-height: var(--garner-tap-min);
	padding: 0.75rem 1.25rem;
	font-size: 1rem;
}

.woocommerce ul.products {
	display: grid;
	gap: 1rem;
}

.woocommerce ul.products li.product {
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce ul.products li.product .button {
	width: 100%;
	text-align: center;
}

.woocommerce ul.products li.product img,
.woocommerce div.product div.images img {
	width: 100%;
	height: auto;
}

.woocommerce .quantity .qty {
	min-height: var(--garner-tap-min);
	font-size: 1rem;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart input,
.woocommerce-cart select {
	min-height: var(--garner-tap-min);
	font-size: 16px;
}

.woocommerce table.shop_table {
	font-size: 0.95rem;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	padding: 0.75rem 0.5rem;
}

.single-product div.product .product_title {
	font-size: 1.5rem;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.95rem;
		line-height: 1.3;
	}

	.storefront-handheld-footer-bar {
		padding-bottom: env(safe-area-inset-bottom);
	}

	body.woocommerce-cart,
	body.woocommerce-checkout,
	body.woocommerce-account {
		padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
	}
}

@media (max-width: 420px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
