/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 25 2026 | 20:17:14 */
/*
 * ZIM – Shop – CSS
 * What: styles the WooCommerce shop in the ZimCarving look (black and white,
 *       Cormorant Garamond + Jost, hairlines, 18px corners, #D44915 on
 *       hover/focus only):
 *       - shop + category pages (Bricks template 365): hero, filter sidebar,
 *         sort bar, product cards (zim-pcard), Sale / Sold out / New labels
 *       - single product page (template 366): gallery, details list, related
 *       - cart + checkout pages (templates 369/370/373/376, pages 228/229)
 * Where: Woo pages only (all selectors are zim-shop / zim-product / zim-pcard /
 *        zim-cartpage / body.woocommerce-* scoped).
 * Added: 2026-10-15
 */
/* Homepage slider: price under the title, always visible */
.zim-piece .zim-piece__price {
	position: relative;
	margin: 6px 0 0;
	font-family: Jost, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: var(--ink);
}
/* ---------- Shop / category hero ---------- */
.zim-shop-hero.brxe-section { padding: 180px 16px 56px; }
.zim-shop-hero__inner { max-width: 760px; }
.zim-shop-hero .zim-arthero__title { font-size: clamp(48px, 5.6vw, 88px); }
.zim-shop-hero .zim-arthero__sub { margin-bottom: 0; }

/* ---------- Layout ---------- */
.zim-shop.brxe-section { padding: 48px 16px 120px; background: #fff; }
.zim-shop__layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
	width: 100%;
}
.zim-shop__main { min-width: 0; }

