/* =========================================================================
   MK Product Pages
   Every color comes from Modular Kit's tokens (--mk-*), with fallbacks:
   accent (--mk-accent), accent 2 (--mk-accent-2), contrast blocks (--mk-contrast)…
   ========================================================================= */
.mkpp, .mkpp-scope {
	--pp-bg: var(--mk-bg, #fff);
	--pp-surface: var(--mk-surface, #f4f4f6);
	--pp-text: var(--mk-text, #0b0b0d);
	--pp-muted: var(--mk-muted, #6b6b74);
	--pp-border: var(--mk-border, #e4e4e9);
	--pp-primary: var(--mk-primary, #0b0b0d);
	--pp-primary-text: var(--mk-primary-text, #fff);
	--pp-a1: var(--mk-accent, #2f7df6);
	--pp-a1t: var(--mk-accent-text, #fff);
	--pp-a2: var(--mk-accent-2, #ffb020);
	--pp-a2t: var(--mk-accent-2-text, #0b0b0d);
	--pp-c: var(--mk-contrast, #17191c);
	--pp-ct: var(--mk-contrast-text, #fff);
	--pp-a1-soft: color-mix(in srgb, var(--pp-a1) 14%, var(--pp-bg));
	--pp-radius: var(--mk-radius, 16px);
	--pp-r: calc(var(--pp-radius) * .55);
	--pp-r-sm: calc(var(--pp-radius) * .35);
	--pp-head: var(--mk-font-head, inherit);
	--pp-body: var(--mk-font-body, inherit);
	--pp-label: var(--mk-font-label, ui-monospace, SFMono-Regular, Menlo, monospace);
	--pp-weight: 800;
	--pp-off: var(--mkpp-off, 0px);
	--pp-line: var(--mkpp-line, color-mix(in srgb, var(--pp-text) 15%, var(--pp-bg)));
	--pp-sh-sm: calc(var(--pp-off) * .5) calc(var(--pp-off) * .5) 0 var(--pp-c);
	--pp-sh-md: calc(var(--pp-off) * .7) calc(var(--pp-off) * .7) 0 var(--pp-c);
}
.mkpp { background: var(--pp-bg); color: var(--pp-text); font-family: var(--pp-body); padding-bottom: clamp(48px, 7vw, 104px); }
.mkpp *, .mkpp-scope *, .mkpp *::before, .mkpp *::after { box-sizing: border-box; }
.mkpp img, .mkpp-scope img { max-width: 100%; height: auto; display: block; }
.mkpp a, .mkpp-scope a { color: inherit; text-decoration: none; }
.mkpp [hidden] { display: none !important; }
.mkpp :where(h1, h2, h3, p, ul, ol, dl, dd, table), .mkpp-scope :where(h1, h2, h3, p, ul, ol) { margin: 0; }
.mkpp :where(ul), .mkpp-scope :where(ul) { padding: 0; list-style: none; }
.mkpp-container { max-width: var(--mk-container, 1240px); margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.mkpp-ico { flex: none; }
.mkpp-hl { color: var(--pp-a1); }
.mkpp-label { display: block; font-family: var(--pp-label); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-muted); }
.is-upper .mkpp-title, .is-upper .mkpp-card__title, .mkpp.is-upper .mkpp-h2, .mkpp.is-upper .mkpp-batch__title { text-transform: uppercase; }

/* Type */
.mkpp-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-family: var(--pp-label); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--pp-a1); }
.mkpp-kicker__sep { opacity: .7; }
.mkpp-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--pp-label); font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-muted); }
.mkpp-title { font-family: var(--pp-head); font-weight: var(--pp-weight); font-size: clamp(32px, 4vw, 58px); line-height: 1; letter-spacing: -0.035em; color: var(--pp-text); }
.mkpp-title--xl { font-size: clamp(36px, 5vw, 72px); letter-spacing: -0.04em; }
.mkpp-h2 { font-family: var(--pp-head); font-weight: var(--pp-weight); font-size: clamp(26px, 3vw, 40px); letter-spacing: -0.03em; line-height: 1.05; margin-bottom: 28px !important; }
.mkpp-subtitle { color: var(--pp-muted); font-size: 17px; margin-top: 12px !important; }
.mkpp-muted { color: var(--pp-muted); }

/* Generic buttons */
.mkpp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 0 28px; border-radius: var(--mk-radius-btn, 999px) !important;
	background: var(--pp-primary) !important; color: var(--pp-primary-text) !important; border: 1px solid var(--pp-primary) !important;
	font-family: var(--pp-body); font-size: 15.5px; font-weight: 600; line-height: 1.2; cursor: pointer; text-decoration: none !important;
	transition: opacity .2s, transform .2s;
}
.mkpp-btn:hover { opacity: .88; transform: translateY(-1px); }
.mkpp-btn--outline { background: transparent !important; color: var(--pp-text) !important; border-color: color-mix(in srgb, var(--pp-text) 22%, transparent) !important; }
.mkpp-btn--outline:hover { border-color: var(--pp-text) !important; opacity: 1; }
.mkpp-btn--block { width: 100%; }
.mkpp-btn--sm { min-height: 40px; padding: 0 18px; font-size: 13.5px; }

/* Badges */
.mkpp-badge { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 6px 10px; border-radius: var(--pp-r-sm); font-family: var(--pp-label); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--pp-c); color: var(--pp-ct); }
.mkpp-badge.is-sale { background: var(--pp-a1); color: var(--pp-a1t); }
.mkpp-badge.is-out { background: var(--pp-surface); color: var(--pp-muted); border: 1px solid var(--pp-border); }

/* Breadcrumb */
.mkpp-breadcrumb { font-family: var(--pp-label); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--pp-muted); padding: 22px 0 0; display: flex; flex-wrap: wrap; }
.mkpp-breadcrumb a:hover { color: var(--pp-text); }
.mkpp-crumb-sep { margin: 0 8px; opacity: .5; }

/* Price (WooCommerce HTML) */
.mkpp-price { font-weight: 700; font-size: 15px; color: var(--pp-text); font-variant-numeric: tabular-nums; }
.mkpp-price del { color: var(--pp-muted); font-weight: 400; margin-right: 6px; }
.mkpp-price ins { text-decoration: none; }
.mkpp-price--lg { font-family: var(--pp-head); font-size: 28px; font-weight: var(--pp-weight); margin-top: 22px; letter-spacing: -0.02em; }
.mkpp-price .mk-gated-price { font-size: 14px; font-family: var(--pp-body); font-weight: 500; }

/* ================= Product card ================= */
.mkpp-grid { display: grid; grid-template-columns: repeat(var(--pp-cols, 4), minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.mk-products-grid.is-mkpp { gap: clamp(16px, 2vw, 28px); }
.mkpp-card { position: relative; display: flex; flex-direction: column; background: var(--pp-bg); color: var(--pp-text); overflow: hidden; }
.mkpp-card.is-bold { border: 2px solid var(--pp-line); border-radius: var(--pp-r); box-shadow: var(--pp-off) var(--pp-off) 0 var(--pp-c); margin: 0 var(--pp-off) var(--pp-off) 0; }
.mkpp-card.is-soft { background: var(--pp-surface); border-radius: var(--pp-radius); }
.mkpp-card.is-out { opacity: .75; }
.mkpp-card__media { position: relative; display: block; aspect-ratio: var(--pp-card-ratio, 4 / 3); overflow: hidden; background: linear-gradient(180deg, var(--pp-surface), color-mix(in srgb, var(--pp-surface) 70%, var(--pp-border))); }
.mkpp-card.is-bold .mkpp-card__media { border-bottom: 2px solid var(--pp-line); }
.mkpp-card__media img { width: 100%; height: 100% !important; object-fit: var(--pp-fit, contain); margin: 0 !important; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.mkpp-card:hover .mkpp-card__media img { transform: scale(1.04); }
.mkpp-card__body { display: flex; flex-direction: column; gap: 14px; padding: 20px 20px 22px; flex: 1; }
.mkpp-card__title { font-family: var(--pp-head); font-size: 19px !important; font-weight: var(--pp-weight) !important; letter-spacing: -0.015em; line-height: 1.12; min-height: 2.24em; }
.mkpp-card__sub { font-size: 13.5px; color: var(--pp-muted); line-height: 1.45; margin-top: -6px !important; }

.mkpp-sizebox { position: relative; padding: 13px 14px 24px; background: var(--pp-surface); border: 1px solid var(--pp-border); border-radius: var(--pp-r-sm); font-family: var(--pp-label); font-size: 14.5px; font-weight: 600; }
.mkpp-sizebox em { position: absolute; right: 8px; bottom: -1px; padding: 3px 8px; font-style: normal; font-family: var(--pp-body); font-size: 11.5px; font-weight: 600; color: var(--pp-muted); background: var(--pp-bg); border: 1px solid var(--pp-border); border-bottom: 0; border-radius: 4px 4px 0 0; }

.mkpp-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.mkpp-proof__tested { display: inline-flex; align-items: center; gap: 8px; font-family: var(--pp-label); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pp-a1); }
.mkpp-tick { width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--pp-a1); color: var(--pp-a1t); box-shadow: 0 0 0 3px var(--pp-a1-soft); }
.mkpp-chipbtn { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); background: var(--pp-bg); font-family: var(--pp-label); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; box-shadow: var(--pp-sh-sm); transition: transform .15s, box-shadow .15s; }
.mkpp-chipbtn:hover { transform: scale(1.05); }

.mkpp-pricebox { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--pp-surface); border: 1px solid var(--pp-border); border-radius: var(--pp-r-sm); }
.mkpp-pricebox__low strong { font-family: var(--pp-head); font-size: 27px; font-weight: var(--pp-weight); letter-spacing: -0.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.mkpp-pricebox__low strong.mkpp-price { font-size: 22px; }
.mkpp-pricebox__low small { font-size: 15px; color: var(--pp-muted); margin-left: 2px; }
.mkpp-pricebox__low .mkpp-label { margin-bottom: 2px; }
.mkpp-pricebox__single { text-align: right; }
.mkpp-pricebox__single strong { display: block; font-family: var(--pp-head); font-size: 17px; font-weight: var(--pp-weight); margin-top: 3px; font-variant-numeric: tabular-nums; }
.mkpp-pricebox.is-lg { padding: 14px 18px; }
.mkpp-pricebox.is-lg .mkpp-pricebox__low strong { font-size: 34px; }
.mkpp-pricebox.is-lg .mkpp-pricebox__single strong { font-size: 20px; }

.mkpp-dealbtns { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 10px; }
.mkpp-dealbtn, .mkpp-scope a.mkpp-dealbtn.button {
	display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
	min-height: 54px; padding: 8px 6px !important; border: 2px solid var(--pp-line) !important; border-radius: var(--pp-r-sm) !important;
	box-shadow: var(--pp-sh-sm); text-align: center; line-height: 1.15 !important; transition: transform .15s, box-shadow .15s; margin: 0 !important;
}
.mkpp-dealbtn b { font-family: var(--pp-head); font-size: 15px; font-weight: var(--pp-weight); text-transform: uppercase; letter-spacing: .01em; }
.mkpp-dealbtn span { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.mkpp-dealbtn.is-a2 { background: var(--pp-a2) !important; color: var(--pp-a2t) !important; }
.mkpp-dealbtn.is-a1 { background: var(--pp-a1) !important; color: var(--pp-a1t) !important; }
.mkpp-dealbtn:hover, .mkpp-mainbtn:hover { transform: scale(1.03); filter: brightness(1.05); }
.mkpp-dealbtn.loading, .mkpp-mainbtn.loading { opacity: .6; }

.mkpp-mainbtn, .mkpp-scope a.mkpp-mainbtn.button {
	display: flex !important; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 0 16px !important; margin: 2px 0 0 !important;
	background: var(--pp-a1) !important; color: var(--pp-a1t) !important; border: 2px solid var(--pp-line) !important; border-radius: var(--pp-r-sm) !important;
	box-shadow: var(--pp-sh-md); font-family: var(--pp-head); font-size: 15.5px; font-weight: var(--pp-weight); letter-spacing: .06em; text-transform: uppercase; line-height: 1.1 !important;
	transition: transform .15s, box-shadow .15s;
}
.mkpp-mainbtn.is-disabled { background: var(--pp-surface) !important; color: var(--pp-muted) !important; box-shadow: none; cursor: not-allowed; }
.mkpp-scope .added_to_cart { display: block; text-align: center; font-size: 12.5px; font-weight: 600; text-decoration: underline; margin-top: -4px; }

/* Soft look: no outlines / offset shadows */
.is-soft .mkpp-dealbtn, .is-soft .mkpp-mainbtn, .is-soft .mkpp-chipbtn, .is-soft .mkpp-dealbtn.button, .is-soft .mkpp-mainbtn.button { border-color: transparent !important; box-shadow: none !important; }
.is-soft .mkpp-chipbtn { border: 1px solid var(--pp-border) !important; }

/* ================= Single product ================= */
.mkpp-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; padding-top: 18px; }
.mkpp-img-right .mkpp-hero__media { order: 2; }
.mkpp-hero__summary { display: flex; flex-direction: column; align-items: stretch; padding-top: 4px; min-width: 0; }
.mkpp-hero__summary.is-sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 96px); }
.mkpp-hero__summary > .mkpp-title { margin-top: 12px !important; }
.mkpp-back { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; margin-bottom: 14px; border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); font-family: var(--pp-label); font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; transition: background-color .15s, color .15s; }
.mkpp-back:hover { background: var(--pp-c); color: var(--pp-ct); }
.mkpp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px !important; }
.mkpp-chips li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1.5px solid var(--pp-line); border-radius: var(--pp-r-sm); font-family: var(--pp-label); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.mkpp-chips li .mkpp-ico { color: var(--pp-a1); }
.mkpp-rating { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 13.5px; color: var(--pp-muted); }
.mkpp-rating a { text-decoration: underline; text-underline-offset: 3px; }
.mkpp-short { margin-top: 18px; color: var(--pp-muted); font-size: 16px; line-height: 1.6; }
.mkpp-short p + p { margin-top: 10px; }

/* Gallery */
.mkpp-gallery { display: grid; gap: 12px; }
.mkpp-gallery__main { position: relative; display: block; width: 100%; padding: 0; border: 0; margin: 0; cursor: zoom-in; aspect-ratio: 1 / 1; border-radius: var(--pp-r); overflow: hidden; background: var(--pp-surface); }
.is-imgbg-contrast .mkpp-gallery__main, .is-imgbg-contrast .mkpp-thumb { background: var(--pp-c); }
.is-bold .mkpp-gallery__main { border: 2px solid var(--pp-line); }
.mkpp-gallery__main img { width: 100%; height: 100%; object-fit: var(--pp-fit, contain); transition: opacity .25s; }
.mkpp-gallery__zoom { position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--pp-bg) 85%, transparent); color: var(--pp-text); opacity: 0; transition: opacity .2s; }
.mkpp-gallery__main:hover .mkpp-gallery__zoom { opacity: 1; }
.mkpp-stock { position: absolute; left: 14px; bottom: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: var(--pp-r-sm); background: color-mix(in srgb, var(--pp-c) 88%, transparent); color: var(--pp-ct); font-family: var(--pp-label); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mkpp-stock i { width: 8px; height: 8px; border-radius: 50%; background: #2fbf71; box-shadow: 0 0 0 3px rgba(47,191,113,.25); }
.mkpp-stock.is-out i { background: #e5484d; box-shadow: 0 0 0 3px rgba(229,72,77,.25); }
.mkpp-gallery__thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.mkpp-thumb { flex: none; width: 76px; height: 76px; padding: 0; border: 2px solid transparent; border-radius: var(--pp-r-sm); overflow: hidden; background: var(--pp-surface); cursor: pointer; opacity: .6; transition: opacity .2s, border-color .2s; }
.mkpp-thumb img { width: 100%; height: 100%; object-fit: var(--pp-fit, contain); }
.mkpp-thumb.is-active, .mkpp-thumb:hover { opacity: 1; border-color: var(--pp-a1); }
.mkpp-gallery.is-thumbs-side.has-thumbs { grid-template-columns: 76px minmax(0, 1fr); }
.mkpp-gallery.is-thumbs-side .mkpp-gallery__thumbs { order: -1; flex-direction: column; }
.mkpp-gallery.is-stack .mkpp-gallery__main { aspect-ratio: 4 / 5; }

/* Buy box (WooCommerce form) */
.mkpp-buy { width: 100%; margin-top: 24px; }
.mkpp-buy form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; align-items: stretch; }
.mkpp-buy .variations_form { flex-direction: column; }
.mkpp-buy .quantity { display: flex; margin: 0 !important; float: none !important; }
.mkpp-buy .quantity .qty { width: 84px; min-height: 58px; border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); background: var(--pp-bg); color: var(--pp-text); text-align: center; font-size: 17px; font-weight: 700; padding: 0 10px; }
.mkpp-buy.js-deals .quantity { display: none !important; }
.mkpp .single_add_to_cart_button, .mkpp-buy .button.single_add_to_cart_button {
	flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 10px; float: none !important; margin: 0 !important;
	min-height: 62px; padding: 0 22px !important; border-radius: var(--pp-r-sm) !important;
	background: var(--pp-c) !important; color: var(--pp-ct) !important; border: 2px solid var(--pp-line) !important;
	box-shadow: var(--pp-off) var(--pp-off) 0 color-mix(in srgb, var(--pp-c) 30%, transparent);
	font-family: var(--pp-head); font-size: 17px; font-weight: var(--pp-weight); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; transition: transform .15s, opacity .15s;
}
.mkpp .single_add_to_cart_button:hover { transform: scale(1.015); }
.mkpp .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.is-soft .single_add_to_cart_button { box-shadow: none; border-radius: var(--mk-radius-btn, 999px) !important; }
.mkpp-buy .woocommerce-variation-add-to-cart { display: flex; gap: 10px; width: 100%; }
.mkpp-buy .single_variation_wrap { width: 100%; }
.mkpp-buy .woocommerce-variation:empty, .mkpp-buy .single_variation:empty { display: none; }
.mkpp-buy .woocommerce-variation-price { display: none; } /* the deal box / price box shows it */
.mkpp-buy:not(.has-deals) .woocommerce-variation-price { display: block; margin-bottom: 10px; font-weight: 700; font-size: 20px; }
.mkpp-buy p.stock { width: 100%; font-size: 13.5px; font-weight: 600; margin: 0 0 4px; color: #1f9d55; }
.mkpp-buy p.stock.out-of-stock { color: #d64545; }
.mkpp-buy .reset_variations { font-size: 12.5px; color: var(--pp-muted); display: inline-block; margin-top: 8px; text-decoration: underline; }

/* Variation option buttons (built from WooCommerce's dropdowns) */
.mkpp-buy table.variations { width: 100%; border: 0; margin: 0 0 4px; border-collapse: collapse; }
.mkpp-buy table.variations tr { display: block; margin-bottom: 14px; }
.mkpp-buy table.variations th, .mkpp-buy table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; }
.mkpp-buy table.variations th { margin-bottom: 8px; }
.mkpp-buy table.variations th label { font-family: var(--pp-label); font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-muted); }
.mkpp-buy table.variations th label [data-mkpp-chosen] { color: var(--pp-text); }
.mkpp-buy table.variations select { width: 100%; min-height: 50px; border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); background: var(--pp-bg); color: var(--pp-text); padding: 0 14px; font: inherit; }
.mkpp-buy.js-swatches table.variations select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.mkpp-swatches { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.mkpp-swatch { min-height: 56px; padding: 10px 14px; border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); background: var(--pp-bg); color: var(--pp-text); font-family: var(--pp-head); font-size: 15px; font-weight: var(--pp-weight); text-transform: uppercase; letter-spacing: .02em; cursor: pointer; transition: background-color .15s, color .15s; }
.mkpp-swatch:hover { background: var(--pp-surface); }
.mkpp-swatch.is-active { background: var(--pp-c); color: var(--pp-ct); }
.mkpp-swatch:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }

