/* Shop redesign: category grids, single product, wishlist (cart) and inquiry
   (checkout). Scoped to WooCommerce body classes so it never touches the
   redesigned marketing pages. */

body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout {
	--thsc-shop-bg: #fcf7f3;
	--thsc-shop-card: #ffffff;
	--thsc-shop-ink: #1c1916;
	--thsc-shop-body: #4d4741;
	--thsc-shop-muted: #8a8178;
	--thsc-shop-line: #ebe3d9;
	--thsc-shop-accent: #c4783a;
	--thsc-shop-accent-deep: #8a4b24;
	--thsc-shop-serif: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;
	--thsc-shop-sans: "Source Sans Pro", "Segoe UI", sans-serif;
}

/* ---------- Page header ---------- */

.thsc-shop-head {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(8px, 2vw, 20px) 0 0;
	text-align: center;
}

.thsc-shop-head__eyebrow {
	margin: 0 0 14px;
	color: var(--thsc-shop-accent-deep);
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.24em;
	line-height: 1.2;
	text-transform: uppercase;
}

.thsc-shop-head__title {
	margin: 0;
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.15;
	text-transform: uppercase;
}

.thsc-shop-head__rule {
	display: block;
	width: 48px;
	height: 1px;
	margin: 22px auto 0;
	background: #d9b8a6;
}

.thsc-shop-head__intro {
	max-width: 560px;
	margin: 20px auto 0;
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-size: 16px;
	line-height: 1.65;
}

/* The archive header sits above the sidebar + grid row. */
.thsc-shop-head--archive {
	width: 100%;
	float: none;
	clear: both;
}

/* ---------- Breadcrumbs ---------- */

body.woocommerce .page-breadcrumbs,
body.woocommerce-cart .page-breadcrumbs,
body.woocommerce-checkout .page-breadcrumbs {
	min-height: 56px;
}

body.woocommerce .page-breadcrumbs ul li,
body.woocommerce .page-breadcrumbs ul li a {
	font-family: var(--thsc-shop-sans);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.woocommerce .page-breadcrumbs ul li {
	color: var(--thsc-shop-ink);
}

body.woocommerce .page-breadcrumbs ul li a,
body.woocommerce .page-breadcrumbs ul li:not(:last-child):after {
	color: var(--thsc-shop-muted);
}

body.woocommerce .page-breadcrumbs ul li a:hover {
	color: var(--thsc-shop-accent-deep);
}

/* ---------- Archive sidebar ---------- */

body.woocommerce .page-sidebar .widget {
	margin-bottom: 36px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--thsc-shop-line);
}

body.woocommerce .page-sidebar .widget:last-child {
	border-bottom: 0;
}

