/* =========================================================================
   Top Cat's Retro — WooCommerce
   Loaded after style.css. Everything shop-side lives here so the base
   design system stays reusable.
   ========================================================================= */

/* -------------------------------------------------------------------------
   Buttons — WooCommerce renders these as <a>, <button> and <input>, so the
   theme button has to be restated for every shape it takes.
   ------------------------------------------------------------------------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: .8em 1.7em;
	font-family: var(--tc-font-sign);
	font-size: .98rem;
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--tc-ink);
	background: var(--tc-cream);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: var(--tc-shadow-sm);
	text-align: center;
	text-decoration: none;
	transition: transform .12s var(--tc-ease), box-shadow .12s var(--tc-ease), background .15s var(--tc-ease);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover {
	color: var(--tc-ink);
	background: var(--tc-yellow);
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--tc-ink);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit {
	background: var(--tc-pink);
	color: #fff;
}

.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
	opacity: .45;
	transform: none;
}

/* -------------------------------------------------------------------------
   Shop shell
   ------------------------------------------------------------------------- */

.tc-shop { background: var(--tc-ink); }

.tc-shop-head {
	background: var(--tc-cyan);
	border-bottom: var(--tc-border-thick) solid var(--tc-ink);
	padding-block: clamp(30px, 4.5vw, 60px);
}

.tc-shop-head .woocommerce-products-header__title,
.tc-shop-head .tc-page-title {
	font-family: var(--tc-font-display);
	font-weight: var(--tc-weight-display);
	font-size: clamp(1.9rem, 4vw, 3rem);
	letter-spacing: var(--tc-track-display);
	line-height: var(--tc-lh-display);
	color: var(--tc-yellow);
	text-shadow: 3px 3px 0 var(--tc-ink);
	margin: .2em 0 .25em;
}

.tc-shop-head .term-description { max-width: 62ch; }

.tc-shop-body { padding-block: clamp(36px, 5vw, 72px); }

.tc-shop-body,
.tc-shop-body h1,
.tc-shop-body h2,
.tc-shop-body h3 { color: var(--tc-cream); }

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-family: var(--tc-font-mono);
	font-size: .78rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--tc-ink);
	margin-bottom: .6rem;
}

.woocommerce-breadcrumb a { color: var(--tc-ink); border-bottom: 2px solid rgba(17, 16, 20, .3); }
.woocommerce-breadcrumb a:hover { border-bottom-color: var(--tc-ink); }

/* Toolbar: result count + ordering */
.tc-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: clamp(22px, 3vw, 34px);
}

.woocommerce-result-count {
	margin: 0;
	font-family: var(--tc-font-mono);
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tc-grey-light);
}

.woocommerce-ordering select {
	width: auto;
	min-width: 230px;
	padding: .7em 2.6em .7em 1.2em;
	font-family: var(--tc-font-sign);
	font-size: .92rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	background-color: var(--tc-cream);
	border-width: var(--tc-border-thin);
	box-shadow: 3px 3px 0 var(--tc-ink);
}

/* Category chips (homepage + archive filters) */
.tc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(22px, 3vw, 34px);
}

.tc-chip {
	padding: .55em 1.25em;
	font-family: var(--tc-font-sign);
	font-size: .88rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--tc-ink);
	background: var(--tc-cream);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: 3px 3px 0 var(--tc-ink);
	cursor: pointer;
	transition: transform .12s var(--tc-ease), box-shadow .12s var(--tc-ease), background .15s var(--tc-ease);
}

.tc-chip:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--tc-ink); }
.tc-chip.is-active { background: var(--tc-pink); color: #fff; }

/* -------------------------------------------------------------------------
   Product grid + card
   ------------------------------------------------------------------------- */

ul.products,
.tc-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: clamp(20px, 2.6vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

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

ul.products li.product,
.tc-product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	background: var(--tc-cream);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-pink);
	overflow: visible;
	transition: transform .14s var(--tc-ease), box-shadow .14s var(--tc-ease);
}

ul.products li.product:nth-child(3n + 2) { box-shadow: var(--tc-shadow-cyan); }
ul.products li.product:nth-child(3n + 3) { box-shadow: 7px 7px 0 var(--tc-yellow); }