/* Deal picker */
.mkpp-deals { width: 100%; display: grid; gap: 12px; margin: 4px 0 10px; }
.mkpp-deals__list { display: grid; gap: 14px; }
.mkpp-deal { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 16px 18px; border: 2px solid var(--pp-border); border-radius: var(--pp-r-sm); background: var(--pp-bg); cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.mkpp-deal:hover { border-color: color-mix(in srgb, var(--pp-c) 45%, transparent); }
.mkpp-deal input { position: absolute; opacity: 0; pointer-events: none; }
.mkpp-deal.is-selected { border-color: var(--pp-a1); background: var(--pp-a1-soft); box-shadow: 0 var(--pp-off) 0 var(--pp-a2); }
.mkpp-deal.is-selected:not(.is-pop) { box-shadow: 0 var(--pp-off) 0 var(--pp-a1); }
.mkpp-deal input:focus-visible ~ .mkpp-deal__radio { outline: 2px solid var(--pp-a1); outline-offset: 2px; }
.mkpp-deal__radio { width: 26px; height: 26px; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--pp-text) 35%, transparent); display: grid; place-items: center; color: transparent; background: var(--pp-bg); }
.mkpp-deal.is-selected .mkpp-deal__radio { background: var(--pp-a1); border-color: var(--pp-a1); color: var(--pp-a1t); }
.mkpp-deal__text b { display: block; font-family: var(--pp-head); font-size: 16.5px; font-weight: var(--pp-weight); text-transform: uppercase; letter-spacing: -0.005em; }
.mkpp-deal__text small { display: block; margin-top: 3px; font-size: 13.5px; color: var(--pp-muted); }
.mkpp-deal__price { text-align: right; display: grid; justify-items: end; gap: 1px; font-variant-numeric: tabular-nums; }
.mkpp-deal__price s { font-size: 13px; color: var(--pp-muted); }
.mkpp-deal__price strong { font-family: var(--pp-head); font-size: 23px; font-weight: var(--pp-weight); letter-spacing: -0.02em; line-height: 1.1; }
.mkpp-deal__price small { font-size: 12px; color: var(--pp-muted); font-weight: 600; }
.mkpp-deal__badge { position: absolute; top: -13px; right: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 2px solid var(--pp-line); border-radius: 999px; font-family: var(--pp-label); font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1.2; }
.mkpp-deal.is-pop .mkpp-deal__badge { background: var(--pp-a2); color: var(--pp-a2t); }
.mkpp-deal.is-value .mkpp-deal__badge { background: var(--pp-a1); color: var(--pp-a1t); }
.mkpp-deal__badge em { font-style: normal; margin-left: 4px; padding: 1px 8px; border-radius: 999px; background: var(--pp-bg); color: var(--pp-text); }

