/* Shared components: size swatches + side-cart brand styling. Loaded site-wide. */

/* ---------- Variation size buttons ---------- */
.woocommerce div.product form.cart .variations{ margin-bottom:14px; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{ border:0; padding:0; }
.woocommerce div.product form.cart .variations label{ text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:600; color:var(--mpl-muted,#8A8A8A); padding:0 0 8px; }
.mpl-swatches{ display:flex; flex-wrap:wrap; gap:10px; padding-top:9px; }
.mpl-swatch{
	position:relative;
	border:1px solid var(--mpl-border,#ECECEC); background:#fff; color:var(--mpl-black,#0A0A0A);
	border-radius:8px; padding:11px 20px; cursor:pointer;
	font:600 13px/1 'Inter',sans-serif; letter-spacing:.04em; text-transform:uppercase;
	transition:border-color .18s ease, background-color .18s ease, color .18s ease;
}
.mpl-swatch:hover{ border-color:var(--mpl-cyan,#00EFFF); }
.mpl-swatch.is-active{ background:var(--mpl-black,#0A0A0A); color:#fff; border-color:var(--mpl-black,#0A0A0A); }

/* Sold-out size: muted, unclickable, with a badge above the button. */
.mpl-swatch.is-soldout{
	cursor:not-allowed; color:var(--mpl-muted,#8A8A8A); background:#F7F7F7;
	border-color:var(--mpl-border,#ECECEC); border-style:dashed;
	text-decoration:line-through; text-decoration-thickness:1px;
}
.mpl-swatch.is-soldout:hover{ border-color:var(--mpl-border,#ECECEC); }
.mpl-swatch-badge{
	position:absolute; top:0; left:50%; transform:translate(-50%,-50%);
	background:var(--mpl-black,#0A0A0A); color:#fff;
	font:700 8px/1 'Inter',sans-serif; letter-spacing:.08em; text-transform:uppercase;
	text-decoration:none; white-space:nowrap;
	padding:3px 7px; border-radius:99px;
}

/* ---------- Side cart (XootiX) — brand styling ---------- */
.xoo-wsc-modal .xoo-wsc-container{ background:#fff; }
.xoo-wsc-cart-head{ background:var(--mpl-black,#0A0A0A); }
.xoo-wsc-cart-head, .xoo-wsc-cart-head .xoo-wsch-text, .xoo-wsc-cart-head *{ color:#fff !important; }
.xoo-wsc-ft-totals, .xoo-wsc-subt{ font-weight:600; }
.xoo-wsc-btn, a.xoo-wsc-btn, .xoo-wsc-ft-btn-checkout{
	background:var(--mpl-black,#0A0A0A) !important; color:#fff !important;
	border:none !important; border-radius:8px !important;
	text-transform:uppercase; letter-spacing:.08em; font-weight:600;
}
.xoo-wsc-btn:hover, a.xoo-wsc-btn:hover, .xoo-wsc-ft-btn-checkout:hover{
	background:var(--mpl-cyan,#00EFFF) !important; color:var(--mpl-cyan-ink,#06181A) !important;
}
/* The slide-out drawer IS the cart, so the "View Cart" button is redundant.
   Hide it and keep Continue Shopping / Checkout. */
.xoo-wsc-ft-btn-view{ display:none !important; }
.xoo-wsc-product, .xoo-wsc-products .xoo-wsc-product{ border-color:var(--mpl-border,#ECECEC); }
.xoo-wsc-img-col img{ background:var(--mpl-bg-dark,#0B0B0C); border-radius:6px; }
.xoo-wsc-smr a, .xoo-wsc-pname a{ color:var(--mpl-black,#0A0A0A); }
/* floating basket button */
.xoo-wsc-cart-trigger, .xoo-wscb-icon{ background:var(--mpl-black,#0A0A0A) !important; color:#fff !important; }
.xoo-wsc-items-count, .xoo-wscb-count{ background:var(--mpl-cyan,#00EFFF) !important; color:var(--mpl-cyan-ink,#06181A) !important; }

/* ============ Readability: cyan only on dark; readable accents on light ============ */
.mpl-section .mpl-eyebrow{ color:#0A7A85 !important; }       /* deep teal — on-brand accent, readable on light */
.mpl-hero .mpl-eyebrow{ color:var(--mpl-cyan,#00EFFF); }    /* keep cyan on the dark hero */
.mpl-section .mpl-link{ color:var(--mpl-black,#0A0A0A) !important; border-bottom:2px solid var(--mpl-cyan,#00EFFF); padding-bottom:3px; }
.mpl-section .mpl-link:hover{ color:#0a7a85 !important; }
.mpl-cat .ar{ color:#2A2A2A !important; }
.mpl-cat:hover .ar{ color:#0a7a85 !important; }
.mpl-cat .ct{ color:#5A5A5A !important; }
.mpl-compare .feat{ color:#1A1A1A !important; }
.mpl-compare thead th{ color:#3A3A3A !important; }
.mpl-compare thead th.us{ color:#fff !important; }          /* white on the black "Miami Peptide Lab" header — was inheriting dark gray */
.mpl-compare .yes{ color:#0a7a85 !important; font-weight:700; font-size:17px; }
.mpl-compare .no{ color:#777 !important; font-weight:500; }

/* ============ Guarantee emblems (circular seals, readable on white) ============ */
.mpl-guarantees .g svg{
	width:26px; height:26px; stroke:var(--mpl-black,#0A0A0A); stroke-width:1.6;
	box-sizing:content-box; padding:17px; border-radius:50%;
	background:rgba(0,239,255,.07); border:1.5px solid var(--mpl-cyan,#00EFFF);
}
.mpl-guarantees .g h3{ color:var(--mpl-black,#0A0A0A); }

/* ============ View all products (shop archive) polish ============ */
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header{ text-align:center; margin:0 0 6px; }
.woocommerce-products-header__title.page-title{ text-transform:uppercase; letter-spacing:.04em; font-weight:600; font-size:30px; }
.woocommerce .woocommerce-result-count{ color:var(--mpl-muted,#8A8A8A); font-size:13px; }
.woocommerce .woocommerce-ordering select{ border:1px solid var(--mpl-border,#ECECEC); border-radius:8px; padding:9px 12px; }

/* ============ Checkout (WooCommerce blocks) brand polish ============ */
.wc-block-checkout, .wp-block-woocommerce-checkout, .wc-block-cart{ font-family:'Inter',sans-serif; }
.wc-block-components-button.contained,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button{
	background:var(--mpl-black,#0A0A0A) !important; color:#fff !important; border-radius:8px !important;
	text-transform:uppercase; letter-spacing:.08em; font-weight:600;
}
.wc-block-components-button.contained:hover,
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover{
	background:var(--mpl-cyan,#00EFFF) !important; color:var(--mpl-cyan-ink,#06181A) !important;
}
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-select__container{ border-radius:8px !important; }
.wc-block-components-totals-item__value, .wc-block-components-order-summary{ font-weight:500; }
.wc-block-checkout__sidebar .wc-block-components-panel{ border-radius:12px; }

/* ============ Homepage product grid — force responsive columns ============ */
.mpl-section ul.products{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:20px; margin:0; padding:0; }
.mpl-section ul.products::before, .mpl-section ul.products::after{ display:none !important; }
.mpl-section ul.products li.product{ width:auto !important; float:none !important; margin:0 !important; clear:none !important; }
@media(max-width:880px){ .mpl-section ul.products{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .mpl-section ul.products{ grid-template-columns:1fr; } }

/* ============ Single product page polish ============ */
/* Breadcrumb */
.single-product .woocommerce-breadcrumb{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--mpl-muted,#8A8A8A); margin-bottom:18px; }
.single-product .woocommerce-breadcrumb a{ color:#555; }
.single-product .woocommerce-breadcrumb a:hover{ color:#0a7a85; }

/* Summary column rhythm */
.single-product div.product .summary.entry-summary{ padding-left:6px; }
.single-product div.product .product_title{ font-size:clamp(26px,3.4vw,36px); line-height:1.12; margin:4px 0 12px; }
.single-product div.product p.price,
.single-product div.product .woocommerce-variation-price .price{ font-size:26px; font-weight:700; color:var(--mpl-black,#0A0A0A); margin:0 0 18px; }
.single-product div.product p.price del{ color:var(--mpl-muted,#8A8A8A); font-weight:400; font-size:19px; }
.single-product div.product p.price ins{ text-decoration:none; }
.single-product .woocommerce-product-details__short-description{ color:#555; font-size:15px; line-height:1.65; margin:0 0 22px; max-width:50ch; }
.single-product .woocommerce-product-details__short-description p{ margin:0 0 8px; }

/* Quantity input — kill native spinners, brand it (classic single-product only) */
.single-product .quantity .qty{
	width:74px; height:48px; text-align:center; border:1px solid var(--mpl-border,#ECECEC);
	border-radius:8px; font-weight:600; font-size:15px; color:var(--mpl-black,#0A0A0A); background:#fff;
	-moz-appearance:textfield; appearance:textfield;
}
.single-product .quantity .qty::-webkit-outer-spin-button,
.single-product .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.single-product .quantity .qty:focus{ outline:none; border-color:var(--mpl-cyan,#00EFFF); box-shadow:0 0 0 3px rgba(0,239,255,.18); }

/* Quantity + Add-to-cart as one clean row (simple + variable products) */
.single-product div.product form.cart:not(.variations_form),
.single-product div.product .woocommerce-variation-add-to-cart{
	display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:6px 0 4px;
}
.single-product div.product form.cart .quantity{ margin:0; float:none; }
.single-product div.product form.cart .single_add_to_cart_button{
	height:48px; padding:0 34px !important; flex:1 1 220px; line-height:48px;
}
.single-product div.product form.cart .reset_variations{ font-size:12px; color:var(--mpl-muted,#8A8A8A); }
.single-product .woocommerce-variation-price{ margin-bottom:14px; }

/* Product meta (SKU / category) */
.single-product .product_meta{ margin-top:24px; padding-top:16px; border-top:1px solid var(--mpl-border,#ECECEC); font-size:12px; color:var(--mpl-muted,#8A8A8A); }
.single-product .product_meta > span{ display:block; margin-bottom:6px; }
.single-product .product_meta a{ color:#444; }
.single-product .product_meta a:hover{ color:#0a7a85; }

/* Tabs (Description / Reviews) */
.single-product .woocommerce-tabs ul.tabs{ padding:0; margin:0; display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--mpl-border,#ECECEC); }
.single-product .woocommerce-tabs ul.tabs:before{ display:none !important; }
.single-product .woocommerce-tabs ul.tabs li{ background:none !important; border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; }
.single-product .woocommerce-tabs ul.tabs li:before,
.single-product .woocommerce-tabs ul.tabs li:after{ display:none !important; }
.single-product .woocommerce-tabs ul.tabs li a{ display:block; padding:14px 10px !important; text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600; color:var(--mpl-muted,#8A8A8A) !important; border-bottom:2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{ color:var(--mpl-black,#0A0A0A) !important; border-bottom-color:var(--mpl-cyan,#00EFFF); }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{ padding-top:26px; color:#444; line-height:1.75; font-size:15px; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child{ display:none; }

/* Related products */
.single-product .related.products,
.single-product .up-sells.products{ border-top:1px solid var(--mpl-border,#ECECEC); margin-top:48px; padding-top:48px; clear:both; }
.single-product .related.products > h2,
.single-product .up-sells.products > h2{ text-align:center; font-size:24px; text-transform:uppercase; letter-spacing:.03em; margin:0 0 32px; }

/* "Researchers often pair with" — force a 3-up grid (homepage grid rule
   is scoped to .mpl-section and doesn't reach single-product pages). */
.single-product .mpl-pair ul.products{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:20px; margin:0; padding:0; }
.single-product .mpl-pair ul.products::before, .single-product .mpl-pair ul.products::after{ display:none !important; }
.single-product .mpl-pair ul.products li.product{ width:auto !important; float:none !important; margin:0 !important; clear:none !important; }
@media(max-width:880px){ .single-product .mpl-pair ul.products{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .single-product .mpl-pair ul.products{ grid-template-columns:1fr; } }

@media(max-width:782px){
	.single-product div.product .summary.entry-summary{ padding-left:0; }
	.single-product div.product form.cart .single_add_to_cart_button{ flex-basis:100%; }
}

/* ============ Dark section ("How we test") — readable on dark; breaks the white run ============ */
/* These must override the light-section contrast rules above, so they live last. */
.mpl-section--dark .mpl-eyebrow{ color:var(--mpl-cyan,#00EFFF) !important; }   /* cyan pops on dark */
.mpl-section--dark h2, .mpl-section--dark h3{ color:#fff; }
.mpl-section--dark .mpl-lead{ color:#9A9A9E; }
.mpl-section--dark .mpl-testflow .step{ border-top-color:#2A2A2C; }
.mpl-section--dark .mpl-testflow .num{ color:var(--mpl-cyan,#00EFFF); }        /* the 01–04 numbers — finally readable */
.mpl-section--dark .mpl-testflow p{ color:#9A9A9E; }
.mpl-section--dark .mpl-link{ color:#fff !important; border-bottom:2px solid var(--mpl-cyan,#00EFFF); padding-bottom:3px; }
.mpl-section--dark .mpl-link:hover{ color:var(--mpl-cyan,#00EFFF) !important; }

/* ============================================================
   Custom site footer (.mpl-footer)
   Replaces Divi's default footer. Lab dot-grid that lights up
   under the cursor + drifting cyan aurora + shimmer beam.
   ============================================================ */

/* Hide Divi's default widget footer — fully replaced below */
#main-footer, #footer-bottom{ display:none !important; }

.mpl-footer{
	--mx:50%; --my:34%;
	position:relative; isolation:isolate; overflow:hidden;
	background:radial-gradient(135% 150% at 50% -25%, #15161A 0%, var(--mpl-black,#0A0A0A) 46%, #050506 100%);
	color:#9A9A9E; padding:74px 6vw 30px;
}

/* Top shimmer beam */
.mpl-footer-beam{
	position:absolute; top:0; left:0; right:0; height:1px; z-index:2;
	background:linear-gradient(90deg, transparent, var(--mpl-cyan,#00EFFF), transparent);
	background-size:42% 100%; background-repeat:no-repeat;
	opacity:.85; animation:mpl-beam 5.5s linear infinite;
}
@keyframes mpl-beam{ from{ background-position:-50% 0; } to{ background-position:150% 0; } }

/* FX layers sit behind the content */
.mpl-footer-fx{ position:absolute; inset:0; z-index:-1; pointer-events:none; }

/* Lab dot grid — revealed brightest near the cursor */
.mpl-footer-grid{
	position:absolute; inset:0;
	background-image:radial-gradient(rgba(255,255,255,.18) 1px, transparent 1.6px);
	background-size:26px 26px;
	-webkit-mask:radial-gradient(300px 300px at var(--mx) var(--my), #000 0%, rgba(0,0,0,.35) 42%, transparent 70%);
	        mask:radial-gradient(300px 300px at var(--mx) var(--my), #000 0%, rgba(0,0,0,.35) 42%, transparent 70%);
}

/* Cyan spotlight that follows the cursor */
.mpl-footer-spot{
	position:absolute; inset:0;
	background:radial-gradient(380px 380px at var(--mx) var(--my), rgba(0,239,255,.18), rgba(0,239,255,.06) 36%, transparent 66%);
}

/* Slow drifting aurora */
.mpl-footer-aurora{
	position:absolute; inset:-30%; filter:blur(34px); opacity:.7;
	background:
		radial-gradient(38% 48% at 18% 22%, rgba(0,239,255,.14), transparent 60%),
		radial-gradient(34% 44% at 82% 28%, rgba(0,239,255,.09), transparent 62%);
	animation:mpl-aurora 19s ease-in-out infinite alternate;
}
@keyframes mpl-aurora{ from{ transform:translate3d(-4%,0,0) scale(1); } to{ transform:translate3d(4%,3%,0) scale(1.12); } }

.mpl-footer-inner{ position:relative; z-index:1; }

/* ---- Top grid: brand + nav columns ---- */
.mpl-footer-top{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:44px; padding-bottom:46px; }

.mpl-footer-brand{ max-width:340px; }
.mpl-footer-logo{ display:inline-block; }
.mpl-footer-logo img{
	height:34px; width:auto; display:block;
	filter:drop-shadow(0 0 12px rgba(0,239,255,.28));
	animation:mpl-logo-pulse 4.5s ease-in-out infinite;
	transition:filter .3s ease, transform .3s ease;
}
@keyframes mpl-logo-pulse{ 0%,100%{ filter:drop-shadow(0 0 9px rgba(0,239,255,.22)); } 50%{ filter:drop-shadow(0 0 20px rgba(0,239,255,.5)); } }
.mpl-footer-logo:hover img{ filter:drop-shadow(0 0 26px rgba(0,239,255,.7)); transform:translateY(-1px); }

.mpl-footer-brand p{ font-size:13.5px; line-height:1.7; color:#9A9A9E; margin:20px 0 16px; }
.mpl-footer-ruopill{
	display:inline-block; border:1px solid rgba(0,239,255,.4); color:var(--mpl-cyan,#00EFFF);
	background:rgba(0,239,255,.07); border-radius:999px; padding:5px 12px;
	font-size:10px; letter-spacing:.13em; text-transform:uppercase; font-weight:600;
}
.mpl-footer-social{ display:flex; gap:11px; margin-top:20px; }
.mpl-footer-social a{
	width:38px; height:38px; border-radius:10px; border:1px solid #232327; background:rgba(255,255,255,.02);
	display:grid; place-items:center; color:#B9BABD; transition:color .25s, background-color .25s, border-color .25s, transform .25s, box-shadow .25s;
}
.mpl-footer-social a:hover{
	color:var(--mpl-cyan-ink,#06181A); background:var(--mpl-cyan,#00EFFF); border-color:var(--mpl-cyan,#00EFFF);
	transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,239,255,.28);
}
.mpl-footer-social svg{ width:17px; height:17px; }

/* ---- Nav columns ---- */
.mpl-fnav h4, .mpl-footer-cta h4{
	color:#fff; text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:600; margin:0 0 17px;
}
.mpl-fnav ul{ list-style:none; margin:0; padding:0; }
.mpl-fnav li{ margin:0 0 11px; }
.mpl-fnav a{ position:relative; display:inline-block; color:#B9BABD; font-size:13.5px; }
.mpl-fnav a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--mpl-cyan,#00EFFF); transition:width .25s ease; }
.mpl-fnav a:hover{ color:var(--mpl-cyan,#00EFFF); }
.mpl-fnav a:hover::after{ width:100%; }

/* ---- Subscribe ---- */
.mpl-footer-cta p{ font-size:13.5px; line-height:1.7; color:#9A9A9E; margin:0 0 16px; }
.mpl-sub{ position:relative; display:flex; align-items:center; }
.mpl-sub input{
	width:100%; background:rgba(255,255,255,.04); border:1px solid #2a2a2e; border-radius:10px;
	padding:12px 48px 12px 14px; color:#fff; font-size:13px; outline:none;
	transition:border-color .2s, box-shadow .2s, background-color .2s;
}
.mpl-sub input::placeholder{ color:#6A6A6E; }
.mpl-sub input:focus{ border-color:var(--mpl-cyan,#00EFFF); box-shadow:0 0 0 3px rgba(0,239,255,.16); background:rgba(0,239,255,.03); }
.mpl-sub button{
	position:absolute; right:6px; top:50%; transform:translateY(-50%);
	width:34px; height:34px; border:none; border-radius:8px; cursor:pointer;
	background:var(--mpl-cyan,#00EFFF); color:var(--mpl-cyan-ink,#06181A); display:grid; place-items:center;
	transition:filter .2s, transform .2s;
}
.mpl-sub button svg{ width:17px; height:17px; }
.mpl-sub button:hover{ filter:brightness(1.08); transform:translateY(-50%) translateX(2px); }
.mpl-sub-note{ display:block; min-height:15px; font-size:11px; color:#7fd8e0; margin-top:10px; }

/* ---- Bottom bar ---- */
.mpl-footer-bottom{
	display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px;
	padding-top:26px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:#6A6A6E;
}
.mpl-footer-disc{ max-width:560px; line-height:1.6; }
.mpl-footer-legal{ display:flex; gap:20px; flex-shrink:0; }
.mpl-footer-legal a{ color:#8A8A8E; }
.mpl-footer-legal a:hover{ color:var(--mpl-cyan,#00EFFF); }

/* ---- Responsive ---- */
@media(max-width:900px){
	.mpl-footer-top{ grid-template-columns:1fr 1fr; gap:34px 28px; }
	.mpl-footer-brand{ grid-column:1 / -1; max-width:none; }
}
@media(max-width:560px){
	.mpl-footer{ padding:56px 7vw 26px; }
	.mpl-footer-top{ grid-template-columns:1fr; gap:30px; }
	.mpl-footer-bottom{ flex-direction:column; align-items:flex-start; }
}

/* ---- Respect reduced motion ---- */
@media(prefers-reduced-motion:reduce){
	.mpl-footer-beam, .mpl-footer-aurora, .mpl-footer-logo img{ animation:none; }
}

/* ============ Cart & Checkout (WooCommerce blocks) — component polish ============ */
/* Quantity stepper as a segmented control */
.wc-block-components-quantity-selector{ border:1px solid var(--mpl-border,#ECECEC); border-radius:8px; overflow:hidden; max-width:120px; }
.wc-block-components-quantity-selector__input{ border:0 !important; box-shadow:none !important; background:transparent !important; font-weight:600; color:var(--mpl-black,#0A0A0A); height:40px; }
.wc-block-components-quantity-selector__button{ color:var(--mpl-black,#0A0A0A); font-weight:600; transition:background-color .15s ease, color .15s ease; }
.wc-block-components-quantity-selector__button:hover{ background:rgba(0,239,255,.12); color:var(--mpl-cyan-ink,#06181A); }

/* Line-item product names + brand thumbnails */
.wc-block-cart-item__product-name, .wc-block-components-product-name{ font-weight:600; color:var(--mpl-black,#0A0A0A); }
.wc-block-cart-item__product-name:hover, .wc-block-components-product-name:hover{ color:#0a7a85; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img{ background:var(--mpl-bg-dark,#0B0B0C); border-radius:6px; }

/* Totals emphasis + summary panel */
.wc-block-components-totals-item--total .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-weight:700; font-size:18px; color:var(--mpl-black,#0A0A0A); }
.wc-block-checkout__sidebar .wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block{ border:1px solid var(--mpl-border,#ECECEC); border-radius:12px; background:#fff; }

/* Inputs: cyan focus ring to match the site */
.wc-block-components-text-input input:focus, .wc-block-components-text-input textarea:focus, .wc-block-components-select select:focus{ outline:none !important; border-color:var(--mpl-cyan,#00EFFF) !important; box-shadow:0 0 0 3px rgba(0,239,255,.18) !important; }

/* ============================================================
   Single product — COA button, bundle tiers, specifications
   ============================================================ */

/* ---- Request a COA button (under the price) ---- */
.single-product .mpl-coa-btn{
	display:flex; align-items:center; gap:12px; width:100%;
	margin:0 0 20px; padding:13px 16px;
	border:1px solid var(--mpl-border,#ECECEC); border-radius:10px;
	background:rgba(0,239,255,.04); color:var(--mpl-black,#0A0A0A);
	text-decoration:none; transition:border-color .18s ease, background-color .18s ease;
}
.single-product .mpl-coa-btn:hover{ border-color:var(--mpl-cyan,#00EFFF); background:rgba(0,239,255,.08); }
.single-product .mpl-coa-btn svg{ width:24px; height:24px; flex:0 0 auto; color:#0a7a85; }
.single-product .mpl-coa-btn-x{ flex:1; }
.single-product .mpl-coa-btn-t{ display:block; font-weight:600; font-size:14px; letter-spacing:.01em; }
.single-product .mpl-coa-btn em{ display:block; font-style:normal; font-size:11.5px; color:var(--mpl-muted,#8A8A8A); margin-top:2px; }

/* ---- Bundle tiers (buy more, save more) ---- */
.single-product .mpl-bundle{ margin:0 0 18px; }
.mpl-bundle-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.mpl-bundle-title{ text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:600; color:var(--mpl-muted,#8A8A8A); }
.mpl-bundle-sub{ font-size:11.5px; color:#0a7a85; font-weight:600; }
.mpl-bundle-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mpl-bundle-tier{
	position:relative; display:flex; flex-direction:column; gap:3px; cursor:pointer; text-align:left;
	border:1.5px solid var(--mpl-border,#ECECEC); border-radius:10px; background:#fff;
	padding:14px 12px 12px; font-family:'Inter',sans-serif;
	transition:border-color .18s ease, box-shadow .18s ease, transform .12s ease;
}
.mpl-bundle-tier:hover{ border-color:var(--mpl-cyan,#00EFFF); transform:translateY(-1px); }
.mpl-bundle-tier.is-active{ border-color:var(--mpl-black,#0A0A0A); box-shadow:0 0 0 3px rgba(0,239,255,.16); }
.mpl-bundle-badge{
	align-self:flex-start; margin-bottom:5px; padding:3px 8px; border-radius:999px;
	font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
	background:var(--mpl-cyan,#00EFFF); color:var(--mpl-cyan-ink,#06181A);
}
.mpl-bundle-badge--muted{ background:#F1F2F3; color:var(--mpl-muted,#8A8A8A); }
.mpl-bundle-qty{ font-weight:700; font-size:15px; color:var(--mpl-black,#0A0A0A); }
.mpl-bundle-unit{ font-size:13px; font-weight:600; color:var(--mpl-black,#0A0A0A); min-height:16px; }
.mpl-bundle-total{ font-size:12px; color:var(--mpl-muted,#8A8A8A); }
@media(max-width:782px){ .mpl-bundle-tiers{ gap:8px; } .mpl-bundle-tier{ padding:12px 10px; } }

/* ---- Specifications table (tab) ---- */
.single-product .mpl-spectable{ width:100%; border-collapse:collapse; margin:0 0 14px; }
.single-product .mpl-spectable th,
.single-product .mpl-spectable td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--mpl-border,#ECECEC); font-size:14px; vertical-align:top; }
.single-product .mpl-spectable th{ width:38%; font-weight:600; color:var(--mpl-black,#0A0A0A); text-transform:uppercase; letter-spacing:.05em; font-size:11.5px; }
.single-product .mpl-spectable td{ color:#444; }
.single-product .mpl-spectable tr:first-child th, .single-product .mpl-spectable tr:first-child td{ border-top:1px solid var(--mpl-border,#ECECEC); }
.single-product .mpl-spec-note{ font-size:12.5px; color:var(--mpl-muted,#8A8A8A); margin:0; }

/* Quick-glance spec strip (under the price) */
.single-product .mpl-specstrip{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; padding:0; }
.single-product .mpl-specstrip li{ display:flex; flex-direction:column; gap:3px; border:1px solid var(--mpl-border,#ECECEC); border-radius:10px; padding:10px 16px; min-width:82px; }
.single-product .mpl-specstrip .k{ font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--mpl-muted,#8A8A8A); font-weight:600; }
.single-product .mpl-specstrip .v{ font-size:14px; font-weight:700; color:var(--mpl-black,#0A0A0A); }
