/**
 * WooCommerce foundation.
 *
 * All rules are scoped to WooCommerce content. Header and footer components
 * intentionally remain outside this stylesheet.
 */

body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
	--roj-wc-background: #ffffff;
	--roj-wc-surface: #ffffff;
	--roj-wc-text: #111111;
	--roj-wc-muted: #666666;
	--roj-wc-border: #dedede;
	--roj-wc-soft-background: #f7f7f7;
	--roj-wc-action: #111111;
	--roj-wc-action-text: #ffffff;
}

body.woocommerce-page #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary {
	background: var(--roj-wc-background);
	color: var(--roj-wc-text);
	max-width: none;
	overflow-x: clip;
}

body.woocommerce-page main .woocommerce,
body.woocommerce-cart main .woocommerce,
body.woocommerce-checkout main .woocommerce,
body.woocommerce-account main .woocommerce {
	color: var(--roj-wc-text);
}

body.woocommerce-page main .woocommerce h1,
body.woocommerce-page main .woocommerce h2,
body.woocommerce-page main .woocommerce h3,
body.woocommerce-page main .woocommerce h4,
body.woocommerce-cart main .woocommerce h1,
body.woocommerce-cart main .woocommerce h2,
body.woocommerce-cart main .woocommerce h3,
body.woocommerce-checkout main .woocommerce h1,
body.woocommerce-checkout main .woocommerce h2,
body.woocommerce-checkout main .woocommerce h3,
body.woocommerce-account main .woocommerce h1,
body.woocommerce-account main .woocommerce h2,
body.woocommerce-account main .woocommerce h3 {
	color: var(--roj-wc-text);
}

body.woocommerce-page main .woocommerce a,
body.woocommerce-cart main .woocommerce a,
body.woocommerce-checkout main .woocommerce a,
body.woocommerce-account main .woocommerce a {
	color: inherit;
}

body.woocommerce-page main .woocommerce .button,
body.woocommerce-cart main .woocommerce .button,
body.woocommerce-checkout main .woocommerce .button,
body.woocommerce-account main .woocommerce .button {
	background: var(--roj-wc-action);
	border: 0.0625rem solid var(--roj-wc-action);
	border-radius: 0;
	box-shadow: none;
	color: var(--roj-wc-action-text);
	cursor: pointer;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	min-height: 3rem;
	padding: 0.75rem 1.35rem;
	text-transform: uppercase;
}

body.woocommerce-page main .woocommerce .button:hover,
body.woocommerce-cart main .woocommerce .button:hover,
body.woocommerce-checkout main .woocommerce .button:hover,
body.woocommerce-account main .woocommerce .button:hover {
	background: #333333;
	border-color: #333333;
	color: #ffffff;
	transform: none;
}

body.woocommerce-page main .woocommerce input.input-text,
body.woocommerce-page main .woocommerce textarea,
body.woocommerce-page main .woocommerce select,
body.woocommerce-cart main .woocommerce input.input-text,
body.woocommerce-cart main .woocommerce textarea,
body.woocommerce-cart main .woocommerce select,
body.woocommerce-checkout main .woocommerce input.input-text,
body.woocommerce-checkout main .woocommerce textarea,
body.woocommerce-checkout main .woocommerce select,
body.woocommerce-account main .woocommerce input.input-text,
body.woocommerce-account main .woocommerce textarea,
body.woocommerce-account main .woocommerce select {
	background: #ffffff;
	border: 0.0625rem solid var(--roj-wc-border);
	border-radius: 0;
	box-shadow: none;
	color: var(--roj-wc-text);
	min-height: 3rem;
	padding: 0.7rem 0.85rem;
	width: 100%;
}

body.woocommerce-page main .woocommerce input:focus,
body.woocommerce-page main .woocommerce textarea:focus,
body.woocommerce-page main .woocommerce select:focus,
body.woocommerce-cart main .woocommerce input:focus,
body.woocommerce-cart main .woocommerce textarea:focus,
body.woocommerce-cart main .woocommerce select:focus,
body.woocommerce-checkout main .woocommerce input:focus,
body.woocommerce-checkout main .woocommerce textarea:focus,
body.woocommerce-checkout main .woocommerce select:focus,
body.woocommerce-account main .woocommerce input:focus,
body.woocommerce-account main .woocommerce textarea:focus,
body.woocommerce-account main .woocommerce select:focus {
	border-color: var(--roj-wc-action);
	outline: 0.0625rem solid var(--roj-wc-action);
	outline-offset: 0;
}

body.woocommerce-page main .select2-container--default .select2-selection--single,
body.woocommerce-checkout main .select2-container--default .select2-selection--single,
body.woocommerce-account main .select2-container--default .select2-selection--single {
	background: #ffffff;
	border: 0.0625rem solid var(--roj-wc-border);
	border-radius: 0;
	color: var(--roj-wc-text);
	min-height: 3rem;
}