/* ---------- Filter sidebar ---------- */
.zim-shop__filters { position: sticky; top: 120px; }
.zim-shop__filters-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ink);
}
.zim-shop__filters-title {
	margin: 0;
	font-family: Jost, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
}
.zim-shop .zim-shop__reset.brxe-filter-submit,
.zim-shop .zim-shop__reset {
	padding: 0;
	border: 0;
	background: none;
	font-family: Jost, sans-serif;
	font-size: 13px;
	color: var(--muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	min-height: 0;
}
.zim-shop .zim-shop__reset:hover,
.zim-shop .zim-shop__reset:focus-visible { color: var(--hover); }

.zim-filter { padding: 22px 0; border-bottom: 1px solid var(--hairline); }
.zim-filter__label {
	margin: 0 0 14px;
	font-family: Jost, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
}
.zim-filter .brxe-filter-checkbox {
	--brx-options-gap: 10px;
	--brx-indicator-gap: 10px;
	--brx-indicator-size: 16px;
	--brx-indicator-border-radius: 4px;
	--brx-indicator-border-color: #b9b9b9;
	--brx-indicator-bg-checked: var(--ink);
	--brx-indicator-border-color-checked: var(--ink);
	--brx-indicator-check-color-checked: #fff;
	--brx-indicator-focus-color: var(--hover);
	font-family: Jost, sans-serif;
	font-size: 15px;
	color: var(--ink);
}
.zim-filter .brxe-filter-checkbox label { cursor: pointer; }
.zim-filter .brxe-filter-checkbox label:hover .brx-option-text { color: var(--hover); }
.zim-filter .brx-option-count { font-size: 13px; color: var(--muted); }
.zim-filter .brx-option-disabled { opacity: 0.4; }
.zim-filter .brx-show-more-less-button {
	margin-top: 10px;
	padding: 0;
	border: 0;
	background: none;
	font-family: Jost, sans-serif;
	font-size: 13px;
	color: var(--muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.zim-filter .brx-show-more-less-button:hover { color: var(--hover); }

/* Category pages: plain category links instead of the Category checkboxes */
.zim-catlinks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.zim-catlinks li { margin: 0; }
.zim-catlinks__link.brxe-text-link {
	font-family: Jost, sans-serif;
	font-size: 15px;
	color: var(--ink);
	text-decoration: none;
	transition: color 0.3s;
}
.zim-catlinks__link:hover,
.zim-catlinks__link:focus-visible,
.zim-catlinks__link[aria-current="page"] { color: var(--hover); }

/* Price slider */
.zim-filter .brxe-filter-range { font-family: Jost, sans-serif; font-size: 14px; color: var(--ink); }
.zim-filter .brxe-filter-range input[type="range"] { accent-color: var(--ink); }
.zim-filter .brxe-filter-range .double-slider-wrap { --brx-range-track-bg: var(--hairline); --brx-range-track-active-bg: var(--ink); --brx-range-thumb-bg: var(--ink); }
.zim-filter .brxe-filter-range .value-wrap { color: var(--muted); font-size: 13px; }

/* ---------- Bar above grid ---------- */
.zim-shop__bar {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 18px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--hairline);
}
.zim-shop__count {
	margin: 0 auto 0 0;
	white-space: nowrap;
	font-family: Jost, sans-serif;
	font-size: 14px;
	color: var(--muted);
}
select.zim-shop__sort.brxe-filter-select {
	flex: 0 0 auto;
	width: auto;
	height: auto;
	min-height: 0;
	line-height: 1.3;
	appearance: none;
	-webkit-appearance: none;
	min-width: 210px;
	padding: 11px 40px 11px 18px;
	border: 1px solid var(--hairline);
	border-radius: 9999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 16px center;
	font-family: Jost, sans-serif;
	font-size: 14px;
	color: var(--ink);
	cursor: pointer;
}
select.zim-shop__sort:hover,
select.zim-shop__sort:focus-visible { border-color: var(--hover); outline: none; }
.zim-shop__toggle.brxe-button,
.zim-shop__done.brxe-button { display: none; }

/* Active filter chips */
.zim-shop__active.brxe-filter-active-filters { margin-bottom: 20px; }
.zim-shop__active:empty { display: none; }
.zim-shop__active .bricks-button,
.zim-shop__active button {
	padding: 7px 14px;
	border: 1px solid var(--hairline);
	border-radius: 9999px;
	background: var(--stone);
	font-family: Jost, sans-serif;
	font-size: 13px;
	color: var(--ink);
}
.zim-shop__active .bricks-button:hover,
.zim-shop__active button:hover { border-color: var(--hover); color: var(--hover); }

/* ---------- Product grid + card ---------- */
.zim-shop__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 28px;
}
.zim-shop__grid > .bricks-posts-nothing-found,
.zim-shop__grid > p { grid-column: 1 / -1; font-family: Jost, sans-serif; color: var(--muted); padding: 40px 0; }

.zim-pcard { display: flex; flex-direction: column; min-width: 0; }
.zim-pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 1px solid var(--hairline);
	border-radius: 18px;
	background: #fff;
}
/* Whole sculpture always visible (Zin, Oct 15): photo shrunk to fit inside the frame with white space around it. */
.zim-pcard__media .zim-pcard__img,
.zim-pcard__media img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 3%;
	object-fit: contain;
	transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.zim-pcard__media:hover img,
.zim-pcard__media:focus-visible img { transform: scale(1.04); }
.zim-pcard__media:focus-visible { outline: 2px solid var(--hover); outline-offset: 3px; }
.zim-pcard[data-stock="outofstock"] .zim-pcard__media img { opacity: 0.55; filter: grayscale(1); }

