:root {
	--black: #000000;
	--grey-100: #151617;
	--grey-60: #58595B;
	--grey-40: #A6A7AA;
	--grey-10: #e5e5e5;
	--white: #ffffff;
	--primary: #ff0000;
	--primary-var: #A50000;
}


/* generic form updates */
label { font-family: 'AkzidenzGroteskBold',sans-serif; font-size: .9em; }
textarea,
[type="text"],
[type="number"],
[type="password"],
[type="email"],
[type="tel"],
select { border: 1px solid var(--grey-40); padding: 9px 12px; font-size: 14px; }

input#wc-stripe-new-payment-method { width: 26px !important; }
[type="checkbox"],
[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 28px;
	width: 28px;
	-webkit-transition: all 0.15s ease-out 0s;
	-moz-transition: all 0.15s ease-out 0s;
	transition: all 0.15s ease-out 0s;
	background: var(--grey-10);
	border: 1px solid var(--grey-60);
	color: var(--white);
	cursor: pointer;
	display: inline-block;
	outline: none;
	position: relative;
	z-index: 1000;
}
[type="checkbox"]:hover,
[type="radio"]:hover {
	background: var(--primary);
	border: 1px solid var(--primary);
}
[type="checkbox"]:checked,
[type="radio"]:checked {
	background: transparent;
	border: 1px solid var(--primary-var);
}
[type="checkbox"]:checked::before,
[type="radio"]:checked::before {
	height: 18px;
	width: 18px;
	position: absolute;
	display: inline-block;
}
[type="checkbox"]:checked::after,
[type="radio"]:checked::after {
	background: var(--primary-var);
	content: '';
	display: block;
	position: relative;
	z-index: 100;
	top: 4px;
	left: 4px;
	width: 18px;
	height: 18px;
}
[type="radio"] { border-radius: 50%; }
[type="radio"]::after {
	border-radius: 50%;
}



/* overriding javascript select that comes with woocommerce */
.woocommerce-input-wrapper, .select2-container { font-size: 14px; }
.select2-container ul li { margin: 0; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background-color: var(--primary-var); color: var(--white); }

.woocommerce a.remove { line-height: .91em; }
.woocommerce form h3:first-child { margin-top: 0; }
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input { top: 7px; }
.woocommerce form .form-row { margin: 0 0 8px; }
.woocommerce table.my_account_orders { font-size: 1em; }
.woocommerce fieldset { margin: 48px 0 24px; }
.woocommerce fieldset legend { text-transform: capitalize; display: block; font-family: 'TradeGothicBold',sans-serif; color: var(--black); font-size: 1.5em; line-height: 1; margin: 0 0 24px; }


/* updating input select fields to be clever */
form.woocommerce-ordering,
p.woocommerce-result-count,
.woocommerce div.product form.cart .variations td.value { width: 100%; border: 1px solid var(--grey-40); padding: 8px 16px; font-size: 14px; line-height: 1.2; cursor: pointer; background-color: #fff; }
form.woocommerce-ordering,
.woocommerce div.product form.cart .variations td.value { grid-template-areas: "select"; display: grid; align-items: center; }
body.woocommerce form.woocommerce-ordering { margin-bottom: 2em; }
form.woocommerce-ordering:hover,
.woocommerce div.product form.cart .variations td.value:hover { border: 1px solid var(--primary-var); }
form.woocommerce-ordering:after,
.woocommerce div.product form.cart .variations td.value:after { content: ""; width: 0.8em; height: 0.5em; background-color: var(--black); clip-path: polygon(100% 0%, 0 0%, 50% 100%); justify-self: end; }
form.woocommerce-ordering:hover:after,
.woocommerce div.product form.cart .variations td.value:hover:after { background-color: var(--primary-var); }
p.woocommerce-result-count { padding-left: 0; padding-right: 0; border: 1px solid transparent; cursor: text; background-image: none; color: var(--grey-60); }
form.woocommerce-ordering select,
.woocommerce div.product form.cart .variations td.value select { appearance: none; background-color: transparent; border: none; padding: 0 1em 0 0; margin: 0; width: 100%; font-family: inherit; font-size: inherit; cursor: inherit; line-height: inherit; outline: none; text-transform: capitalize; }
form.woocommerce-ordering:hover select,
.woocommerce div.product form.cart .variations td.value:hover select { color: var(--primary-var); }
form.woocommerce-ordering select,
form.woocommerce-ordering:after,
.woocommerce div.product form.cart .variations td.value select,
.woocommerce div.product form.cart .variations td.value:after { grid-area: select; }
form.woocommerce-ordering select[multiple],
.woocommerce div.product form.cart .variations td.value select[multiple] { padding-right: 0; }
form.woocommerce-ordering select[multiple] option,
.woocommerce div.product form.cart .variations td.value select[multiple] option { white-space: normal; }


/* adjusting default buttons */
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: 0; text-transform: capitalize; padding: 8px 16px; font-size: 14px; line-height: 1.2; background-color: var(--primary-var); color: var(--white); }
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background-color: var(--primary); color: var(--white); }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background-color: var(--primary-var); color: var(--white); padding: 8px 16px; }
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background-color: var(--primary); }

	/* adjusting disabled color states on buttons */
	.woocommerce #respond input#submit.disabled, .woocommerce #respond input#submit:disabled, .woocommerce #respond input#submit:disabled[disabled], .woocommerce a.button.disabled, .woocommerce a.button:disabled, .woocommerce a.button:disabled[disabled], .woocommerce button.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce input.button.disabled, .woocommerce input.button:disabled, .woocommerce input.button:disabled[disabled] { padding: 8px 16px; background-color: var(--grey-40); color: var(--grey-10); }
	
	.woocommerce #respond input#submit.alt.disabled, .woocommerce #respond input#submit.alt.disabled:hover, .woocommerce #respond input#submit.alt:disabled, .woocommerce #respond input#submit.alt:disabled:hover, .woocommerce #respond input#submit.alt:disabled[disabled], .woocommerce #respond input#submit.alt:disabled[disabled]:hover, .woocommerce a.button.alt.disabled, .woocommerce a.button.alt.disabled:hover, .woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled:hover, .woocommerce a.button.alt:disabled[disabled], .woocommerce a.button.alt:disabled[disabled]:hover, .woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled:hover, .woocommerce button.button.alt:disabled[disabled], .woocommerce button.button.alt:disabled[disabled]:hover, .woocommerce input.button.alt.disabled, .woocommerce input.button.alt.disabled:hover, .woocommerce input.button.alt:disabled, .woocommerce input.button.alt:disabled:hover, .woocommerce input.button.alt:disabled[disabled], .woocommerce input.button.alt:disabled[disabled]:hover { padding: 8px 16px; background-color: var(--grey-40); color: var(--grey-10); }


