/*
 * Tom Store — storefront styles for the TwoTen Blocks theme.
 * Loaded on shop, product, basket, checkout and account screens only.
 */

.tom-store {
	--ts-rose: #bb7c6b;
	--ts-ink: #35303b;
	--ts-panel: #f5f7fa;
	--ts-line: #e3e0dc;
	--ts-muted: #7a7a7a;
	--ts-white: #fff;
	--ts-error: #a8443a;
	--ts-success: #4f7a5a;
	--ts-gill: "Gill Sans", sans-serif;
	--ts-morion: "Morion", sans-serif;
	--ts-container: 1140px;
	--ts-radius: 3px;
	--ts-gutter: 20px;
}

/* Layout -------------------------------------------------------------- */

.tom-store-main {
	display: flow-root;
	padding-bottom: 80px;
}

.tom-store-container {
	display: flow-root;
	max-width: var(--ts-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ts-gutter);
	padding-right: var(--ts-gutter);
	box-sizing: border-box;
}

.tom-store-header {
	max-width: var(--ts-container);
	margin: 0 auto 40px;
	padding: 0 var(--ts-gutter);
	text-align: center;
}

.tom-store-header__title {
	margin-top: 50px;
}

.tom-store-header__subtitle {
	margin-top: 20px;
	font-family: var(--ts-gill);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ts-ink);
}

.tom-store-header__line {
	margin: 40px 200px 0;
}

.tom-store-breadcrumb {
	margin: 30px 0;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ts-muted);
}

.tom-store-breadcrumb a {
	color: var(--ts-muted);
	text-decoration: none;
}

.tom-store-breadcrumb a:hover {
	color: var(--ts-ink);
}

.tom-store-breadcrumb__sep {
	margin: 0 8px;
}

/* Buttons & form controls --------------------------------------------- */

.tom-store .button,
.tom-store button.button,
.tom-store a.button,
.tom-store input.button,
.tom-store #respond input#submit,
.tom-store .wc-block-components-button:not(.is-link),
.tom-store .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 12px 23px 10px 25px;
	border: 0;
	border-radius: var(--ts-radius);
	background-color: var(--ts-ink);
	color: var(--ts-white);
	font-family: var(--ts-gill);
	font-size: 15px;
	font-weight: 100;
	line-height: 1;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, opacity 0.3s;
}

.tom-store .button:hover,
.tom-store .button:focus-visible,
.tom-store .wc-block-components-button:not(.is-link):hover,
.tom-store .wp-element-button:hover {
	background-color: var(--ts-rose);
	color: var(--ts-white);
}

.tom-store .button:disabled,
.tom-store .button.disabled,
.tom-store .button.loading {
	opacity: 0.55;
	cursor: not-allowed;
}

.tom-store .button.loading {
	position: relative;
	color: transparent !important;
}

.tom-store .button.loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border: 1.5px solid rgba(255, 255, 255, 0.35);
	border-top-color: var(--ts-white);
	border-radius: 50%;
	animation: tom-store-spin 0.7s linear infinite;
}

.tom-store .button.added::after {
	content: "\2713";
	margin-left: 4px;
}

@keyframes tom-store-spin {
	to { transform: rotate(360deg); }
}

.tom-store a.added_to_cart {
	display: none;
}

.tom-store :focus-visible {
	outline: 2px solid var(--ts-rose);
	outline-offset: 2px;
}

.tom-store input[type="text"],
.tom-store input[type="email"],
.tom-store input[type="tel"],
.tom-store input[type="password"],
.tom-store input[type="number"],
.tom-store input[type="search"],
.tom-store textarea,
.tom-store select {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--ts-line);
	border-radius: var(--ts-radius);
	background-color: var(--ts-white);
	color: var(--ts-ink);
	font-family: var(--ts-gill);
	font-size: 16px;
	font-weight: 100;
	box-sizing: border-box;
	transition: border-color 0.2s;
}

.tom-store input:focus,
.tom-store textarea:focus,
.tom-store select:focus {
	border-color: var(--ts-ink);
	outline: none;
}

.tom-store label {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.5px;
}

.tom-store .required {
	color: var(--ts-rose);
	text-decoration: none;
	border: 0;
}

/* Notices ------------------------------------------------------------- */