.zim-pcard__badges {
	position: absolute;
	top: 14px;
	left: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	pointer-events: none;
}
.zim-badge {
	display: inline-block;
	padding: 6px 11px;
	border-radius: 9999px;
	background: var(--stone);
	font-family: Jost, sans-serif;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
}
.zim-badge--dark { background: var(--ink); color: #fff; }

.zim-pcard__body { padding-top: 18px; }
.zim-pcard__title.brxe-heading {
	margin: 0 0 6px;
	font-family: Cormorant Garamond, serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
}
.zim-pcard__title a { color: inherit; text-decoration: none; transition: color 0.3s; }
.zim-pcard__title a:hover,
.zim-pcard__title a:focus-visible { color: var(--hover); }
.zim-pcard__meta {
	margin: 0 0 10px;
	font-family: Jost, sans-serif;
	font-size: 13px;
	color: var(--muted);
}
.zim-pcard__price {
	margin: 0;
	font-family: Jost, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: var(--ink);
}
.zim-pcard__price del { margin-right: 6px; font-weight: 400; color: var(--muted); }
.zim-pcard__price ins { text-decoration: none; }
.zim-pcard__price--sold { color: var(--muted); font-weight: 400; }

/* Pagination */
.zim-shop__pagination { margin-top: 64px; }
.zim-shop__pagination .bricks-pagination ul { display: flex; justify-content: center; gap: 8px; }
.zim-shop__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 1px solid var(--hairline);
	border-radius: 9999px;
	font-family: Jost, sans-serif;
	font-size: 14px;
	color: var(--ink);
	text-decoration: none;
}
.zim-shop__pagination .page-numbers.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.zim-shop__pagination a.page-numbers:hover { border-color: var(--hover); color: var(--hover); }

/* ---------- Shop: tablet + phone ---------- */
@media (max-width: 1100px) {
	.zim-shop__layout { grid-template-columns: 210px minmax(0, 1fr); gap: 40px; }
	.zim-shop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.zim-shop-hero.zim-shop-hero { padding: 136px 16px 40px; }
	.zim-shop.zim-shop { padding-top: 32px; padding-bottom: 88px; }
	.zim-shop__layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
	/* Phone/tablet: filters open as a full-screen sheet from the "Filter" button */
	.zim-shop__filters {
		position: fixed;
		inset: 0;
		z-index: 1002;
		display: none;
		overflow-y: auto;
		padding: 28px 22px 24px;
		background: var(--canvas);
	}
	.zim-shop__filters.is-open { display: block; }
	.zim-shop__done.zim-shop__done {
		display: flex;
		position: sticky;
		bottom: 0;
		width: 100%;
		margin-top: 16px;
	}
	.zim-shop__filters .zim-filter:last-child { border-bottom: 0; }
	.zim-shop__toggle.zim-shop__toggle { display: inline-flex; order: -1; }
	.zim-shop__count { order: 2; flex-basis: 100%; margin: 4px 0 0; }
	.zim-shop__bar { flex-wrap: wrap; }
	select.zim-shop__sort.brxe-filter-select { margin-left: auto; }
}
@media (max-width: 478px) {
	.zim-shop__grid { gap: 36px 14px; }
	.zim-pcard__title.zim-pcard__title { font-size: 21px; }
	.zim-pcard__meta { font-size: 12px; }
	.zim-pcard__media { border-radius: 14px; }
	.zim-pcard__badges { top: 10px; left: 10px; }
	.zim-badge { padding: 5px 9px; font-size: 11px; letter-spacing: 0.1em; }
	select.zim-shop__sort.brxe-filter-select { min-width: 0; }
}

/* ---------- Single product (template 366) ---------- */
.zim-product.brxe-section { padding: 150px 16px 96px; background: #fff; }
.zim-product__crumbs.brxe-woocommerce-breadcrumbs,
.zim-product__crumbs {
	margin-bottom: 28px;
	font-family: Jost, sans-serif;
	font-size: 13px;
	color: var(--muted);
}
.zim-product__crumbs a { color: var(--muted); text-decoration: none; }
.zim-product__crumbs a:hover { color: var(--hover); }
.zim-product__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 72px;
	align-items: start;
	width: 100%;
}
.zim-product__media { min-width: 0; }