ul.products li.product:hover {
	transform: translate(3px, 3px);
	box-shadow: 3px 3px 0 var(--tc-ink);
}

/* Card media */
.tc-product__media {
	position: relative;
	aspect-ratio: 1 / 1;
	border-bottom: var(--tc-border) solid var(--tc-ink);
	border-radius: 6px 6px 0 0;
	overflow: hidden;
	background: var(--tc-cream);
}

.tc-product__media img,
ul.products li.product a img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	box-shadow: none;
	border-radius: 0;
}

/* Badge cluster */
.tc-product__badges {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-width: calc(100% - 24px);
}

/* WooCommerce's own sale flash, restyled */
.woocommerce span.onsale,
ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: .45em 1em;
	font-family: var(--tc-font-sign);
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
	background: var(--tc-pink);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: 1px 1px 0 var(--tc-ink);
}

/* Card body */
.tc-product__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: .55rem;
	padding: 16px 18px 20px;
}

.tc-product__cat,
ul.products li.product .tc-product__cat {
	font-family: var(--tc-font-mono);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tc-pink);
}

ul.products li.product .woocommerce-loop-product__title,
.tc-product__title {
	font-family: var(--tc-font-body);
	font-size: 1.12rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.01em;
	text-transform: none;
	color: var(--tc-ink);
	margin: 0;
	padding: 0;
}

ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--tc-pink); }

ul.products li.product .price,
.tc-product__price {
	display: flex;
	align-items: baseline;
	gap: .55em;
	margin: auto 0 0;
	padding-top: .35rem;
	font-family: var(--tc-font-sign);
	font-size: 1.55rem;
	color: var(--tc-ink);
}

ul.products li.product .price del,
.tc-product__price del {
	font-family: var(--tc-font-mono);
	font-size: .82rem;
	font-weight: 400;
	letter-spacing: .02em;
	color: var(--tc-grey-light);
	opacity: 1;
	text-decoration: line-through;
}

ul.products li.product .price ins,
.tc-product__price ins {
	text-decoration: none;
	background: none;
	color: var(--tc-ink);
}

ul.products li.product .price .woocommerce-Price-currencySymbol { font-size: .72em; vertical-align: .18em; }

/* Card add to cart */
ul.products li.product .button,
ul.products li.product .added_to_cart {
	display: flex;
	width: 100%;
	margin-top: .85rem;
	padding: .85em 1.4em;
	font-family: var(--tc-font-sign);
	font-size: .98rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--tc-ink);
	background: var(--tc-cyan);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: var(--tc-shadow-sm);
	text-align: center;
	align-items: center;
	justify-content: center;
}

ul.products li.product .button:hover {
	background: var(--tc-yellow);
	color: var(--tc-ink);
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--tc-ink);
}

ul.products li.product .button.loading { opacity: .7; }

ul.products li.product .button.added::after { content: " ✓"; }

ul.products li.product .added_to_cart {
	background: var(--tc-yellow);
	margin-top: .5rem;
	font-size: .82rem;
}

/* Stock warnings on the card */
.tc-product__stock {
	font-family: var(--tc-font-mono);
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tc-grey);
}

.tc-product__stock--low { color: var(--tc-pink); }

/* Star rating */
.woocommerce .star-rating,
.woocommerce p.stars a {
	color: var(--tc-pink);
	font-size: .95em;
}

.woocommerce .star-rating::before { color: rgba(17, 16, 20, .22); }

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

.tc-single-product {
	background: var(--tc-cream);
	padding-block: clamp(30px, 4.5vw, 66px);
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 60px);
	align-items: start;
}

.woocommerce div.product .woocommerce-product-gallery {
	float: none;
	width: 100%;
	margin: 0;
	background: var(--tc-cream);
	border: var(--tc-border-thick) solid var(--tc-ink);
	border-radius: var(--tc-radius-lg);
	box-shadow: var(--tc-shadow-lg);
	padding: 14px;
	overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: 8px; }

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
	width: 74px;
	margin: 0;
	float: none;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img {
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-sm);
	opacity: 1;
}

.woocommerce div.product .woocommerce-product-gallery__trigger {
	top: 22px;
	right: 22px;
	background: var(--tc-yellow);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: 50%;
	box-shadow: 2px 2px 0 var(--tc-ink);
}