.tom-store .woocommerce-message,
.tom-store .woocommerce-info,
.tom-store .woocommerce-error,
.tom-store .wc-block-components-notice-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 30px;
	padding: 16px 20px;
	border: 0;
	border-left: 3px solid var(--ts-ink);
	border-radius: var(--ts-radius);
	background-color: var(--ts-panel);
	color: var(--ts-ink);
	list-style: none;
	font-size: 15px;
}

.tom-store .woocommerce-message::before,
.tom-store .woocommerce-info::before,
.tom-store .woocommerce-error::before {
	content: none;
}

.tom-store .woocommerce-message {
	border-left-color: var(--ts-success);
}

.tom-store .woocommerce-error,
.tom-store .wc-block-components-notice-banner.is-error {
	border-left-color: var(--ts-error);
}

.tom-store .woocommerce-message .button,
.tom-store .woocommerce-info .button {
	order: 2;
	min-height: 36px;
	padding: 9px 16px 7px 18px;
	font-size: 12px;
}

/* Catalogue toolbar --------------------------------------------------- */

.tom-store .woocommerce-result-count,
.tom-store .woocommerce-ordering {
	float: none;
	margin-bottom: 0;
}

.tom-store .woocommerce-result-count {
	margin-top: 0 !important;
	font-size: 14px !important;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ts-muted) !important;
}

.tom-store .woocommerce-ordering {
	display: flex;
	justify-content: flex-end;
	margin-top: -38px;
	margin-bottom: 30px;
}

.tom-store .woocommerce-ordering select {
	width: auto;
	min-width: 220px;
}

/* Product grid -------------------------------------------------------- */

.tom-store ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.tom-store ul.products::before,
.tom-store ul.products::after {
	content: none;
}

.tom-store ul.products[class] li.product {
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 30px 30px 36px;
	background-color: var(--ts-panel);
	text-align: center;
	transition: box-shadow 0.3s;
}

.tom-store ul.products[class] li.product:hover {
	box-shadow: 0 12px 30px rgba(53, 48, 59, 0.08);
}

.tom-store ul.products[class] li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	color: var(--ts-ink);
	text-decoration: none;
}

.tom-store ul.products[class] li.product img {
	width: 100%;
	height: auto;
	margin: 0 0 24px;
	aspect-ratio: 1;
	object-fit: cover;
	transition: transform 0.5s;
}

.tom-store ul.products[class] li.product:hover img {
	transform: scale(1.02);
}

.tom-store ul.products[class] li.product .woocommerce-loop-product__title {
	margin: 0 0 10px;
	padding: 0;
	font-family: var(--ts-gill);
	font-size: 16px !important;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 2px;
	color: var(--ts-ink);
}

.tom-store ul.products[class] li.product .price {
	display: block;
	margin: auto 0 20px;
	padding-top: 6px;
	color: var(--ts-rose);
	font-size: 17px;
	letter-spacing: 1px;
}

.tom-store ul.products[class] li.product .button {
	align-self: center;
	margin-top: 0;
}

.tom-store .price del {
	margin-right: 6px;
	opacity: 0.55;
	color: var(--ts-ink);
}

.tom-store .price ins {
	text-decoration: none;
}

.tom-store span.onsale {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 6px 10px 5px;
	border-radius: var(--ts-radius);
	background-color: var(--ts-rose);
	color: var(--ts-white);
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.tom-store ul.products[class] li.product {
	position: relative;
}

.tom-store ul.products[class] li.product.outofstock img {
	opacity: 0.6;
}

.tom-store .woocommerce-pagination {
	margin-top: 50px;
	text-align: center;
}

.tom-store .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.tom-store .woocommerce-pagination ul.page-numbers li {
	border: 0;
}

.tom-store .woocommerce-pagination .page-numbers a,
.tom-store .woocommerce-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--ts-line);
	border-radius: var(--ts-radius);
	color: var(--ts-ink);
	text-decoration: none;
}

.tom-store .woocommerce-pagination .page-numbers span.current {
	border-color: var(--ts-ink);
	background-color: var(--ts-ink);
	color: var(--ts-white);
}

.tom-store .woocommerce-info.woocommerce-no-products-found {
	justify-content: center;
}

/* Single product ------------------------------------------------------ */