body.woocommerce-page main .select2-selection__rendered,
body.woocommerce-checkout main .select2-selection__rendered,
body.woocommerce-account main .select2-selection__rendered {
	color: var(--roj-wc-text) !important;
	line-height: 3rem !important;
}

body.woocommerce-page main .woocommerce label,
body.woocommerce-cart main .woocommerce label,
body.woocommerce-checkout main .woocommerce label,
body.woocommerce-account main .woocommerce label {
	color: var(--roj-wc-text);
}

body.woocommerce-page main .woocommerce table.shop_table,
body.woocommerce-cart main .woocommerce table.shop_table,
body.woocommerce-checkout main .woocommerce table.shop_table,
body.woocommerce-account main .woocommerce table.shop_table {
	background: var(--roj-wc-surface);
	border: 0.0625rem solid var(--roj-wc-border);
	border-collapse: collapse;
	border-radius: 0;
	color: var(--roj-wc-text);
}

body.woocommerce-page main .woocommerce table.shop_table th,
body.woocommerce-page main .woocommerce table.shop_table td,
body.woocommerce-cart main .woocommerce table.shop_table th,
body.woocommerce-cart main .woocommerce table.shop_table td,
body.woocommerce-checkout main .woocommerce table.shop_table th,
body.woocommerce-checkout main .woocommerce table.shop_table td,
body.woocommerce-account main .woocommerce table.shop_table th,
body.woocommerce-account main .woocommerce table.shop_table td {
	border-color: var(--roj-wc-border);
	color: var(--roj-wc-text);
	padding: 1rem;
}

body.woocommerce-page main .woocommerce-error,
body.woocommerce-page main .woocommerce-info,
body.woocommerce-page main .woocommerce-message,
body.woocommerce-cart main .woocommerce-error,
body.woocommerce-cart main .woocommerce-info,
body.woocommerce-cart main .woocommerce-message,
body.woocommerce-checkout main .woocommerce-error,
body.woocommerce-checkout main .woocommerce-info,
body.woocommerce-checkout main .woocommerce-message,
body.woocommerce-account main .woocommerce-error,
body.woocommerce-account main .woocommerce-info,
body.woocommerce-account main .woocommerce-message {
	background: var(--roj-wc-soft-background);
	border: 0.0625rem solid var(--roj-wc-border);
	border-top: 0.1875rem solid var(--roj-wc-action);
	border-radius: 0;
	box-shadow: none;
	color: var(--roj-wc-text);
}

body.woocommerce-page main .woocommerce-error,
body.woocommerce-cart main .woocommerce-error,
body.woocommerce-checkout main .woocommerce-error,
body.woocommerce-account main .woocommerce-error {
	border-top-color: #b42318;
}

body.woocommerce-page main .woocommerce ul.products {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.woocommerce-page main .woocommerce ul.products::before,
body.woocommerce-page main .woocommerce ul.products::after {
	display: none;
}

body.woocommerce-page main .woocommerce ul.products li.product {
	background: #ffffff;
	border: 0.0625rem solid var(--roj-wc-border);
	float: none;
	margin: 0;
	padding: 0 0 1.5rem;
	width: auto;
}

body.woocommerce-page main .woocommerce ul.products li.product img {
	aspect-ratio: 4 / 5;
	margin: 0 0 1.25rem;
	object-fit: cover;
}

body.woocommerce-page main .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page main .woocommerce ul.products li.product .price,
body.woocommerce-page main .woocommerce ul.products li.product .button {
	margin-inline: 1.25rem;
}

body.woocommerce-page main .woocommerce ul.products li.product .price,
body.woocommerce-page main .woocommerce div.product p.price,
body.woocommerce-page main .woocommerce div.product span.price {
	color: var(--roj-wc-text);
}

body.woocommerce-page main .woocommerce span.onsale {
	background: var(--roj-wc-action);
	border-radius: 0;
	color: var(--roj-wc-action-text);
}

body.woocommerce-account main .woocommerce-MyAccount-navigation,
body.woocommerce-account main .woocommerce-MyAccount-content {
	background: #ffffff;
	border: 0.0625rem solid var(--roj-wc-border);
	color: var(--roj-wc-text);
	padding: clamp(1.25rem, 3vw, 2.25rem);
}

body.woocommerce-account main .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.woocommerce-account main .woocommerce-MyAccount-navigation li {
	border-bottom: 0.0625rem solid var(--roj-wc-border);
}

body.woocommerce-account main .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.85rem 0;
	text-decoration: none;
}

body.woocommerce-account main .woocommerce-MyAccount-navigation .is-active a {
	font-weight: 700;
}

@media (max-width: 64rem) {
	body.woocommerce-page main .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 42rem) {
	body.woocommerce-page main .woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	body.woocommerce-page main .woocommerce table.shop_table_responsive tr td,
	body.woocommerce-cart main .woocommerce table.shop_table_responsive tr td,
	body.woocommerce-account main .woocommerce table.shop_table_responsive tr td {
		background: #ffffff;
		border-color: var(--roj-wc-border);
	}
}