/* Gallery: big photo on white + thumbnails */
.zim-product__gallery .woocommerce-product-gallery { margin: 0; width: 100%; }
.zim-product__gallery .woocommerce-product-gallery__wrapper,
.zim-product__gallery .flex-viewport {
	overflow: hidden;
	border: 1px solid var(--hairline);
	border-radius: 18px;
	background: #fff;
}
.zim-product__gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: contain;
	background: #fff;
}
.zim-product__gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.zim-product__gallery .flex-control-thumbs li { width: auto; float: none; margin: 0; }
.zim-product__gallery .flex-control-thumbs img {
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid var(--hairline);
	border-radius: 10px;
	opacity: 0.6;
	cursor: pointer;
	transition: opacity 0.3s, border-color 0.3s;
}
.zim-product__gallery .flex-control-thumbs img:hover { opacity: 1; }
.zim-product__gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--ink); }
.zim-product__gallery .woocommerce-product-gallery__trigger {
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--hairline);
}

/* Summary column */
.zim-product__summary { position: sticky; top: 120px; }
.zim-product__cat { margin-bottom: 14px; }
.zim-product__title.brxe-product-title,
.zim-product__title {
	margin: 0 0 18px;
	font-family: Cormorant Garamond, serif;
	font-size: clamp(42px, 4.4vw, 68px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--ink);
}
.zim-product__price-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.zim-product__price,
.zim-product__price .price {
	margin: 0;
	font-family: Jost, sans-serif;
	font-size: 24px;
	font-weight: 500;
	color: var(--ink);
}
.zim-product__price del { margin-right: 8px; font-size: 18px; font-weight: 400; color: var(--muted); }
.zim-product__price ins { text-decoration: none; }
.zim-product__unique {
	font-family: Jost, sans-serif;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
}
.zim-product__excerpt,
.zim-product__excerpt p {
	margin: 0 0 28px;
	font-family: Jost, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: #3a3a3a;
}

/* Add to cart (one of a kind: no quantity box) */
.zim-product__cart form.cart { display: flex; gap: 12px; margin: 0 0 32px; }
.zim-product__cart .quantity { display: none; }
.zim-product__cart .single_add_to_cart_button.button,
.zim-product__cart button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 18px 34px;
	border: 1px solid var(--ink);
	border-radius: 9999px;
	background: var(--ink);
	color: #fff;
	font-family: Jost, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.35s, border-color 0.35s;
}
.zim-product__cart .single_add_to_cart_button:hover,
.zim-product__cart .single_add_to_cart_button:focus-visible { background: var(--hover); border-color: var(--hover); }
.zim-product__cart .stock {
	display: inline-block;
	margin: 0 0 28px;
	padding: 10px 18px;
	border-radius: 9999px;
	background: var(--stone);
	font-family: Jost, sans-serif;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink);
}
.zim-product__cart .stock.in-stock { display: none; }

