/* RefStore Revive: minimal helpers for revived drawers. The JS sets most inline
   styles; this only smooths the side-panel fallback and locks scroll. */
[data-rs-revive-open] { overflow: hidden; }

.wd-cart-number,
[class*="cart-number"] { white-space: nowrap; }

/* Revived side panels animate in instead of snapping. */
.is-open[style*="position: fixed"] {
	transition: transform .22s ease, opacity .22s ease;
}

/* ---- Clone WooCommerce templates ----
   The cards/summary emit WoodMart's exact DOM so the reference CSS (loaded from
   the mirrored header) styles them natively. We only provide a grid safety net
   keyed off WoodMart's own --wd-col vars, and decorations for the few static
   widgets WooCommerce has no markup for. No !important card overrides — they
   would fight the reference styling. */
.clone-archive ul.products {
	display: grid;
	grid-template-columns: repeat(var(--wd-col-lg, var(--clone-cols, 4)), minmax(0, 1fr));
	gap: 24px;
	list-style: none;
	margin: 24px 0;
	padding: 0;
}
.clone-archive ul.products::before,
.clone-archive ul.products::after { content: none; display: none; }
.clone-archive ul.products > li.product { width: auto; margin: 0; float: none; list-style: none; }
@media (max-width: 1024px) { .clone-archive ul.products { grid-template-columns: repeat(var(--wd-col-md, 3), minmax(0, 1fr)); } }
@media (max-width: 640px)  { .clone-archive ul.products { grid-template-columns: repeat(var(--wd-col-sm, 2), minmax(0, 1fr)); } }

/* Static-widget decorations (no WooCommerce markup equivalent). */
.clone-single .wd-buy-now-wrap { display: inline-block; margin: 6px 0 14px; }
.clone-single .wd-buy-now-btn.button.alt { background: #1d2327; color: #fff; }
.clone-single .wd-product-actions { display: flex; gap: 18px; font-size: 13px; margin: 10px 0; }
.clone-single .wd-product-actions a { color: #555; }
.clone-single .wd-product-info.wd-visits-count {
	background: #fdecec; color: #b3261e; padding: 8px 14px; border-radius: 6px;
	font-size: 13px; display: inline-block; margin: 10px 0;
}
.clone-single .wd-social-icons.social-share { display: flex; gap: 12px; align-items: center; font-size: 13px; margin-top: 10px; }

/* Theme-agnostic two-column product layout for the extracted skeleton: the
   reference theme's own gallery|summary column CSS often needs that theme active
   and under-fills on the target, so force a flex row that fills the width. The
   extractor tags the gallery/summary parent with .clone-twocol. */
.clone-skeleton .clone-twocol {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2.5%;
}
.clone-skeleton .clone-twocol > * { float: none; }
.clone-skeleton .clone-twocol > :first-child { flex: 1 1 48%; max-width: 52%; }
.clone-skeleton .clone-twocol > :first-child + * { flex: 1 1 45%; max-width: 47%; }
/* WooCommerce core sets the gallery to width:48% float:left for its OWN two-column
   layout; inside our clone-twocol the gallery already has its column, so make it
   fill that column instead of shrinking to 48% of it (leaving the left half blank). */
.clone-skeleton .woocommerce-product-gallery,
.clone-skeleton .product-images .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.clone-skeleton .woocommerce-product-gallery .flex-viewport,
.clone-skeleton .woocommerce-product-gallery__wrapper { width: 100% !important; }
@media (max-width: 768px) {
	.clone-skeleton .clone-twocol > :first-child,
	.clone-skeleton .clone-twocol > :first-child + * { flex-basis: 100%; max-width: 100%; }
}

/* Synced-data widgets on the clone single product (brand, rating, points, qty). */
.clone-single .summary-inner { position: relative; }
.clone-single .wd-clone-brand {
	position: absolute; top: 0; right: 0; border: 1px solid #eee; border-radius: 8px;
	padding: 14px 18px; font-weight: 800; letter-spacing: 1px; color: #1d2327; font-size: 15px; background: #fff;
}
.clone-single .product_title { padding-right: 120px; }
.clone-single .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; }
.clone-single .woocommerce-product-rating .star-rating { font-size: 15px; color: #f5a623; }
.clone-single .wd-rating-count { color: #777; font-size: 13px; }
.clone-single .wd-clone-points { text-align: center; color: #555; font-size: 13px; margin: 12px 0; }
.clone-single .quantity { display: inline-flex; align-items: stretch; border: 1px solid #ddd; border-radius: 6px; overflow: hidden; vertical-align: middle; }
.clone-single .quantity .wd-qty-btn {
	width: 38px; display: flex; align-items: center; justify-content: center; cursor: pointer;
	background: #f6f7f9; color: #333; font-size: 18px; user-select: none;
}
.clone-single .quantity .wd-qty-btn:hover { background: #ececec; }
.clone-single .quantity input.qty {
	width: 54px; border: 0; border-left: 1px solid #eee; border-right: 1px solid #eee;
	text-align: center; -moz-appearance: textfield; height: 44px;
}
.clone-single .quantity input.qty::-webkit-outer-spin-button,
.clone-single .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Revived mini-cart dropdown body (rebuilt from the Store API). */
.woocommerce-mini-cart.cart_list { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart-item { position: relative; padding: 10px 0 10px 26px; border-bottom: 1px solid #eee; font-size: 13px; }
.woocommerce-mini-cart-item img { width: 40px; height: auto; float: left; margin-right: 10px; border-radius: 4px; }
.woocommerce-mini-cart-item .remove { position: absolute; left: 0; top: 12px; color: #b3261e; font-size: 16px; line-height: 1; text-decoration: none; }
.woocommerce-mini-cart-item .quantity { display: block; color: #777; }
.woocommerce-mini-cart__total { padding: 12px 0; font-size: 14px; }
