/* Suhavi Store - product page. Layout styles carried over unchanged from Suhavi Product Page Redesign 2.1.2 (pdp.css). */
/* Suhavi Product Page Redesign 2.1.2. Every rule is scoped to body.spr-on (single product pages only). */
body.spr-on {
	/* palette (2.0.6): taken from the theme's global colours (Customizer → Colors), so the product page follows them.
	   The theme's teal (palette 1/2) is left out on purpose: the owner does not want green/teal accents.
	   WhatsApp keeps its own green. */
	--spr-gold: var(--theme-button-background-initial-color, #e5b726);
	--spr-gold-ink: var(--theme-button-text-initial-color, #152420);
	--spr-gold-hover-bg: var(--theme-button-background-hover-color, #0c0b07);
	--spr-gold-hover-ink: var(--theme-button-text-hover-color, #e5b726);
	--spr-btn-r: var(--theme-button-border-radius, 100px);
	--spr-gold-soft: color-mix(in srgb, var(--spr-gold) 14%, #fff);
	--spr-ink: var(--theme-palette-color-4, #152420);
	--spr-muted: var(--theme-text-color, #42504b);
	--spr-line: var(--theme-palette-color-5, #e2edef);
	--spr-sunk: var(--theme-palette-color-6, #eef4f5);
	--spr-teal: var(--theme-palette-color-4, #152420);      /* links, Check button, icons: theme near-black */
	--spr-teal-soft: color-mix(in srgb, var(--spr-gold) 10%, #fff);
	--spr-good: color-mix(in srgb, var(--spr-gold) 55%, #000); /* amounts: deeper shade of the button gold */
	--spr-good-soft: color-mix(in srgb, var(--spr-gold) 12%, #fff);
	--spr-red: #b3262c;
	--spr-r: 12px;
}
body.spr-on .spr-hidden, body.spr-on.single-product p.price.spr-hidden, body.spr-on.single-product .entry-summary .spr-hidden { display: none !important; }
body.spr-on p.price .suhavi-no-cost-emi-shell { display: none !important; } /* read by pdp.js, shown as the EMI strip */
body.spr-on .ct-floating-bar { display: none !important; } /* replaced by .spr3-bar */
body.spr-on .entry-summary { container-type: inline-size; }
body.spr-on .spr3 { display: flex; flex-direction: column; gap: 14px; color: var(--spr-ink); }
body.spr-on .spr3 svg:not(.ct-button-loader) { display: block; }
body.spr-on .spr3-h { font-size: 15px; font-weight: 700; margin-bottom: 8px; }

/* title + wishlist */
body.spr-on .spr3-title { display: flex; gap: 12px; align-items: flex-start; }
body.spr-on .spr3-title h1 { flex: 1; margin: 0 !important; font-size: clamp(20px, 2.1vw, 26px) !important; line-height: 1.3 !important; }
body.spr-on .spr3-wish { flex: none; width: 40px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; border-radius: 50% !important; border: 1px solid var(--spr-line) !important; background: #fff !important; display: grid !important; place-items: center; }
body.spr-on .spr3-wish .ct-label, body.spr-on .spr3-wish .ct-tooltip { display: none !important; }

/* brand · rating · store chip */
body.spr-on .spr3-by { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: -6px; font-size: 13.5px; }
body.spr-on .spr3-by .ct-product-brands-single { margin: 0 !important; }
body.spr-on .spr3-by .ct-product-brands-single img { max-height: 26px !important; width: auto !important; }
body.spr-on .spr3-by .woocommerce-product-rating { margin: 0 !important; }
body.spr-on .spr3-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--spr-teal-soft); color: var(--spr-teal); border-radius: 99px; padding: 3px 10px; font-weight: 600; font-size: 12.5px; }
body.spr-on .spr3-chip svg { width: 14px; height: 14px; }

/* price */
body.spr-on .spr3-price { border-top: 1px solid var(--spr-line); padding-top: 12px; }
body.spr-on .spr3-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
body.spr-on .spr3-pct { color: var(--spr-red); font-size: 24px; font-weight: 300; }
body.spr-on .spr3-now { font-size: 32px; font-weight: 800; letter-spacing: -.01em; color: var(--spr-ink); }
body.spr-on .spr3-less { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--spr-teal); text-decoration: underline; }
body.spr-on .spr3-mrp { font-size: 13.5px; color: var(--spr-muted); }
body.spr-on .spr3-tax { font-size: 12.5px; color: var(--spr-muted); }
body.spr-on .spr3-price .stock { margin: 8px 0 0 !important; font-weight: 700; }

/* part payment */
body.spr-on .spr3-pp { display: flex; gap: 12px; align-items: center; background: var(--spr-good-soft); border: 1.5px solid var(--spr-good); border-radius: var(--spr-r); padding: 10px 14px; }
body.spr-on .spr3-pp-i { flex: none; width: 42px; height: 42px; border-radius: 10px; background: var(--spr-good); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 13px; }
body.spr-on .spr3-pp-main { font-size: 17px; }
body.spr-on .spr3-pp-main b { font-size: 21px; color: var(--spr-good); }
body.spr-on .spr3-pp-sub { font-size: 13px; color: var(--spr-muted); }

/* EMI strip */
body.spr-on .spr3-emi { border: 1px solid var(--spr-line); border-radius: 10px; background: #fff; }
body.spr-on .spr3-emi summary { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 9px 14px; cursor: pointer; }
body.spr-on .spr3-emi summary::-webkit-details-marker { display: none; }
body.spr-on .spr3-emi-amt { background: var(--spr-good); color: #fff; font-weight: 800; font-size: 13px; border-radius: 6px; padding: 2px 8px; }
body.spr-on .spr3-emi-txt { font-size: 13.5px; }
body.spr-on .spr3-emi-link { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--spr-teal); }
body.spr-on .spr3-emi[open] .spr3-emi-link { visibility: hidden; }
body.spr-on .spr3-emi table { width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 0; border: 0; }
body.spr-on .spr3-emi td { padding: 8px 14px; border: 0; border-top: 1px dashed var(--spr-line); }
body.spr-on .spr3-emi td.g { color: var(--spr-good); font-size: 12.5px; text-align: right; }

/* negotiate */
body.spr-on .spr3-neg { font-size: 13.5px; color: var(--spr-muted); }
body.spr-on .spr3-neg button { border: 0; background: none; padding: 0; color: var(--spr-red); font-weight: 700; text-decoration: underline; cursor: pointer; font-size: 13.5px; min-height: 0; }

/* offers */
body.spr-on .spr3-of-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; gap: 10px; }
body.spr-on .spr3-of { min-width: 0; border: 1px solid var(--spr-line); border-radius: 10px; background: #fff; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 1px 3px rgba(0, 0, 0, .05); scroll-margin-top: 90px; }
body.spr-on .spr3-of h4 { margin: 0; font-size: 14px; line-height: 1.3; }
body.spr-on .spr3-of p { margin: 0; font-size: 13px; color: var(--spr-muted); flex: 1; line-height: 1.45; }
body.spr-on .spr3-of p b { color: var(--spr-good); }
body.spr-on .spr3-of a, body.spr-on .spr3-of button { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; border: 1.5px solid var(--spr-ink); border-radius: 8px; padding: 5px 8px; font-weight: 700; font-size: 12.5px; color: var(--spr-ink); background: #fff; text-decoration: none; cursor: pointer; white-space: nowrap; min-height: 0; line-height: 1.4; }
body.spr-on .spr3-of a svg, body.spr-on .spr3-of button svg { width: 14px; height: 14px; }
body.spr-on .spr3-of small { font-size: 11.5px; color: var(--spr-muted); }
@container (max-width: 520px) {
	body.spr-on .spr3-of-row { grid-template-columns: none; grid-auto-columns: minmax(210px, 78%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
	body.spr-on .spr3-of { scroll-snap-align: start; }
}
/* delivery (dates, special order, try in store) */
body.spr-on .spr3-del { border-top: 1px solid var(--spr-line); padding-top: 12px; }
body.spr-on .spr3-del ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 12px; }
body.spr-on .spr3-del li { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.4; margin: 0 !important; padding: 0 !important; }
body.spr-on .spr3-del li::before { content: none !important; }
body.spr-on .spr3-del li > div { flex: 1; min-width: 0; }
body.spr-on .spr3-del li span { color: var(--spr-muted); }
body.spr-on .spr3-del li .i { flex: none; width: 30px; height: 30px; border-radius: 8px; background: var(--spr-sunk); display: grid; place-items: center; color: var(--spr-teal); }
body.spr-on .spr3-del li .i svg { width: 16px !important; height: 16px !important; }
body.spr-on .spr3 svg { max-width: 100%; }
body.spr-on .spr3-of svg, body.spr-on .spr3-sec svg, body.spr-on .spr3-chip svg { width: 14px !important; height: 14px !important; flex: none; }
body.spr-on .spr3-ti svg { width: 18px !important; height: 18px !important; }
body.spr-on .spr3-b svg { width: 16px !important; height: 16px !important; }

/* =========================================================
   SUHAVI 3-HOUR DELIVERY: compact 2-line row (its own stylesheet is switched off).
   The plugin keeps its box next to Buy now, so it is styled in place under the buttons.
     Line 1:  ⚡ Get it in 3 hours · Earliest: Today, 10:00 AM – 1:00 PM
     Line 2:  [ Enter pincode ........ ][ Check ][ 📍 ]
     (result message appears below only after a check; the Porter / area / fee note is the box tooltip)
   ========================================================= */
body.spr-on.single-product .sxd-box, body.spr-on.single-product .sxd-box * { box-sizing: border-box !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > .sxd-box,
body.spr-on.single-product .sxd-box {
	display: block !important; grid-column: 1 / -1 !important; float: none !important;
	width: 100% !important; max-width: 100% !important; min-width: 0 !important;
	margin: 0 !important; padding: 8px 10px !important;
	border: 1px solid var(--spr-gold) !important; border-radius: 10px !important;
	background: var(--spr-gold-soft) !important; box-shadow: none !important;
	color: var(--spr-ink) !important; font-size: 13px !important; line-height: 1.3 !important; text-align: left !important;
}
body.spr-on.single-product .sxd-box .sxd-top {
	display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: nowrap !important;
	width: 100% !important; min-width: 0 !important; margin: 0 0 6px !important; padding: 0 !important; white-space: nowrap !important;
}
body.spr-on.single-product .sxd-box .sxd-bolt { flex: none !important; display: block !important; width: 18px !important; height: 18px !important; margin: 0 !important; padding: 3px !important; border-radius: 5px !important; background: var(--spr-gold) !important; color: #1d1a0e !important; }
body.spr-on.single-product .sxd-box .sxd-top b { flex: none !important; margin: 0 !important; padding: 0 !important; font-size: 13.5px !important; font-weight: 800 !important; color: var(--spr-ink) !important; }
body.spr-on.single-product .sxd-box .sxd-timer {
	flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; max-width: none !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
	font-size: 12.5px !important; font-weight: 500 !important; color: var(--spr-muted) !important;
	white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
body.spr-on.single-product .sxd-box .sxd-timer::before { content: "· "; }
body.spr-on.single-product .sxd-box .sxd-timer em { font-style: normal !important; font-weight: 700 !important; color: var(--spr-good) !important; }
body.spr-on.single-product .sxd-box .sxd-pin {
	display: grid !important; grid-template-columns: minmax(0, 1fr) auto 34px !important; gap: 5px !important; align-items: center !important;
	width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
}
body.spr-on.single-product .sxd-box .sxd-pin input {
	width: 100% !important; min-width: 0 !important; max-width: none !important; height: 34px !important; min-height: 34px !important;
	margin: 0 !important; padding: 0 10px !important; border: 1px solid var(--spr-line) !important; border-radius: 8px !important;
	background: #fff !important; box-shadow: none !important; outline: none !important;
	color: var(--spr-ink) !important; font-family: inherit !important; font-size: 13.5px !important; line-height: 34px !important;
}
body.spr-on.single-product .sxd-box .sxd-pin input:focus { border-color: var(--spr-teal) !important; }
body.spr-on.single-product .sxd-box .sxd-pin > button {
	width: auto !important; min-width: 0 !important; max-width: none !important; height: 34px !important; min-height: 34px !important;
	margin: 0 !important; padding: 0 14px !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important;
	background: var(--spr-teal) !important; color: #fff !important;
	font-family: inherit !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1 !important; white-space: nowrap !important; cursor: pointer !important;
}
body.spr-on.single-product .sxd-box .sxd-pin > button.sxd-geo { width: 34px !important; padding: 0 !important; display: grid !important; place-items: center !important; background: #fff !important; border: 1px solid var(--spr-line) !important; color: var(--spr-ink) !important; font-size: 14px !important; }
body.spr-on.single-product .sxd-box .sxd-res { display: block !important; margin: 6px 0 0 !important; padding: 0 !important; background: transparent !important; font-size: 12.5px !important; line-height: 1.35 !important; font-weight: 600 !important; color: var(--spr-muted) !important; white-space: normal !important; }
body.spr-on.single-product .sxd-box .sxd-res:empty { display: none !important; }
body.spr-on.single-product .sxd-box .sxd-res.is-ok { color: var(--spr-good) !important; }
body.spr-on.single-product .sxd-box .sxd-res.is-no { color: var(--spr-red) !important; }
body.spr-on.single-product .sxd-box .sxd-small, body.spr-on.single-product .sxd-box .sxd-chip { display: none !important; }

/* add accessories */
body.spr-on .spr3-add { border: 1px solid var(--spr-line); border-radius: 10px; background: #fff; }
body.spr-on .spr3-add summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 10px 14px; cursor: pointer; }
body.spr-on .spr3-add summary::-webkit-details-marker { display: none; }
body.spr-on .spr3-add summary::after { content: "+"; margin-left: auto; font-size: 22px; font-weight: 300; color: var(--spr-muted); }
body.spr-on .spr3-add[open] summary::after { content: "–"; }
body.spr-on .spr3-add-th { display: flex; }
body.spr-on .spr3-add-th img { width: 34px; height: 34px; object-fit: contain; background: #fff; border: 1px solid var(--spr-line); border-radius: 50%; margin-left: -8px; }
body.spr-on .spr3-add-th img:first-child { margin-left: 0; }
body.spr-on .spr3-add-t { display: flex; flex-direction: column; line-height: 1.3; }
body.spr-on .spr3-add-t small { color: var(--spr-muted); font-size: 12.5px; }
body.spr-on .spr3-add-list { border-top: 1px solid var(--spr-line); }
body.spr-on .spr3-add-i { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 9px 14px; }
body.spr-on .spr3-add-i + .spr3-add-i { border-top: 1px solid var(--spr-line); }
body.spr-on .spr3-add-i img { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--spr-line); border-radius: 6px; }
body.spr-on .spr3-add-i .n { font-size: 13.5px; line-height: 1.3; color: var(--spr-ink); text-decoration: none; }
body.spr-on .spr3-add-i .pr { font-size: 13px; text-align: right; }
body.spr-on .spr3-add-btn { min-height: 0 !important; padding: 5px 10px !important; font-size: 12.5px !important; border-radius: 8px !important; }

/* buy row: the real WooCommerce form */
body.spr-on .spr3-buy .ct-product-add-to-cart, body.spr-on .spr3-buy form.cart { margin: 0 !important; }
body.spr-on .spr3-buy .ct-cart-actions { display: grid !important; grid-template-columns: auto 1fr 1fr; gap: 10px; align-items: stretch; }
body.spr-on .spr3-buy .ct-cart-actions > .quantity { grid-column: 1; }
body.spr-on .spr3-buy .ct-cart-actions > button.single_add_to_cart_button:not(.wpcbn-btn) { grid-column: 2; }
body.spr-on .spr3-buy .ct-cart-actions > .wpcbn-btn { grid-column: 3; }
body.spr-on .spr3-buy .ct-cart-actions > :not(.quantity):not(button):not(input):not(.sxd-box) { display: none !important; }
body.spr-on .spr3-buy .ct-cart-actions .button { width: 100% !important; max-width: none !important; min-height: 50px; margin: 0 !important; border-radius: 10px !important; font-weight: 800 !important; font-size: 15px !important; letter-spacing: .02em; }
body.spr-on .spr3-buy .ct-cart-actions > button.single_add_to_cart_button:not(.wpcbn-btn) { background: var(--spr-gold) !important; color: #1d1a0e !important; border: 0 !important; }
body.spr-on .spr3-buy .ct-cart-actions > .wpcbn-btn { background: var(--spr-ink) !important; color: #fff !important; border: 0 !important; }
/* beat the site's Additional CSS (body.single-product form.cart button.single_add_to_cart_button[name="add-to-cart"]) */
body.spr-on.single-product .spr3-buy form.cart .ct-cart-actions > button.single_add_to_cart_button[name], body.spr-on.single-product .spr3-buy form.cart .ct-cart-actions > button.single_add_to_cart_button { width: 100% !important; max-width: none !important; min-width: 0 !important; flex: none !important; }
@container (max-width: 440px) {
	body.spr-on .spr3-buy .ct-cart-actions { grid-template-columns: auto 1fr; }
	body.spr-on .spr3-buy .ct-cart-actions > .wpcbn-btn { grid-column: 1 / -1; }
}
body.spr-on .spr3-sec { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--spr-muted); margin-top: -4px; }
body.spr-on .spr3-sec svg { width: 14px; height: 14px; }
body.spr-on .spr3-oos { border: 1px solid var(--spr-line); border-radius: var(--spr-r); background: #fff; padding: 14px; }
body.spr-on .spr3-oos p { margin: 0 0 10px; font-size: 14px; color: var(--spr-muted); }
body.spr-on .spr3-oos > div { display: flex; gap: 8px; flex-wrap: wrap; }
body.spr-on .spr3-b { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 46px; border-radius: 10px; font-weight: 800; font-size: 14.5px; border: 0; cursor: pointer; text-decoration: none; padding: 0 16px; }
body.spr-on .spr3-b svg { width: 16px; height: 16px; }
body.spr-on .spr3-b.cart { background: var(--spr-gold); color: #1d1a0e; }
body.spr-on .spr3-b.now { background: var(--spr-ink); color: #fff; }
body.spr-on .spr3-b.wa { background: #1fa855; color: #fff; }
body.spr-on .spr3-b.line { border: 1.5px solid var(--spr-ink); color: var(--spr-ink); background: #fff; }
body.spr-on .spr3-b.sm { height: 36px; font-size: 13px; padding: 0 12px; }

/* guarantee icons */
body.spr-on .spr3-ti { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; border-top: 1px solid var(--spr-line); border-bottom: 1px solid var(--spr-line); padding: 12px 0; }
body.spr-on .spr3-ti div { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 11.5px; color: var(--spr-muted); line-height: 1.25; }
body.spr-on .spr3-ti span { width: 38px; height: 38px; border-radius: 50%; background: var(--spr-teal-soft); color: var(--spr-teal); display: grid; place-items: center; }
body.spr-on .spr3-ti svg { width: 18px; height: 18px; }
@container (max-width: 520px) { body.spr-on .spr3-ti { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* help */
body.spr-on .spr3-help { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
body.spr-on .spr3-help img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
body.spr-on .spr3-help > div { flex: 1; min-width: 160px; display: flex; flex-direction: column; font-size: 13px; color: var(--spr-muted); line-height: 1.35; }
body.spr-on .spr3-help b { color: var(--spr-ink); font-size: 14.5px; }

/* about */
body.spr-on .spr3-about h2 { font-size: 17px !important; margin: 0 0 6px !important; }
body.spr-on .spr3-clamp { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
body.spr-on .spr3-more { background: none; border: 0; padding: 0; color: var(--spr-teal); font-weight: 600; text-decoration: underline; cursor: pointer; min-height: 0; }
body.spr-on .spr3 .product_meta { font-size: 12.5px; color: var(--spr-muted); }

/* bottom bar, always visible */
body.spr-on .spr3-bar { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 99990 !important; display: block !important; visibility: visible !important; opacity: 1 !important; transform: none !important; background: #fff; border-top: 1px solid var(--spr-line); box-shadow: 0 -4px 14px rgba(0, 0, 0, .08); }
body.spr-on .spr3-bar-in { max-width: 1290px; margin: 0 auto; display: flex; align-items: center; gap: 12px; padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); }
body.spr-on .spr3-bar-img { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--spr-line); border-radius: 8px; }
body.spr-on .spr3-bar-t { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; color: var(--spr-ink); }
body.spr-on .spr3-bar-n { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.spr-on .spr3-bar-t b { font-size: 16px; }
body.spr-on .spr3-bar-t small { color: var(--spr-good); font-weight: 700; font-size: 12.5px; }
body.spr-on .spr3-bar .spr3-b { height: 44px; font-size: 14px; min-width: 130px; }
@media (max-width: 900px) {
	body.spr-on .spr3-bar-in { padding: 8px 12px; gap: 8px; }
	body.spr-on .spr3-bar-img, body.spr-on .spr3-bar-n { display: none; }
	body.spr-on .spr3-bar .spr3-b { min-width: 0; padding: 0 12px; }
}
body.spr-on.spr-bar-on { padding-bottom: var(--spr-barh, 64px); }
/* floating buttons are moved clear of the bar by pdp.js (measured, per screen size) */
body.spr-on .floating-call, body.spr-on .swa-fab, body.spr-on .qlwapp__button, body.spr-on .qlwapp__toggle { transition: transform .2s; }

/* button states: hover, press, keyboard focus, working */
body.spr-on .spr3-b, body.spr-on .spr3-buy .ct-cart-actions .button { transition: background-color .15s, box-shadow .15s, transform .08s, filter .15s !important; }
body.spr-on .spr3-b.cart:hover, body.spr-on.single-product .spr3-buy .ct-cart-actions > button.single_add_to_cart_button:not(.wpcbn-btn):hover { background: #d9a91b !important; box-shadow: 0 4px 12px rgba(233, 184, 36, .45) !important; }
body.spr-on .spr3-b.now:hover, body.spr-on.single-product .spr3-buy .ct-cart-actions > .wpcbn-btn:hover { background: #000 !important; box-shadow: 0 4px 12px rgba(0, 0, 0, .3) !important; }
body.spr-on .spr3-b.wa:hover { filter: brightness(.92); }
body.spr-on .spr3-b:active, body.spr-on .spr3-buy .ct-cart-actions .button:active { transform: scale(.97) !important; }
body.spr-on .spr3-b:focus-visible, body.spr-on .spr3-buy .ct-cart-actions .button:focus-visible { outline: 3px solid var(--spr-teal) !important; outline-offset: 2px !important; }
body.spr-on .spr3-b.is-busy, body.spr-on .spr3-buy .ct-cart-actions .button.is-busy { opacity: .75 !important; cursor: progress !important; pointer-events: none; }
body.spr-on .spr3-b.is-busy::after, body.spr-on .spr3-buy .ct-cart-actions .button.is-busy::after { content: ""; width: 14px; height: 14px; margin-left: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; display: inline-block; vertical-align: -2px; animation: spr-spin .7s linear infinite; }
body.spr-on .spr3-b.is-done { background: var(--spr-good) !important; color: #fff !important; }
@keyframes spr-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { body.spr-on .spr3-b.is-busy::after, body.spr-on .spr3-buy .ct-cart-actions .button.is-busy::after { animation: none; } }
/* showroom line from Suhavi Showroom Stock */
body.spr-on .spr3-del li a { color: var(--spr-teal); font-weight: 600; }

/* wishlist: Blocksy's loading spinner only while it is saving */
body.spr-on .spr3-wish .ct-button-loader { display: none !important; }
body.spr-on .spr3-wish[data-button-state="loading"] .ct-button-loader, body.spr-on .spr3-wish.ct-loading .ct-button-loader { display: block !important; }
body.spr-on .spr3-wish[data-button-state="loading"] .ct-icon-container > svg:not(.ct-button-loader), body.spr-on .spr3-wish.ct-loading .ct-icon-container > svg:not(.ct-button-loader) { display: none !important; }

/* buy row, refined: same height, font and radius for both buttons; neat quantity stepper */
body.spr-on.single-product .spr3-buy form.cart .ct-cart-actions > button.single_add_to_cart_button,
body.spr-on.single-product .spr3-buy form.cart .ct-cart-actions > button.single_add_to_cart_button[name] {
	height: 50px !important; min-height: 50px !important; margin: 0 !important; padding: 0 18px !important;
	border: 0 !important; border-radius: 10px !important; box-shadow: none !important;
	font-family: inherit !important; font-size: 15px !important; font-weight: 800 !important; line-height: 50px !important;
	letter-spacing: .02em !important; text-transform: none !important; text-align: center !important; white-space: nowrap !important;
}
/* quantity stepper: [ − | 1 | + ], three equal segments (the theme squeezed the +/− to 25px) */
body.spr-on.single-product .spr3-buy .ct-cart-actions > .quantity {
	position: relative !important; display: grid !important; grid-template-columns: 44px 44px 44px !important; align-items: stretch !important;
	width: 134px !important; max-width: none !important; height: 50px !important; margin: 0 !important; padding: 0 !important;
	border: 1px solid var(--spr-line) !important; border-radius: 10px !important; background: #fff !important; overflow: hidden !important;
}
body.spr-on.single-product .spr3-buy .quantity .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
body.spr-on.single-product .spr3-buy .quantity input.qty {
	grid-column: 2 !important; grid-row: 1 !important; width: 44px !important; min-width: 0 !important; max-width: none !important; height: 100% !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid var(--spr-line) !important; border-right: 1px solid var(--spr-line) !important; border-radius: 0 !important;
	box-shadow: none !important; background: #fff !important; text-align: center !important; font-size: 16px !important; font-weight: 700 !important; color: var(--spr-ink) !important; -moz-appearance: textfield;
}
body.spr-on.single-product .spr3-buy .quantity input.qty::-webkit-outer-spin-button, body.spr-on.single-product .spr3-buy .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.spr-on.single-product .spr3-buy .quantity .ct-decrease, body.spr-on.single-product .spr3-buy .quantity .ct-increase {
	position: static !important; inset: auto !important; transform: none !important; grid-row: 1 !important;
	display: grid !important; place-items: center !important; width: 44px !important; min-width: 44px !important; max-width: none !important; height: 100% !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: var(--spr-sunk) !important;
	color: var(--spr-ink) !important; cursor: pointer; font-size: 0 !important; line-height: 1 !important; opacity: 1 !important; user-select: none;
}
body.spr-on.single-product .spr3-buy .quantity .ct-decrease { grid-column: 1 !important; }
body.spr-on.single-product .spr3-buy .quantity .ct-increase { grid-column: 3 !important; }
body.spr-on.single-product .spr3-buy .quantity .ct-decrease::before, body.spr-on.single-product .spr3-buy .quantity .ct-increase::before { content: "−"; display: block; font-size: 22px; font-weight: 500; line-height: 1; color: var(--spr-ink); }
body.spr-on.single-product .spr3-buy .quantity .ct-increase::before { content: "+"; }
body.spr-on.single-product .spr3-buy .quantity .ct-decrease::after, body.spr-on.single-product .spr3-buy .quantity .ct-increase::after { display: none !important; content: none !important; }
body.spr-on.single-product .spr3-buy .quantity .ct-decrease:hover, body.spr-on.single-product .spr3-buy .quantity .ct-increase:hover { background: #e9e9e9 !important; }
body.spr-on.single-product .spr3-buy .quantity .ct-decrease:active, body.spr-on.single-product .spr3-buy .quantity .ct-increase:active { background: #dedede !important; }
/* live total next to the stepper (phones only) */
body.spr-on.single-product .spr3-buy .spr3-total { display: none; }
/* desktop / tablet: Qty | Add to cart | Buy now on one row */
body.spr-on.single-product .spr3-buy .ct-cart-actions { grid-template-columns: 134px minmax(0, 1fr) minmax(0, 1fr) !important; }
/* phones (narrow column): [stepper ............ Total ₹X], then two identical full-width buttons stacked flush */
@container (max-width: 520px) {
	body.spr-on.single-product .spr3-buy .ct-cart-actions { grid-template-columns: 134px minmax(0, 1fr) !important; gap: 8px !important; align-items: center !important; }
	body.spr-on.single-product .spr3-buy .ct-cart-actions > .quantity { grid-column: 1 !important; height: 46px !important; }
	body.spr-on.single-product .spr3-buy .spr3-total { display: flex !important; grid-column: 2 !important; order: 1 !important; flex-direction: column; align-items: flex-end; justify-content: center; line-height: 1.2; }
	body.spr-on.single-product .spr3-buy .spr3-total span { font-size: 12px; color: var(--spr-muted); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
	body.spr-on.single-product .spr3-buy .spr3-total b { font-size: 20px; font-weight: 800; color: var(--spr-ink); font-variant-numeric: tabular-nums; }
	body.spr-on.single-product .spr3-buy .ct-cart-actions > button.single_add_to_cart_button,
	body.spr-on.single-product .spr3-buy .ct-cart-actions > button.single_add_to_cart_button[name] { grid-column: 1 / -1 !important; width: 100% !important; }
	body.spr-on.single-product .spr3-buy .ct-cart-actions > .sxd-box { grid-column: 1 / -1 !important; }
}
/* the 3-hour box sits between the two buttons in the page code: always show it after both */
body.spr-on.single-product .spr3-buy .ct-cart-actions > .sxd-box { order: 9 !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > .quantity { order: 1 !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > button.single_add_to_cart_button:not(.wpcbn-btn) { order: 2 !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > .wpcbn-btn { order: 3 !important; }

/* theme scroll-to-top arrow: removed on product pages (it sat in the bottom menu and pushed the buy bar up) */
body.spr-on .ct-back-to-top, body.spr-on [class*="back-to-top"] { display: none !important; }

/* theme sale badge on the product photo (was teal) */
body.spr-on.single-product div.product .onsale { background: var(--spr-ink) !important; color: var(--spr-gold) !important; }

/* buttons follow the theme's global button rule (gold, pill, hover = black with gold text) */
body.spr-on.single-product .spr3-buy form.cart .ct-cart-actions > button.single_add_to_cart_button,
body.spr-on.single-product .spr3-buy form.cart .ct-cart-actions > button.single_add_to_cart_button[name],
body.spr-on .spr3-bar .spr3-b { border-radius: var(--spr-btn-r) !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > .quantity { border-radius: var(--spr-btn-r) !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > button.single_add_to_cart_button:not(.wpcbn-btn),
body.spr-on .spr3-b.cart { background: var(--spr-gold) !important; color: var(--spr-gold-ink) !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > button.single_add_to_cart_button:not(.wpcbn-btn):hover,
body.spr-on .spr3-b.cart:hover { background: var(--spr-gold-hover-bg) !important; color: var(--spr-gold-hover-ink) !important; box-shadow: none !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > .wpcbn-btn,
body.spr-on .spr3-b.now { background: var(--spr-ink) !important; color: #fff !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions > .wpcbn-btn:hover,
body.spr-on .spr3-b.now:hover { background: var(--spr-gold) !important; color: var(--spr-gold-ink) !important; box-shadow: none !important; }
body.spr-on.single-product .sxd-box .sxd-pin > button:not(.sxd-geo) { background: var(--spr-ink) !important; color: #fff !important; }

/* phones: keep the theme bottom menu fixed in place on product pages (no slide away / back on scroll),
   so the buy bar can sit permanently just above it without the two crossing while it animates */
body.spr-on .ct-drawer-canvas .ct-drawer-inner { transform: none !important; transition: none !important; bottom: 0 !important; translate: none !important; }
body.spr-on .spr3-bar { transition: none !important; }

/* only one can be bought: no quantity box; buttons share the row (desktop) or stack full width (phones) */
body.spr-on.single-product .spr3-buy .ct-cart-actions.spr-noqty { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions.spr-noqty > button.single_add_to_cart_button:not(.wpcbn-btn) { grid-column: 1 !important; }
body.spr-on.single-product .spr3-buy .ct-cart-actions.spr-noqty > .wpcbn-btn { grid-column: 2 !important; }
@container (max-width: 520px) {
	body.spr-on.single-product .spr3-buy .ct-cart-actions.spr-noqty { grid-template-columns: minmax(0, 1fr) !important; }
	body.spr-on.single-product .spr3-buy .ct-cart-actions.spr-noqty > button.single_add_to_cart_button { grid-column: 1 !important; }
}

/* WooCommerce stock line (was green): theme dark text */
body.spr-on.single-product .entry-summary .stock.in-stock, body.spr-on .spr3 .stock.in-stock { color: var(--spr-ink) !important; font-weight: 600 !important; }

/* "Need help choosing?": buttons in their own group; on phones a full-width row of two equal buttons under the text */
body.spr-on .spr3-help > .spr3-help-acts { display: flex; flex-direction: row; gap: 8px; flex: none; min-width: 0; }
@container (max-width: 520px) {
	body.spr-on .spr3-help { flex-wrap: wrap; }
	body.spr-on .spr3-help > div:not(.spr3-help-acts) { flex: 1 1 0; min-width: 0; }
	body.spr-on .spr3-help > .spr3-help-acts { flex: 1 0 100%; display: grid; grid-template-columns: 1fr 1fr; }
	body.spr-on .spr3-help-acts .spr3-b { width: 100%; height: 42px; }
}

/* ===== bottom bar position, pure CSS (2.0.9) =====
   Desktop: flush at the bottom. Phones/tablets (< 1000px, where Blocksy shows its 70px bottom menu): just above the menu.
   The menu itself stays put (no slide on scroll), so the two never cross, whatever the phone's toolbar does. */
body.spr-on { --spr-nav-h: 0px; }
@media (max-width: 999.98px) {
	body.spr-on:has(.ct-drawer-canvas[data-shortcuts-bar]) { --spr-nav-h: 70px; }
}
body.spr-on .spr3-bar { bottom: var(--spr-nav-h) !important; }
@media (max-width: 999.98px) { body.spr-on:has(.ct-drawer-canvas[data-shortcuts-bar]) .spr3-bar-in { padding-bottom: 8px; } }
body.spr-on.spr-bar-on { padding-bottom: calc(var(--spr-nav-h) + var(--spr-barh, 64px)) !important; }
/* the theme menu: fixed at the very bottom, never sliding */
body.spr-on .ct-drawer-canvas .ct-drawer-inner { bottom: 0 !important; transform: none !important; transition: none !important; }
/* floating buttons that sit low on the screen go above the bar (pure CSS too) */
body.spr-on .swa-fab { bottom: calc(var(--spr-nav-h) + var(--spr-barh, 64px) + 12px) !important; transform: none !important; }

/* ===== 2.1.0: the bar lives inside the theme's fixed bottom container, above the shortcuts menu ===== */
body.spr-on.spr-docked .ct-drawer-canvas[data-location="end"] .ct-drawer-inner { height: auto !important; display: flex !important; flex-direction: column !important; }
body.spr-on.spr-docked .ct-drawer-inner > .spr3-bar { position: relative !important; inset: auto !important; bottom: auto !important; left: auto !important; right: auto !important; order: -1; width: 100%; z-index: 1; }
body.spr-on.spr-docked .ct-drawer-inner > .ct-shortcuts-bar { flex: none; }
body.spr-on.spr-docked .ct-drawer-inner > .ct-floating-bar { display: none !important; }
body.spr-on.spr-docked.spr-bar-on { padding-bottom: calc(var(--spr-nav-h) + var(--spr-barh, 64px)) !important; }

/* ===== 2.1.1: part payment and No-Cost EMI as two equal option cards ===== */
body.spr-on .spr3-pay2 { display: grid; gap: 10px; position: relative; }
body.spr-on .spr3-pay2.two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.spr-on .spr3-pay2 > .spr3-pp { align-items: flex-start; min-width: 0; margin: 0; }
body.spr-on .spr3-pay2 .spr3-or { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; background: var(--spr-ink); color: #fff; border-radius: 99px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 3px 8px; }
body.spr-on .spr3-pp-k { font-size: 11.5px; font-weight: 700; color: var(--spr-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 1px; }
body.spr-on .spr3-pay2 .spr3-pp-main { font-size: 15px; line-height: 1.25; }
body.spr-on .spr3-pay2 .spr3-pp-main b { font-size: 22px; color: var(--spr-good); }
body.spr-on .spr3-ten { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
body.spr-on .spr3-ten button { border: 1px solid var(--spr-good); background: #fff; color: var(--spr-ink); border-radius: 99px; padding: 4px 11px; font-size: 12.5px; font-weight: 700; cursor: pointer; min-height: 0; line-height: 1.3; }
body.spr-on .spr3-ten button[aria-pressed="true"] { background: var(--spr-good); color: #fff; }
@container (max-width: 520px) {
	body.spr-on .spr3-pay2.two { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	body.spr-on .spr3-pay2 .spr3-or { position: relative; left: auto; top: auto; transform: none; justify-self: center; margin: -12px 0; }
}

/* 2.1.2: products above ₹70,000 (Cashfree takes full payment): small note instead of the 5% card */
body.spr-on .spr3-fullpay { font-size: 12.5px; color: var(--spr-muted); padding-left: 2px; }

/* hidden helpers (server-side layout) */
body.spr-on .spr-hidden{display:none!important}
/* % OFF next to a variation's sale price (was Suhavi Dynamic Discount Badge 1.1.0) */
p.price ins[data-suhavi-discount]::after {
    content: attr(data-suhavi-discount) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 3px !important;
    padding: 4px 7px !important;
    background: #f7f0dc !important;
    color: #806300 !important;
    border: 1px solid #dfca82 !important;
    border-radius: 4px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
@media (max-width: 767px) {
    p.price ins[data-suhavi-discount]::after { margin-left: 2px !important; padding: 3px 5px !important; font-size: 8px !important; }
}


