/*
 * Reusable components (prefix hg-). Markup is produced by the hg-core plugin; styling lives here.
 * Each block mirrors a reference element (reference-analysis.md § 9.4 / § 10).
 */

/* Badge pills ─────────────────────────────────────────────────────── */
.hg-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: var(--hg-radius-pill);
	font-size: var(--hg-fs-badge);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--hg-color-white);
	background: var(--hg-color-text);
}
.hg-badge--sale { background: var(--hg-color-sale); color: #1a1a1a; }
.hg-badge--hot { background: var(--hg-color-hot); }
.hg-badge--soldout { background: var(--hg-color-soldout); }
.hg-badge--success { background: var(--hg-color-success); text-transform: none; letter-spacing: 0; }

/* Rating pill (number + stars) on cards ──────────────────────────── */
.hg-rating-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 10px;
	border-radius: var(--hg-radius-pill);
	background: var(--hg-color-white);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}
.hg-rating-pill .hg-stars { color: var(--hg-color-star); letter-spacing: 1px; font-weight: 400; }

/* Trust box: 4 icon columns with a dark hairline (PDP) ─────────── */
.hg-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	padding: 12px 6px;
	border: 1px solid var(--hg-color-text);
	border-radius: var(--hg-radius-card);
	background: var(--hg-color-surface-2);
	text-align: center;
}
.hg-trust__item svg { width: 28px; height: 28px; margin: 0 auto 6px; display: block; }
.hg-trust__title { display: block; font-size: 12px; font-weight: 600; line-height: 1.25; color: var(--hg-color-text); }
.hg-trust__sub { display: block; font-size: 10px; color: var(--hg-color-muted); line-height: 1.3; }

/* Offer "coupon ticket" card in the accent colour (PDP) ────────── */
.hg-ticket {
	position: relative;
	padding: 14px 24px;
	border-radius: var(--hg-radius-card);
	background: var(--hg-color-accent-strong);
	color: var(--hg-color-white);
}
.hg-ticket::before,
.hg-ticket::after {          /* the half-circle notches */
	content: "";
	position: absolute;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border-radius: 50%;
	background: var(--hg-color-bg);
}
.hg-ticket::before { left: -8px; }
.hg-ticket::after { right: -8px; }
.hg-ticket__row + .hg-ticket__row { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, 0.45); }
.hg-ticket__title { display: block; font-size: 15px; font-weight: 700; text-transform: uppercase; line-height: 1.3; }
.hg-ticket__text { display: block; font-size: 12px; line-height: 1.4; opacity: 0.95; }

/* Quantity pill + buy buttons (PDP) ──────────────────────────────── */
.hg-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--hg-color-muted);
	border-radius: var(--hg-radius-pill);
	height: 42px;
	padding: 0 6px;
	background: transparent;
}
.hg-qty button { background: none; border: 0; width: 34px; height: 34px; font-size: 20px; cursor: pointer; min-height: 0; color: var(--hg-color-text); }
.hg-qty input { width: 40px; border: 0; background: none; text-align: center; font-size: 16px; padding: 0; }
.hg-buy { position: relative; display: flex; flex-direction: column; gap: 10px; }
.hg-buy .button { width: 100%; text-transform: uppercase; }
.hg-buy__tag { position: absolute; left: 8px; top: 0; z-index: 2; transform: translateY(-50%); pointer-events: none; }

/* Product card mock (styleguide) ─────────────────────────────────── */
.hg-card { position: relative; }
.hg-card__media { position: relative; aspect-ratio: 1 / 1; border-radius: var(--hg-radius-card); overflow: hidden; background: var(--hg-color-surface); }
.hg-card__media .hg-badge { position: absolute; top: 10px; left: 10px; }
.hg-card__meta { margin-top: 12px; font-size: var(--hg-fs-meta); color: var(--hg-color-muted); }
.hg-card__title { margin: 2px 0 6px; font-size: 14px; line-height: 1.3; color: var(--hg-color-text); font-weight: 400; }
.hg-card__price { font-size: 14px; font-weight: 700; }
.hg-card__price del { color: var(--hg-color-strike); font-weight: 400; font-size: 12px; margin-left: 6px; }

/* Tabs (Description / Shipping / Specifications) ──────────────── */
.hg-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--hg-color-border); overflow-x: auto; scrollbar-width: none; }
.hg-tabs a { padding: 10px 0; color: var(--hg-color-muted); white-space: nowrap; border-bottom: 2px solid transparent; }
.hg-tabs a.is-active { color: var(--hg-color-text); border-bottom-color: var(--hg-color-text); }

/* Specifications table ────────────────────────────────────────────── */
.hg-specs { width: 100%; border-collapse: collapse; font-size: 14px; }
.hg-specs th,
.hg-specs td { border: 1px solid var(--hg-color-border); padding: 14px 12px; text-align: left; vertical-align: top; }
.hg-specs th { font-weight: 700; width: 48%; }

/* Section helpers ────────────────────────────────────────────────── */
.hg-section { padding-block: var(--hg-space-section); }
.hg-surface { background: var(--hg-color-surface); }