/* breadcrumb navigation */
.woocommerce nav.woocommerce-breadcrumb { color: var(--grey-60); font-size: .85em; line-height: 1.4; }
.woocommerce nav.woocommerce-breadcrumb a { color: var(--primary-var); }
.woocommerce nav.woocommerce-breadcrumb a:hover { color: var(--white); }


/* Products Archive/Shop Page */
.woocommerce ul.products { border-top: 4px solid var(--black); }
.not-front.woocommerce ul.products { padding-top: 64px; }
.woocommerce .related.products ul.products { border-top: 0; padding-top: 0; }
.page-template-front-page-2022 .woocommerce ul.products { border-top: 0; }
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 { font-size: .9em; -moz-transition: all 400ms ease-in; -webkit-transition: all 400ms ease-in; transition: all 400ms ease-in; }
.woocommerce ul.products::after,
.woocommerce ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce-page ul.products::before { content: none; }

.woocommerce .products ul,
.woocommerce ul.products,
.woocommerce #main .related.products ul.products,
.woocommerce-page #main .related.products ul.products { display: flex; flex-flow: row wrap; gap: 16px; align-items: stretch; margin-bottom: 0; padding-bottom: 0; }
.woocommerce .products ul li,
.woocommerce ul.products li,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.main-content .woocommerce ul.products li.product,
.woocommerce #main ul.products li.product,
.woocommerce-page #main ul.products li.product { display: flex; flex-direction: column; float: none; margin: 0; border: 1px solid var(--grey-10); }
@media only screen and (max-width: 767px) {
	.woocommerce .products ul li,
	.woocommerce ul.products li,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.main-content .woocommerce ul.products li.product,
	.woocommerce #main ul.products li.product,
	.woocommerce-page #main ul.products li.product { width: 100%; }
}
.woocommerce ul.products li.product a img { margin-bottom: 0; }
.woocommerce ul.products li.product .product-meta-wrap { padding: 8px; border-top: 1px solid var(--grey-10); -moz-transition: all 400ms ease-in; -webkit-transition: all 400ms ease-in; transition: all 400ms ease-in; }
.woocommerce ul.products li.product:hover .product-meta-wrap { background-color: var(--grey-10); }

/* related products on product pages */
.woocommerce #main .related.products ul.products,
.woocommerce-page #main .related.products ul.products { gap: 8px; }


.woocommerce ul.products li.product .button { margin-top: 24px; display: table; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { height: 100%; }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-weight: 700; font-size: .9em; line-height: 1; }

.woocommerce ul.products li.product a.button { width: 100%; border: 1px solid var(--grey-40); background-color: var(--white); font-weight: 400; color: var(--black); }
.woocommerce ul.products li.product a:hover { background-color: transparent; }
.woocommerce ul.products li.product:hover h2,
.woocommerce ul.products li.product:hover a.button { color: var(--primary-var); border-color: var(--primary-var); }