.woocommerce div.product .summary {
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce div.product .product_title {
	font-family: var(--tc-font-display);
	font-weight: var(--tc-weight-display);
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	letter-spacing: var(--tc-track-display);
	line-height: var(--tc-lh-display);
	margin-bottom: .3em;
}

.woocommerce div.product .woocommerce-product-rating { margin-bottom: 1rem; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	gap: .6em;
	font-family: var(--tc-font-sign);
	font-size: clamp(2rem, 3.4vw, 2.7rem);
	color: var(--tc-ink);
	margin-bottom: 1rem;
}

.woocommerce div.product p.price del {
	font-family: var(--tc-font-mono);
	font-size: .38em;
	color: var(--tc-grey-light);
}

.woocommerce div.product p.price ins { text-decoration: none; background: none; }

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 1.06rem;
	padding-bottom: 1.4rem;
	margin-bottom: 1.4rem;
	border-bottom: var(--tc-border-thin) solid var(--tc-ink);
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-bottom: 1.6rem;
}

.woocommerce div.product form.cart .button {
	flex: 1 1 220px;
	padding: 1.05em 2.2em;
	font-family: var(--tc-font-sign);
	font-size: 1.12rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	background: var(--tc-pink);
	color: #fff;
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: var(--tc-shadow);
}

.woocommerce div.product form.cart .button:hover { background: var(--tc-yellow); color: var(--tc-ink); }

.woocommerce div.product .product_meta {
	font-family: var(--tc-font-mono);
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--tc-grey);
	padding-top: 1.2rem;
	border-top: var(--tc-border-thin) solid var(--tc-ink);
}

.woocommerce div.product .product_meta > span { display: block; margin-bottom: .4em; }

.woocommerce div.product .stock { font-family: var(--tc-font-mono); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce div.product .stock.in-stock { color: var(--tc-success); }
.woocommerce div.product .stock.out-of-stock { color: var(--tc-pink); }

/* Trust strip under add-to-cart */
.tc-usp {
	list-style: none;
	margin: 0 0 1.4rem;
	padding: 16px 20px;
	display: grid;
	gap: .5rem;
	background: var(--tc-ink);
	color: var(--tc-cream);
	border-radius: var(--tc-radius);
	font-family: var(--tc-font-mono);
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.tc-usp li { list-style: none; }
.tc-usp li::before { content: "★ "; color: var(--tc-yellow); }

/* Variations */
.woocommerce div.product form.cart .variations {
	flex: 1 1 100%;
	border: 0;
	margin-bottom: 0;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	padding: 0 0 .9rem;
	border: 0;
	display: block;
	text-align: left;
}

.woocommerce div.product form.cart .variations label {
	font-family: var(--tc-font-mono);
	font-size: .78rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.woocommerce div.product form.cart .reset_variations {
	font-family: var(--tc-font-mono);
	font-size: .76rem;
	text-transform: uppercase;
	letter-spacing: .08em;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: clamp(20px, 3vw, 36px);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 -4px;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { content: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--tc-cream);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius) var(--tc-radius) 0 0;
	box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { content: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: .8em 1.5em;
	font-family: var(--tc-font-sign);
	font-size: .95rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--tc-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--tc-yellow); }

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: clamp(20px, 3vw, 34px);
	background: #fff;
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: 0 var(--tc-radius) var(--tc-radius) var(--tc-radius);
	box-shadow: var(--tc-shadow);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--tc-font-sign);
	font-size: 1.25rem;
	letter-spacing: .03em;
	line-height: 1.05;
	margin-bottom: .9rem;
}

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { margin-top: 0; }

.woocommerce table.shop_attributes {
	border: 0;
	width: 100%;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	padding: .7em 0;
	border-bottom: 2px solid rgba(17, 16, 20, .12);
	font-style: normal;
}

.woocommerce table.shop_attributes th {
	font-family: var(--tc-font-mono);
	font-size: .78rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 400;
	width: 34%;
}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	background: var(--tc-cream);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	padding: 18px 22px;
	margin-left: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: static;
	float: left;
	width: 48px;
	margin-right: 14px;
	padding: 0;
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: 50%;
	background: none;
}