/* Bars above the header (hg-core Bars module) ────────────────────── */
.hg-bar-sale { background: var(--hg-color-surface); color: var(--hg-color-text); text-align: center; padding: 8px 0; }
.hg-bar-sale .container { display: flex; align-items: center; justify-content: center; gap: 8px 28px; flex-wrap: wrap; }
.hg-bar-sale__link { display: contents; color: inherit; }
.hg-bar-sale__text { display: flex; flex-direction: column; line-height: 1.3; }
.hg-bar-sale__text strong { font-family: var(--hg-font-heading); font-weight: 600; font-size: 16px; }
.hg-bar-sale__text span { font-size: 13px; }
.hg-countdown { display: inline-flex; align-items: flex-start; gap: 14px; font-family: var(--hg-font-heading); }
.hg-countdown__unit { display: inline-flex; flex-direction: column; align-items: center; min-width: 34px; }
.hg-countdown__unit b { font-size: 22px; font-weight: 600; line-height: 1.1; }
.hg-countdown__unit small { font-size: 11px; color: var(--hg-color-text); }
.hg-countdown__unit { position: relative; }
.hg-countdown__unit + .hg-countdown__unit::before { content: ":"; position: absolute; left: -10px; top: 0; font-size: 20px; font-weight: 600; line-height: 1.1; }
@media (max-width: 767px) {
	.hg-bar-sale .container { flex-direction: column; gap: 4px; }
	.hg-bar-sale__text strong { font-size: 17px; }
}
.hg-bar-ann { background: #000; color: #fff; font-size: 14px; }
.hg-bar-ann .container { position: relative; display: flex; align-items: center; justify-content: center; min-height: 36px; }
.hg-bar-ann__list { list-style: none; margin: 0; padding: 0; position: relative; min-height: 22px; flex: 1; text-align: center; }
.hg-bar-ann__item { display: none; align-items: center; justify-content: center; gap: 10px; margin: 0; animation: hg-fade .4s ease; }
.hg-bar-ann__item.is-active { display: flex; }
.hg-bar-ann__item .hg-icon { width: 20px; height: 20px; flex: none; }
.hg-bar-ann__social { position: absolute; right: 15px; display: flex; gap: 12px; }
.hg-bar-ann__social a { color: #fff; display: inline-flex; }
.hg-bar-ann__social .hg-icon { width: 16px; height: 16px; }
@media (max-width: 1024px) { .hg-bar-ann__social { display: none; } .hg-bar-ann { font-size: 15px; } }
@keyframes hg-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .hg-bar-ann__item { animation: none; } }

/* Header (WoodMart header builder "HG Main Header") ──────────────── */
.whb-header .wd-nav-main > li > a,
.whb-header .wd-nav > li > a { font-size: 15px; font-weight: 400; text-transform: none; }
.whb-header .wd-nav > li .menu-label { font-size: 9px; padding: 2px 6px; border-radius: 3px; text-transform: none; font-weight: 400; }

/* Footer ──────────────────────────────────────────────────────────── */
.footer-container { border-top: 1px solid var(--hg-color-border); }
.footer-container .widget-title { font-family: var(--hg-font-body); font-weight: 700; font-size: 16px; text-transform: none; }
.footer-container .widget ul li a { color: var(--hg-color-text); }
.footer-container .widget ul li a:hover { color: var(--hg-color-accent); }
.hg-footer-about { margin-top: 14px; color: var(--hg-color-muted); font-size: 15px; line-height: 1.6; }
.hg-footer-contact { list-style: none; margin: 0; padding: 0; }
.hg-footer-contact li { margin-bottom: 8px; }
.wd-copyrights { color: var(--hg-color-muted); font-size: 13px; }

/* Shop-by-style chips in the title band (hg-core StyleChips) ─────── */
/* Title band: centred title on its own line, chips below (reference); no back arrow. */
.wd-page-title .wd-title-wrapp { display: flex; flex-direction: column; align-items: center; text-align: center; width: 100%; }
.wd-page-title .wd-back-btn { display: none; }
.wd-page-title .entry-title { font-size: clamp(24px, 2vw + 14px, 32px); margin: 0; }
.hg-chips { width: 100%; max-width: 100%; min-width: 0; }
.hg-chips { margin-top: 14px; text-align: center; }
.hg-chips__list { list-style: none; margin: 0 auto; padding: 4px 4px 8px; display: flex; gap: 12px; justify-content: center; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.hg-chips__list::-webkit-scrollbar { display: none; }
.hg-chips__list li { flex: none; margin: 0; }
.hg-chip { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; overflow-wrap: normal; border-radius: 50%; background: #111; color: #fff; text-align: center; font-family: var(--hg-font-heading); font-weight: 600; font-size: 10px; line-height: 1.15; padding: 6px; box-shadow: 0 0 0 2px var(--hg-color-surface), 0 0 0 3px #111; transition: transform .2s ease, box-shadow .2s ease; }
.hg-chip:hover { color: #fff; transform: translateY(-2px); }
.hg-chip.is-active { box-shadow: 0 0 0 2px var(--hg-color-surface), 0 0 0 4px var(--hg-color-accent); }
.hg-chip--all { font-size: 14px; }
.hg-chips__more { display: inline-block; margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--hg-color-text); }
@media (max-width: 767px) {
	.hg-chips__list { justify-content: flex-start; }
	.hg-chip { width: 74px; height: 74px; font-size: 9px; padding: 4px; }
}

/* Product cards (WoodMart predefined "base") ────────────────────── */
/* Reference: left-aligned info, bold sale price first then struck MRP, small pill badge top-left. */
.wd-product .product-element-bottom,
.wd-product .wd-product-header,
.wd-product .wrap-price { text-align: start; justify-content: flex-start; align-items: flex-start; }
body .wd-product .price { display: inline-flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.wd-product .price del { order: 2; }
.wd-product .price ins { order: 1; }
.product-labels { inset-inline-start: 10px; top: 10px; gap: 4px; }
.product-labels .product-label { min-width: 0; min-height: 0; padding: 3px 8px; border-radius: var(--hg-radius-pill); font-size: 9px; line-height: 1.4; }
.wd-product .wd-entities-title { font-size: 14px; line-height: 1.3; font-weight: 400; }
.wd-product .wd-product-cats { font-size: var(--hg-fs-meta); color: var(--hg-color-muted); }
.wd-product .price { font-size: 14px; }
.wd-product .star-rating { color: var(--hg-color-star); }
.page-title .entry-title, .page-title .title { font-family: var(--hg-font-heading); font-weight: 600; }

/* Shop toolbar: Filter | sort (reference); hide per-page links + result count line on mobile */
.wd-products-per-page { display: none; }
@media (max-width: 1024px) {
	/* hidden on mobile like the reference; !important beats WoodMart's late-loaded part CSS (was causing CLS 0.23) */
	.shop-loop-head .woocommerce-result-count { display: none !important; }
	.shop-loop-head .wd-shop-tools:empty, .shop-loop-head .wd-shop-tools:has(> .woocommerce-result-count:only-child) { display: none !important; }
	.wd-show-sidebar-btn { border: 1px solid var(--hg-color-text); border-radius: var(--hg-radius-btn); padding: 6px 14px; }
	.wd-show-sidebar-btn .wd-action-text { font-weight: 600; }
}

/* Product page (hg-core ProductPage + WoodMart single product) ───── */
.single-product .product_title { font-family: var(--hg-font-heading); font-weight: 600; font-size: var(--hg-fs-pdp-title); line-height: 1.3; }
.single-product .summary .price { font-size: var(--hg-fs-price-pdp); font-weight: 700; display: inline-flex; align-items: baseline; gap: 10px; }
.single-product .summary .price del { order: 2; font-size: 15px; }
.single-product .summary .price ins { order: 1; }
.single-product .summary :is(form.cart:not(.variations_form), .woocommerce-variation-add-to-cart) { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.single-product .summary .quantity { order: 1; }
.single-product .summary .single_add_to_cart_button { order: 2; }
.single-product .summary .hg-prepaid-tag { order: 3; }
.single-product .summary .wd-buy-now-btn { order: 4; }
.single-product .summary p.stock:empty { display: none; }
.single-product form.cart .quantity { border: 1px solid var(--hg-color-muted); border-radius: var(--hg-radius-pill); overflow: hidden; }
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .wd-buy-now-btn { flex: 1 1 100%; width: 100%; min-height: 46px; border-radius: var(--hg-radius-btn); text-transform: uppercase; }
.single-product form.cart .wd-buy-now-btn { --btn-bgcolor: #000; --btn-color: #fff; --btn-bgcolor-hover: #2b2b2b; --btn-color-hover: #fff; margin-top: 0; }
.hg-prepaid-tag { position: relative; z-index: 2; flex: 0 0 auto; width: auto !important; max-width: max-content; margin: 0 0 -21px 12px; align-self: flex-start; pointer-events: none; font-size: 10px; padding: 2px 10px; }
.hg-pdp-extras { display: grid; gap: 16px; margin: 18px 0 8px; }
.single-product .woocommerce-tabs .tabs li a, .single-product .wd-nav-tabs > li > a { text-transform: none; font-weight: 400; }
.single-product .stock.in-stock, .single-product .stock.available-on-backorder { color: var(--hg-color-hot); font-weight: 600; }
@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery { margin-inline: calc(-1 * var(--hg-gutter)); }
}

/* Homepage (Elementor + WoodMart elements, tools/remote/build-homepage.php) ─────────── */
.hg-home-title .woodmart-title-container, .hg-home-title .title { font-family: var(--hg-font-heading); font-weight: 600; font-size: var(--hg-fs-section-title); }
.hg-home-hero .wd-banner, .hg-home-promo .wd-banner, .hg-home-promo { border-radius: var(--hg-radius-card); overflow: hidden; }
.hg-home-hero .banner-title, .hg-home-promo .banner-title { font-family: var(--hg-font-heading); font-weight: 600; font-size: clamp(26px, 3vw + 10px, 46px); line-height: 1.15; }
.hg-home-hero .banner-subtitle, .hg-home-promo .banner-subtitle { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; font-weight: 700; color: var(--hg-color-accent); }
.hg-marquee-wrap { border-block: 2px solid #000; background: var(--hg-color-bg); }
.hg-marquee .wd-marquee-item, .hg-marquee .wd-marquee-content { font-family: var(--hg-font-heading); font-style: italic; font-weight: 400; font-size: clamp(18px, 1vw + 12px, 24px); }
.hg-marquee .wd-marquee-item:nth-child(even) { color: var(--hg-color-coupon); }
.hg-home-cats .wd-cat .wd-entities-title, .hg-home-cats .category-title { font-family: var(--hg-font-heading); font-weight: 500; font-size: 18px; }
.hg-home-cats .wd-cat-thumb, .hg-home-cats img { border-radius: var(--hg-radius-card); }
.hg-home-tabs .tabs-name { font-family: var(--hg-font-heading); font-weight: 600; font-size: var(--hg-fs-section-title); text-transform: none; letter-spacing: 0; }
.hg-home-tabs .wd-tabs-title { text-transform: none; }
.hg-home-tabs .wd-nav-tabs > li > a { font-size: 15px; text-transform: none; }
.hg-home-btn { display: flex; justify-content: center; }
.hg-trust--plain { border: 0; background: transparent; gap: 24px 8px; padding: 8px 0; }
.hg-trust--plain .hg-trust__item svg { width: 36px; height: 36px; }
.hg-trust--plain .hg-trust__title { font-family: var(--hg-font-heading); font-size: 16px; }
.hg-trust--plain .hg-trust__sub { font-size: 12px; }
.hg-home-trust { background: var(--hg-color-surface); }
@media (max-width: 767px) { .hg-trust--plain { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Hero/promo text never covers the product side of the banner; real banners should keep the left ~50% calm. */
.hg-home-hero .promo-banner .content-banner, .hg-home-promo .promo-banner .content-banner { max-width: 46% !important; white-space: normal; }
@media (max-width: 767px) {
	.hg-home-hero .content-banner, .hg-home-promo .content-banner { max-width: 78%; padding: 16px; background: rgba(243,239,236,.9); border-radius: var(--hg-radius-card); }
	.hg-home-hero .banner-title, .hg-home-promo .banner-title { font-size: 22px; }
}

/* Checkout (hg-core Checkout) ─────────────────────────────────────── */
.woocommerce-checkout .hg-field-hidden { display: none !important; }
.woocommerce-checkout .form-row .description { font-size: 12px; color: var(--hg-color-muted); }
.hg-terms-notice { font-size: 12px; color: var(--hg-color-muted); margin: 6px 0 12px; }
.woocommerce-checkout #place_order { min-height: 50px; font-size: 16px; }

/* QA fixes (Phase 11) ──────────────────────────────────────────────── */
/* Reviews block was 5px wider than the viewport on tablets. */
.single-product .woocommerce-Reviews, .single-product .wd-rating-summary-wrap { max-width: 100%; overflow-x: clip; }
/* Comfortable tap targets in the review form (≥ 24px). */
.comment-form-rating .stars a { width: 26px; height: 26px; font-size: 22px; line-height: 26px; }
.comment-form-cookies-consent input[type="checkbox"] { width: 20px; height: 20px; }
@media (max-width: 767px) {
	/* Carousels are swiped on phones; half-visible arrows at the screen edge looked broken. */
	.wd-carousel-container .wd-nav-arrows, .wd-carousel-container .wd-btn-arrow { display: none !important; }
}

/* a11y contrast (Phase 11): links that inherited the taupe accent on beige were < 4.5:1 */
.lost_password a, .woocommerce-LostPassword a, a.woocommerce-LostPassword, .woocommerce-form-login a, .reset_variations, .woocommerce-privacy-policy-text a, .hg-terms-notice a { color: var(--hg-color-text); text-decoration: underline; }
.product-labels .product-label.onsale { color: #1a1a1a; }
.product-labels .product-label.out-of-stock { background-color: var(--hg-color-soldout); color: #fff; }
.single-product .variations_form .reset_variations { color: var(--hg-color-text); }
.woocommerce-breadcrumb a, .wd-breadcrumbs a, .wd-product .wd-product-cats a { color: var(--hg-color-muted); }
.wd-product .price del, .wd-product .price del bdi { color: var(--hg-color-strike); }
h2.widget-title { font-size: 16px; line-height: 1.4; margin-bottom: 15px; }

/* Product video card + popup (hg-core ProductVideo module) ──────── */
.hg-video-card {
	display: flex; align-items: center; gap: 12px; width: 100%; margin: 4px 0 16px; padding: 8px 14px 8px 8px;
	background: var(--hg-color-white); border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-card);
	color: var(--hg-color-text); text-align: left; text-transform: none; letter-spacing: 0; font: inherit; cursor: pointer;
	transition: border-color .2s, box-shadow .2s;
}
.hg-video-card[hidden] { display: none; }
.hg-video-card:hover { border-color: var(--hg-color-accent); box-shadow: 0 4px 14px rgba(0, 0, 0, .06); }
.hg-video-card:focus-visible { outline: 2px solid var(--hg-color-accent-strong); outline-offset: 2px; }
.hg-video-card__thumb {
	position: relative; flex: 0 0 48px; width: 48px; height: 60px; border-radius: calc(var(--hg-radius-card) - 4px);
	overflow: hidden; background: var(--hg-color-dark);
}
.hg-video-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hg-video-card__play {
	position: absolute; inset: 0; margin: auto; width: 28px; height: 28px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; padding-left: 2px;
	background: rgba(255, 255, 255, .92); color: var(--hg-color-dark); box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
	transition: transform .2s;
}
.hg-video-card:hover .hg-video-card__play { transform: scale(1.08); }
.hg-video-card__text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.hg-video-card__title { font-family: var(--hg-font-heading); font-weight: 600; font-size: 15px; line-height: 1.3; }
.hg-video-card__sub { font-size: var(--hg-fs-meta); color: var(--hg-color-muted); }
.hg-video-card__dur { font-size: var(--hg-fs-meta); color: var(--hg-color-muted); font-variant-numeric: tabular-nums; }

.hg-video-open { overflow: hidden; }
.hg-video-modal { padding: 0; border: 0; background: transparent; max-width: none; max-height: none; width: 100%; height: 100%; }
.hg-video-modal::backdrop { background: rgba(10, 10, 10, .88); }
.hg-video-modal[open] { display: flex; align-items: center; justify-content: center; }
.hg-video-modal__box { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.hg-video-modal__frame {
	--hg-ratio: .8;
	width: min(92vw, calc((100dvh - 120px) * var(--hg-ratio))); aspect-ratio: var(--hg-ratio);
	background: #000; border-radius: var(--hg-radius-card); overflow: hidden;
}
.hg-video-modal__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.hg-video-modal__close {
	position: absolute; top: -48px; right: 0; width: 40px; height: 40px; border-radius: 50%; padding: 0;
	display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .14); color: #fff; border: 0; cursor: pointer;
}
.hg-video-modal__close:hover, .hg-video-modal__close:focus-visible { background: rgba(255, 255, 255, .28); }
.hg-video-modal__pager { display: flex; gap: 8px; }
.hg-video-modal__pager[hidden] { display: none; }
.hg-video-modal__pager button {
	min-height: 32px; padding: 4px 14px; border-radius: var(--hg-radius-pill); border: 1px solid rgba(255, 255, 255, .4);
	background: transparent; color: #fff; font-size: 13px; text-transform: none; cursor: pointer;
}
.hg-video-modal__pager button.is-active { background: #fff; color: var(--hg-color-dark); }
@media (max-width: 767px) {
	.hg-video-modal__frame { width: min(100vw - 24px, calc((100dvh - 110px) * var(--hg-ratio))); }
}
@media (prefers-reduced-motion: reduce) { .hg-video-card, .hg-video-card__play { transition: none; } }

/* "Not eligible for exchange" note (hg-core ProductPage, products flagged no-exchange) */
.hg-pdp-note { margin: 10px 0 0; padding: 8px 12px; border-radius: var(--hg-radius-btn); background: var(--hg-color-surface-2); font-size: 13px; }
/* PDP trust box: spread however many items are shown (3 when "Easy Exchange" is hidden for no-exchange products) */
.hg-pdp-extras .hg-trust { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }

/* Key facts under the short description (importer: hg-keyfacts list) */
.woocommerce-product-details__short-description .hg-keyfacts {
	list-style: none; margin: 12px 0 4px; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 20px; font-size: 14px; line-height: 1.4;
}
.woocommerce-product-details__short-description .hg-keyfacts li { position: relative; margin: 0; padding-left: 14px; }
.woocommerce-product-details__short-description .hg-keyfacts li::before {
	content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--hg-color-accent);
}
.woocommerce-product-details__short-description .hg-keyfacts strong { font-weight: 600; }
@media (max-width: 359px) { .woocommerce-product-details__short-description .hg-keyfacts { grid-template-columns: 1fr; } }

/* Price: "You save ₹X (N%)" (hg-core ProductPage) */
.summary .price, .woocommerce-variation-price .price { flex-wrap: wrap; }
.summary .price .hg-save, .woocommerce-variation-price .hg-save {
	display: block; order: 99; flex-basis: 100%; width: 100%; margin-top: 4px;
	font-size: 13px; font-weight: 600; color: var(--hg-color-success);
}

/* "Watch video" pill on the main gallery image (hg-core product-video.js) */
.woocommerce-product-gallery { position: relative; }
.hg-video-pill {
	position: absolute; left: 16px; bottom: 16px; z-index: 6; display: inline-flex; align-items: center; gap: 8px;
	min-height: 36px; padding: 6px 16px 6px 12px; border: 0; border-radius: var(--hg-radius-pill);
	background: rgba(18, 18, 18, .82); color: #fff; font: 600 13px/1 var(--hg-font-body); text-transform: none; letter-spacing: 0;
	cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); backdrop-filter: blur(4px);
}
.hg-video-pill[hidden] { display: none; }
.hg-video-pill:hover, .hg-video-pill:focus-visible { background: rgba(18, 18, 18, .95); }
.hg-video-pill:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* Main photo carousel: pill top-left on desktop (first view), bottom-left on phones (clear of the dots) */
.wd-gallery-images { position: relative; }
@media (min-width: 768px) { .hg-video-pill { top: 16px; bottom: auto; } }
@media (max-width: 767px) {
	.hg-video-pill { left: 12px; bottom: 34px; }
	.single-product .woocommerce-product-gallery .wd-gallery-thumb { display: none; }   /* swipe + dots on phones */
	/* first view on phones: photo (with the Watch video pill) → title → price → colours → buttons */
	.single-product .summary .hg-video-card { display: none; }
	.single-product .summary .woocommerce-breadcrumb, .single-product .summary .wd-breadcrumbs { display: none; }
}

/* Video poster as the last gallery slide (hg-core product-video.js) */
.hg-poster { position: relative; cursor: pointer; }
.hg-poster__play {
	position: absolute; inset: 0; margin: auto; z-index: 3; width: 72px; height: 72px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; padding-left: 4px; pointer-events: none;
	background: rgba(255, 255, 255, .92); color: var(--hg-color-dark); box-shadow: 0 4px 18px rgba(0, 0, 0, .3);
	transition: transform .2s;
}
.hg-poster:hover .hg-poster__play { transform: scale(1.08); }
.hg-poster-thumb { position: relative; }
.hg-poster-thumb::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 26px; height: 26px; border-radius: 50%; pointer-events: none;
	background: rgba(255, 255, 255, .9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23121212'/%3E%3C/svg%3E") center / 16px no-repeat;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .25);
}
@media (prefers-reduced-motion: reduce) { .hg-poster__play { transition: none; } }

/* Colour-name swatches (products with group photos only): bordered badges */
.summary .wd-swatches-product .wd-swatch.wd-text {
	min-height: 36px; padding: 6px 14px; border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-pill);
	background: var(--hg-color-white); color: var(--hg-color-text); font-size: 13px; line-height: 1.3; text-align: center;
}
.summary .wd-swatches-product .wd-swatch.wd-text::before,
.summary .wd-swatches-product .wd-swatch.wd-text::after { display: none; }       /* WoodMart underline */
.summary .wd-swatches-product .wd-swatch.wd-text .wd-swatch-text { position: static; }
.summary .wd-swatches-product .wd-swatch.wd-text:hover { border-color: var(--hg-color-text); }
.summary .wd-swatches-product .wd-swatch.wd-text.wd-active {
	border-color: var(--hg-color-text); background: var(--hg-color-text); color: var(--hg-color-white);
}
.summary .wd-swatches-product .wd-swatch.wd-text.wd-disabled { opacity: .45; text-decoration: line-through; }
.summary .wd-swatches-product:has(.wd-text) { gap: 8px; }

/* Colour swatches as name badges on every product (hg-core product-specs.js adds the name to photo swatches) */
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named {
	width: auto; height: auto; min-height: 38px; padding: 4px 14px 4px 4px; display: inline-flex; align-items: center; gap: 8px;
	border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-pill); background: var(--hg-color-white);
	color: var(--hg-color-text); font-size: 13px; line-height: 1.25;
}
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named::before,
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named::after { display: none; }
.summary .wd-swatch.hg-named .wd-swatch-bg {
	position: static; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; overflow: hidden; inset: auto; transform: none;
}
.summary .wd-swatch.hg-named .wd-swatch-bg img { width: 100%; height: 100%; object-fit: cover; }
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named:hover { border-color: var(--hg-color-text); }
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named.wd-active { border-color: var(--hg-color-text); background: var(--hg-color-text); color: var(--hg-color-white); }
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named.wd-disabled { opacity: .45; }
.summary .wd-swatches-product .wd-swatch.wd-bg.hg-named.wd-disabled .hg-swatch-name { text-decoration: line-through; }
/* One swipeable row of badges (keeps the buy buttons in the first view); fade hints at more colours */
.summary .wd-swatches-product:has(.hg-named),
.summary .wd-swatches-product:has(.wd-text) {
	width: 0; min-width: 100%;            /* don't let the nowrap row widen the variations table; fill the cell instead */
	flex-wrap: nowrap; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
	padding: 2px 2px 8px; scrollbar-width: thin; -webkit-overflow-scrolling: touch;
}
.summary .wd-swatches-product .wd-swatch.hg-named,
.summary .wd-swatches-product .wd-swatch.wd-text { flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap; }
.summary .wd-swatches-product.hg-scrollable { -webkit-mask-image: linear-gradient(to right, #000 88%, transparent); mask-image: linear-gradient(to right, #000 88%, transparent); }
.summary .wd-swatches-product.hg-scrollable.hg-at-end { -webkit-mask-image: none; mask-image: none; }

/* ── Homepage blocks (hg-core HomeMedia: [hg_reels], [hg_video_grid], [hg_featured_product]) ───────── */
.hg-home-title { margin: 0 0 22px; text-align: center; font-family: var(--hg-font-heading); font-size: var(--hg-fs-section-title); font-weight: 600; }
.hg-scroller { position: relative; }
.hg-scroller__wrap { position: relative; }
.hg-scroller__track {
	display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
	scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 4px;
}
.hg-scroller__track::-webkit-scrollbar { display: none; }
.hg-scroller__track > * { scroll-snap-align: start; flex: 0 0 auto; }
.hg-scroller__btn {
	position: absolute; top: 40%; z-index: 3; width: 42px; height: 42px; border-radius: 50%; border: 0; padding: 0;
	background: var(--hg-color-white); color: var(--hg-color-text); font-size: 26px; line-height: 1; box-shadow: 0 2px 10px rgba(0, 0, 0, .15); cursor: pointer;
}
.hg-scroller__btn--prev { left: -10px; }
.hg-scroller__btn--next { right: -10px; }
@media (max-width: 1024px) { .hg-scroller__btn { display: none; } }

/* Experience It Live */
.hg-reel { width: clamp(220px, 15.5vw, 250px); display: flex; flex-direction: column; gap: 10px; }
.hg-reel__media {
	position: relative; display: block; width: 100%; aspect-ratio: 9 / 16; padding: 0; overflow: hidden; cursor: pointer;
	border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-card); background: var(--hg-color-surface-2);
}
.hg-reel__video, .hg-vgrid__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hg-reel__tag {
	position: absolute; top: 10px; left: 10px; z-index: 2; padding: 3px 16px 3px 8px; font-size: 12px; line-height: 1.4; color: #fff;
	background: var(--hg-color-accent); clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);
}
.hg-reel__play { display: none; }
.hg-noautoplay .hg-reel__play, .hg-reel__media:hover .hg-reel__play {
	display: flex; position: absolute; inset: 0; margin: auto; width: 54px; height: 54px; border-radius: 50%; z-index: 2;
	background: rgba(255, 255, 255, .9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23121212'/%3E%3C/svg%3E") center / 26px no-repeat;
}
.hg-reel__info { display: flex; gap: 10px; align-items: center; min-width: 0; }
.hg-reel__thumb img { width: 50px; height: 50px; object-fit: cover; border-radius: 6px; display: block; }
.hg-reel__text { min-width: 0; display: flex; flex-direction: column; }
.hg-reel__name { font-size: 14px; color: var(--hg-color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hg-reel__price { font-size: 13px; }
.hg-reel__price ins, .hg-reel__price > .amount { color: var(--hg-color-hot); text-decoration: none; font-weight: 600; }
.hg-reel__price del { color: var(--hg-color-strike); margin-left: 4px; }
.hg-reel__cta.button, .hg-feature__cta.button {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 40px; border-radius: var(--hg-radius-btn);
	background: var(--hg-color-dark); color: #fff; text-transform: none; font-weight: 500;
}
.hg-reel__cta.button:hover { background: #000; color: #fff; }
.hg-reel__cta.is-disabled { background: var(--hg-color-surface); color: var(--hg-color-muted); }
@media (max-width: 767px) { .hg-reel { width: 62vw; } }

/* IG Giveaway Winners */
.hg-vgrid .hg-scroller__track { justify-content: safe center; }
.hg-vgrid__cell {
	position: relative; width: clamp(200px, 17.5vw, 260px); aspect-ratio: 9 / 16; overflow: hidden;
	border-radius: var(--hg-radius-card); background: var(--hg-color-dark);
}
.hg-vgrid__sound, .hg-vgrid__toggle {
	position: absolute; bottom: 12px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
	background: rgba(18, 18, 18, .6) center / 18px no-repeat; color: #fff;
}
.hg-vgrid__toggle { left: 12px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23fff'/%3E%3C/svg%3E"); }
.hg-vgrid__cell.is-playing .hg-vgrid__toggle { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 6h3v12H8zM13 6h3v12h-3z' fill='%23fff'/%3E%3C/svg%3E"); }
.hg-vgrid__sound { right: 12px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M17 9l4 6M21 9l-4 6'/%3E%3C/svg%3E"); }
.hg-vgrid__sound[aria-pressed="true"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M17 8a5 5 0 0 1 0 8M19.5 5.5a8.5 8.5 0 0 1 0 13'/%3E%3C/svg%3E"); }
@media (max-width: 767px) { .hg-vgrid__cell { width: 46vw; } }

/* Featured product */
.hg-feature { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 32px; align-items: start; }
.hg-feature__gallery { border-radius: var(--hg-radius-card); overflow: hidden; background: var(--hg-color-white); }
.hg-feature__slide { margin: 0; width: 100%; }
.hg-feature__slide img { width: 100%; height: auto; display: block; }
.hg-feature__title { font-family: var(--hg-font-heading); font-size: 22px; margin: 6px 0 10px; }
.hg-feature__title a { color: var(--hg-color-text); }
.hg-feature .price { font-size: var(--hg-fs-price-pdp); font-weight: 600; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.hg-feature .price del { color: var(--hg-color-strike); font-size: 15px; font-weight: 400; }
.hg-feature .hg-save { display: block; margin: 4px 0 16px; font-size: 13px; font-weight: 600; color: var(--hg-color-success); }
.hg-feature__form { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.hg-feature__form .single_add_to_cart_button { min-width: 200px; }
@media (max-width: 767px) { .hg-feature { grid-template-columns: 1fr; gap: 16px; } }

/* Review screenshots (hg_gallery style="cards") */
.hg-gallery__item { display: block; width: clamp(200px, 17.5vw, 260px); border-radius: var(--hg-radius-card); overflow: hidden; background: var(--hg-color-white); }
.hg-gallery__item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .3s; }
.hg-gallery__item:hover img { transform: scale(1.03); }
@media (max-width: 767px) { .hg-gallery__item { width: 62vw; } }

/* Shipping partner logos (hg_gallery style="logos"): endless scroll */
.hg-logos__viewport { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.hg-logos__row { display: flex; flex: 0 0 auto; gap: 18px; margin: 0; padding: 0 9px; list-style: none; animation: hg-logos 28s linear infinite; }
.hg-logos__row li { flex: 0 0 auto; }
.hg-logos__row img { display: block; width: 150px; height: 84px; object-fit: contain; background: var(--hg-color-white); border-radius: var(--hg-radius-card); }
.hg-logos__viewport:hover .hg-logos__row { animation-play-state: paused; }
@keyframes hg-logos { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .hg-logos__row { animation: none; } .hg-logos__row[aria-hidden] { display: none; } .hg-logos__viewport { overflow-x: auto; } }

/* Sale banner with countdown + coupon (hg_sale_banner) */
.hg-sale-banner { position: relative; border-radius: var(--hg-radius-card); overflow: hidden; }
.hg-sale-banner__img { display: block; width: 100%; height: auto; }
.hg-sale-banner__box {
	position: absolute; right: 5%; top: 50%; transform: translateY(-50%); width: min(380px, 42%);
	display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 20px; text-align: center;
	background: rgba(243, 239, 236, .94); border-radius: var(--hg-radius-card); box-shadow: 0 6px 24px rgba(0, 0, 0, .15);
}
.hg-sale-banner__title { margin: 0; font-family: var(--hg-font-heading); font-size: clamp(17px, 1.4vw, 22px); }
.hg-sale-banner__timer { justify-content: center; }
.hg-sale-banner__timer .hg-countdown__unit b { font-size: 26px; }
.hg-sale-banner__coupon { margin: 0; font-size: 14px; letter-spacing: .04em; }
.hg-sale-banner__coupon strong { padding: 2px 10px; border: 1px dashed var(--hg-color-text); border-radius: var(--hg-radius-btn); }
.hg-sale-banner__btn.button { min-width: 160px; border-radius: var(--hg-radius-btn); background: var(--hg-color-dark); color: #fff; }
@media (max-width: 767px) {
	.hg-sale-banner__box { position: static; transform: none; width: auto; margin: -24px 12px 0; }
}

/* Featured product: quantity stepper like the product page */
.hg-feature__form .quantity { display: inline-flex; align-items: center; height: var(--hg-btn-height); border: 1px solid var(--hg-color-text); border-radius: var(--hg-radius-pill); overflow: hidden; }
.hg-feature__form .quantity input.qty { width: 44px; height: 100%; border: 0; padding: 0; text-align: center; background: transparent; }
.hg-feature__form .quantity .minus, .hg-feature__form .quantity .plus { width: 34px; height: 100%; border: 0; padding: 0; background: transparent; color: var(--hg-color-text); cursor: pointer; }
.hg-feature__form .single_add_to_cart_button { height: var(--hg-btn-height); border-radius: var(--hg-radius-btn); }

/* "Other colours" (WoodMart linked products) use the same name badges; their own hidden label is not needed */
.summary .wd-swatch.hg-named .wd-swatch-text { display: none; }
.summary .wd-swatches-product .wd-swatch.hg-named { width: auto; height: auto; min-height: 38px; padding: 4px 14px 4px 4px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-pill); background: var(--hg-color-white); color: var(--hg-color-text); font-size: 13px; line-height: 1.25; }
.summary .wd-swatches-product .wd-swatch.hg-named.wd-active { border-color: var(--hg-color-text); background: var(--hg-color-text); color: var(--hg-color-white); }
.summary .wd-swatches-product .wd-swatch.hg-named::before, .summary .wd-swatches-product .wd-swatch.hg-named::after { display: none; }

/* ── Checkout & orders (hg-core Shiprocket / OrderThanks / TrackOrder / Contact) ─────────────────── */
/* COD only: hide the UPI icons Shiprocket shows on its Buy Now button */
.sr-buy-now img[src*="upi_options"], .sr-d-flex img[src*="upi_options"] { display: none !important; }

/* Thank-you page */
/* the hero replaces WooCommerce's "order received" notice; a Shiprocket placeholder email (<phone>@fastrr.com) is not shown to the shopper */
.woocommerce-order:has(.hg-thanks) .woocommerce-thankyou-order-received, .woocommerce-order:has(.hg-thanks.is-noemail) .woocommerce-customer-details--email { display: none; }
.hg-thanks { max-width: 760px; margin: 0 auto 32px; padding: 28px 24px; background: var(--hg-color-white); border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-card); }
.hg-thanks__head { text-align: center; margin-bottom: 22px; }
.hg-thanks__tick { display: inline-flex; width: 60px; height: 60px; border-radius: 50%; align-items: center; justify-content: center; background: var(--hg-color-success); color: #fff; margin-bottom: 12px; }
.hg-thanks__title { font-family: var(--hg-font-heading); font-size: clamp(20px, 2.2vw, 26px); margin: 0 0 6px; }
.hg-thanks__meta { margin: 0; color: var(--hg-color-muted); font-size: 15px; }
.hg-thanks__steps { list-style: none; counter-reset: hgstep; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.hg-thanks__steps li { counter-increment: hgstep; position: relative; padding: 12px 14px 12px 52px; border-radius: var(--hg-radius-btn); background: var(--hg-color-surface-2); display: flex; flex-direction: column; gap: 2px; }
.hg-thanks__steps li::before { content: counter(hgstep); position: absolute; left: 14px; top: 12px; width: 26px; height: 26px; border-radius: 50%; background: var(--hg-color-text); color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.hg-thanks__steps strong { font-size: 15px; }
.hg-thanks__steps span { font-size: 13px; color: var(--hg-color-muted); }
.hg-thanks__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; margin-bottom: 18px; }
.hg-thanks__btn.button { min-width: 160px; border-radius: var(--hg-radius-btn); background: var(--hg-color-dark); color: #fff; }
.hg-thanks__btn--wa.button { background: #1f9d55; }
.hg-thanks__link { font-weight: 600; color: var(--hg-color-text); }
.hg-thanks__email { margin: 6px 0 14px; padding: 14px; border: 1px dashed var(--hg-color-border); border-radius: var(--hg-radius-btn); }
.hg-thanks__email label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 8px; }
.hg-thanks__email-row { display: flex; gap: 8px; }
.hg-thanks__email-row input { flex: 1; min-width: 0; }
.hg-thanks__note { margin: 8px 0 0; font-size: 14px; } .hg-thanks__note.is-ok { color: var(--hg-color-success); } .hg-thanks__note.is-err { color: var(--hg-color-soldout); }
.hg-thanks__help { text-align: center; font-size: 13px; color: var(--hg-color-muted); margin: 0; }
.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received:empty { display: none; }
@media (max-width: 767px) { .hg-thanks { padding: 20px 14px; } .hg-thanks__email-row { flex-direction: column; } .hg-thanks__btn.button { flex: 1 1 100%; } }

/* Track Order page */
.hg-track { max-width: 640px; margin: 0 auto; }
.hg-track__form { display: grid; gap: 12px; padding: 20px; background: var(--hg-color-white); border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-card); }
.hg-track__form label { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.hg-track__form .button { border-radius: var(--hg-radius-btn); background: var(--hg-color-dark); color: #fff; }
.hg-track__result { margin-top: 18px; padding: 20px; background: var(--hg-color-white); border: 1px solid var(--hg-color-border); border-radius: var(--hg-radius-card); }
.hg-track__title { font-size: 18px; margin: 0 0 14px; }
.hg-track__steps { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; text-align: center; font-size: 12px; }
.hg-track__steps li { padding-top: 26px; position: relative; color: var(--hg-color-muted); }
.hg-track__steps li::before { content: ""; position: absolute; top: 4px; left: 50%; transform: translateX(-50%); width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--hg-color-border); background: var(--hg-color-white); }
.hg-track__steps li.is-done { color: var(--hg-color-text); font-weight: 600; }
.hg-track__steps li.is-done::before { background: var(--hg-color-success); border-color: var(--hg-color-success); }
.hg-track__ship { font-weight: 600; }
.hg-track__scans { margin: 0 0 12px; padding-left: 18px; font-size: 13px; } .hg-track__scans time { color: var(--hg-color-muted); }
.hg-track__msg.is-err { color: var(--hg-color-soldout); }
.hg-track__help { text-align: center; font-size: 13px; color: var(--hg-color-muted); margin-top: 14px; }

/* Floating WhatsApp button (above WoodMart's scroll-to-top) */
.hg-wa-float { position: fixed; right: 18px; bottom: 84px; z-index: 390; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #25d366; color: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.hg-wa-float:hover { color: #fff; transform: scale(1.05); }
@media (max-width: 767px) { .hg-wa-float { right: 12px; bottom: 76px; width: 48px; height: 48px; } }

/* Sticky add-to-cart bar (WoodMart): Shiprocket BUY NOW leads — every order goes through Shiprocket checkout */
.wd-sticky-btn .wd-buy-now-btn, .wd-sticky-btn form.cart .quantity { display: none !important; }
.single-product .wd-sticky-btn form.cart { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; margin: 0; }
.single-product .wd-sticky-btn form.cart .single_add_to_cart_button:not(.sr-headless-checkout) { order: 2; flex: 0 0 170px; width: 170px; min-height: 46px; margin: 0; }
.wd-sticky-btn .wc-proceed-to-checkoutt { order: 1; flex: 0 0 220px; margin: 0; }
.wd-sticky-btn .shiprocket-headless, .wd-sticky-btn .sr-headless-checkout { width: 100%; margin: 0 !important; }
.wd-sticky-btn .price { display: inline-flex; align-items: baseline; gap: 8px; }
.wd-sticky-btn .price .hg-save { font-size: 13px; font-weight: 600; }
body:has(.wd-sticky-btn.wd-sticky-btn-shown) .hg-wa-float { bottom: 111px; }
@media (max-width: 767px) {
	.wd-sticky-btn { --wd-sticky-btn-height: 50px; height: auto; padding: 0; }
	.wd-sticky-btn .wd-sticky-btn-cart { width: 100%; padding: 0; }
	.single-product .wd-sticky-btn form.cart .single_add_to_cart_button:not(.sr-headless-checkout) { display: none !important; }
	.wd-sticky-btn .wc-proceed-to-checkoutt { flex: 1 1 100%; }
	.single-product .wd-sticky-btn form.cart .sr-headless-checkout { min-height: 50px; border-radius: 0; }
	.scrollToTop { display: none !important; }
	body:has(.wd-sticky-btn.wd-sticky-btn-shown) .hg-wa-float { bottom: 66px; }
}