/* Product Page */
.woocommerce.single-product h2 { font-size: 1.6em; }
.woocommerce div.product h1 { font-size: 2.5em; margin-bottom: 24px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: 1.5em; }
.woocommerce div.product .woocommerce-product-details__short-description { margin: 32px 0 0; padding: 16px 0; border-top: 4px solid var(--black); }
.woocommerce div.product form.cart table.variations { text-align: left; max-width: 448px; border-width: 1px 0; border-style: solid; border-color: var(--grey-10); padding: 24px 0 12px; margin-bottom: 32px; }
.woocommerce div.product form.cart table.variations label { font-size: 14px; }
.woocommerce div.product form.cart table.variations tr { border-top: 1px solid var(--grey-10); }
.woocommerce div.product form.cart table.variations th.label { padding: 0 16px 16px 0; vertical-align: middle; }
.woocommerce-variation-add-to-cart,
.variations_button,
.woocommerce-variation-add-to-cart-enabled { display: flex; }
.woocommerce .product_meta { font-size: 14px; color: var(--grey-40); }
.woocommerce .product_meta a { opacity: .6; }
.woocommerce div.product div.summary { margin-bottom: 3em; }
.woocommerce .woocommerce-Tabs-panel h2 { margin-top: 32px; }
.woocommerce .woocommerce-Tabs-panel h3 { font-size: 1.4em; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 8px; margin-left: 0; white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; }
.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 0; padding: 0; margin: 0 8px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before { box-shadow: 0 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { position: relative; border: 0; box-shadow: 0 0 0; border-radius: 0; left: 0; bottom: 0; width: auto; height: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { text-transform: capitalize; font-weight: 400; font-size: 14px; padding: .4em 1em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { background-color: transparent; }
/* .woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child) { display: none; } */



/* jquery dataTables plugin overrides */
.woocommerce table.dataTable { margin: 0; }
#size-guide th, #size-guide td { white-space: nowrap; }
body.woocommerce .dataTables_wrapper .dataTables_scrollBody { border-bottom: 0; padding-top: 8px; padding-bottom: 16px; }


/* cleaning up product notices, errors, info */
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before { position: relative; top: auto; left: auto; }
.woocommerce-error,
.woocommerce-info,
.woocommerce-message { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 12px; background-color: var(--white); color: var(--black); font-size: 14px; line-height: 1.2; border-width: 4px 1px 1px 1px; border-style: solid; }
.woocommerce-message { border-color: #8fae1b; }
.woocommerce-error { border-color: #b81c23; }
.woocommerce-info { border-color: #1e85be; }
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button { float: none; order: 9; white-space: nowrap; background-color: transparent; color: var(--primary-var); }
.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce-page .woocommerce-error .button:hover,
.woocommerce-page .woocommerce-info .button:hover,
.woocommerce-page .woocommerce-message .button:hover { background-color: var(--grey-10); color: var(--primary); }


/* /my-account horizontal navigation */
.woocommerce-account section.page .woocommerce:before,
.woocommerce-account section.page .woocommerce:after { content: none; }

.woocommerce-account nav.woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; }
.woocommerce-account nav.woocommerce-MyAccount-navigation { text-transform: capitalize; position: relative; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul::before { display: table; position: absolute; content: " "; width: 100%; bottom: 0; left: 0; border-bottom: 1px solid #d3ced2; z-index: 1; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul:after { clear: both; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul { padding-left: 8px; list-style: none; white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li { padding: 0; margin: 0 8px 0 0; border: 1px solid #d3ced2; display: inline-block; position: relative; z-index: 1; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a { color: #515151; padding: .4em 1em; display: inline-block; background-color: var(--grey-10); font-size: 14px; text-transform: capitalize; }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a:hover { background-color: var(--white); }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active { z-index: 2; border-bottom-color: var(--white); }
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a { background-color: var(--white); color: var(--black); }


/* tables, generally speaking, in the /my-account navs */
.woocommerce table.shop_table,
.woocommerce .woocommerce-customer-details address,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border-radius: 0; border: 1px solid var(--grey-10); }
.woocommerce-table th,
.woocommerce-table td,
.woocommerce table.shop_table th { vertical-align: top; font-family: 'AkzidenzGroteskBold',sans-serif; }
small.shipped_via { margin-top: 0; }
.woocommerce address p { margin: 0; }
.woocommerce ul.order_details { padding: 0; }
.woocommerce ul.order_details li { border-right: 1px solid var(--grey-10); }
.woocommerce table.shop_table { border: 1px solid var(--grey-10); border-collapse: collapse; }
.woocommerce table.shop_table.my_account_orders th,
.woocommerce table.shop_table.my_account_orders td,
.wc-credit-card-form.wc-payment-form .wc-stripe-elements-field { padding: 9px 12px; }
.wc-credit-card-form.wc-payment-form .wc-stripe-elements-field { border: 0; }


/* proceed to checkout */
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button { font-size: 1em;}


/* cart */
.woocommerce table.shop_table .product_remove { padding-top: 2px; }
.cart_totals ul li { margin: 0; padding: 0; }
.cart_totals p,
.cart_totals small { margin: 8px 0; }
.payment_method_paypal img,
.payment_method_paypal a.about_paypal { display: none; }


/* my account page on /my-account */
.woocommerce .woocommerce-MyAccount-content .addresses header { margin-bottom: 16px; }
.woocommerce .woocommerce-MyAccount-content .addresses header h3 { margin: 0; }
.woocommerce .woocommerce-MyAccount-content .addresses header a { font-size: 14px; }
.woocommerce .woocommerce-MyAccount-content .addresses address { font-style: normal; padding: 16px; border: 1px solid var(--grey-10); }

/* checkout */
#add_payment_method .checkout .col2-set h3,
.woocommerce-cart .checkout .col2-set h3,
.woocommerce-checkout .checkout .col2-set h3 { height: 40px; border-bottom: 1px solid var(--grey-10); }
#add_payment_method .checkout .col2-set h3#ship-to-different-address,
.woocommerce-cart .checkout .col2-set h3#ship-to-different-address,
.woocommerce-checkout .checkout .col2-set h3#ship-to-different-address { font-size: 1em; float: none; }
.woocommerce-checkout .checkout .col2-set h3 label,
p.woocommerce-SavedPaymentMethods-saveNew { display: flex; gap: 8px; align-items: center; }
.woocommerce-shipping-totals.shipping ul,
.woocommerce-shipping-totals.shipping ul li { margin: 0; padding: 0; }

/* credit card / add payment form */
.wc-credit-card-form.wc-payment-form label { font-weight: 700; }
#add_payment_method #payment div.payment_box .form-row,
.woocommerce-cart #payment div.payment_box .form-row,
.woocommerce-checkout #payment div.payment_box .form-row { padding: 0; }
.woocommerce .payment_box.payment_method_stripe fieldset { margin-top: 0; }
.payment_box.payment_method_paypal p { margin-top: 0; }

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; }
#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input { display: inline-block; margin-right: 0; }
#add_payment_method #payment ul.payment_methods li label,
.woocommerce-cart #payment ul.payment_methods li label,
.woocommerce-checkout #payment ul.payment_methods li label { position: relative; top: -6px; display: inline-block; }
#add_payment_method #payment ul.payment_methods li .payment_box label,
.woocommerce-cart #payment ul.payment_methods li .payment_box label,
.woocommerce-checkout #payment ul.payment_methods li .payment_box label { top: 0; }

#add_payment_method #payment div.payment_box p:before,
.woocommerce-cart #payment div.payment_box p:before,
.woocommerce-checkout #payment div.payment_box p:before { content: none; }


@media only screen and (min-width: 768px) {

	form.woocommerce-ordering,
	p.woocommerce-result-count { min-width: 15ch; max-width: 30ch; }
			
	.woocommerce-page.woocommerce-account .limiter,
	.woocommerce-page.woocommerce-checkout .limiter,
	body.page-template-front-page-2022 .limiter { max-width: 960px; }
	.woocommerce-account nav.woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
	
	/* Product Page */
	.woocommerce div.product { display: flex; gap: 24px; }
	.woocommerce-page div.product .product-side { width: 50%; }
	.woocommerce #content div.product .product-side div.summary,
	.woocommerce div.product .product-side div.summary,
	.woocommerce-page #content div.product .product-side div.summary,
	.woocommerce-page div.product .product-side div.summary { width: 100%; }
	body.woocommerce div.product div.images.woocommerce-product-gallery { width: 100%; }
	.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) { display: block; width: 100%; }
	
	/* cleaning up infos, errors, etc */
	.woocommerce-error::after,
	.woocommerce-info::after,
	.woocommerce-message::after { display: none; }
		
}

@media only screen and (min-width: 1024px) {

	.woocommerce-page div.product .product-side { width: 70%; }
	
}

@media only screen and (min-width: 1320px) {

	body.woocommerce .limiter,
	body.woocommerce-page .limiter,
	body.page-template-front-page-2022 .limiter { max-width: 1280px; }	
	.woocommerce div.product { gap: 40px; }
	
}

@media only screen and (min-width: 1440px) {
	
	body.woocommerce .limiter,
	body.woocommerce-page .limiter,
	body.page-template-front-page-2022 .limiter { max-width: 1440px; }
	.woocommerce-page div.product .product-side { width: 60%; max-width: 500px; }
	
}