.woocommerce #review_form #respond textarea { min-height: 140px; }

/* Upsells / related / cross-sells */
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce .cross-sells {
	grid-column: 1 / -1;
	margin-top: clamp(36px, 5vw, 72px);
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2,
.woocommerce .cross-sells > h2 {
	font-family: var(--tc-font-display);
	font-weight: var(--tc-weight-display);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	letter-spacing: var(--tc-track-display);
	line-height: var(--tc-lh-display);
	margin-bottom: clamp(18px, 2.5vw, 30px);
}

/* -------------------------------------------------------------------------
   Quantity stepper
   ------------------------------------------------------------------------- */

.woocommerce .quantity,
.tc-qty {
	display: inline-flex;
	align-items: stretch;
	background: #fff;
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	overflow: hidden;
}

.woocommerce .quantity .qty,
.tc-qty input.qty {
	width: 62px;
	padding: .8em .2em;
	text-align: center;
	font-family: var(--tc-font-sign);
	font-size: 1.05rem;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	-moz-appearance: textfield;
}

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

.tc-qty__btn {
	width: 46px;
	padding: 0;
	font-family: var(--tc-font-sign);
	font-size: 1.3rem;
	line-height: 1;
	color: var(--tc-ink);
	background: var(--tc-cream);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
}

.tc-qty__btn:hover { background: var(--tc-yellow); transform: none; box-shadow: none; }

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

.woocommerce-notices-wrapper:not(:empty) { padding-block: 1rem 0; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.4rem;
	padding: 1.1em 1.4em;
	background: var(--tc-cream);
	color: var(--tc-ink);
	border: var(--tc-border) solid var(--tc-ink);
	border-left-width: 12px;
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-sm);
	font-family: var(--tc-font-body);
	list-style: none;
}

.woocommerce-message { border-left-color: var(--tc-cyan); }
.woocommerce-info    { border-left-color: var(--tc-yellow); }
.woocommerce-error   { border-left-color: var(--tc-pink); }

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

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	margin-left: auto;
	padding: .65em 1.4em;
	font-size: .88rem;
	background: var(--tc-yellow);
	flex: 0 0 auto;
}

.woocommerce-error li { list-style: none; width: 100%; }

.demo_store,
.woocommerce-store-notice {
	background: var(--tc-yellow);
	color: var(--tc-ink);
	border-bottom: var(--tc-border-thin) solid var(--tc-ink);
	font-family: var(--tc-font-mono);
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* -------------------------------------------------------------------------
   Cart
   ------------------------------------------------------------------------- */

.tc-shop-plain {
	background: var(--tc-cream);
	padding-block: clamp(30px, 4.5vw, 66px);
}

.woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 2rem;
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	box-shadow: var(--tc-shadow);
	overflow: hidden;
}

.woocommerce table.shop_table th {
	padding: 1em 1.1em;
	background: var(--tc-ink);
	color: var(--tc-cream);
	font-family: var(--tc-font-mono);
	font-size: .76rem;
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-align: left;
	border: 0;
}

.woocommerce table.shop_table td {
	padding: 1.1em;
	border-top: 2px solid rgba(17, 16, 20, .12);
	vertical-align: middle;
}

.woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }

.woocommerce table.cart img,
.woocommerce-cart table.cart img {
	width: 78px;
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-sm);
}

.woocommerce table.cart .product-name a {
	font-family: var(--tc-font-body);
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--tc-ink);
}

.woocommerce table.cart .product-name a:hover { color: var(--tc-pink); }

.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-subtotal {
	font-family: var(--tc-font-sign);
	font-size: 1.15rem;
}

.woocommerce a.remove {
	display: grid;
	place-content: center;
	width: 30px;
	height: 30px;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--tc-ink) !important;
	background: var(--tc-cream);
	border: 2px solid var(--tc-ink);
	border-radius: 50%;
}

.woocommerce a.remove:hover { background: var(--tc-pink); color: #fff !important; }

.woocommerce table.cart td.actions {
	background: var(--tc-cream);
	border-top: var(--tc-border-thin) solid var(--tc-ink);
}

.woocommerce table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	float: none;
}