/* Checklist under the button */
.mkpp-trust { width: 100%; margin-top: 22px !important; display: grid; gap: 10px; }
.mkpp-trust li { display: flex; align-items: center; gap: 12px; font-size: 15.5px; }
.mkpp-trust li .mkpp-ico, .mkpp-trust li i { width: 20px; height: 20px; color: var(--pp-a1); font-size: 16px; }
.mkpp-coa-btn { margin-top: 14px; }
.mkpp-meta { width: 100%; display: flex; flex-wrap: wrap; gap: 6px 24px; margin-top: 18px !important; font-family: var(--pp-label); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--pp-muted); }
.mkpp-meta div { display: flex; gap: 6px; }
.mkpp-meta dt { font-weight: 700; }

/* ================= Batch proof section ================= */
.mkpp-batch { margin-top: clamp(56px, 7vw, 96px); padding: clamp(56px, 7vw, 96px) 0; background: var(--pp-surface); }
.mkpp-batch__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.mkpp-batch__title { margin-top: 14px !important; font-family: var(--pp-head); font-weight: var(--pp-weight); font-size: clamp(34px, 4.4vw, 62px); line-height: 1; letter-spacing: -0.04em; }
.mkpp-batch__text { margin-top: 20px !important; max-width: 56ch; color: var(--pp-muted); font-size: 17px; line-height: 1.65; }
.mkpp-batch__feats { margin-top: 28px !important; display: grid; gap: 18px; }
.mkpp-batch__feats li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; }
.mkpp-batch__ficon { width: 40px; height: 40px; display: grid; place-items: center; border: 2px solid var(--pp-line); background: var(--pp-a1-soft); color: var(--pp-c); border-radius: var(--pp-r-sm); }
.mkpp-batch__ficon .mkpp-ico, .mkpp-batch__ficon i { width: 18px; height: 18px; }
.mkpp-batch__feats b { display: block; font-family: var(--pp-head); font-size: 15.5px; font-weight: var(--pp-weight); text-transform: uppercase; }
.mkpp-batch__feats small { display: block; margin-top: 4px; font-size: 15px; line-height: 1.55; color: var(--pp-muted); }
.mkpp-proofcard { background: var(--pp-bg); border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); box-shadow: var(--pp-off) var(--pp-off) 0 var(--pp-c); overflow: hidden; }
.mkpp-proofcard__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: color-mix(in srgb, var(--pp-a1) 22%, var(--pp-bg)); border-bottom: 2px solid var(--pp-line); font-family: var(--pp-label); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mkpp-proofcard__head > span { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.mkpp-proofcard__head em { flex: none; font-style: normal; padding: 4px 9px; background: var(--pp-c); color: var(--pp-ct); }
.mkpp-speclist { list-style: none; }
.mkpp-speclist li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 16px; border-top: 1px solid var(--pp-border); }
.mkpp-speclist li:first-child { border-top: 0; }
.mkpp-speclist li:nth-child(even) { background: color-mix(in srgb, var(--pp-surface) 55%, var(--pp-bg)); }
.mkpp-speclist li.is-bullet { grid-template-columns: 22px minmax(0, 1fr); }
.mkpp-box-tick { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 3px; background: var(--pp-a1); color: var(--pp-a1t); }
.mkpp-speclist__label { font-family: var(--pp-head); font-size: 15.5px; font-weight: 700; }
.mkpp-speclist li.is-bullet .mkpp-speclist__label { font-family: var(--pp-body); font-weight: 500; }
.mkpp-speclist__val { display: grid; justify-items: end; gap: 3px; text-align: right; font-family: var(--pp-label); font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pp-muted); }
.mkpp-tabs__panel > .mkpp-speclist { border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); overflow: hidden; }
.mkpp-proofcard__panel { padding: 18px 18px 20px; background: var(--pp-c); color: var(--pp-ct); }
.mkpp-proofcard__panel b { display: block; font-family: var(--pp-head); font-size: 17px; font-weight: var(--pp-weight); text-transform: uppercase; letter-spacing: -0.005em; }
.mkpp-proofcard__panel p { margin-top: 6px !important; font-size: 14.5px; line-height: 1.55; opacity: .85; }
.mkpp-proofcard__labs { padding: 14px 16px 16px; border-top: 2px solid var(--pp-line); }
.mkpp-proofcard__labs > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.mkpp-labchip { padding: 6px 11px; border: 1.5px solid var(--pp-line); font-family: var(--pp-label); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* Tabs */
.mkpp-tabs { margin-top: clamp(48px, 6vw, 88px); }
.mkpp-tabs__nav { display: flex; gap: 6px; border-bottom: 2px solid var(--pp-border); overflow-x: auto; scrollbar-width: none; }
.mkpp-tabs__btn { flex: none; padding: 14px 4px; margin-right: 24px; border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px; background: none; color: var(--pp-muted); font-family: var(--pp-label); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; border-radius: 0; }
.mkpp-tabs__btn:hover { color: var(--pp-text); background: none; }
.mkpp-tabs__btn.is-active { color: var(--pp-text); border-bottom-color: var(--pp-a1); }
.mkpp-tabs__panel { padding: 32px 0 0; max-width: 860px; }
.mkpp-prose { font-size: 16.5px; line-height: 1.7; color: color-mix(in srgb, var(--pp-text) 82%, var(--pp-muted)); }
.mkpp-prose > * + * { margin-top: 14px !important; }
.mkpp-prose h2, .mkpp-prose h3 { color: var(--pp-text); font-family: var(--pp-head); letter-spacing: -0.015em; margin-top: 28px !important; }
.mkpp-prose a { text-decoration: underline; text-underline-offset: 3px; }
.mkpp-prose ul { list-style: disc; padding-left: 20px; }
.mkpp-coa { display: flex; gap: 20px; align-items: flex-start; padding: 28px; border-radius: var(--pp-r-sm); background: var(--pp-surface); border: 2px solid var(--pp-line); }
.mkpp-coa > div:last-child { display: grid; gap: 12px; justify-items: start; }
.mkpp-coa__icon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--pp-a1-soft); color: var(--pp-a1); }