/* Details list */
.zim-specs { margin: 0 0 28px; border-top: 1px solid var(--ink); }
.zim-specs__row {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 16px;
	padding: 15px 0;
	border-bottom: 1px solid var(--hairline);
}
.zim-specs__label {
	margin: 0;
	font-family: Jost, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	padding-top: 2px;
}
.zim-specs__value { margin: 0; font-family: Jost, sans-serif; font-size: 16px; color: var(--ink); }
.zim-specs__value a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.zim-specs__value a:hover { color: var(--hover); }
.zim-specs__hint { color: var(--muted); font-size: 13px; }
.zim-product__help { margin: 0; font-family: Jost, sans-serif; font-size: 14px; line-height: 1.7; color: var(--muted); }
.zim-product__help a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.zim-product__help a:hover { color: var(--hover); }
.zim-product__desc { margin-top: 28px; font-family: Jost, sans-serif; font-size: 16px; line-height: 1.7; color: #3a3a3a; }

/* Woo notices ("added to your cart") */
.zim-product__notice .woocommerce-message,
.zim-product__notice .woocommerce-info,
.zim-product__notice .woocommerce-error {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 28px;
	padding: 16px 22px;
	border: 1px solid var(--hairline);
	border-radius: 14px;
	background: var(--stone);
	font-family: Jost, sans-serif;
	font-size: 15px;
	color: var(--ink);
}
.zim-product__notice .button { order: 2; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; font-weight: 500; }
.zim-product__notice .button:hover { color: var(--hover); }

/* Related */
.zim-related.brxe-section { padding: 96px 16px 120px; background: #fff; border-top: 1px solid var(--hairline); }
.zim-related__head { margin-bottom: 40px; }
.zim-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; width: 100%; }
.zim-related__more { display: flex; justify-content: center; margin-top: 56px; width: 100%; }
.zim-product__after.brxe-section { padding: 0; }

@media (max-width: 991px) {
	.zim-product.zim-product { padding: 124px 16px 72px; }
	.zim-product__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.zim-product__summary { position: static; }
	.zim-related.zim-related { padding: 72px 16px 88px; }
	.zim-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 478px) {
	.zim-product__cart form.cart { display: block; }
	.zim-product__cart .single_add_to_cart_button.button { width: 100%; min-width: 0; }
	.zim-specs__row { grid-template-columns: 96px minmax(0, 1fr); }
	.zim-related__grid { gap: 32px 14px; }
}

/* ---------- Product page: AJAX add-to-cart states ---------- */
.zim-product__cart .single_add_to_cart_button.added::after,
.zim-product__cart .single_add_to_cart_button.loading::after { display: none; }
.zim-product__cart .added_to_cart.wc-forward {
	display: inline-flex;
	align-items: center;
	margin-left: 4px;
	font-family: Jost, sans-serif;
	font-size: 14px;
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.zim-product__cart .added_to_cart.wc-forward:hover { color: var(--hover); }

/* ---------- Cart + checkout pages (pages 228/229, templates 369/370/373/376) ---------- */
.zim-cartpage-hero.brxe-section { padding: 170px 16px 48px; }
.zim-cartpage-hero__inner { text-align: center; margin: 0 auto; }
.zim-cartpage-hero .zim-arthero__title { margin-bottom: 0; font-size: clamp(48px, 5.4vw, 84px); }
.zim-cartpage.brxe-section { padding: 24px 16px 120px; background: #fff; }
.zim-cartpage .brxe-shortcode { width: 100%; }

/* Shared form + table text (NB: header cart icon is .zim-cart, so the cart page wrapper is .zim-cartbox) */
.zim-cartbox, .zim-checkout, .zim-cart-empty, .zim-thankyou { font-family: Jost, sans-serif; color: var(--ink); width: 100%; }
.zim-cartbox a, .zim-checkout a { color: var(--ink); }
.zim-cartbox a:hover, .zim-checkout a:hover { color: var(--hover); }

/* Notices */
.zim-woo-notice .woocommerce-message,
.zim-woo-notice .woocommerce-info,
.zim-woo-notice .woocommerce-error,
.zim-cartpage .woocommerce-message,
.zim-cartpage .woocommerce-info,
.zim-cartpage .woocommerce-error {
	margin: 0 0 28px;
	padding: 16px 22px;
	border: 1px solid var(--hairline);
	border-radius: 14px;
	background: var(--stone);
	font-family: Jost, sans-serif;
	font-size: 15px;
	color: var(--ink);
	list-style: none;
}
.zim-cartpage .woocommerce-error { border-color: var(--hover); }

/* Cart layout */
.zim-cart__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}
.zim-cartbox .shop_table { width: 100%; border-collapse: collapse; border: 0; }
.zim-cartbox .shop_table thead tr { border-bottom: 1px solid var(--ink); }
.zim-cartbox .shop_table thead th {
	padding: 0 0 14px;
	border: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	text-align: left;
}
.zim-cartbox .cart_item td,
.zim-cartbox .cart_item th { padding: 22px 12px 22px 0; border-bottom: 1px solid var(--hairline); vertical-align: middle; text-align: left; }
.zim-cartbox .product-thumbnail img {
	width: 88px;
	height: 110px;
	object-fit: cover;
	border: 1px solid var(--hairline);
	border-radius: 12px;
	background: #fff;
}
.zim-cartbox .product-name a {
	font-family: Cormorant Garamond, serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.1;
	text-decoration: none;
}
.zim-cartbox .product-price, .zim-cartbox .product-subtotal { font-size: 16px; }
.zim-cartbox th.product-quantity, .zim-cartbox td.product-quantity { display: none; }
.zim-cartbox .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--hairline);
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	color: var(--ink) !important;
	text-decoration: none;
	background: #fff;
}
.zim-cartbox .product-remove a.remove:hover { border-color: var(--hover); color: var(--hover) !important; background: #fff; }
.zim-cartbox td.actions { padding: 20px 0 0; border: 0; }
.zim-cartbox .coupon { display: flex; gap: 10px; flex-wrap: wrap; }
.zim-cartbox .coupon label { display: none; }
.zim-cartbox .coupon .input-text,
.zim-checkout .checkout_coupon .input-text {
	min-width: 200px;
	padding: 12px 18px;
	border: 1px solid var(--hairline);
	border-radius: 9999px;
	font-family: Jost, sans-serif;
	font-size: 14px;
}
.zim-cartbox .actions .button,
.zim-checkout .checkout_coupon .button {
	padding: 12px 22px;
	border: 1px solid var(--ink);
	border-radius: 9999px;
	background: #fff;
	font-family: Jost, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
}
.zim-cartbox .actions .button:hover,
.zim-checkout .checkout_coupon .button:hover { border-color: var(--hover); color: var(--hover); }
.zim-cartbox .actions > .button[name="update_cart"] { display: none; } /* one-of-a-kind items: nothing to update */
.zim-cart__back.brxe-text-link { display: inline-block; margin-top: 24px; font-size: 14px; text-decoration: none; color: var(--muted); }
.zim-cart__back:hover { color: var(--hover); }

/* Cart totals card */
.zim-cart__summary,
.zim-checkout__summary {
	position: sticky;
	top: 120px;
	padding: 32px;
	border-radius: 18px;
	background: var(--stone);
}
.zim-cartbox .cart_totals { width: 100%; float: none; }
.zim-cartbox .cart_totals h2,
.zim-checkout__title {
	margin: 0 0 18px;
	font-family: Jost, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
}
.zim-cartbox .cart_totals th,
.zim-cartbox .cart_totals td { padding: 14px 0; border-bottom: 1px solid #e2dfda; font-size: 15px; text-align: left; font-weight: 400; }
.zim-cartbox .cart_totals td { text-align: right; }
.zim-cartbox .cart_totals .order-total th,
.zim-cartbox .cart_totals .order-total td { border-bottom: 0; font-size: 18px; font-weight: 500; }
.zim-cartbox .wc-proceed-to-checkout { padding: 20px 0 0; }
.zim-cartbox .checkout-button.button,
.zim-checkout #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 18px 28px;
	border: 1px solid var(--ink);
	border-radius: 9999px;
	background: var(--ink);
	color: #fff !important;
	font-family: Jost, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.35s, border-color 0.35s;
}
.zim-cartbox .checkout-button.button:hover,
.zim-checkout #place_order:hover { background: var(--hover); border-color: var(--hover); }
.zim-cart__note { margin: 18px 0 0; font-size: 13px; line-height: 1.6; color: var(--muted); text-align: center; }
.zim-cart__note a { text-decoration: underline; text-underline-offset: 3px; }

/* Empty cart */
.zim-cart-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 24px 0 40px; }
.zim-cart-empty__title { margin: 0 0 10px; font-family: Cormorant Garamond, serif; font-size: 36px; font-weight: 500; }
.zim-cart-empty__text { margin: 0 0 28px; font-size: 16px; color: var(--muted); }