.woocommerce table.cart td.actions .coupon .input-text {
	width: auto;
	flex: 0 1 240px;
	padding: .75em 1.2em;
	border-width: var(--tc-border-thin);
}

.woocommerce table.cart td.actions .button { margin-left: auto; }

.cart-collaterals,
.woocommerce .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading,
.woocommerce .cross-sells > h2 {
	font-family: var(--tc-font-sign);
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 1rem;
}

.woocommerce .cart_totals table.shop_table { box-shadow: var(--tc-shadow-cyan); }

.woocommerce .cart_totals table.shop_table th {
	background: var(--tc-cream);
	color: var(--tc-ink);
	width: 42%;
}

.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout .order-total .amount {
	font-family: var(--tc-font-sign);
	font-size: 1.45rem;
	color: var(--tc-pink);
}

.woocommerce .wc-proceed-to-checkout { padding: 0; }

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	padding: 1.05em 2rem;
	font-family: var(--tc-font-sign);
	font-size: 1.2rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--tc-ink);
	background: var(--tc-yellow);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: var(--tc-shadow);
	text-align: center;
	align-items: center;
	justify-content: center;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--tc-cyan); }

.tc-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, .95fr);
	gap: clamp(24px, 3.4vw, 48px);
	align-items: start;
}

.tc-cart-empty {
	max-width: 640px;
	margin-inline: auto;
	text-align: center;
}

.tc-cart-empty .tc-starburst { margin: 0 auto 1.6rem; rotate: -6deg; }

/* -------------------------------------------------------------------------
   Checkout
   ------------------------------------------------------------------------- */

/* Two-column checkout straight off WooCommerce's own markup */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: clamp(24px, 3.4vw, 48px) clamp(24px, 3.4vw, 44px);
	align-items: start;
}

.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout form.checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }

.woocommerce-checkout h3 {
	font-family: var(--tc-font-sign);
	font-size: 1.25rem;
	letter-spacing: .04em;
	margin-bottom: 1.1rem;
}

.woocommerce form .form-row {
	display: block;
	margin-bottom: 1.1rem;
	padding: 0;
}

.woocommerce form .form-row label { margin-bottom: .45em; }

.woocommerce form .form-row .required { color: var(--tc-pink); text-decoration: none; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { width: 100%; }

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	margin: 0 0 1.6rem;
	padding: clamp(18px, 2.6vw, 28px);
	background: #fff;
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-sm);
}

.woocommerce-checkout #payment {
	background: var(--tc-cream);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-cyan);
	padding: clamp(18px, 2.6vw, 26px);
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 0 1rem;
	border-bottom: 2px solid rgba(17, 16, 20, .14);
}

.woocommerce-checkout #payment ul.payment_methods li {
	list-style: none;
	margin-bottom: .6rem;
}

.woocommerce-checkout #payment ul.payment_methods label {
	display: inline;
	font-family: var(--tc-font-sign);
	font-size: 1rem;
	letter-spacing: .03em;
}

.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	border: 2px solid var(--tc-ink);
	border-radius: var(--tc-radius-sm);
	font-size: .92rem;
	margin-top: .6rem;
}

.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--tc-ink); }

.woocommerce-checkout #payment #place_order {
	display: flex;
	width: 100%;
	margin-top: 1.2rem;
	padding: 1.1em 2rem;
	font-family: var(--tc-font-sign);
	font-size: 1.2rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	background: var(--tc-pink);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: var(--tc-shadow);
	align-items: center;
	justify-content: center;
}

.woocommerce-checkout #payment #place_order:hover { background: var(--tc-yellow); color: var(--tc-ink); }

.woocommerce-checkout-review-order-table tfoot th { background: var(--tc-cream); color: var(--tc-ink); }

/* Order received */
.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0 0 2rem;
	padding: 0;
}

.woocommerce ul.order_details li {
	flex: 1 1 170px;
	margin: 0;
	padding: 16px 18px;
	background: var(--tc-cream);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: 3px 3px 0 var(--tc-ink);
	font-family: var(--tc-font-mono);
	font-size: .74rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--tc-grey);
	list-style: none;
	border-right-width: var(--tc-border-thin);
}