.tom-store div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 60px;
	align-items: start;
}

.tom-store div.product > * {
	grid-column: 1 / -1;
}

.tom-store #content div.product div.images,
.tom-store div.product div.images {
	grid-column: 1;
	width: auto;
	float: none;
	margin: 0;
}

.tom-store #content div.product div.summary,
.tom-store div.product div.summary {
	grid-column: 2;
	width: auto;
	float: none;
	margin: 0;
	padding-top: 10px;
}

.tom-store #content div.product div.images,
.tom-store div.product div.images {
	position: relative;
	background-color: var(--ts-panel);
}

.tom-store div.product div.images .woocommerce-product-gallery__wrapper {
	margin: 0;
	transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
}

.tom-store div.product div.images .woocommerce-product-gallery__image a {
	display: block;
	outline-offset: -2px;
}

.tom-store div.product div.images img {
	display: block;
	width: 100%;
	height: auto;
}

.tom-store div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.tom-store div.product .flex-control-thumbs li {
	width: auto;
	float: none;
}

.tom-store div.product .flex-control-thumbs img {
	opacity: 0.6;
	cursor: pointer;
	transition: opacity 0.2s;
}

.tom-store div.product .flex-control-thumbs img.flex-active,
.tom-store div.product .flex-control-thumbs img:hover {
	opacity: 1;
}

.tom-store div.product .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: var(--ts-white);
	box-shadow: 0 2px 8px rgba(53, 48, 59, 0.12);
	font-size: 0;
	text-decoration: none;
}

.tom-store div.product .woocommerce-product-gallery__trigger::before {
	content: "";
	width: 11px;
	height: 11px;
	margin: -3px 0 0 -3px;
	border: 2px solid var(--ts-ink);
	border-radius: 50%;
}

.tom-store div.product .woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	top: 22px;
	left: 22px;
	width: 2px;
	height: 7px;
	background-color: var(--ts-ink);
	transform: rotate(-45deg);
}

.tom-store div.product .woocommerce-product-gallery__trigger img,
.tom-store div.product .woocommerce-product-gallery__trigger span {
	display: none !important;
}

.tom-store div.product .product_title {
	margin: 0 0 20px;
	font-family: var(--ts-morion);
	font-size: 48px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ts-rose);
}

.tom-store div.product p.price,
.tom-store div.product span.price {
	margin: 0 0 24px !important;
	color: var(--ts-ink) !important;
	font-size: 24px !important;
	letter-spacing: 1px;
}

.tom-store div.product .woocommerce-product-details__short-description {
	margin-bottom: 30px;
}

.tom-store div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 30px;
	padding: 30px 0;
	border-top: 1px solid var(--ts-line);
	border-bottom: 1px solid var(--ts-line);
}

.tom-store div.product form.cart::before,
.tom-store div.product form.cart::after {
	content: none;
}

.tom-store div.product form.variations_form {
	display: block;
}

.tom-store div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
}

.tom-store div.product form.cart table.variations {
	width: 100%;
	margin-bottom: 20px;
	border: 0;
}

.tom-store div.product form.cart table.variations tr,
.tom-store div.product form.cart table.variations td,
.tom-store div.product form.cart table.variations th {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

.tom-store div.product form.cart table.variations th label {
	display: block;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.tom-store div.product form.cart .reset_variations {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--ts-muted);
}

.tom-store div.product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.tom-store div.product .woocommerce-variation-price {
	margin-bottom: 16px;
}

.tom-store div.product .stock {
	margin: 0 0 16px;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ts-success);
}

.tom-store div.product .stock.out-of-stock {
	color: var(--ts-error);
}

.tom-store .product_meta {
	font-size: 14px;
	color: var(--ts-muted);
}

.tom-store .product_meta > span {
	display: block;
	margin-bottom: 6px;
}

.tom-store .product_meta a {
	color: var(--ts-ink);
}

/* Quantity stepper */

.tom-store-main .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--ts-line);
	border-radius: var(--ts-radius);
	background-color: var(--ts-white);
}