body.woocommerce .page-sidebar .widget-title {
	margin: 0 0 18px;
	color: var(--thsc-shop-accent-deep);
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.24em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.woocommerce .page-sidebar .product-categories,
body.woocommerce .page-sidebar .product-categories ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce .page-sidebar .product-categories a {
	display: block;
	padding: 5px 0;
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.2s ease, padding-left 0.2s ease;
}

body.woocommerce .page-sidebar .product-categories > li > a {
	color: var(--thsc-shop-ink);
	font-weight: 600;
}

body.woocommerce .page-sidebar .product-categories ul.children {
	margin: 0 0 6px;
	padding-left: 14px;
	border-left: 1px solid var(--thsc-shop-line);
}

body.woocommerce .page-sidebar .product-categories a:hover,
body.woocommerce .page-sidebar .widget_product_categories li.current-cat > a,
body.woocommerce .page-sidebar .widget_product_categories li.current-cat-parent > a,
body.woocommerce .page-sidebar .widget_product_categories li.current-cat > a:hover {
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce .page-sidebar .product-categories ul.children a:hover {
	padding-left: 4px;
}

body.woocommerce .page-sidebar .gem-contacts a,
body.woocommerce .page-sidebar .gem-contacts-item a {
	color: var(--thsc-shop-accent-deep);
}

body.woocommerce .page-sidebar .gem-contacts,
body.woocommerce .page-sidebar .gem-contacts-item {
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
}

/* ---------- Product tiles ---------- */

body.woocommerce .portfolio-item .image-inner {
	background: var(--thsc-shop-card);
	border: 1px solid var(--thsc-shop-line);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

body.woocommerce .portfolio-item:hover .image-inner {
	border-color: #d9b8a6;
	box-shadow: 0 10px 28px rgba(74, 47, 34, 0.08);
}

body.woocommerce .portfolio-item .caption {
	padding: 16px 0 0;
}

body.woocommerce .portfolio-item .caption .categories,
body.woocommerce .portfolio-item .caption .categories a {
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce .portfolio-item .caption .title,
body.woocommerce .portfolio-item .caption .title a {
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-transform: none;
}

body.woocommerce .portfolio-item .caption .title a:hover {
	color: var(--thsc-shop-accent-deep);
}

/* Add to wishlist: quiet text button under each tile. */
body.woocommerce .portfolio-item .portfolio-icons .button,
body.woocommerce .portfolio-item .portfolio-icons .add_to_cart_button,
body.woocommerce .portfolio-item .simple-type-button a {
	display: inline-block;
	margin-top: 6px;
	padding: 9px 16px;
	border: 1px solid #d9b8a6;
	border-radius: 0;
	background: transparent;
	color: var(--thsc-shop-accent-deep);
	font-family: var(--thsc-shop-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.2;
	white-space: nowrap;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.woocommerce .portfolio-item .portfolio-icons .button:hover,
body.woocommerce .portfolio-item .portfolio-icons .add_to_cart_button:hover,
body.woocommerce .portfolio-item .simple-type-button a:hover {
	border-color: var(--thsc-shop-accent-deep);
	background: var(--thsc-shop-accent-deep);
	color: #fff;
}

body.woocommerce .portfolio-item .portfolio-icons .button:before,
body.woocommerce .portfolio-item .portfolio-icons .add_to_cart_button:before {
	display: none;
}

/* Heart on the image. */
body.woocommerce .portfolio-item .yith-wcwl-add-to-wishlist a.add_to_wishlist,
body.woocommerce .portfolio-item .yith-wcwl-add-to-wishlist a.single_add_to_wishlist {
	color: var(--thsc-shop-ink);
}

body.woocommerce .portfolio-item .icons-top .yith-wcwl-add-to-wishlist a:hover {
	color: var(--thsc-shop-accent-deep);
}

/* ---------- Pagination ---------- */

body.woocommerce .gem-pagination a,
body.woocommerce .gem-pagination .page-numbers,
body.woocommerce .gem-pagination .pages a {
	border: 1px solid var(--thsc-shop-line);
	border-radius: 0;
	background: transparent;
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.woocommerce .gem-pagination a:hover,
body.woocommerce .gem-pagination .pages a.active,
body.woocommerce .gem-pagination .pages a.current,
body.woocommerce .gem-pagination .page-numbers.current {
	border-color: var(--thsc-shop-ink);
	background: var(--thsc-shop-ink);
	color: #fff;
}

body.woocommerce .gem-pagination a.prev,
body.woocommerce .gem-pagination a.next {
	background: transparent;
	color: var(--thsc-shop-ink);
}

body.woocommerce .gem-pagination a.prev:hover,
body.woocommerce .gem-pagination a.next:hover {
	color: #fff;
}

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

body.single-product .product-page__left-column .product-gallery-image,
body.single-product .product-page__left-column .product-gallery-slider-item {
	background: var(--thsc-shop-card);
}

body.single-product .product-page__left-column {
	border: 1px solid var(--thsc-shop-line);
}

body.single-product .product-page__right-column-centered {
	padding: clamp(32px, 4vw, 56px) clamp(24px, 3vw, 44px) !important;
	border: 1px solid var(--thsc-shop-line);
	background-color: var(--thsc-shop-card) !important;
	box-shadow: none !important;
	text-align: center;
}

body.single-product .product_title {
	margin: 0 0 20px;
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
}

body.single-product .product_title:after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin: 20px auto 0;
	background: #d9b8a6;
}

body.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 8px 0 28px;
}

body.single-product form.cart .quantity {
	border: 1px solid var(--thsc-shop-line);
	border-radius: 0;
	background: transparent;
}

body.single-product form.cart .quantity input.qty,
body.single-product form.cart .quantity button {
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-sans);
}

body.single-product button.single_add_to_cart_button,
body.single-product .gem-button.single_add_to_cart_button {
	height: auto !important;
	min-height: 0;
	padding: 16px 34px !important;
	line-height: 1.2 !important;
	border: 1px solid var(--thsc-shop-accent-deep) !important;
	border-radius: 0 !important;
	background: var(--thsc-shop-accent-deep) !important;
	color: #fff !important;
	font-family: var(--thsc-shop-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.single-product button.single_add_to_cart_button:hover,
body.single-product .gem-button.single_add_to_cart_button:hover {
	background: transparent !important;
	color: var(--thsc-shop-accent-deep) !important;
}

body.single-product .gem-single-wl-button .gem-button {
	border-radius: 0 !important;
	color: var(--thsc-shop-accent-deep) !important;
}

body.single-product .product-meta,
body.single-product .product-meta a,
body.single-product .socials-sharing .socials-item-title {
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-size: 14px;
}

body.single-product .product-meta {
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid var(--thsc-shop-line);
	text-align: center;
}

body.single-product .product-meta .date-color {
	color: var(--thsc-shop-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.single-product .product-meta a:hover {
	color: var(--thsc-shop-accent-deep);
}

body.single-product .post-tags-list a {
	border-radius: 0;
	background: var(--thsc-shop-line);
	color: var(--thsc-shop-body);
}

body.single-product .socials-sharing {
	margin-top: 18px;
	text-align: center;
}

body.single-product .product-page__nav a,
body.single-product .product-page__nav .product-page__nav--back {
	color: var(--thsc-shop-muted);
}

body.single-product .product-page__nav a:hover {
	color: var(--thsc-shop-accent-deep);
}

/* Description / info tabs */
body.single-product .thegem-tabs__nav-item,
body.single-product .thegem-tabs__nav-item * {
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.single-product .thegem-tabs__nav-item--active,
body.single-product .thegem-tabs__nav-item--active * {
	color: var(--thsc-shop-ink);
}

body.single-product .thegem-tabs__nav-slide,
body.single-product .thegem-tabs__nav-line .thegem-tabs__nav-slide {
	background: var(--thsc-shop-accent-deep);
}

body.single-product .thegem-tabs__nav-line {
	background: var(--thsc-shop-line);
}

body.single-product .thegem-tabs__body,
body.single-product .thegem-tabs__body p {
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-size: 16px;
	line-height: 1.7;
}

/* Related products title */
body.single-product .related-products .product-page__elements-title .title-h4,
body.single-product .related-products .title-h4 {
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

body.single-product .related-products .product-page__elements-title {
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--thsc-shop-line);
}

/* ---------- Wishlist (cart) and inquiry (checkout) shared ---------- */

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
	font-family: var(--thsc-shop-sans);
	color: var(--thsc-shop-body);
}

body.woocommerce-cart .woocommerce h3,
body.woocommerce-checkout .woocommerce h3 {
	margin: 0 0 20px;
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

/* Step tracker */
body.woocommerce-cart .woocommerce-cart-checkout-steps,
body.woocommerce-checkout .woocommerce-cart-checkout-steps {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px 32px;
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: 0 0 18px;
	border-bottom: 1px solid var(--thsc-shop-line);
}

body.woocommerce-cart .woocommerce-cart-checkout-steps .step,
body.woocommerce-checkout .woocommerce-cart-checkout-steps .step {
	margin: 0;
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-cart .woocommerce-cart-checkout-steps .step.active,
body.woocommerce-checkout .woocommerce-cart-checkout-steps .step.active {
	color: var(--thsc-shop-accent-deep);
}

/* Notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info {
	border: 1px solid var(--thsc-shop-line);
	border-left: 3px solid var(--thsc-shop-accent);
	border-radius: 0;
	background: var(--thsc-shop-card);
	color: var(--thsc-shop-body);
}

/* Buttons */
body.woocommerce-cart .woocommerce .gem-button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-checkout .woocommerce .gem-button,
body.woocommerce-checkout .woocommerce #place_order {
	border-radius: 0 !important;
	font-family: var(--thsc-shop-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-cart .woocommerce .checkout-button,
body.woocommerce-checkout .woocommerce #place_order {
	padding: 16px 36px;
	border: 1px solid var(--thsc-shop-accent-deep) !important;
	background: var(--thsc-shop-accent-deep) !important;
	color: #fff !important;
}

body.woocommerce-cart .woocommerce .checkout-button:hover,
body.woocommerce-checkout .woocommerce #place_order:hover {
	background: transparent !important;
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce-cart .woocommerce .update-cart .gem-button,
body.woocommerce-cart .woocommerce .update-cart button {
	border: 1px solid #d9b8a6 !important;
	background: transparent !important;
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce-cart .woocommerce .update-cart .gem-button:hover,
body.woocommerce-cart .woocommerce .update-cart button:hover {
	border-color: var(--thsc-shop-accent-deep) !important;
	background: var(--thsc-shop-accent-deep) !important;
	color: #fff !important;
}

/* ---------- Wishlist table ---------- */

body.woocommerce-cart .woocommerce-cart-form .gem-table {
	background: var(--thsc-shop-card);
	border: 1px solid var(--thsc-shop-line);
}

body.woocommerce-cart table.cart {
	margin: 0;
	border: 0;
}

body.woocommerce-cart table.cart th {
	padding: 18px 20px;
	border: 0;
	border-bottom: 1px solid var(--thsc-shop-line);
	background: transparent;
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-cart table.cart td {
	padding: 20px;
	border: 0;
	border-bottom: 1px solid var(--thsc-shop-line);
	vertical-align: middle;
}

body.woocommerce-cart table.cart .product-thumbnail img {
	width: 96px;
	height: auto;
	border: 1px solid var(--thsc-shop-line);
	background: var(--thsc-shop-card);
}

body.woocommerce-cart table.cart .product-title a {
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: 18px;
	text-decoration: none;
}

body.woocommerce-cart table.cart .product-title a:hover {
	color: var(--thsc-shop-accent-deep);
}

body.woocommerce-cart table.cart .product-remove a.remove {
	color: var(--thsc-shop-muted) !important;
}

body.woocommerce-cart table.cart .product-remove a.remove:hover {
	background: transparent;
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce-cart table.cart td.actions {
	border-bottom: 0;
	text-align: right;
}

/* Inquiry call-to-action replaces the totals panel. */
body.woocommerce-cart .cart_totals {
	float: none;
	width: 100%;
	max-width: 520px;
	margin: 32px 0 0 auto;
}

body.woocommerce-cart .cart_totals .cart_totals-inner {
	padding: 32px;
	border: 1px solid var(--thsc-shop-line);
	background: var(--thsc-shop-card) !important;
	text-align: center;
}

body.woocommerce-cart .cart_totals .cart_totals_title h3 {
	margin-bottom: 20px;
	text-align: center;
}

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

/* Empty wishlist */
body.woocommerce-cart .cart-empty {
	padding: 48px 0;
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-serif);
	font-size: 22px;
	text-align: center;
}

/* ---------- Inquiry (checkout) form ---------- */

body.woocommerce-checkout .woocommerce-checkout .col2-set {
	margin-bottom: 32px;
}

body.woocommerce-checkout form.checkout .form-row label {
	margin-bottom: 8px;
	color: var(--thsc-shop-ink);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.woocommerce-checkout form.checkout .form-row .optional {
	color: var(--thsc-shop-muted);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: none;
}

body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select {
	padding: 13px 14px;
	border: 1px solid var(--thsc-shop-line);
	border-radius: 0;
	background: var(--thsc-shop-card);
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-sans);
	font-size: 15px;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout select:focus {
	border-color: var(--thsc-shop-accent);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(196, 120, 58, 0.15);
}

body.woocommerce-checkout .order-review-inner {
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid var(--thsc-shop-line);
	background: var(--thsc-shop-card) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	margin: 0 0 24px;
	border: 0;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 14px 0;
	border: 0;
	border-bottom: 1px solid var(--thsc-shop-line);
	background: transparent;
	color: var(--thsc-shop-body);
	font-size: 15px;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	color: var(--thsc-shop-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: 17px;
}

body.woocommerce-checkout #place_order {
	width: 100%;
}

/* Thank-you page */
body.woocommerce-checkout .woocommerce-thankyou-order-received {
	padding: 32px 0;
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.4;
	text-align: center;
}

body.woocommerce-checkout .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 40px;
	justify-content: center;
	margin: 0 0 32px;
	padding: 20px;
	border: 1px solid var(--thsc-shop-line);
	background: var(--thsc-shop-card);
	list-style: none;
}

/* ---------- Small screens ---------- */

@media (max-width: 767px) {
	.thsc-shop-head__intro {
		font-size: 15px;
	}

	body.single-product form.cart {
		gap: 10px;
	}

	body.woocommerce-cart table.cart td,
	body.woocommerce-cart table.cart th {
		padding: 14px 12px;
	}

	body.woocommerce-cart .cart_totals {
		max-width: none;
	}
}

/* ---------- Wishlist refinements ---------- */

body.woocommerce-cart .woocommerce-cart-form table.cart thead th {
	padding: 18px 20px;
	border: 0;
	border-bottom: 1px solid var(--thsc-shop-line);
	background: transparent;
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-cart .woocommerce-cart-form table.cart td.actions {
	padding: 20px !important;
}

body.woocommerce-cart .woocommerce-cart-form .gem-table {
	overflow: hidden;
}

body.woocommerce-cart .woocommerce-message .cart-added-text,
body.woocommerce-cart .woocommerce-message a {
	color: var(--thsc-shop-body);
}

body.woocommerce-cart .woocommerce-message a:hover {
	color: var(--thsc-shop-accent-deep);
}

body.woocommerce-cart .woocommerce-message:before,
body.woocommerce-cart .woocommerce-message .cart-added:before,
body.woocommerce-checkout .woocommerce-message:before {
	color: var(--thsc-shop-accent) !important;
}

/* Empty wishlist */
body.woocommerce-cart .woocommerce-empty-cart {
	padding: 24px 0 56px;
	text-align: center;
}

body.woocommerce-cart .woocommerce-empty-cart:before {
	opacity: 0.35;
	color: var(--thsc-shop-accent) !important;
	transform: scale(0.6);
}

body.woocommerce-cart .woocommerce-empty-cart__title {
	margin: 0 0 12px;
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

body.woocommerce-cart .woocommerce-empty-cart__text {
	margin: 0 0 28px;
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-size: 16px;
}

body.woocommerce-cart .woocommerce-empty-cart .gem-button {
	padding: 15px 34px;
	border: 1px solid var(--thsc-shop-accent-deep) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce-cart .woocommerce-empty-cart .gem-button:hover {
	background: var(--thsc-shop-accent-deep) !important;
	color: #fff !important;
}

body.woocommerce-cart .woocommerce-cart-form table.cart th:first-child,
body.woocommerce-cart .woocommerce-cart-form table.cart td:first-child {
	padding-left: 20px !important;
}

body.woocommerce-cart .woocommerce-empty-cart .gem-button {
	height: auto !important;
	line-height: 1.2 !important;
}

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

/* TheGem reserves 120px above the shop for its page title, which this
   design replaces with .thsc-shop-head. */
body.woocommerce-page .page-description {
	margin-top: 0;
}

body.woocommerce .portfolio-item .caption .portfolio-icons {
	text-align: center;
}

body.woocommerce .portfolio-item .portfolio-icons .add_to_cart_button .space {
	display: none;
}

body.woocommerce .portfolio-item .portfolio-icons .add_to_cart_button {
	margin-left: 0;
	margin-right: 0;
}

/* The caption is a flex box, so the button row shrinks to its content and
   sits off-centre. Let it span the tile and center the button. */
body.woocommerce .portfolio-item .caption .list-right,
body.woocommerce .portfolio-item .caption .portfolio-icons {
	width: 100%;
	justify-content: center;
}

body.woocommerce .portfolio-item .caption {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Send Inquiry button: TheGem gives .gem-button a fixed height that clips the label. */
body.woocommerce-checkout .checkout-place-order,
body.woocommerce-checkout .checkout-navigation-buttons {
	display: block;
	width: 100%;
	margin: 8px 0 0;
}

body.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	height: auto !important;
	min-height: 0;
	padding: 18px 24px !important;
	line-height: 1.2 !important;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* "Your wishlist" panel: one flat card, content aligned to the heading. */
body.woocommerce-checkout .order-review-inner h3,
body.woocommerce-checkout .order-review-inner .gem-table,
body.woocommerce-checkout .order-review-inner .checkout-payment,
body.woocommerce-checkout .order-review-inner .woocommerce-checkout-review-order,
body.woocommerce-checkout .order-review-inner #payment {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout .order-review-inner .gem-table,
body.woocommerce-checkout .order-review-inner .checkout-payment {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-checkout-payment-total {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	margin-bottom: 8px;
}

body.woocommerce-checkout #payment .place-order {
	padding: 0;
}

body.woocommerce-checkout #payment .form-row,
body.woocommerce-checkout #payment .checkout-navigation-buttons,
body.woocommerce-checkout #payment .checkout-place-order {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* ---------- Sidebar social icons: match the footer's outlined squares ---------- */

body.woocommerce .page-sidebar .widget_socials .socials {
	display: flex;
	gap: 10px;
}

body.woocommerce .page-sidebar .widget_socials .socials-item {
	margin: 0;
}

body.woocommerce .page-sidebar .widget_socials .socials-item-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #d5cdc3;
	border-radius: 4px;
	background: transparent !important;
	color: #5c564e;
	box-shadow: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

body.woocommerce .page-sidebar .widget_socials .socials-item-icon:before {
	content: "" !important;
	display: block;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: var(--thsc-social-icon) center / contain no-repeat;
	mask: var(--thsc-social-icon) center / contain no-repeat;
	font-size: 0;
}

body.woocommerce .page-sidebar .widget_socials .socials-item:hover .socials-item-icon,
body.woocommerce .page-sidebar .widget_socials .socials-item:focus-visible .socials-item-icon {
	border-color: var(--thsc-shop-accent);
	color: var(--thsc-shop-accent);
}

body.woocommerce .page-sidebar .widget_socials .socials-item-icon.facebook { --thsc-social-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M14.8 8.4h2V5.4h-2c-2.1 0-3.4 1.4-3.4 3.5v1.5H9.2V14h2.2v6h3V14h2.2l.3-3.6h-2.5V9.2c0-.5.2-.8.8-.8z%22/%3E%3C/svg%3E"); }
body.woocommerce .page-sidebar .widget_socials .socials-item-icon.instagram { --thsc-social-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Crect x=%224.5%22 y=%224.5%22 width=%2215%22 height=%2215%22 rx=%224%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%223.4%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Ccircle cx=%2216.7%22 cy=%227.4%22 r=%220.8%22 fill=%22%23000%22/%3E%3C/svg%3E"); }
body.woocommerce .page-sidebar .widget_socials .socials-item-icon.whatsapp { --thsc-social-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linejoin=%22round%22 d=%22M12 4.2a7.3 7.3 0 0 0-6.3 10.9L5 19.2l4.2-1.1A7.3 7.3 0 1 0 12 4.2z%22/%3E%3Cpath fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 d=%22M9.2 9.4c.2 1.6 1.5 3.2 3.1 4 .4.2.8.1 1.1-.2l.6-.6c.2-.2.4-.2.6 0l1.1.5c.2.1.3.4.2.6a2 2 0 0 1-1.6 1.2c-.5.1-1.1 0-1.8-.3a7.2 7.2 0 0 1-3.2-3.1c-.4-.7-.5-1.4-.3-1.9a1.6 1.6 0 0 1 1.3-1.1c.2 0 .4 0 .5.3l.4.9c.1.2 0 .4-.1.5l-.4.4c-.1.1-.1.3 0 .5%22/%3E%3C/svg%3E"); }

/* ---------- Wishlist (cart) page spacing ---------- */

body.woocommerce-cart .block-content {
	padding-top: clamp(48px, 7vw, 96px) !important;
	padding-bottom: clamp(72px, 10vw, 140px) !important;
}

/* ---------- Saved-pieces wishlist (YITH) page ---------- */

body.woocommerce-wishlist #page-title {
	padding: clamp(48px, 6vw, 80px) 0 0 !important;
	background: transparent !important;
}

body.woocommerce-wishlist #page-title:before,
body.woocommerce-wishlist #page-title:after {
	display: none;
}

body.woocommerce-wishlist #page-title .page-title-title:before {
	content: "Saved Pieces";
	display: block;
	margin: 0 0 14px;
	color: var(--thsc-shop-accent-deep);
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

body.woocommerce-wishlist #page-title h1 {
	margin: 0;
	color: var(--thsc-shop-ink) !important;
	font-family: var(--thsc-shop-serif);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.15;
	text-transform: uppercase;
}

body.woocommerce-wishlist #page-title .page-title-title:after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin: 22px auto 0;
	background: #d9b8a6;
}

body.woocommerce-wishlist .breadcrumbs-container {
	margin-top: 18px;
}

body.woocommerce-wishlist .breadcrumbs,
body.woocommerce-wishlist .breadcrumbs a,
body.woocommerce-wishlist .breadcrumbs span {
	color: var(--thsc-shop-muted) !important;
	font-family: var(--thsc-shop-sans);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.woocommerce-wishlist .breadcrumbs .current {
	color: var(--thsc-shop-ink) !important;
}

body.woocommerce-wishlist .block-content {
	padding-top: clamp(32px, 5vw, 64px) !important;
	padding-bottom: clamp(72px, 10vw, 140px) !important;
}

body.woocommerce-wishlist .wishlist-title-container h2,
body.woocommerce-wishlist .wishlist-title h2 {
	margin: 0 0 8px;
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

body.woocommerce-wishlist .wishlist-title .show-title-form {
	border: 0;
	background: transparent;
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	box-shadow: none;
}

body.woocommerce-wishlist .cart-short-info {
	margin: 0 0 24px;
	color: var(--thsc-shop-body);
	font-family: var(--thsc-shop-sans);
	font-size: 15px;
}

body.woocommerce-wishlist .cart-short-info .items-count {
	color: var(--thsc-shop-accent-deep);
	font-weight: 600;
}

/* Price and stock aren't shown in an inquiry-based store. */
body.woocommerce-wishlist .wishlist_table .product-price,
body.woocommerce-wishlist .wishlist_table .product-stock-status,
body.woocommerce-wishlist .wishlist_table .product-stock-stauts {
	display: none !important;
}

body.woocommerce-wishlist .wishlist-content.gem-table,
body.woocommerce-wishlist .gem-table.wishlist-content {
	background: var(--thsc-shop-card);
	border: 1px solid var(--thsc-shop-line);
}

body.woocommerce-wishlist table.wishlist_table {
	margin: 0;
	border: 0;
}

body.woocommerce-wishlist table.wishlist_table thead th {
	padding: 18px 20px;
	border: 0;
	border-bottom: 1px solid var(--thsc-shop-line);
	background: transparent !important;
	color: var(--thsc-shop-muted) !important;
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-wishlist table.wishlist_table td {
	padding: 20px;
	border: 0;
	border-bottom: 1px solid var(--thsc-shop-line);
	background: transparent;
	vertical-align: middle;
}

body.woocommerce-wishlist table.wishlist_table .product-thumbnail img {
	width: 96px;
	height: auto;
	border: 1px solid var(--thsc-shop-line);
	background: var(--thsc-shop-card);
}

body.woocommerce-wishlist table.wishlist_table .product-name a {
	color: var(--thsc-shop-ink);
	font-family: var(--thsc-shop-serif);
	font-size: 18px;
	text-decoration: none;
}

body.woocommerce-wishlist table.wishlist_table .product-name a:hover {
	color: var(--thsc-shop-accent-deep);
}

body.woocommerce-wishlist table.wishlist_table .remove_from_wishlist {
	color: var(--thsc-shop-muted) !important;
	background: transparent !important;
}

body.woocommerce-wishlist table.wishlist_table .remove_from_wishlist:hover {
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce-wishlist .wishlist_table .product-add-to-cart .gem-button {
	height: auto !important;
	padding: 13px 24px !important;
	border: 1px solid var(--thsc-shop-accent-deep) !important;
	border-radius: 0 !important;
	background: var(--thsc-shop-accent-deep) !important;
	color: #fff !important;
	font-family: var(--thsc-shop-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.2 !important;
	text-transform: uppercase;
	white-space: nowrap;
}

body.woocommerce-wishlist .wishlist_table .product-add-to-cart .gem-button:hover {
	background: transparent !important;
	color: var(--thsc-shop-accent-deep) !important;
}

body.woocommerce-wishlist .wishlist-content.responsive .cart-item {
	margin-bottom: 16px;
	border: 1px solid var(--thsc-shop-line);
	border-radius: 0;
	background: var(--thsc-shop-card);
	box-shadow: none;
}

body.woocommerce-wishlist .wishlist-content.responsive .product-stock-status {
	display: none;
}

body.woocommerce-wishlist .yith-wcwl-share,
body.woocommerce-wishlist .yith-wcwl-share-title {
	color: var(--thsc-shop-muted);
	font-family: var(--thsc-shop-sans);
}

/* ---------- Saved-pieces page fixes ---------- */

body.woocommerce-wishlist #page-title .breadcrumbs-container {
	position: static;
	height: auto;
	margin-top: 22px;
	padding: 0;
}

body.woocommerce-wishlist #page-title .page-title-inner,
body.woocommerce-wishlist #page-title .page-title-title {
	height: auto;
	min-height: 0;
	padding: 0;
}

body.woocommerce-wishlist #page-title .breadcrumbs {
	padding-bottom: 6px;
}

body.woocommerce-wishlist .hidden-title-form {
	display: none;
}

body.woocommerce-wishlist table.wishlist_table,
body.woocommerce-wishlist table.wishlist_table thead,
body.woocommerce-wishlist table.wishlist_table thead tr,
body.woocommerce-wishlist table.wishlist_table tbody tr,
body.woocommerce-wishlist table.wishlist_table tbody tr:nth-child(even),
body.woocommerce-wishlist table.wishlist_table tbody tr:nth-child(even) td,
body.woocommerce-wishlist table.wishlist_table tfoot td {
	background: transparent !important;
}

body.woocommerce-wishlist table.wishlist_table tfoot td {
	padding: 0;
	border: 0;
}

body.woocommerce-wishlist table.wishlist_table .product-remove {
	width: 56px;
	padding-left: 20px;
}

body.woocommerce-wishlist table.wishlist_table .product-thumbnail {
	width: 120px;
	padding-right: 0;
}

body.woocommerce-wishlist table.wishlist_table .product-name {
	padding-left: 24px;
}

body.woocommerce-wishlist table.wishlist_table .product-add-to-cart {
	text-align: right;
}

body.woocommerce-wishlist .wishlist_table .add_to_cart_button:before,
body.woocommerce-wishlist .wishlist_table .gem-button:before,
body.woocommerce-wishlist .wishlist_table .gem-button:after {
	display: none !important;
}

/* ---------- Inquiry page spacing (form and "inquiry sent") ---------- */

body.woocommerce-checkout .block-content {
	padding-top: clamp(48px, 7vw, 96px) !important;
	padding-bottom: clamp(72px, 10vw, 140px) !important;
}