.woocommerce ul.order_details li strong {
	display: block;
	margin-top: .4em;
	font-family: var(--tc-font-sign);
	font-size: 1.15rem;
	letter-spacing: .02em;
	color: var(--tc-ink);
	text-transform: none;
}

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

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 100%;
	margin-bottom: 0;
}

/* Account: nav + panel, from WooCommerce's own markup */
.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(22px, 3vw, 44px);
	align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--tc-cream);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-sm);
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 2px solid rgba(17, 16, 20, .12); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: .85em 1.1em;
	font-family: var(--tc-font-sign);
	font-size: .95rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tc-ink);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--tc-pink);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
	background: #fff;
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow);
	padding: clamp(20px, 3vw, 34px);
}

/* -------------------------------------------------------------------------
   Widgets & filters
   ------------------------------------------------------------------------- */

.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--tc-pink); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--tc-yellow);
	border: 2px solid var(--tc-ink);
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--tc-line);
	border-radius: 20px;
}

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
	padding: .8em 0;
	border-bottom: 2px solid rgba(17, 16, 20, .12);
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
	width: 56px;
	border: 2px solid var(--tc-ink);
	border-radius: var(--tc-radius-sm);
}

/* Mini cart drawer */
.tc-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	width: min(92vw, 420px);
	display: flex;
	flex-direction: column;
	background: var(--tc-cream);
	border-left: var(--tc-border-thick) solid var(--tc-ink);
	transform: translateX(100%);
	transition: transform .28s var(--tc-ease);
}

.tc-drawer.is-open { transform: translateX(0); }

.tc-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 18px var(--tc-gutter);
	background: var(--tc-pink);
	color: #fff;
	border-bottom: var(--tc-border-thin) solid var(--tc-ink);
}

.tc-drawer__title {
	font-family: var(--tc-font-sign);
	font-size: 1.3rem;
	text-transform: uppercase;
	margin: 0;
	color: #fff;
}

.tc-drawer__close {
	width: 40px;
	height: 40px;
	padding: 0;
	font-size: 1.2rem;
	background: var(--tc-cream);
	border: 2px solid var(--tc-ink);
	border-radius: 50%;
	box-shadow: none;
}

.tc-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 18px var(--tc-gutter);
}

.tc-drawer .woocommerce-mini-cart__buttons {
	display: grid;
	gap: 10px;
}

.tc-drawer .woocommerce-mini-cart__buttons a {
	display: flex;
	width: 100%;
	padding: .9em 1.4em;
	font-family: var(--tc-font-sign);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--tc-ink);
	background: var(--tc-cream);
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: 3px 3px 0 var(--tc-ink);
	align-items: center;
	justify-content: center;
}

.tc-drawer .woocommerce-mini-cart__buttons a.checkout { background: var(--tc-yellow); }

.tc-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: .9rem 0;
	margin-bottom: .6rem;
	border-block: var(--tc-border-thin) solid var(--tc-ink);
	font-family: var(--tc-font-sign);
	font-size: 1.2rem;
}

/* -------------------------------------------------------------------------
   Striped placeholder (products without a photo)
   ------------------------------------------------------------------------- */

.tc-placeholder {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 180px;
	background-image: repeating-linear-gradient(
		-45deg,
		var(--tc-stripe, var(--tc-cyan)) 0 15px,
		var(--tc-cream) 15px 30px
	);
}

.tc-placeholder--pink   { --tc-stripe: var(--tc-pink); }
.tc-placeholder--cyan   { --tc-stripe: var(--tc-cyan); }
.tc-placeholder--yellow { --tc-stripe: var(--tc-yellow); }
.tc-placeholder--ink    { --tc-stripe: var(--tc-ink); }

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

