/**
 * PMBO Shop — storefront layout templates.
 *
 * Five variants each for two surfaces (loop + single product). All
 * variants are CSS-only: WooCommerce/Astra markup stays untouched
 * so this layer never breaks when Woo updates templates.
 *
 * Scoping: every variant rule is gated by a body class
 *   - body.pmbo-loop-tpl-<slug>   for product grid (shop, archives,
 *                                 homepage Featured Products)
 *   - body.pmbo-single-tpl-<slug> for the single product page
 *
 * The base/default styling of cards lives in
 * `pmbo-onboarding/assets/css/storefront.css` and is already the
 * "editorial" look. Variants below override only what differs.
 *
 * Color hand-off: every variant uses the live brand palette via
 * --pmbo-primary, --pmbo-primary-rgb and --pmbo-accent (injected
 * inline by pmbo-onboarding). Plain CSS, no Sass.
 *
 * Mobile-first: all variant tweaks read well at <=480px and scale
 * up. Where extra info (rating stars, MRP, etc.) is shown, the
 * desktop view gets it and mobile keeps the essentials.
 */

/* =====================================================================
   PICKER PILL + MODAL
   =====================================================================
   The "Change layout" pill on each surface uses the existing
   `.pmbo-edit-pill` base from storefront.css and only adds positional
   tweaks here. We additionally show two stacked dots on the active
   variant card in the modal (one for loop selection, one for single).
*/
.pmbo-shop-tpl-pill--archive {
	display: inline-flex;
	margin: 0 0 16px;
}
.pmbo-shop-tpl-pill--featured {
	margin-right: auto; /* sits between the h2 and the "View all" link */
	margin-left: 12px;
}
.pmbo-shop-tpl-pill--single {
	display: inline-flex;
	margin: 0 0 12px;
}

.pmbo-shop-tpl-modal[hidden] { display: none; }
.pmbo-shop-tpl-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.pmbo-shop-tpl-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, .55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.pmbo-shop-tpl-panel {
	position: relative;
	width: min(960px, 100%);
	max-height: calc(100vh - 32px);
	overflow: auto;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 30px 80px rgba(15, 23, 42, .35);
	padding: 22px 22px 18px;
}
.pmbo-shop-tpl-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}
.pmbo-shop-tpl-head h2 {
	font-size: 1.2rem;
	margin: 0 0 4px;
	color: #111827;
}
.pmbo-shop-tpl-sub {
	margin: 0;
	color: #6b7280;
	font-size: .9rem;
}
.pmbo-shop-tpl-close {
	background: transparent;
	border: 0;
	padding: 6px;
	border-radius: 999px;
	color: #6b7280;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.pmbo-shop-tpl-close:hover {
	background: #f3f4f6;
	color: #111827;
}