.tom-store-main .quantity .qty {
	width: 56px;
	min-height: 44px;
	padding: 0;
	border: 0;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.tom-store-main .quantity .qty::-webkit-outer-spin-button,
.tom-store-main .quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.tom-store-main .quantity .tom-store-qty__btn {
	width: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ts-ink);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.tom-store-main .quantity .tom-store-qty__btn:hover {
	color: var(--ts-rose);
}

/* Tabs & related */

.tom-store .woocommerce-tabs {
	margin-top: 70px;
}

.tom-store .woocommerce-tabs ul.tabs {
	display: flex;
	justify-content: center;
	gap: 30px;
	margin: 0 0 30px;
	padding: 0;
	border-bottom: 1px solid var(--ts-line);
	list-style: none;
}

.tom-store .woocommerce-tabs ul.tabs::before,
.tom-store .woocommerce-tabs ul.tabs li::before,
.tom-store .woocommerce-tabs ul.tabs li::after {
	content: none;
	display: none;
}

.tom-store .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.tom-store .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0 0 14px;
	border-bottom: 2px solid transparent;
	color: var(--ts-muted);
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
}

.tom-store .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--ts-rose);
	color: var(--ts-ink);
}

.tom-store .woocommerce-tabs .panel {
	max-width: 760px;
	margin: 0 auto;
}

.tom-store .woocommerce-tabs .panel > h2:first-child {
	display: none;
}

.tom-store .woocommerce-tabs table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.tom-store .woocommerce-tabs table.shop_attributes th,
.tom-store .woocommerce-tabs table.shop_attributes td {
	padding: 12px;
	border-bottom: 1px solid var(--ts-line);
	text-align: left;
}

.tom-store .related,
.tom-store .upsells {
	margin-top: 80px;
}

.tom-store .related > h2,
.tom-store .upsells > h2 {
	margin: 0 0 30px;
	text-align: center;
}

/* Basket & checkout (WooCommerce blocks) ------------------------------ */

.tom-store-page__content {
	font-family: var(--ts-gill);
	color: var(--ts-ink);
}

.tom-store .wp-block-woocommerce-cart,
.tom-store .wp-block-woocommerce-checkout {
	max-width: none;
	margin: 0;
	font-family: var(--ts-gill);
}

.tom-store .wc-block-components-sidebar-layout {
	gap: 0;
}

.tom-store .wc-block-cart .wc-block-cart__totals-title,
.tom-store .wc-block-components-checkout-step__title,
.tom-store .wc-block-components-title {
	font-family: var(--ts-gill);
	font-size: 15px !important;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ts-ink);
}

.tom-store .wc-block-components-sidebar {
	padding: 30px !important;
	background-color: var(--ts-panel);
}

.tom-store .wc-block-cart-items th {
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ts-muted);
}

.tom-store .wc-block-components-product-name {
	color: var(--ts-ink);
	font-size: 17px;
	font-weight: 500;
	text-decoration: none;
}

.tom-store .wc-block-components-product-price,
.tom-store .wc-block-components-totals-item__value,
.tom-store .wc-block-components-formatted-money-amount {
	color: var(--ts-ink);
}

.tom-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.tom-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 20px;
	font-weight: 500;
}

/* Checkout order summary: link, quantity and remove */

.tom-store .tom-store-summary__item {
	position: relative;
	transition: opacity 0.2s;
}

.tom-store .tom-store-summary__item.is-busy {
	opacity: 0.55;
}

.tom-store .tom-store-summary__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	color: transparent;
	font-size: 0;
	text-indent: -9999px;
}

.tom-store .tom-store-summary__link:focus-visible {
	outline: 2px solid var(--ts-rose);
	outline-offset: 4px;
}

.tom-store .tom-store-summary__item:hover .wc-block-components-product-name {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tom-store .tom-store-summary__controls {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
}

.tom-store .tom-store-summary__qty {
	display: inline-flex;
	align-items: center;
	height: 34px;
	border: 1px solid var(--ts-line);
	border-radius: var(--ts-radius);
	background-color: var(--ts-white);
}

.tom-store .tom-store-summary__step {
	width: 32px;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ts-ink);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s;
}

.tom-store .tom-store-summary__step:hover:not(:disabled) {
	color: var(--ts-rose);
}

.tom-store .tom-store-summary__step:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.tom-store .tom-store-summary__value {
	min-width: 26px;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
}

.tom-store .tom-store-summary__remove {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--ts-muted);
	font-family: var(--ts-gill);
	font-size: 13px;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: color 0.2s;
}