/* Checkout layout */
.zim-checkout__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}
.zim-checkout .col2-set { display: flex; flex-direction: column; gap: 32px; width: 100%; }
.zim-checkout .col2-set .col-1,
.zim-checkout .col2-set .col-2 { width: 100%; float: none; max-width: none; }
.zim-checkout h3 {
	margin: 0 0 20px;
	font-family: Cormorant Garamond, serif;
	font-size: 30px;
	font-weight: 500;
	color: var(--ink);
}
.zim-checkout .woocommerce-billing-fields__field-wrapper,
.zim-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
}
.zim-checkout .form-row { width: 100%; float: none; margin: 0 0 18px; padding: 0; }
.zim-checkout .form-row-wide,
.zim-checkout .notes .form-row { grid-column: 1 / -1; }
.zim-checkout .form-row label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--muted); }
.zim-checkout .form-row .required { color: var(--muted); text-decoration: none; }
.zim-checkout .input-text,
.zim-checkout select,
.zim-checkout textarea,
.zim-checkout .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--hairline);
	border-radius: 12px;
	background: #fff;
	font-family: Jost, sans-serif;
	font-size: 15px;
	color: var(--ink);
}
.zim-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 22px; color: var(--ink); }
.zim-checkout .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 10px; }
.zim-checkout .input-text:focus,
.zim-checkout textarea:focus,
.zim-checkout select:focus { outline: none; border-color: var(--hover); }
.zim-checkout textarea { min-height: 110px; }
.zim-checkout #ship-to-different-address { font-family: Jost, sans-serif; font-size: 16px; }