/* Reviews (WooCommerce markup) */
.mkpp #reviews .commentlist { list-style: none; padding: 0; margin: 0 0 24px; }
.mkpp #reviews .comment_container { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--pp-border); }
.mkpp #reviews .avatar { border-radius: 50%; width: 44px; height: 44px; }
.mkpp #reviews input[type="text"], .mkpp #reviews input[type="email"], .mkpp #reviews textarea { width: 100%; border: 2px solid var(--pp-border); border-radius: var(--pp-r-sm); background: var(--pp-bg); color: var(--pp-text); padding: 12px 14px; font: inherit; }
.mkpp #reviews .form-submit input { background: var(--pp-c); color: var(--pp-ct); border: 0; border-radius: var(--pp-r-sm); padding: 14px 26px; font-weight: 700; cursor: pointer; }

/* Related */
.mkpp-related { margin-top: clamp(56px, 7vw, 104px); }
.mkpp-related .mkpp-grid { --pp-cols: 4; }
@media (max-width: 1024px) { .mkpp-related .mkpp-grid { --pp-cols: 2; } }
@media (max-width: 600px) { .mkpp-related .mkpp-grid { --pp-cols: 1; } }

/* ================= Shop & category pages ================= */
.mkpp-banner { padding: clamp(40px, 6vw, 88px) 0 clamp(28px, 4vw, 48px); position: relative; background-size: cover; background-position: center; isolation: isolate; }
.mkpp-banner .mkpp-breadcrumb { padding: 0 0 18px; }
.mkpp-banner.has-image { color: #fff; padding: clamp(80px, 12vw, 160px) 0 clamp(40px, 5vw, 64px); margin-bottom: 28px; }
.mkpp-banner.has-image::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,.15)); }
.mkpp-banner.has-image .mkpp-title, .mkpp-banner.has-image .mkpp-breadcrumb, .mkpp-banner.has-image .mkpp-banner__desc { color: #fff; }
.mkpp-banner__desc { max-width: 640px; margin-top: 16px; color: var(--pp-muted); font-size: 17px; line-height: 1.55; }
.mkpp-pills { display: flex; flex-wrap: wrap; gap: 8px; max-width: 100%; padding: 2px 0 8px; margin-bottom: 20px; }
.mkpp-pill { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: var(--pp-r-sm); border: 2px solid var(--pp-line); font-family: var(--pp-label); font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pp-text); transition: background-color .2s; white-space: nowrap; }
.mkpp-pill { max-width: 100%; white-space: normal; text-align: left; }
.mkpp-pill:hover { background: var(--pp-surface); }
.mkpp-pill.is-active { background: var(--pp-c); color: var(--pp-ct); }
.mkpp-pill__count { font-size: 11px; opacity: .65; font-variant-numeric: tabular-nums; }
.mkpp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 4px 0 24px; font-size: 14px; color: var(--pp-muted); }
.mkpp-toolbar .woocommerce-result-count { margin: 0; font-family: var(--pp-label); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.mkpp-toolbar form { margin: 0; }
.mkpp-toolbar select { min-height: 42px; border: 2px solid var(--pp-line); border-radius: var(--pp-r-sm); background: var(--pp-bg); color: var(--pp-text); padding: 0 36px 0 14px; font: inherit; font-size: 14px; }
.mkpp-pagination { margin-top: 48px; }
.mkpp-pagination ul.page-numbers, .mkpp-pagination ul { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; min-width: 0; height: auto; background: none; }
.mkpp-pagination li { display: block; margin: 0 !important; padding: 0; border: 0 !important; float: none; list-style: none; }
.mkpp-pagination :is(a, span).page-numbers { min-width: 42px; height: 42px; padding: 0 12px; border-radius: var(--pp-r-sm); display: inline-grid; place-items: center; border: 2px solid var(--pp-line); font-size: 14px; font-weight: 700; }
.mkpp-pagination :is(a, span).page-numbers:hover { background: var(--pp-surface); }
.mkpp-pagination span.page-numbers.current { background: var(--pp-c); color: var(--pp-ct); }
.mkpp-empty { padding: 64px 0; text-align: center; color: var(--pp-muted); display: grid; gap: 18px; justify-items: center; }

/* Notices */
.mkpp .woocommerce-message, .mkpp .woocommerce-info, .mkpp .woocommerce-error { margin: 20px 0 0 !important; padding: 16px 20px !important; border-radius: var(--pp-r-sm); background: var(--pp-surface) !important; color: var(--pp-text) !important; border: 2px solid var(--pp-line) !important; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.mkpp .woocommerce-message::before, .mkpp .woocommerce-info::before, .mkpp .woocommerce-error::before { display: none; }
.mkpp .woocommerce-message .button, .mkpp .woocommerce-info .button, .mkpp .woocommerce-error .button { display: inline-flex !important; align-items: center !important; justify-content: center !important; float: none !important; margin: 0 !important; line-height: 1 !important; white-space: nowrap; text-decoration: none !important; }
.mkpp .woocommerce-message .button { min-height: 38px !important; padding: 0 16px !important; font-size: 13px !important; order: 2; background: var(--pp-c) !important; color: var(--pp-ct) !important; border-radius: var(--pp-r-sm) !important; }

/* Sticky mobile bar */
.mkpp-bar { display: none; }
@media (max-width: 767px) {
	.mkpp-bar {
		position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 990;
		display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 16px;
		border-radius: var(--pp-r-sm); background: var(--pp-bg); border: 2px solid var(--pp-line);
		box-shadow: var(--pp-sh-md);
		transform: translateY(160%); transition: transform .3s ease;
	}
	.mkpp-bar.is-visible { transform: none; }
	.mkpp-bar__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
	.mkpp-bar__name { font-family: var(--pp-head); font-size: 13.5px; font-weight: var(--pp-weight); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; }
	.mkpp-bar__price { font-size: 13px; color: var(--pp-muted); }
	.mkpp-bar__price del { opacity: .7; }
	.mkpp-bar__price ins { text-decoration: none; }
	.mkpp-bar .mkpp-btn { background: var(--pp-a1) !important; color: var(--pp-a1t) !important; border-color: var(--pp-line) !important; border-radius: var(--pp-r-sm) !important; font-weight: 800; text-transform: uppercase; }
}

/* Lightbox */
.mkpp-lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.92); display: grid; place-items: center; padding: 24px; cursor: zoom-out; }
.mkpp-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; }
.mkpp-lightbox__close { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; cursor: pointer; padding: 0; }