.pmbo-shop-tpl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
}
.pmbo-shop-tpl-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	background: #fafafa;
	border: 1.5px solid #e5e7eb;
	border-radius: 14px;
	text-align: left;
	cursor: pointer;
	transition: transform .2s, border-color .2s, box-shadow .2s, background .2s;
	color: var(--pmbo-primary, #111827);
}
.pmbo-shop-tpl-card:hover {
	transform: translateY(-2px);
	border-color: var(--pmbo-primary, #111827);
	background: #fff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}
.pmbo-shop-tpl-card.is-active-loop,
.pmbo-shop-tpl-card.is-active-single {
	border-color: var(--pmbo-primary, #111827);
	background: rgba(var(--pmbo-primary-rgb, 17, 24, 39), .04);
}
.pmbo-shop-tpl-card-badge {
	display: none;
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--pmbo-primary, #111827);
	color: #fff;
}
.pmbo-shop-tpl-card.is-active-loop[data-pmbo-surface="loop"] .pmbo-shop-tpl-card-badge,
.pmbo-shop-tpl-card.is-active-single[data-pmbo-surface="single"] .pmbo-shop-tpl-card-badge {
	display: inline-block;
}
/* Body of the picker card. */
.pmbo-shop-tpl-preview {
	display: block;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	color: var(--pmbo-primary, #111827); /* feeds `currentColor` in SVG */
	aspect-ratio: 3 / 2;
}
.pmbo-shop-tpl-preview svg {
	display: block;
	width: 100%;
	height: 100%;
}
.pmbo-shop-tpl-card-body { display: block; }
.pmbo-shop-tpl-card-title {
	display: block;
	font-weight: 700;
	color: #111827;
	font-size: .95rem;
}
.pmbo-shop-tpl-card-tagline {
	display: block;
	font-size: .8rem;
	color: #4b5563;
	margin-top: 4px;
	line-height: 1.4;
}
.pmbo-shop-tpl-card-suits {
	display: block;
	font-size: .72rem;
	color: #9ca3af;
	margin-top: 6px;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.pmbo-shop-tpl-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #e5e7eb;
}
.pmbo-shop-tpl-msg {
	font-size: .85rem;
	color: #6b7280;
	min-height: 1.2em;
}
.pmbo-shop-tpl-msg.is-success { color: #16a34a; }
.pmbo-shop-tpl-msg.is-error   { color: #dc2626; }
.pmbo-shop-tpl-cancel {
	background: #f3f4f6;
	border: 0;
	padding: 8px 14px;
	border-radius: 999px;
	font-weight: 600;
	color: #111827;
	cursor: pointer;
}
.pmbo-shop-tpl-cancel:hover { background: #e5e7eb; }

/* =====================================================================
   COMMON HOOKS
   =====================================================================
   Variants reuse the same `.pmbo-managed ul.products li.product`
   structure that the storefront stylesheet already styles. To avoid
   the variant fighting the base on equal specificity, we prefix
   every variant rule with the body class - which adds one selector
   of specificity and wins reliably.

   Variant rules are intentionally additive: they should be safe to
   stack with the storefront defaults, never reset properties the
   base file uses on unrelated elements.
*/

/* =====================================================================
   LOOP VARIANT — editorial (default)
   =====================================================================
   The storefront.css base already implements the editorial look:
   square image on top, two-line title clamp, primary-colored price,
   icon-only add button bottom-right. We only need to add a couple
   of tweaks that bring it closer to a magazine feel.
*/
body.pmbo-loop-tpl-editorial.pmbo-managed ul.products li.product {
	background: #fff;
}
body.pmbo-loop-tpl-editorial.pmbo-managed ul.products li.product .woocommerce-loop-product__title {
	letter-spacing: -.01em;
}

/* =====================================================================
   LOOP VARIANT — boutique
   =====================================================================
   Fashion-first card: no card chrome, 3:4 portrait image,
   uppercase compact title, price below, hover lifts and reveals
   the cart icon (always visible on touch).
*/
body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}
body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product:hover {
	box-shadow: none;
	transform: none;
}
body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product img {
	border-radius: 4px;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}
body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product .woocommerce-loop-product__title {
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 12px;
	font-weight: 600;
	padding: 12px 0 4px !important;
	min-height: 0;
	-webkit-line-clamp: 1;
}
body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product .price {
	padding: 0 56px 0 0 !important;
	font-size: 13px;
	color: #111827 !important;
	font-weight: 500;
}
body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product .pmbo-loop-cart-slot {
	right: 0;
	bottom: -2px;
}
@media (hover: hover) {
	body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product .pmbo-loop-cart-slot {
		opacity: 0;
		transition: opacity .25s ease;
	}
	body.pmbo-loop-tpl-boutique.pmbo-managed ul.products li.product:hover .pmbo-loop-cart-slot {
		opacity: 1;
	}
}

/* =====================================================================
   LOOP VARIANT — marketplace
   =====================================================================
   Info-dense card tuned for electronics / FMCG / books. Slightly
   smaller image, ratings stars visible, MRP+sale price treatment,
   compact "Add" text button instead of icon-only.
*/
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product {
	border: 1px solid #e5e7eb;
	background: #fff;
	box-shadow: none;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product:hover {
	box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
	transform: translateY(-2px);
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product img {
	border-radius: 0;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .woocommerce-loop-product__title {
	font-size: 13px;
	font-weight: 500;
	padding: 10px 12px 2px !important;
	min-height: calc(2 * 1.3em + 12px);
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .star-rating {
	display: block !important;
	margin: 0 12px 4px !important;
	font-size: 11px;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .price {
	padding: 0 12px 12px !important;
	line-height: 1.2;
	font-size: 15px;
	font-weight: 700;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .price del {
	font-size: 12px;
	color: #9ca3af !important;
	font-weight: 400;
	text-decoration: line-through !important;
	margin-right: 6px;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .price ins {
	background: transparent;
	font-weight: 700;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .button,
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .pmbo-stepper-add {
	width: auto !important;
	min-width: 56px !important;
	padding: 0 14px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .button::before,
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .pmbo-stepper-add::before {
	display: none;
}
/* Inject the word "Add" via a pseudo-element so we don't need PHP
   changes. The Astra/Woo button text is hidden by `font-size: 0` in
   the storefront base; we re-enable it via a fresh pseudo. */
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .button::after,
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .pmbo-stepper-add::after {
	content: "Add";
	color: #fff;
	font-size: 12px;
	letter-spacing: .04em;
	font-weight: 700;
}
body.pmbo-loop-tpl-marketplace.pmbo-managed ul.products li.product .onsale {
	background: #dc2626 !important;
	color: #fff !important;
	border-radius: 4px !important;
	font-size: 10px !important;
	padding: 2px 6px !important;
}

/* =====================================================================
   LOOP VARIANT — bold
   =====================================================================
   Sneaker / sportswear feel. Tinted card background using the
   primary palette, big uppercase title, full-width pill CTA.
*/
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product {
	background: rgba(var(--pmbo-primary-rgb, 17, 24, 39), .06);
	border-radius: 6px;
	padding: 8px !important;
	box-shadow: none;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product:hover {
	background: rgba(var(--pmbo-primary-rgb, 17, 24, 39), .12);
	box-shadow: none;
	transform: none;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product img {
	border-radius: 4px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #fff;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .woocommerce-loop-product__title {
	text-transform: uppercase;
	letter-spacing: .03em;
	font-weight: 800;
	font-size: 14px;
	padding: 12px 4px 4px !important;
	color: var(--pmbo-primary) !important;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .price {
	padding: 0 4px 12px !important;
	font-size: 18px;
	font-weight: 800;
	color: #111827 !important;
	line-height: 1.2;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-loop-cart-slot {
	position: static !important;
	display: block;
	padding: 0 4px 4px;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .button,
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-stepper-add {
	position: static !important;
	width: 100% !important;
	height: 42px !important;
	border-radius: 4px !important;
	font-size: 0 !important;
	margin: 0 !important;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .button::after,
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-stepper-add::after {
	content: "Add to bag";
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .button::before,
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-stepper-add::before {
	display: none;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-stepper {
	width: 100%;
	height: 42px;
	border-radius: 4px;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-stepper-btn {
	flex: 1;
}
body.pmbo-loop-tpl-bold.pmbo-managed ul.products li.product .pmbo-stepper-qty {
	flex: 2;
}

/* =====================================================================
   LOOP VARIANT — glass
   =====================================================================
   Image fills the entire card; a frosted-glass info pill anchors
   to the bottom with the title + price. A floating round add button
   sits bottom-right. Premium / artisanal feel.
*/
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product {
	border-radius: 20px;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(var(--pmbo-primary-rgb, 17, 24, 39), .55), rgba(var(--pmbo-primary-rgb, 17, 24, 39), .25));
	aspect-ratio: 3 / 4;
	box-shadow: 0 8px 20px rgba(15, 23, 42, .15);
}
/* Dim layer over the image so white title/price stay readable regardless
   of the product photo's tone. Sits below the frosted pill (z-index 1). */
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 23, 42, .55) 0%, rgba(15, 23, 42, .15) 45%, transparent 70%);
	z-index: 1;
	pointer-events: none;
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .astra-shop-thumbnail-wrap,
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .woocommerce-LoopProduct-link {
	height: 100%;
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .woocommerce-loop-product__title,
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .price {
	position: absolute;
	left: 14px;
	right: 70px;
	z-index: 3;
	color: #fff !important;
	padding: 0 !important;
	background: transparent !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .woocommerce-loop-product__title {
	bottom: 44px;
	font-size: 14px;
	font-weight: 700;
	-webkit-line-clamp: 1;
	min-height: 0;
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .price {
	bottom: 18px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}
/* Frosted pill behind the text. Uses a dark tint so white text
   reads on any underlying image (light photos defeat a white pill). */
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product::after {
	content: "";
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	height: 64px;
	border-radius: 16px;
	background: rgba(15, 23, 42, .42);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	border: 1px solid rgba(255, 255, 255, .18);
	z-index: 2;
	pointer-events: none;
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .pmbo-loop-cart-slot {
	right: 18px;
	bottom: 18px;
	z-index: 4;
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .button,
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .pmbo-stepper-add {
	background: #fff !important;
	color: var(--pmbo-primary) !important;
	box-shadow: 0 4px 10px rgba(15, 23, 42, .25);
}
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .button::before,
body.pmbo-loop-tpl-glass.pmbo-managed ul.products li.product .pmbo-stepper-add::before {
	background-color: var(--pmbo-primary);
}

/* =====================================================================
   SINGLE PRODUCT VARIANTS
   =====================================================================
   The default Woo + Astra single product template uses a two-column
   layout: gallery on the left, summary on the right. Variants tune
   typography, spacing, sticky behaviour and accent treatment. None
   of them rewrite the markup.

   The PDP "Add to cart" button uses WC's default blue out of the box,
   which looks off-brand on every PMBO-managed store. We pin it to the
   live brand color once here so every PDP variant inherits the same
   primary-colored CTA regardless of which template is active. Each
   individual variant only tweaks shape/size/typography on top.
*/
body.pmbo-managed.single-product div.summary .single_add_to_cart_button {
	background: var(--pmbo-primary, #6f4e37) !important;
	color: #fff !important;
	border: 0 !important;
}
body.pmbo-managed.single-product div.summary .single_add_to_cart_button:hover,
body.pmbo-managed.single-product div.summary .single_add_to_cart_button:focus {
	filter: brightness(.92);
}

/* === editorial (default) === */
body.pmbo-single-tpl-editorial .product .product_title.entry-title {
	font-weight: 700;
	letter-spacing: -.01em;
}

/* === boutique === */
@media (min-width: 768px) {
	body.pmbo-single-tpl-boutique .product > .woocommerce-product-gallery {
		position: sticky;
		top: 96px;
		align-self: start;
	}
}
body.pmbo-single-tpl-boutique .product .product_title.entry-title {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: clamp(1.4rem, 2.2vw, 1.9rem);
	font-weight: 600;
}
body.pmbo-single-tpl-boutique .product .price {
	font-weight: 500;
	font-size: 1.1rem;
	color: #111827 !important;
}
body.pmbo-single-tpl-boutique .product div.summary .single_add_to_cart_button {
	width: 100%;
	border-radius: 0 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
}

/* === marketplace === */
body.pmbo-single-tpl-marketplace .product .product_title.entry-title {
	font-size: clamp(1.05rem, 1.4vw, 1.3rem);
	font-weight: 500;
	line-height: 1.35;
}
body.pmbo-single-tpl-marketplace .product div.summary .price {
	background: rgba(var(--pmbo-primary-rgb, 17, 24, 39), .04);
	padding: 12px 14px;
	border-radius: 8px;
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--pmbo-primary) !important;
}
body.pmbo-single-tpl-marketplace .product div.summary .price del {
	color: #9ca3af !important;
	font-size: 1rem;
	font-weight: 400;
	margin-right: 8px;
	text-decoration: line-through !important;
}
body.pmbo-single-tpl-marketplace .product .woocommerce-product-rating {
	font-size: .85rem;
	background: rgba(var(--pmbo-primary-rgb, 17, 24, 39), .04);
	padding: 6px 10px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
body.pmbo-single-tpl-marketplace .product div.summary .single_add_to_cart_button {
	border-radius: 6px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 700;
}

/* === bold === */
body.pmbo-single-tpl-bold .product {
	padding-top: 0;
}
body.pmbo-single-tpl-bold .product > .woocommerce-product-gallery {
	background: rgba(var(--pmbo-primary-rgb, 17, 24, 39), .08);
	padding: 24px;
	border-radius: 4px;
}
body.pmbo-single-tpl-bold .product .product_title.entry-title {
	text-transform: uppercase;
	font-weight: 900;
	letter-spacing: -.01em;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	line-height: 1;
}
body.pmbo-single-tpl-bold .product div.summary .price {
	font-size: 1.8rem;
	font-weight: 800;
	color: #111827 !important;
}
body.pmbo-single-tpl-bold .product div.summary .single_add_to_cart_button {
	width: 100%;
	height: 56px;
	border-radius: 4px !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 800;
	font-size: 14px !important;
	background: var(--pmbo-primary) !important;
}
/* Sticky add-to-cart bar on mobile. */
@media (max-width: 767px) {
	body.pmbo-single-tpl-bold .product form.cart {
		position: sticky;
		bottom: 60px; /* clears the mobile nav bar */
		background: #fff;
		padding: 10px;
		margin: 16px -16px 0;
		box-shadow: 0 -4px 16px rgba(15, 23, 42, .08);
		z-index: 5;
	}
}

/* === glass === */
body.pmbo-single-tpl-glass .product {
	position: relative;
}
body.pmbo-single-tpl-glass .product > .woocommerce-product-gallery {
	border-radius: 22px;
	overflow: hidden;
}
body.pmbo-single-tpl-glass .product div.summary {
	background: rgba(255, 255, 255, .65);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	border: 1px solid rgba(255, 255, 255, .8);
	padding: 22px;
	border-radius: 22px;
	box-shadow: 0 20px 40px rgba(15, 23, 42, .1);
}
body.pmbo-single-tpl-glass .product .product_title.entry-title {
	font-weight: 600;
	letter-spacing: -.01em;
	font-size: clamp(1.3rem, 2vw, 1.8rem);
}
body.pmbo-single-tpl-glass .product div.summary .single_add_to_cart_button {
	border-radius: 999px !important;
	padding: 12px 28px !important;
	font-weight: 700;
}