.tom-store .tom-store-summary__remove:hover {
	color: var(--ts-error);
}

.tom-store .wc-block-components-quantity-selector {
	border-radius: var(--ts-radius);
}

.tom-store .wc-block-components-quantity-selector::after {
	border-color: var(--ts-line) !important;
	border-radius: var(--ts-radius) !important;
}

.tom-store .wc-block-cart-item__remove-link {
	color: var(--ts-muted) !important;
	font-size: 13px !important;
}

.tom-store .wc-block-components-text-input input,
.tom-store .wc-block-components-combobox .wc-block-components-combobox-control input,
.tom-store .wc-blocks-components-select .wc-blocks-components-select__select,
.tom-store .wc-block-components-textarea {
	border-color: var(--ts-line) !important;
	border-radius: var(--ts-radius) !important;
	font-family: var(--ts-gill) !important;
	font-weight: 100;
	color: var(--ts-ink) !important;
}

.tom-store .wc-block-components-text-input.is-active input:focus,
.tom-store .wc-block-components-text-input input:focus {
	border-color: var(--ts-ink) !important;
	box-shadow: none !important;
}

.tom-store .wc-block-components-radio-control__option,
.tom-store .wc-block-components-radio-control-accordion-option {
	border-color: var(--ts-line) !important;
}

.tom-store .wc-block-components-radio-control__input:checked {
	border-color: var(--ts-ink);
}

.tom-store .wc-block-components-checkbox .wc-block-components-checkbox__input {
	border-color: var(--ts-line);
	border-radius: var(--ts-radius);
	transition: background-color 0.2s, border-color 0.2s;
}

.tom-store .wc-block-components-checkbox .wc-block-components-checkbox__input:checked {
	border-color: var(--ts-ink);
	background-color: var(--ts-ink);
}

.tom-store .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--ts-white);
}

.tom-store .wc-block-components-checkout-place-order-button,
.tom-store .wc-block-cart__submit-button {
	width: 100%;
	min-height: 54px;
}

.tom-store .wc-block-components-totals-coupon-link,
.tom-store .wc-block-components-panel__button {
	color: var(--ts-ink);
	font-family: var(--ts-gill);
}

.tom-store .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-family: var(--ts-morion);
	font-size: 32px !important;
	text-transform: none;
	letter-spacing: 0;
	color: var(--ts-rose);
}

.tom-store .wp-block-woocommerce-empty-cart-block .wp-block-separator {
	display: none;
}

/* Order received / order details */

.tom-store .woocommerce-order-overview,
.tom-store ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
	margin: 0 0 40px;
	padding: 30px;
	background-color: var(--ts-panel);
	list-style: none;
}

.tom-store ul.order_details li {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.tom-store ul.order_details li strong {
	display: block;
	margin-top: 6px;
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
}

.tom-store table.shop_table {
	width: 100%;
	margin: 0 0 30px;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
}

.tom-store table.shop_table th,
.tom-store table.shop_table td {
	padding: 14px 12px;
	border: 0;
	border-bottom: 1px solid var(--ts-line);
	background: none;
	text-align: left;
}

.tom-store table.shop_table thead th {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ts-muted);
}

/* My account --------------------------------------------------------- */

.tom-store .woocommerce-account .woocommerce,
.tom-store.woocommerce-account .tom-store-page__content > .woocommerce {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 50px;
	align-items: start;
}

.tom-store.woocommerce-account .tom-store-page__content > .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.tom-store.woocommerce-account:not(.logged-in) .tom-store-page__content > .woocommerce {
	display: block;
}

.tom-store .woocommerce-MyAccount-navigation,
.tom-store .woocommerce-MyAccount-content {
	width: auto;
	float: none;
}

.tom-store .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--ts-line);
	list-style: none;
}

.tom-store .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--ts-line);
}

.tom-store .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 14px 4px;
	color: var(--ts-muted);
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.2s, padding-left 0.2s;
}

.tom-store .woocommerce-MyAccount-navigation a:hover,
.tom-store .woocommerce-MyAccount-navigation li.is-active a {
	padding-left: 10px;
	color: var(--ts-ink);
}

.tom-store .woocommerce-MyAccount-navigation li.is-active a {
	box-shadow: inset 2px 0 0 var(--ts-rose);
}