@media (max-width: 1024px) {
	.tc-cart-layout,
	.woocommerce-checkout form.checkout,
	.woocommerce-account.logged-in .woocommerce { grid-template-columns: minmax(0, 1fr); }

	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
	ul.products,
	.tc-product-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }

	/* Stacked cart / order tables */
	.woocommerce table.shop_table_responsive,
	.woocommerce-page table.shop_table_responsive,
	.woocommerce table.shop_table_responsive tbody,
	.woocommerce table.shop_table_responsive tr {
		display: block;
		width: 100%;
	}

	.woocommerce table.shop_table_responsive thead,
	.woocommerce-page table.shop_table_responsive thead { display: none; }

	.woocommerce table.shop_table_responsive tr {
		padding: .4rem 0;
		border-top: 2px solid rgba(17, 16, 20, .14);
	}

	.woocommerce table.shop_table_responsive tr:first-child { border-top: 0; }

	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		width: 100%;
		padding: .55em 1.1em;
		border-top: 0;
		text-align: right;
	}

	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.shop_table_responsive tr td::before {
		content: attr(data-title) ": ";
		font-family: var(--tc-font-mono);
		font-size: .72rem;
		letter-spacing: .1em;
		text-transform: uppercase;
		text-align: left;
		color: var(--tc-grey);
	}

	.woocommerce table.shop_table_responsive tr td.product-remove::before,
	.woocommerce table.shop_table_responsive tr td.product-thumbnail::before,
	.woocommerce table.shop_table_responsive tr td.actions::before { content: none; }

	.woocommerce table.shop_table_responsive tr td.actions {
		display: block;
		text-align: left;
	}

	/* Anything not built to stack scrolls rather than pushing the page wide */
	.woocommerce table.shop_table:not(.shop_table_responsive) {
		display: block;
		overflow-x: auto;
	}

	.woocommerce table.cart td.actions .button { margin-left: 0; width: 100%; }
	.woocommerce table.cart td.actions .coupon .input-text { flex: 1 1 100%; }
}


/* -------------------------------------------------------------------------
   Layout resets — last, and deliberately

   woocommerce-layout.css still ships the old float grid and targets these
   elements with an extra type selector (div.images, div.summary), which
   outranks a class-only override. The result is a grid item squeezed to 48%
   of its own track: two narrow columns with a gutter of dead space. The
   #content variants in that file carry an ID, so specificity alone cannot win
   on every install — these few declarations are forced on purpose. Keep this
   block at the end of the file.
   ------------------------------------------------------------------------- */

.woocommerce div.product div.images,
.woocommerce div.product div.woocommerce-product-gallery,
.woocommerce #content div.product div.images {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.woocommerce div.product div.summary,
.woocommerce div.product div.entry-summary,
.woocommerce #content div.product div.summary {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce #content div.product .woocommerce-tabs {
	float: none !important;
	width: 100% !important;
	clear: both;
}

/* Checkout: #customer_details and #order_review are grid items here */
.woocommerce-checkout form.checkout #customer_details,
.woocommerce-page.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout #order_review,
.woocommerce-page.woocommerce-checkout form.checkout #order_review {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Cart: totals and cross-sells sit in the theme's own two-column grid */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells,
.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
	float: none !important;
	width: 100% !important;
}

/* Account: navigation and panel are grid items */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
}


/* -------------------------------------------------------------------------
   WooCommerce Blocks — the block Cart and Checkout

   This store runs the block cart and checkout, which render none of the
   classic markup above. These rules hand them the theme's chrome without
   touching the blocks' own two-column layout or their floating-label inputs.
   ------------------------------------------------------------------------- */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	max-width: 100%;
	margin-inline: auto;
	color: var(--tc-ink);
}

/* Step and section headings */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary .wc-block-components-panel__button {
	font-family: var(--tc-font-sign);
	font-weight: 400;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--tc-ink);
}

.wc-block-components-checkout-step__description,
.wc-block-components-product-name {
	font-family: var(--tc-font-body);
	color: var(--tc-ink);
}

.wc-block-components-product-name { font-weight: 500; }

/* Fields — square-ish radius, not the button pill, so floating labels sit right */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox input,
.wc-block-components-select select,
.wc-block-components-select__container {
	background: #fff;
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	font-family: var(--tc-font-body);
	color: var(--tc-ink);
}

.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label {
	font-family: var(--tc-font-body);
	color: var(--tc-grey);
	text-transform: none;
	letter-spacing: 0;
}

/* Order summary column becomes a card */
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar {
	background: var(--tc-cream);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-cyan);
	padding: clamp(16px, 2.4vw, 24px);
}

