/**
 * Sirbal shop product cards — editorial minimal archive treatment.
 * Woodmart owns the markup and behaviour; this file is a scoped visual layer.
 */

.sirbal-product-colours {
	display: none;
}

/* The reusable dismiss control must disappear when its card returns to the grid. */
.sirbal-quick-shop-dismiss { display: none; }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid {
	--sirbal-card-ink: var(--sirbal-shop-ink, #2b1a12);
	--sirbal-card-muted: var(--sirbal-shop-muted, #71645c);
	--sirbal-card-petrol: var(--sirbal-color-petrol, #0b3f50);
	--sirbal-card-sale: var(--sirbal-shop-brick-dark, #96331f);
	--sirbal-card-line: var(--sirbal-shop-line, rgba(43, 26, 18, .13));
	--sirbal-card-surface: var(--sirbal-shop-paper, #fffdf9);
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard {
	--text-align: start;
	--wd-brd-radius: 18px;
	--wd-prod-gap: 10px;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard > .product-wrapper {
	height: 100%;
	padding: 0;
	border: 1px solid var(--sirbal-card-line);
	border-radius: 18px;
	background: var(--sirbal-card-surface);
	box-shadow: none;
	transition: transform var(--sirbal-motion-base, 260ms) var(--sirbal-ease, ease), border-color var(--sirbal-motion-fast, 180ms) ease, box-shadow var(--sirbal-motion-base, 260ms) var(--sirbal-ease, ease);
}

@media (hover: hover) and (pointer: fine) {
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard:hover > .product-wrapper {
		border-color: rgba(11, 63, 80, .22);
		box-shadow: 0 8px 24px rgba(43, 26, 18, .07);
		transform: translateY(-2px);
	}
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-element-top {
	border-radius: 17px 17px 10px 10px;
	background: #fff;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-image-link {
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-image-link img,
:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .hover-img img {
	height: 100%;
	object-fit: contain;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-element-bottom {
	flex: 1 1 auto;
	gap: 8px;
	padding: 4px 12px 12px;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-product-cats {
	order: 1;
	min-width: 0;
	color: var(--sirbal-card-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	opacity: 1;
	overflow: hidden;
	white-space: normal;
	overflow-wrap: anywhere;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-product-cats a {
	color: inherit;
	white-space: normal;
	overflow-wrap: anywhere;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-entities-title {
	order: 2;
	min-height: 3.2em;
	margin: 0;
	color: var(--sirbal-card-ink);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.6;
	text-align: start;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-entities-title a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: color var(--sirbal-motion-fast, 180ms) ease;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-entities-title a:hover {
	color: var(--sirbal-card-petrol);
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .star-rating {
	order: 3;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .star-rating:has(> span[style*="width:0%"]),
:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .star-rating:has(> span[style*="width: 0%"] ) {
	display: none;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .sirbal-product-colours {
	display: flex;
	order: 4;
	align-items: center;
	min-height: 22px;
	gap: 6px;
	direction: rtl;
}

.sirbal-product-colours__swatch {
	position: relative;
	display: inline-block;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--sirbal-product-swatch, #d9dde0);
	box-shadow: 0 0 0 1px rgba(16, 34, 43, .2);
}

.sirbal-product-colours__swatch[style*="#FFFFFF"],
.sirbal-product-colours__swatch[style*="#FFFDD0"] {
	box-shadow: 0 0 0 1px rgba(16, 34, 43, .28);
}

.sirbal-product-colours__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 18px;
	padding-inline: 4px;
	border-radius: 999px;
	background: rgba(11, 63, 80, .07);
	color: var(--sirbal-card-muted, #607078);
	font-size: 12px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .price {
	display: flex;
	order: 5;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 8px;
	min-height: 23px;
	margin-top: 1px;
	color: var(--sirbal-card-petrol);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
	text-align: start;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .price ins {
	order: -1;
	color: var(--sirbal-card-sale);
	font-weight: 650;
	text-decoration: none;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .price del {
	color: #53636b;
	font-size: 12px;
	font-weight: 500;
	opacity: 1;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-add-btn {
	order: 6;
	margin-top: auto;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-add-btn > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--sirbal-card-petrol);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--sirbal-card-petrol);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	touch-action: manipulation;
	transition: background-color var(--sirbal-motion-fast, 180ms) ease, border-color var(--sirbal-motion-fast, 180ms) ease, color var(--sirbal-motion-fast, 180ms) ease;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-add-btn > a span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0;
	transform: none;
}

/* Keep the action label visible after keyboard focus returns from Quick Shop. */
:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-add-btn-replace > a::before { display: none; }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-add-btn > a:hover {
	border-color: var(--sirbal-card-ink);
	background: var(--sirbal-card-ink);
	color: #fff;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-buttons {
	gap: 7px;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-buttons .wd-action-btn > a {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(16, 34, 43, .1);
	border-radius: 50%;
	background: var(--sirbal-card-surface);
	box-shadow: none;
	color: var(--sirbal-card-petrol);
	transition: background-color var(--sirbal-motion-fast, 180ms) ease, color var(--sirbal-motion-fast, 180ms) ease;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-buttons .wd-action-btn > a:hover {
	background: var(--sirbal-card-petrol);
	color: #fff;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-labels {
	top: 12px;
	inset-inline-start: 12px;
	gap: 6px;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-labels .product-label {
	min-width: 0;
	min-height: 29px;
	padding: 5px 10px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	box-shadow: none;
	font-size: 12px;
	font-weight: 650;
	line-height: 1;
	text-transform: none;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-labels .onsale {
	background: var(--sirbal-card-sale);
	color: #fff;
	direction: ltr;
}

@media (max-width: 1024px) {
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard > .product-wrapper {
		box-shadow: none;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-buttons .wd-action-btn > a {
		width: 44px;
		height: 44px;
	}
}

@media (max-width: 576px) {
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard {
		--wd-prod-gap: 8px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard > .product-wrapper {
		padding: 0;
		border-radius: 14px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-element-top {
		border-radius: 13px 13px 8px 8px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-element-bottom {
		gap: 7px;
		padding: 3px 8px 8px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-product-cats {
		font-size: 12px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-entities-title {
		min-height: 3.15em;
		font-size: 13px;
		line-height: 1.58;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .sirbal-product-colours {
		min-height: 20px;
		gap: 5px;
	}

	.sirbal-product-colours__swatch {
		width: 14px;
		height: 14px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .price {
		font-size: 12px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .price del {
		font-size: 12px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .wd-add-btn > a {
		min-height: 44px;
		padding-inline: 7px;
		border-radius: 999px;
		font-size: 12px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-labels {
		top: 8px;
		inset-inline-start: 8px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard .product-labels .product-label {
		min-height: 26px;
		padding: 4px 8px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard:not(.sirbal-quick-shop-modal) > .product-wrapper {
		transform: none !important;
	}
}

/**
 * Delayed gallery preview.
 * JavaScript adds the active class only after an intentional pointer pause.
 */
@media (hover: hover) and (pointer: fine) {
	body.sirbal-product-hover-gallery-enabled {
		--sirbal-gallery-ease: cubic-bezier(.22, 1, .36, 1);
	}

	body.sirbal-product-hover-gallery-enabled .products.elements-grid > .wd-product.wd-hover-standard > .product-wrapper,
	body.sirbal-product-hover-gallery-enabled .products.elements-grid > .wd-product.wd-hover-standard:hover > .product-wrapper {
		transform: translateY(0) scale(1);
		transition-duration: 680ms, 420ms, 680ms;
		transition-timing-function: var(--sirbal-gallery-ease, ease), ease, var(--sirbal-gallery-ease, ease);
		will-change: transform;
	}

	body.sirbal-product-hover-gallery-enabled .products.elements-grid > .wd-product.wd-hover-standard.sirbal-hover-gallery--active > .product-wrapper {
		border-color: rgba(11, 63, 80, .26);
		box-shadow: 0 24px 52px rgba(16, 34, 43, .15), 0 6px 18px rgba(16, 34, 43, .08);
		transform: translateY(-10px) scale(1.012);
	}

	body.sirbal-product-hover-gallery-enabled .wd-product .product-element-top > .hover-img {
		display: none !important;
	}

	body.sirbal-product-hover-gallery-enabled .wd-product .product-image-link {
		position: relative;
		isolation: isolate;
	}

	.sirbal-hover-gallery-stage {
		position: absolute;
		inset: 0;
		z-index: 2;
		display: block;
		overflow: hidden;
		border-radius: inherit;
		background: #eef1f0;
		opacity: 0;
		pointer-events: none;
		transition: opacity 520ms var(--sirbal-gallery-ease, ease);
	}

	.sirbal-hover-gallery-stage::after {
		position: absolute;
		inset: auto 0 0;
		height: 24%;
		background: linear-gradient(to top, rgba(9, 29, 36, .16), transparent);
		content: "";
		opacity: 0;
		transition: opacity 650ms ease;
	}

	.sirbal-hover-gallery-stage::before {
		position: absolute;
		top: -20%;
		bottom: -20%;
		left: -45%;
		z-index: 2;
		width: 22%;
		background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
		content: "";
		opacity: 0;
		transform: skewX(-14deg);
	}

	.sirbal-hover-gallery--active .sirbal-hover-gallery-stage.is-ready {
		opacity: 1;
	}

	.sirbal-hover-gallery--active .sirbal-hover-gallery-stage::after {
		opacity: 1;
	}

	.sirbal-hover-gallery--active .sirbal-hover-gallery-stage::before {
		animation: sirbal-gallery-sheen 2.8s 500ms var(--sirbal-gallery-ease, ease) both;
	}

	.sirbal-hover-gallery__image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 0;
		transform: scale(1.025);
		transition: opacity 720ms ease, transform 2600ms var(--sirbal-gallery-ease, ease);
	}

	.sirbal-hover-gallery__image.is-current {
		opacity: 1;
		transform: scale(1);
	}

	.sirbal-hover-gallery__progress {
		position: absolute;
		right: 50%;
		bottom: 11px;
		z-index: 3;
		display: flex;
		gap: 5px;
		transform: translateX(50%) translateY(5px);
		opacity: 0;
		transition: opacity 420ms 180ms ease, transform 520ms 180ms var(--sirbal-gallery-ease, ease);
	}

	.sirbal-hover-gallery--active .sirbal-hover-gallery__progress {
		opacity: 1;
		transform: translateX(50%) translateY(0);
	}

	.sirbal-hover-gallery__dot {
		width: 18px;
		height: 3px;
		border-radius: 99px;
		background: rgba(255, 255, 255, .52);
		box-shadow: 0 1px 4px rgba(5, 24, 30, .14);
		transition: width 420ms var(--sirbal-gallery-ease, ease), background-color 420ms ease;
	}

	.sirbal-hover-gallery__dot.is-current {
		width: 28px;
		background: #fff;
	}

	@keyframes sirbal-gallery-sheen {
		0% {
			left: -45%;
			opacity: 0;
		}
		20% {
			opacity: .8;
		}
		65%, 100% {
			left: 125%;
			opacity: 0;
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	.sirbal-hover-gallery-stage {
		display: none !important;
	}
}

/**
 * Native Woodmart Quick Shop, presented as a calm product studio.
 * The existing AJAX variation form remains the only data source.
 */
body.sirbal-quick-shop-modal-open {
	overflow: hidden;
}

body.sirbal-quick-shop-modal-open .ssc-widget {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.sirbal-quick-shop-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgb(21 44 49 / 64%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease;
}

.sirbal-quick-shop-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal {
	z-index: 99991;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal > .product-wrapper {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 99991;
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 1fr);
	grid-template-rows: auto minmax(0, 1fr);
	grid-template-areas: "media info" "media options";
	width: min(960px, calc(100vw - 48px));
	height: min(640px, calc(100dvh - 48px));
	max-width: none;
	max-height: none;
	padding: 0;
	background: var(--sirbal-card-surface);
	border: 1px solid var(--sirbal-card-line);
	border-radius: 12px;
	box-shadow: 0 20px 60px rgb(20 24 24 / 16%);
	overflow: clip;
	opacity: 0;
	transform: translate(-50%, -47%) scale(.96);
	transform-origin: center;
	transition: opacity 180ms ease, transform 250ms var(--sirbal-ease-out, cubic-bezier(.23, 1, .32, 1));
}

.sirbal-quick-shop-modal > .product-wrapper::before {
	content: none;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal.is-visible > .product-wrapper {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal:not(.is-visible) > .product-wrapper { transition-duration: 180ms; }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper > .product-element-top {
	display: contents;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .product-element-top > .product-image-link {
	grid-area: media;
	display: grid;
	place-items: center;
	align-self: stretch;
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: auto;
	padding: 24px;
	background: #fff;
	border-radius: 0;
	overflow: hidden;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid .wd-product.wd-hover-standard.sirbal-quick-shop-modal .product-element-top > .product-image-link img {
	width: 100%;
	height: 100%;
	min-height: 0;
	max-height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .product-element-top :is(.hover-img, .wd-buttons, .product-labels) {
	display: none !important;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper > :is(.product-information, .product-element-bottom) {
	grid-area: info;
	align-self: end;
	display: block;
	padding: 56px 32px 16px;
	text-align: start;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal :is(.product-information, .product-element-bottom) :is(.wd-entities-title, .wd-product-title) {
	min-height: 0 !important;
	margin-bottom: 8px;
	color: var(--sirbal-card-ink, #10222b);
	font-size: clamp(20px, 2vw, 26px) !important;
	font-weight: 600;
	line-height: 1.55;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal :is(.product-information, .product-element-bottom) .price {
	color: var(--sirbal-color-petrol, #0b3f50);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	margin-top: 12px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	font-size: 20px !important;
	font-weight: 600;
}
.sirbal-quick-shop-modal .wd-entities-title a { display: block !important; overflow: visible !important; }
.sirbal-quick-shop-modal .price ins :is(.amount, bdi, .woocommerce-Price-currencySymbol) { color: var(--sirbal-card-sale); }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal :is(.product-information, .product-element-bottom) :is(.wd-add-btn, .wd-swatches-grid, .wd-swatches-product, .wd-buttons, .star-rating, .wd-product-brands-links, .sirbal-product-colours) {
	display: none !important;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal :is(.product-information, .product-element-bottom) .product_type_variable.add_to_cart_button {
	display: none !important;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .product-element-top > .quick-shop-wrapper {
	position: relative !important;
	inset: auto !important;
	grid-area: options;
	align-self: stretch;
	width: auto !important;
	height: auto !important;
	min-height: 0;
	padding: 0 28px 24px;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: hidden;
	opacity: 1;
	transform: none;
}

.sirbal-quick-shop-panel-heading {
	display: none;
	flex-direction: column;
	gap: 3px;
	margin-bottom: 14px;
	padding-top: 14px;
	border-top: 1px solid rgb(11 63 80 / 10%);
	color: var(--sirbal-card-ink, #10222b);
	text-align: start;
}

.sirbal-quick-shop-panel-heading strong {
	font-size: 14px;
	font-weight: 700;
}

.sirbal-quick-shop-panel-heading span {
	color: var(--sirbal-card-muted);
	font-size: 12px;
	line-height: 1.7;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form {
	display: block;
	height: 100%;
	padding: 0 3px 2px;
	color: var(--sirbal-card-ink, #10222b);
	font-size: 13px;
	text-align: start;
	overflow: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgb(11 63 80 / 25%) transparent;
	scroll-padding-block: 12px;
}
.sirbal-quick-shop-modal :is(.sirbal-product-size-guide, .sirbal-product-stock-note) { display: none; }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form table.variations {
	margin-bottom: 16px;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .variations_form {
	display: block;
	height: auto;
	min-height: 0;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form table.variations .label {
	padding: 8px 0 6px;
	color: var(--sirbal-card-ink, #10222b);
	font-size: 12px;
	font-weight: 700;
	text-align: start;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form select {
	min-height: 46px;
	padding-inline: 13px 38px;
	background-color: #fbfcfb;
	border: 1px solid rgb(11 63 80 / 18%);
	border-radius: 12px;
	color: var(--sirbal-card-ink, #10222b);
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .variable-items-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .variable-items-wrapper .variable-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 4px !important;
	background: var(--sirbal-card-surface);
	border: 1px solid var(--sirbal-card-line) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
}
:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .variable-items-wrapper .variable-item.button-variable-item { min-width: 48px !important; }

/* Percentage widths inside a shrink-to-fit grid made colour spans zero-width. */
.sirbal-quick-shop-modal .quick-shop-form .color-variable-item .variable-item-contents {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
}

.sirbal-quick-shop-modal .quick-shop-form .variable-item-span-color {
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 6px;
}
.sirbal-quick-shop-modal .woo-selected-variation-item-name { display: none; }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .variable-item.selected {
	border-color: var(--sirbal-color-petrol, #0b3f50) !important;
	box-shadow: 0 0 0 2px rgb(11 63 80 / 12%) !important;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .variable-item.disabled {
	opacity: .38;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	height: auto;
	padding: 12px 16px;
	background: var(--sirbal-color-petrol, #0b3f50);
	border-radius: 4px;
	box-shadow: none;
	color: #fff;
	font-size: 13px !important;
	font-weight: 650;
	line-height: 1.6;
	white-space: normal;
}

/* The parent's full-height mobile icon displaced the label below the button. */
.sirbal-quick-shop-modal .quick-shop-form .single_add_to_cart_button::before {
	display: none;
}
.sirbal-quick-shop-modal .variable-item::before, .sirbal-quick-shop-modal .variable-item::after { display: none !important; }

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-close {
	display: none !important;
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper > .sirbal-quick-shop-dismiss {
	position: absolute;
	top: 12px;
	inset-inline-end: 12px;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: var(--sirbal-card-surface);
	border: 1px solid var(--sirbal-card-line);
	border-radius: 50%;
	color: var(--sirbal-card-ink);
	font: 400 28px/1 Arial, sans-serif;
	cursor: pointer;
	transition: background-color 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.sirbal-quick-shop-modal > .product-wrapper > .sirbal-quick-shop-dismiss:hover { background: var(--sirbal-shop-cream, #fff8f0); }
}

:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper :is(a, button, select, input):focus-visible {
	outline: 3px solid rgb(11 63 80 / 32%);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal > .product-wrapper {
		top: auto;
		bottom: max(8px, env(safe-area-inset-bottom));
		grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
		grid-template-rows: minmax(190px, 25dvh) minmax(0, 1fr);
		grid-template-areas: "media info" "options options";
		width: calc(100vw - 16px);
		height: min(640px, calc(100dvh - 16px));
		padding: 0;
		border-radius: 12px;
		transform: translate(-50%, 24px) scale(.985);
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal.is-visible > .product-wrapper {
		transform: translate(-50%, 0) scale(1);
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .product-element-top > .product-image-link {
		padding: 24px 12px 12px;
		border-radius: 0;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper > :is(.product-information, .product-element-bottom) {
		align-self: stretch;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 48px 12px 12px 16px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal :is(.product-information, .product-element-bottom) :is(.wd-entities-title, .wd-product-title) {
		margin-bottom: 2px;
		font-size: 19px !important;
		line-height: 1.6;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal :is(.product-information, .product-element-bottom) .price {
		margin-top: 8px;
		padding: 0;
		font-size: 17px !important;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .product-element-top > .quick-shop-wrapper {
		padding: 0 16px 14px;
	}

	.sirbal-quick-shop-panel-heading {
		margin-bottom: 8px;
		padding-top: 9px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal .quick-shop-form {
		height: 100%;
		font-size: 12px;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper > .sirbal-quick-shop-dismiss {
		top: 8px;
		inset-inline-end: 12px;
	}
}
.sirbal-quick-shop-modal .sirbal-quick-shop-dismiss:focus-visible { outline-color: var(--sirbal-card-petrol) !important; }

@media (min-width: 768px) and (max-height: 640px) {
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal > .product-wrapper {
		height: calc(100dvh - 24px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sirbal-quick-shop-backdrop,
	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .products.elements-grid > .wd-product.wd-hover-standard.sirbal-quick-shop-modal > .product-wrapper {
		transition-duration: 0.01ms !important;
	}

	:is(body.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body.tax-product_brand) .sirbal-quick-shop-modal > .product-wrapper > .sirbal-quick-shop-dismiss:hover {
		transform: none;
	}
}