.tom-store .woocommerce-MyAccount-content > p:first-child {
	margin-top: 0 !important;
}

.tom-store .u-columns.col2-set,
.tom-store .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	width: 100%;
}

.tom-store .u-columns.col2-set::before,
.tom-store .u-columns.col2-set::after,
.tom-store .woocommerce-Addresses::before,
.tom-store .woocommerce-Addresses::after {
	content: none;
}

.tom-store .u-columns .u-column1,
.tom-store .u-columns .u-column2,
.tom-store .woocommerce-Addresses .woocommerce-Address {
	width: auto;
	float: none;
}

.tom-store .u-columns h2,
.tom-store .woocommerce-MyAccount-content h2,
.tom-store .woocommerce-MyAccount-content h3 {
	margin: 0 0 20px;
}

.tom-store form.login,
.tom-store form.register,
.tom-store form.lost_reset_password,
.tom-store .woocommerce-EditAccountForm,
.tom-store .woocommerce-address-fields {
	margin: 0;
	padding: 36px;
	border: 0;
	border-radius: 0;
	background-color: var(--ts-panel);
}

.tom-store .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.tom-store .form-row label {
	display: block;
	margin-bottom: 6px;
}

.tom-store .form-row label.woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 100;
}

.tom-store .password-input {
	position: relative;
	display: block;
}

.tom-store .show-password-input {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	border: 0;
	background: none;
	cursor: pointer;
}

.tom-store .form-row label.woocommerce-form-login__rememberme {
	display: flex;
	margin-bottom: 18px;
}

.tom-store .lost_password a {
	color: var(--ts-muted);
	font-size: 14px;
}

/* Responsive --------------------------------------------------------- */

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

	.tom-store div.product {
		column-gap: 40px;
	}

	.tom-store-header__line {
		margin: 20px 100px 0;
	}
}

@media (max-width: 901px) {
	.tom-store div.product .product_title {
		font-size: 38px;
	}
}

@media (max-width: 767px) {
	.tom-store {
		--ts-gutter: 16px;
	}

	.tom-store-header {
		margin-bottom: 30px;
	}

	.tom-store-header__title {
		margin-top: 30px;
	}

	.tom-store-header__line {
		margin: 20px 50px 0;
	}

	.tom-store .woocommerce-ordering {
		justify-content: stretch;
		margin-top: 12px;
	}

	.tom-store .woocommerce-ordering select {
		width: 100%;
	}

	.tom-store ul.products {
		gap: 12px;
	}

	.tom-store ul.products[class] li.product {
		padding: 16px 16px 22px;
	}

	.tom-store ul.products[class] li.product .button {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 12px;
		letter-spacing: 1px;
	}

	.tom-store div.product {
		display: block;
	}

	.tom-store div.product div.summary {
		margin-top: 30px;
	}

	.tom-store div.product .product_title {
		font-size: 32px;
	}

	.tom-store .woocommerce-tabs ul.tabs {
		justify-content: flex-start;
		overflow-x: auto;
	}

	.tom-store.woocommerce-account .tom-store-page__content > .woocommerce,
	.tom-store .u-columns.col2-set,
	.tom-store .woocommerce-Addresses {
		display: block;
	}

	.tom-store .woocommerce-MyAccount-navigation {
		margin-bottom: 30px;
	}

	.tom-store .u-columns .u-column2 {
		margin-top: 30px;
	}

	.tom-store form.login,
	.tom-store form.register,
	.tom-store .woocommerce-EditAccountForm,
	.tom-store .woocommerce-address-fields {
		padding: 22px;
	}

	.tom-store .wc-block-components-sidebar {
		padding: 20px !important;
	}
}

@media (max-width: 481px) {
	.tom-store ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tom-store *,
	.tom-store *::before,
	.tom-store *::after {
		transition: none !important;
	}
}

.tom-store .wc-block-components-sale-badge {
	position: static;
	display: inline-block;
	margin-top: 6px;
	padding: 3px 7px 2px;
	border: 0;
	border-radius: var(--ts-radius);
	background-color: var(--ts-rose);
	color: var(--ts-white);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1px;
	white-space: nowrap;
	text-transform: uppercase;
}

/* Order received ------------------------------------------------------ */