/* Totals */
.wc-block-components-totals-item__label {
	font-family: var(--tc-font-mono);
	font-size: .78rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--tc-grey);
}

.wc-block-components-totals-item__value { font-family: var(--tc-font-sign); }

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.4rem;
	color: var(--tc-pink);
}

/* Buttons */
.wc-block-components-button:not(.is-link),
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button {
	font-family: var(--tc-font-sign);
	font-weight: 400;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	background: var(--tc-pink);
	border: var(--tc-border) solid var(--tc-ink);
	border-radius: var(--tc-radius-pill);
	box-shadow: var(--tc-shadow);
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
	background: var(--tc-yellow);
	color: var(--tc-ink);
}

/* Rows and notices */
.wc-block-cart-items__row { border-bottom: 2px solid rgba(17, 16, 20, .14); }

.wc-block-components-notice-banner {
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-sm);
}


/* -------------------------------------------------------------------------
   Clearfix pseudo-elements vs. grid

   WooCommerce sets `.woocommerce::before/::after { content:" "; display:table }`
   as a float clearfix. On a grid container those pseudo-elements become real
   grid items, so they take the first cells and shove the actual content into
   the wrong tracks and rows — which is what put the account nav in column two
   with the dashboard panel stranded below it. Remove them wherever the theme
   makes the element a grid.
   ------------------------------------------------------------------------- */

.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after,
.woocommerce div.product::before,
.woocommerce div.product::after,
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after,
.woocommerce .cart-collaterals::before,
.woocommerce .cart-collaterals::after,
.tc-cart-layout::before,
.tc-cart-layout::after {
	content: none;
	display: none;
}

/* -------------------------------------------------------------------------
   Mini cart
   ------------------------------------------------------------------------- */

.tc-drawer ul.woocommerce-mini-cart,
.tc-drawer ul.cart_list,
.widget_shopping_cart_content ul.cart_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tc-drawer li.woocommerce-mini-cart-item,
.widget_shopping_cart_content li.woocommerce-mini-cart-item {
	position: relative;
	list-style: none;
	padding: 14px 34px 14px 0;
	margin: 0;
	border-bottom: 2px solid rgba(17, 16, 20, .14);
}

.tc-drawer li.woocommerce-mini-cart-item::marker { content: none; }

.tc-drawer .woocommerce-mini-cart-item a:not(.remove) {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	font-family: var(--tc-font-body);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--tc-ink);
}

.tc-drawer .woocommerce-mini-cart-item img,
.widget_shopping_cart_content .woocommerce-mini-cart-item img {
	width: 64px !important;
	height: auto;
	margin: 0 !important;
	float: none !important;
	border: var(--tc-border-thin) solid var(--tc-ink);
	border-radius: var(--tc-radius-sm);
}

.tc-drawer .woocommerce-mini-cart-item .quantity {
	display: block;
	margin: .45rem 0 0 76px;
	font-family: var(--tc-font-mono);
	font-size: .78rem;
	letter-spacing: .06em;
	color: var(--tc-grey);
}

.tc-drawer .woocommerce-mini-cart-item a.remove {
	position: absolute;
	top: 16px;
	right: 0;
	margin: 0;
}

/* Subtotal — a quiet mono label with the amount carrying the weight */
.tc-drawer .woocommerce-mini-cart__total,
.widget_shopping_cart_content .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: .9rem 0;
	margin: 0 0 .9rem;
	border-block: var(--tc-border-thin) solid var(--tc-ink);
	font-family: var(--tc-font-body);
	font-size: 1rem;
}

.tc-drawer .woocommerce-mini-cart__total strong,
.widget_shopping_cart_content .woocommerce-mini-cart__total strong {
	font-family: var(--tc-font-mono);
	font-size: .76rem;
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tc-grey);
}

.tc-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount,
.widget_shopping_cart_content .woocommerce-mini-cart__total .woocommerce-Price-amount {
	font-family: var(--tc-font-sign);
	font-size: 1.15rem;
	letter-spacing: .01em;
	color: var(--tc-ink);
}

.tc-drawer .woocommerce-mini-cart__empty-message {
	font-family: var(--tc-font-mono);
	font-size: .82rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--tc-grey);
}