/* Responsive */
@media (max-width: 1024px) {
	.mkpp-hero, .mkpp-batch__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 860px) {
	.mkpp-batch__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.mkpp-hero { grid-template-columns: 1fr; padding-top: 12px; }
	.mkpp-img-right .mkpp-hero__media { order: 0; }
	.mkpp-hero__summary.is-sticky { position: static; }
	.mkpp-gallery.is-thumbs-side.has-thumbs { grid-template-columns: 1fr; }
	.mkpp-gallery.is-thumbs-side .mkpp-gallery__thumbs { order: 0; flex-direction: row; }
	.mkpp-gallery.is-stack { grid-auto-flow: column; grid-auto-columns: 88%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.mkpp-gallery.is-stack .mkpp-gallery__main { scroll-snap-align: start; }
	.mkpp-thumb { width: 62px; height: 62px; }
	.mkpp-deal { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; padding: 16px 14px 14px; }
	.mkpp-deal__price strong { font-size: 20px; }
	.mkpp-speclist li { grid-template-columns: 22px minmax(0, 1fr); }
	.mkpp-speclist__val { grid-column: 2; justify-items: start; text-align: left; }
	.mkpp-coa { flex-direction: column; padding: 22px; }
	.mkpp-single { padding-bottom: 96px; }
	.mkpp-card__title { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { .mkpp *, .mkpp-scope *, .mkpp-bar { transition: none !important; } }

/* Cards adapt to their own width (narrow columns on smaller screens) */
.mkpp-card { container-type: inline-size; }
.mkpp-pricebox { flex-wrap: wrap; }
.mkpp-pricebox__single { margin-left: auto; }
.mkpp-pricebox__single .mkpp-label { white-space: nowrap; }
@container (max-width: 300px) {
	.mkpp-card__body { padding: 16px 14px 18px; gap: 12px; }
	.mkpp-card__title { font-size: 17px !important; }
	.mkpp-pricebox { padding: 10px 12px; gap: 8px; }
	.mkpp-pricebox .mkpp-label { font-size: 9.5px; letter-spacing: .1em; }
	.mkpp-pricebox__low strong { font-size: 21px; }
	.mkpp-pricebox__low small { font-size: 12px; }
	.mkpp-pricebox__single strong { font-size: 14px; }
	.mkpp-proof { gap: 8px 10px; }
	.mkpp-proof__tested { font-size: 10.5px; letter-spacing: .08em; gap: 6px; }
	.mkpp-tick { width: 20px; height: 20px; }
	.mkpp-chipbtn { font-size: 10.5px; padding: 4px 8px; }
	.mkpp-dealbtn b { font-size: 14px; }
	.mkpp-dealbtn span { font-size: 10.5px; }
	.mkpp-mainbtn, .mkpp-scope a.mkpp-mainbtn.button { font-size: 14px; letter-spacing: .03em; }
}
@container (max-width: 240px) {
	.mkpp-pricebox__single { text-align: left; }
	.mkpp-dealbtns { grid-template-columns: 1fr; }
}

/* Bold look: square-ish secondary buttons to match */
.mkpp.is-bold .mkpp-btn { border-radius: var(--pp-r-sm) !important; }
.mkpp.is-bold .mkpp-btn--outline { border: 2px solid var(--pp-line) !important; font-weight: 700; }

/* Hover: gentle grow instead of shadows */
.mkpp-card { transition: transform .3s cubic-bezier(.2,.7,.2,1); will-change: transform; }
.mkpp-card:hover { transform: scale(1.02); }
.mkpp-card.is-bold { margin: 0 var(--pp-off) var(--pp-off) 0; }
@media (prefers-reduced-motion: reduce) { .mkpp-card:hover, .mkpp-chipbtn:hover, .mkpp-dealbtn:hover, .mkpp-mainbtn:hover { transform: none; } }

/* =========================================================================
   Outline hover: light outlines darken a touch when a card is hovered.
   ========================================================================= */
.mkpp-card.is-bold { transition: transform .2s ease, border-color .2s ease; }
.mkpp-card.is-bold:hover { border-color: color-mix(in srgb, var(--pp-line) 55%, var(--pp-text)); }

/* =========================================================================
   Button finish: GLOSSY (Product Pages → Look → Button finish)
   Filled buttons get a soft top-lit gradient + glow in their own color (--g);
   secondary buttons and overlays get a frosted, see-through finish.
   All colors still come from your Accent / Accent 2 / Contrast settings.
   (:is() with the WooCommerce "a.button" variants keeps these winning over theme/Woo button styles.)
   ========================================================================= */
body.mkpp-glossy :is(.mkpp-mainbtn, .mkpp-scope a.mkpp-mainbtn.button, .mkpp-dealbtn.is-a1, .mkpp-scope a.mkpp-dealbtn.button.is-a1, .mkpp-bar .mkpp-btn, .mkpp-finder__btn.is-primary) { --g: var(--pp-a1); --gt: var(--pp-a1t); }
body.mkpp-glossy :is(.mkpp-dealbtn.is-a2, .mkpp-scope a.mkpp-dealbtn.button.is-a2) { --g: var(--pp-a2); --gt: var(--pp-a2t); }
body.mkpp-glossy :is(.mkpp .single_add_to_cart_button, .mkpp-buy .button.single_add_to_cart_button) { --g: var(--pp-c); --gt: var(--pp-ct); }
body.mkpp-glossy .mkpp-btn:not(.mkpp-btn--outline):not(.mkpp-bar .mkpp-btn) { --g: var(--pp-primary); --gt: var(--pp-primary-text); }

body.mkpp-glossy :is(.mkpp-mainbtn, .mkpp-scope a.mkpp-mainbtn.button, .mkpp-dealbtn.is-a1, .mkpp-dealbtn.is-a2, .mkpp-scope a.mkpp-dealbtn.button.is-a1, .mkpp-scope a.mkpp-dealbtn.button.is-a2,
	.mkpp-bar .mkpp-btn, .mkpp-finder__btn.is-primary, .mkpp-btn:not(.mkpp-btn--outline),
	.mkpp .single_add_to_cart_button, .mkpp-buy .button.single_add_to_cart_button):not(.is-disabled):not(.disabled) {
	background: linear-gradient(180deg,
		color-mix(in srgb, var(--g) 68%, #fff) 0%,
		color-mix(in srgb, var(--g) 92%, #fff) 38%,
		var(--g) 62%,
		color-mix(in srgb, var(--g) 86%, #000) 100%) !important;
	color: var(--gt) !important;
	border: 1px solid color-mix(in srgb, var(--g) 78%, #000) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .55),
		inset 0 -3px 8px rgba(0, 0, 0, .10),
		0 6px 16px -10px color-mix(in srgb, var(--g) 70%, transparent) !important;
	transition: transform .18s ease, box-shadow .2s ease, filter .2s ease !important;
}
body.mkpp-glossy :is(.mkpp-mainbtn, .mkpp-scope a.mkpp-mainbtn.button, .mkpp-dealbtn.is-a1, .mkpp-dealbtn.is-a2, .mkpp-scope a.mkpp-dealbtn.button,
	.mkpp-bar .mkpp-btn, .mkpp-finder__btn.is-primary, .mkpp-btn:not(.mkpp-btn--outline),
	.mkpp .single_add_to_cart_button):not(.is-disabled):not(.disabled):not(:disabled):hover {
	filter: brightness(1.05); opacity: 1;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .6),
		inset 0 -3px 8px rgba(0, 0, 0, .10),
		0 10px 22px -10px color-mix(in srgb, var(--g) 80%, transparent) !important;
}
body.mkpp-glossy .mkpp-finder__btn.is-primary:disabled { box-shadow: none !important; filter: saturate(.6); }

/* Frosted secondary buttons (COA, outline buttons, Previous / Edit / Retake, back link) */
body.mkpp-glossy :is(.mkpp-chipbtn, .mkpp-btn--outline, .mkpp-finder__btn.is-ghost, .mkpp-back, .mkpp-scope a.mkpp-chipbtn) {
	background: linear-gradient(180deg, color-mix(in srgb, var(--pp-bg) 78%, transparent), color-mix(in srgb, var(--pp-surface) 82%, transparent)) !important;
	-webkit-backdrop-filter: blur(10px) saturate(1.3); backdrop-filter: blur(10px) saturate(1.3);
	border: 1px solid var(--pp-line) !important;
	color: var(--pp-text) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 6px 18px -12px rgba(0, 0, 0, .35) !important;
}
body.mkpp-glossy :is(.mkpp-chipbtn, .mkpp-btn--outline, .mkpp-finder__btn.is-ghost, .mkpp-back):hover {
	border-color: color-mix(in srgb, var(--pp-line) 50%, var(--pp-text)) !important;
}

/* Frosted overlays that sit on product photos (COA-on-file badge, stock tag) */
body.mkpp-glossy .mkpp-badge:not(.is-sale):not(.is-out) {
	background: color-mix(in srgb, var(--pp-c) 62%, transparent) !important; color: var(--pp-ct) !important;
	-webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4);
	border: 1px solid rgba(255, 255, 255, .18); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}
body.mkpp-glossy .mkpp-badge.is-sale {
	background: linear-gradient(180deg, color-mix(in srgb, var(--pp-a1) 75%, #fff), var(--pp-a1)) !important;
	border: 1px solid color-mix(in srgb, var(--pp-a1) 78%, #000); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45);
}
body.mkpp-glossy .mkpp-stock {
	-webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4);
	border: 1px solid var(--pp-line); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
}

/* Pill-shaped buttons (Product Pages → Look → Button shape) */
body.mkpp-pill-btns :is(.mkpp-mainbtn, .mkpp-dealbtn, .mkpp-chipbtn, .mkpp-btn, .mkpp-finder__btn, .mkpp-back, .mkpp-badge, .mkpp .single_add_to_cart_button, .mkpp-scope a.mkpp-mainbtn.button, .mkpp-scope a.mkpp-dealbtn.button, .mkpp-scope a.mkpp-chipbtn) { border-radius: 999px !important; }

@media (prefers-reduced-transparency: reduce) {
	.mkpp-glossy .mkpp-chipbtn, .mkpp-glossy .mkpp-btn--outline, .mkpp-glossy .mkpp-finder__btn.is-ghost, .mkpp-glossy .mkpp-back, .mkpp-glossy .mkpp-badge, .mkpp-glossy .mkpp-stock { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Category pills: compact on phones so several fit per row */
@media (max-width: 600px) {
	.mkpp-pills { gap: 6px; }
	.mkpp-pill { padding: 7px 11px; font-size: 11px; letter-spacing: .05em; gap: 6px; }
	.mkpp-pill__count { font-size: 10px; }
}

/* Previous certificates (COA tab) */
.mkpp-coahist { margin-top: 18px; border-top: 1px solid var(--pp-line); padding-top: 12px; }
.mkpp-coahist summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-family: var(--pp-label); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pp-muted); list-style: none; }
.mkpp-coahist summary::-webkit-details-marker { display: none; }
.mkpp-coahist summary:hover, .mkpp-coahist[open] summary { color: var(--pp-text); }
.mkpp-coahist ul { margin: 10px 0 0 !important; padding: 0; list-style: none; }
.mkpp-coahist li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--pp-line); font-size: 14px; }
.mkpp-coahist li:last-child { border-bottom: 0; }
.mkpp-coahist li a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Equal cards: the proof row keeps its space when empty, and the price + buttons sit at the bottom,
   so every card in a row lines up even when a product has no COA, size or deals. */
.mkpp-card { height: 100%; }
.mkpp-grid > *, .mk-products-grid.is-mkpp > * { min-width: 0; }
.mkpp-card__body > .mkpp-proof { margin-top: auto; min-height: 32px; }
.mkpp-card__body > .mkpp-proof.is-empty { visibility: hidden; }
.mkpp-card__body > .mkpp-sizebox + .mkpp-proof { margin-top: auto; }