.tom-store .button.is-outline {
	border: 1px solid var(--ts-ink);
	background-color: transparent;
	color: var(--ts-ink);
}

.tom-store .button.is-outline:hover {
	border-color: var(--ts-ink);
	background-color: var(--ts-ink);
	color: var(--ts-white);
}

.tom-store-thanks {
	max-width: 900px;
	margin: 0 auto;
	padding-top: 50px;
}

.tom-store-thanks__hero {
	margin-bottom: 44px;
	text-align: center;
	animation: tom-store-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.tom-store-thanks__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 22px;
	border: 1px solid var(--ts-rose);
	border-radius: 50%;
	color: var(--ts-rose);
}

.tom-store-thanks__hero.is-failed .tom-store-thanks__icon {
	border-color: var(--ts-error);
	color: var(--ts-error);
}

.tom-store-thanks__eyebrow {
	margin: 0 0 14px !important;
	font-size: 13px !important;
	font-weight: 500;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--ts-muted) !important;
}

.tom-store-thanks__title {
	margin: 0 0 18px;
	font-family: var(--ts-morion);
	font-size: 56px !important;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ts-rose);
}

.tom-store-thanks__lead {
	max-width: 520px;
	margin: 0 auto !important;
	font-size: 18px !important;
}

.tom-store-thanks__overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0 !important;
	margin: 0 0 50px !important;
	padding: 0 !important;
	border: 1px solid var(--ts-line);
	background-color: var(--ts-panel);
	list-style: none;
}

.tom-store ul.tom-store-thanks__overview li {
	padding: 22px 24px;
	border-right: 1px solid var(--ts-line);
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ts-muted);
}

.tom-store ul.tom-store-thanks__overview li:last-child {
	border-right: 0;
}

.tom-store ul.tom-store-thanks__overview li strong {
	display: block;
	margin-top: 8px;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ts-ink);
	word-break: break-word;
}

.tom-store-thanks__details > p,
.tom-store-thanks__details > section > p {
	text-align: center;
}

.tom-store-thanks .woocommerce-order-details,
.tom-store-thanks .woocommerce-customer-details {
	margin-bottom: 40px;
}

.tom-store-thanks .woocommerce-order-details__title,
.tom-store-thanks .woocommerce-column__title {
	margin: 0 0 16px;
	font-size: 15px !important;
	letter-spacing: 2px;
}

.tom-store-thanks table.shop_table tfoot th,
.tom-store-thanks table.shop_table tfoot td {
	background-color: var(--ts-panel);
}

.tom-store-thanks table.shop_table tfoot tr:last-child th,
.tom-store-thanks table.shop_table tfoot tr:last-child td {
	font-size: 18px;
	font-weight: 500;
}

.tom-store-thanks .woocommerce-table__product-name a {
	color: var(--ts-ink);
	text-underline-offset: 3px;
}

.tom-store-thanks .wc-item-meta {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	color: var(--ts-muted);
}

.tom-store-thanks .wc-item-meta p {
	display: inline;
	font-size: 13px !important;
}

.tom-store-thanks .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.tom-store-thanks .woocommerce-columns--addresses::before,
.tom-store-thanks .woocommerce-columns--addresses::after {
	content: none;
}

.tom-store-thanks .woocommerce-columns--addresses .woocommerce-column {
	width: auto;
	float: none;
}

.tom-store-thanks address {
	padding: 22px 24px;
	border: 0;
	background-color: var(--ts-panel);
	font-style: normal;
	line-height: 1.7;
}

.tom-store-thanks address p {
	margin: 6px 0 0 !important;
}

.tom-store-thanks__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 10px;
}

@keyframes tom-store-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 767px) {
	.tom-store-thanks {
		padding-top: 30px;
	}

	.tom-store-thanks__title {
		font-size: 38px !important;
	}

	.tom-store-thanks__lead {
		font-size: 16px !important;
	}

	.tom-store-thanks__overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tom-store ul.tom-store-thanks__overview li {
		border-bottom: 1px solid var(--ts-line);
	}

	.tom-store ul.tom-store-thanks__overview li:nth-child(2n) {
		border-right: 0;
	}

	.tom-store-thanks .woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
	}

	.tom-store-thanks__actions .button {
		width: 100%;
	}
}