/* Order summary card (our "Your order" label replaces Woo's heading) */
.zim-checkout__summary #order_review_heading { display: none; }
.zim-checkout__summary .brxe-woocommerce-checkout-coupon { margin: 0 0 8px; padding: 0; border: 0; background: none; }
.zim-checkout__summary .checkout_coupon,
.zim-checkout__summary .coupon-div { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.zim-checkout__summary .coupon-description { margin: 0 0 8px; font-family: Jost, sans-serif; font-size: 13px; color: var(--muted); }
.zim-checkout__summary .coupon-form { display: flex; gap: 8px; }
.zim-checkout__summary .coupon-form .input-text {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid var(--hairline);
	border-radius: 9999px;
	background: #fff;
	font-family: Jost, sans-serif;
	font-size: 14px;
}
.zim-checkout__summary .coupon-form .button {
	flex: 0 0 auto;
	padding: 10px 18px;
	border: 1px solid var(--ink);
	border-radius: 9999px;
	background: #fff;
	font-family: Jost, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
}
.zim-checkout__summary .coupon-form .button:hover { border-color: var(--hover); color: var(--hover); }
.zim-checkout__summary .brxe-woocommerce-checkout-order-review { margin-top: 24px; }
.zim-checkout__summary .checkout_coupon p:first-child { width: 100%; margin: 0 0 6px; font-size: 13px; color: var(--muted); }
.zim-checkout__summary .checkout_coupon .form-row { width: auto; flex: 1 1 auto; margin: 0; }
.zim-checkout__summary .checkout_coupon .input-text { min-width: 0; min-height: 44px; border-radius: 9999px; }
.zim-checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; border: 0; margin: 0 0 20px; }
.zim-checkout .woocommerce-checkout-review-order-table th,
.zim-checkout .woocommerce-checkout-review-order-table td { padding: 13px 0; border-bottom: 1px solid #e2dfda; font-size: 15px; font-weight: 400; text-align: left; vertical-align: top; }
.zim-checkout .woocommerce-checkout-review-order-table td:last-child,
.zim-checkout .woocommerce-checkout-review-order-table th:last-child { text-align: right; }
.zim-checkout .woocommerce-checkout-review-order-table thead th { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.zim-checkout .woocommerce-checkout-review-order-table .order-total th,
.zim-checkout .woocommerce-checkout-review-order-table .order-total td { border-bottom: 0; font-size: 18px; font-weight: 500; }
.zim-checkout #payment { background: none; border-radius: 0; }
.zim-checkout #payment ul.payment_methods { margin: 0 0 16px; padding: 0; border: 0; list-style: none; }
.zim-checkout #payment .woocommerce-info,
.zim-checkout #payment .woocommerce-notice { padding: 14px 16px; border-radius: 12px; background: #fff; font-size: 14px; list-style: none; }
.zim-checkout #payment div.form-row { padding: 0; }
.zim-checkout .woocommerce-privacy-policy-text { font-size: 13px; line-height: 1.6; color: var(--muted); }
.zim-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.zim-checkout .woocommerce-form-login-toggle .woocommerce-info { margin: 0 0 16px; padding: 0; border: 0; background: none; font-size: 14px; color: var(--muted); }
.zim-checkout .checkout_coupon { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 20px; padding: 0; border: 0; }

/* Thank-you / order received */
.zim-thankyou.brxe-section { padding: 0; }
.zim-thankyou .woocommerce-order { max-width: 760px; margin: 0 auto; font-family: Jost, sans-serif; }
.zim-thankyou .woocommerce-thankyou-order-received { font-family: Cormorant Garamond, serif; font-size: 28px; text-align: center; margin: 0 0 32px; }
.zim-thankyou ul.order_details { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 40px; padding: 24px; border-radius: 18px; background: var(--stone); list-style: none; }
.zim-thankyou ul.order_details li { flex: 1 1 140px; margin: 8px 0; padding: 0 12px; border: 0; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.zim-thankyou ul.order_details li strong { display: block; margin-top: 6px; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--ink); }

@media (max-width: 991px) {
	.zim-cartpage-hero.zim-cartpage-hero { padding: 130px 16px 32px; }
	.zim-cart__grid,
	.zim-checkout__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.zim-cart__summary,
	.zim-checkout__summary { position: static; }
}
@media (max-width: 767px) {
	/* Woo turns the cart table into stacked rows on phones */
	.zim-cartbox .shop_table_responsive thead { display: none; }
	.zim-cartbox .shop_table_responsive tr.cart_item { display: grid; grid-template-columns: 88px 1fr auto; gap: 4px 16px; padding: 18px 0; border-bottom: 1px solid var(--hairline); }
	.zim-cartbox .shop_table_responsive tr.cart_item td,
	.zim-cartbox .shop_table_responsive tr.cart_item th { display: block; padding: 0; border: 0; text-align: left !important; }
	.zim-cartbox .shop_table_responsive tr.cart_item td::before { display: none; }
	.zim-cartbox tr.cart_item .product-thumbnail { grid-row: 1 / 4; grid-column: 1; display: block !important; }
	.zim-cartbox tr.cart_item .product-name { grid-column: 2; }
	.zim-cartbox tr.cart_item .product-price { display: none !important; }
	.zim-cartbox tr.cart_item .product-subtotal { grid-column: 2; }
	.zim-cartbox tr.cart_item .product-remove { grid-column: 3; grid-row: 1; }
	.zim-cartbox .product-name a { font-size: 22px; }
	.zim-checkout .woocommerce-billing-fields__field-wrapper,
	.zim-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	.zim-cart__summary,
	.zim-checkout__summary { padding: 24px 20px; }
}

/* ---------- Homepage "Selected works" = 9 newest products (page 37, loops zhp001 + hidden copy zhp011) ---------- */
/* 9 cards instead of the old 6: slower cycle keeps the same speed (70s × 9/6). */
.zim-collection .zim-collection__grid { animation-duration: 105s; }
/* Product photos are on white: multiply blends the white into the grey card so the sculpture looks cut out. */
.zim-collection__grid .zim-piece__img { mix-blend-mode: multiply; filter: none; }
