/* ==================================================================
   CELLUGENIX — WooCommerce single product        v2.1  (single file)
   ------------------------------------------------------------------
   Everything is scoped to .cgx-product. Bands alternate
   .cgx-dark (#000000FA) / .cgx-light (#F4F4F4); colours flip through
   variables so one component serves both.

   NOTE ON SPECIFICITY
   WooCommerce ships rules like `.woocommerce button.button.alt` (0,3,1)
   and `.woocommerce div.product div.images .flex-control-thumbs li`
   (0,4,3). Anything weaker loses. Rules that have to beat core are
   written as `.woocommerce div.product.cgx-product …` on purpose.
   ================================================================== */

body.single-product{ overflow-x:hidden; }

/* ==================================================================
   1 · FOUNDATION
   ================================================================== */
.cgx-product{
	--gold:linear-gradient(90deg,#B8860B 0%,#FFD700 30%,#FFF8DC 50%,#FFD700 70%,#B8860B 100%);
	--gold-btn:linear-gradient(135deg,#B8860B 0%,#FFD700 55%,#FFF8DC 100%);
	--container:1320px;

	--bg:#F4F4F4;
	--ink:#101318;
	--ink-soft:#3E4650;
	--ink-mute:#6C7480;
	--panel:#FFFFFF;
	--panel-hi:#FFFFFF;
	--edge:rgba(15,23,42,.10);
	--edge-gold:rgba(184,134,11,.45);
	--accent:#B8860B;
	--zebra:rgba(15,23,42,.028);
	--head-bg:linear-gradient(180deg,rgba(184,134,11,.12),rgba(184,134,11,.03));
	--glow-1:rgba(184,134,11,.05);
	--glow-2:rgba(15,23,42,.03);
	--shadow:0 4px 16px rgba(15,23,42,.06);
	--shadow-hi:0 20px 46px rgba(15,23,42,.13);

	font-family:inherit;
	width:100vw;
	max-width:none;
	align-self:stretch;
	margin:0 0 0 calc(50% - 50vw);
	padding:0;
	overflow:hidden;
}
.cgx-product *{ box-sizing:border-box; }
.cgx-product::before,
.cgx-product::after{ content:none; }

.cgx-product .cgx-container{
	max-width:var(--container);
	width:100%;
	margin:0 auto;
	padding:0 24px;
}

/* ---- theme tokens ---- */
.cgx-product .cgx-dark{
	--bg:#000000FA;
	--ink:#FFFFFF;
	--ink-soft:rgba(255,255,255,.74);
	--ink-mute:rgba(255,255,255,.55);
	--panel:rgba(255,255,255,.045);
	--panel-hi:rgba(255,255,255,.08);
	--edge:rgba(255,255,255,.12);
	--edge-gold:rgba(255,215,0,.45);
	--accent:#E8C349;
	--zebra:rgba(255,255,255,.035);
	--head-bg:linear-gradient(180deg,rgba(255,215,0,.13),rgba(255,215,0,.03));
	--glow-1:rgba(255,215,0,.07);
	--glow-2:rgba(184,134,11,.06);
	--shadow:0 4px 18px rgba(0,0,0,.45);
	--shadow-hi:0 22px 50px rgba(0,0,0,.65);
}
.cgx-product .cgx-light{
	--bg:#F4F4F4;
	--ink:#101318;
	--ink-soft:#3E4650;
	--ink-mute:#6C7480;
	--panel:#FFFFFF;
	--panel-hi:#FFFFFF;
	--edge:rgba(15,23,42,.10);
	--edge-gold:rgba(184,134,11,.45);
	--accent:#B8860B;
	--zebra:rgba(15,23,42,.028);
	--head-bg:linear-gradient(180deg,rgba(184,134,11,.12),rgba(184,134,11,.03));
	--glow-1:rgba(184,134,11,.05);
	--glow-2:rgba(15,23,42,.03);
	--shadow:0 4px 16px rgba(15,23,42,.06);
	--shadow-hi:0 20px 46px rgba(15,23,42,.13);
}

/* ---- bands: depth + hairline ---- */
.cgx-product .cgx-sec{
	background:var(--bg);
	color:var(--ink);
	padding:clamp(56px,7vw,104px) 0;
	position:relative;
	overflow:clip;
}
.cgx-product .cgx-sec--slim{ padding:clamp(34px,4.5vw,58px) 0; }
.cgx-product .cgx-sec > .cgx-container{ position:relative; z-index:2; }
.cgx-product .cgx-sec::before{
	content:"";
	position:absolute; top:0; left:0; right:0; height:1px; z-index:1;
	background:linear-gradient(90deg,transparent,var(--edge-gold),transparent);
	opacity:.65; pointer-events:none;
}
.cgx-product .cgx-sec::after{
	content:"";
	position:absolute; inset:0; z-index:0; pointer-events:none;
	background:
		radial-gradient(720px 320px at 8% -10%, var(--glow-1), transparent 68%),
		radial-gradient(560px 280px at 96% 110%, var(--glow-2), transparent 68%);
}

/* icons — must be locked down before anything else sizes svg */
.cgx-product .cgx-ico{
	width:22px !important;
	height:22px !important;
	min-width:22px;
	flex:0 0 auto;
	display:block;
}

/* ==================================================================
   2 · BUY BOX
   ================================================================== */
.cgx-product .cgx-top{
	background:#F4F4F4;
	color:#101318;
	padding:clamp(30px,4vw,58px) 0 0;
}
.cgx-product .cgx-top-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(28px,4vw,64px);
	align-items:flex-start;
	padding-bottom:clamp(30px,4vw,56px);
}

/* kill WooCommerce's float layout */
.cgx-product .cgx-gallery,
.cgx-product .summary.entry-summary,
.woocommerce div.product.cgx-product div.images,
.woocommerce div.product.cgx-product div.summary{
	width:100% !important;
	float:none !important;
	margin:0 !important;
	clear:none !important;
}

/* --- gallery --- */
.cgx-product .cgx-gallery{
	background:#fff;
	border:1px solid var(--edge);
	border-radius:24px;
	padding:clamp(14px,2vw,26px);
	box-shadow:var(--shadow);
	position:relative;
}
.cgx-product .woocommerce-product-gallery__wrapper{ margin:0; }
.woocommerce div.product.cgx-product div.images .woocommerce-product-gallery__image img{
	border-radius:14px;
}
.cgx-product .woocommerce-product-gallery__trigger{
	top:14px; right:14px; left:auto;
	background:#101318; color:#FFD700;
	border-radius:50%; width:38px; height:38px;
	display:flex; align-items:center; justify-content:center;
	box-shadow:var(--shadow); z-index:9; text-indent:0;
}
.cgx-product .woocommerce-product-gallery__trigger img.emoji{ width:17px; height:17px; margin:0; }

.woocommerce div.product.cgx-product div.images .flex-control-thumbs{
	display:flex !important; flex-wrap:wrap; gap:10px;
	margin:16px 0 0 !important; padding:0 !important; list-style:none;
}
.woocommerce div.product.cgx-product div.images .flex-control-thumbs li{
	width:78px !important; height:78px !important;
	margin:0 !important; padding:0 !important;
	float:none !important; list-style:none !important;
}
.woocommerce div.product.cgx-product div.images .flex-control-thumbs li img{
	width:100% !important; height:100% !important;
	object-fit:cover; border-radius:11px;
	border:1px solid rgba(15,23,42,.12);
	opacity:.58; cursor:pointer; background:#fff;
	transition:opacity .25s ease, border-color .25s ease;
}
.woocommerce div.product.cgx-product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product.cgx-product div.images .flex-control-thumbs li img.flex-active{
	opacity:1; border-color:#B8860B;
}
.cgx-product .flex-direction-nav{ display:none; }
.cgx-product span.onsale{
	background:var(--gold-btn); color:#1A1305;
	font-weight:800; border-radius:30px; padding:7px 18px;
	min-height:0; min-width:0; line-height:1.4;
	top:14px; left:14px; right:auto; margin:0;
	box-shadow:0 6px 18px rgba(184,134,11,.35);
}

/* --- summary --- */
.cgx-product .summary.entry-summary{ padding-top:6px; }
.cgx-product .product_title{
	font-size:clamp(28px,3.4vw,44px);
	font-weight:800; line-height:1.12; letter-spacing:-.028em;
	color:#101318; margin:0 0 16px; padding:0;
}
.cgx-product .summary .price,
.cgx-product .summary .price .amount,
.cgx-product .woocommerce-variation-price .price{
	font-size:30px; font-weight:800; letter-spacing:-.02em; color:#101318;
}
.cgx-product .summary .price{ margin:0 0 20px; line-height:1.2; }
.cgx-product .summary .price del{ opacity:.45; font-size:20px; font-weight:600; margin-right:8px; }
.cgx-product .summary .price ins{ text-decoration:none; }
.cgx-product .summary .price .woocommerce-Price-currencySymbol{ font-size:.7em; vertical-align:top; margin-right:2px; }

.cgx-product .woocommerce-product-rating{ margin:0 0 14px; }
.cgx-product .woocommerce-product-rating .star-rating span::before{ color:#B8860B; }

.cgx-product .woocommerce-product-details__short-description{
	font-size:16.5px; line-height:1.75; color:#3E4650;
	margin:0 0 24px; padding:18px 22px;
	background:#fff; border:1px solid var(--edge);
	border-left:3px solid #B8860B; border-radius:0 14px 14px 0;
}
.cgx-product .woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }

/* --- currency switcher --- */
.cgx-product #alg_currency_selector{ margin:0 0 20px; }
.cgx-product #alg_currency_selector .wSelect,
.cgx-product #alg_currency_selector select{
	border-radius:10px; border:1px solid var(--edge); background:#fff; font-size:14px;
}
.cgx-product #alg_currency_selector .wSelect-selected{ padding-top:9px; padding-bottom:9px; }

/* --- cart row: quantity + button on one line --- */
.cgx-product form.cart{ margin:0 0 22px; }
.woocommerce div.product.cgx-product form.cart:not(.variations_form):not(.grouped_form):not(.bundle_form):not(.cart_group):not(.composite_form){
	display:flex; flex-wrap:wrap; align-items:stretch; gap:12px;
}
.woocommerce div.product.cgx-product .woocommerce-variation-add-to-cart{
	display:flex; flex-wrap:wrap; align-items:stretch; gap:12px;
}
.woocommerce div.product.cgx-product form.cart .quantity{
	margin:0 !important; float:none !important; display:flex;
}
.woocommerce div.product.cgx-product form.cart .quantity .qty{
	width:96px; height:auto; min-height:56px;
	padding:0 10px; text-align:center;
	font-size:17px; font-weight:700; color:#101318;
	background:#fff; border:1px solid rgba(15,23,42,.14);
	border-radius:12px; box-shadow:none;
}
.woocommerce div.product.cgx-product form.cart .quantity .qty:focus{ outline:2px solid #B8860B; outline-offset:2px; }

/* --- ADD TO CART — beats `.woocommerce button.button.alt` --- */
.woocommerce div.product.cgx-product .single_add_to_cart_button,
.woocommerce div.product.cgx-product form.cart button.button,
.woocommerce div.product.cgx-product form.cart button.button.alt,
.woocommerce div.product.cgx-product form.cart input.button,
.woocommerce div.product.cgx-product form.cart input.button.alt,
.woocommerce div.product.cgx-product .bundle_add_to_cart_button,
.woocommerce div.product.cgx-product .composite_add_to_cart_button{
	background-image:var(--gold-btn) !important;
	background-color:#D4A017 !important;
	color:#1A1305 !important;
	border:0 !important;
	border-radius:12px !important;
	min-height:56px;
	padding:16px 34px !important;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
	text-shadow:none !important;
	box-shadow:0 10px 26px rgba(184,134,11,.28);
	transition:transform .2s ease, box-shadow .2s ease;
	flex:1 1 220px;
}
.woocommerce div.product.cgx-product .single_add_to_cart_button:hover,
.woocommerce div.product.cgx-product form.cart button.button.alt:hover,
.woocommerce div.product.cgx-product .bundle_add_to_cart_button:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 34px rgba(184,134,11,.38);
	color:#1A1305 !important;
}
.woocommerce div.product.cgx-product .single_add_to_cart_button.disabled,
.woocommerce div.product.cgx-product .single_add_to_cart_button:disabled{
	opacity:.45 !important; transform:none !important; box-shadow:none !important;
}
.cgx-product .stock.out-of-stock{
	display:inline-block; color:#8A1C1C; font-weight:700;
	background:rgba(138,28,28,.08); border-radius:8px; padding:8px 14px; margin:0 0 14px;
}
.cgx-product .stock.in-stock{ color:#1E7A48; font-weight:700; }

/* --- variable --- */
.cgx-product table.variations{
	width:100%; margin:0 0 18px; border:0;
	border-collapse:separate; border-spacing:0 12px;
}
.cgx-product table.variations th,
.cgx-product table.variations td{
	border:0; padding:0; background:none; display:block; width:100%; text-align:left;
}
.cgx-product table.variations th.label label{
	font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.09em;
	color:#6C7480; margin:0 0 8px; display:block;
}
.cgx-product table.variations td.value select{
	width:100%; height:52px; padding:0 44px 0 16px;
	font-size:15px; font-weight:600; color:#101318;
	background:#fff; border:1px solid var(--edge); border-radius:12px;
	appearance:none; -webkit-appearance:none;
	background-image:linear-gradient(45deg,transparent 50%,#B8860B 50%),linear-gradient(135deg,#B8860B 50%,transparent 50%);
	background-position:calc(100% - 22px) 23px, calc(100% - 16px) 23px;
	background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
}
.cgx-product .reset_variations{
	display:inline-block; margin-top:8px; font-size:13px; font-weight:700;
	color:#B8860B; text-decoration:underline; text-underline-offset:3px;
}
.cgx-product .woocommerce-variation{
	margin:0 0 16px; padding:16px 20px;
	background:#fff; border:1px solid var(--edge); border-radius:14px;
}
.cgx-product .woocommerce-variation-description p:last-child{ margin-bottom:0; }

/* --- grouped --- */
.cgx-product .woocommerce-grouped-product-list{
	width:100%; margin:0 0 20px; background:#fff;
	border:1px solid var(--edge); border-radius:16px;
	border-collapse:collapse; overflow:hidden;
}
.cgx-product .woocommerce-grouped-product-list td{
	border:0; border-bottom:1px solid var(--edge); padding:16px 18px; vertical-align:middle;
}
.cgx-product .woocommerce-grouped-product-list tr:last-child td{ border-bottom:0; }
.cgx-product .woocommerce-grouped-product-list-item__label a{ font-weight:700; color:#101318; text-decoration:none; }
.cgx-product .woocommerce-grouped-product-list-item__label a:hover{ color:#B8860B; }
.cgx-product .woocommerce-grouped-product-list-item__price{ font-weight:700; white-space:nowrap; }
.woocommerce div.product.cgx-product .woocommerce-grouped-product-list .quantity .qty{
	min-height:44px; width:78px; font-size:15px;
}

/* --- bundles / composite --- */
.cgx-product .bundle_form .bundled_product{
	background:#fff; border:1px solid var(--edge);
	border-radius:16px; padding:20px 22px; margin:0 0 14px;
}
.cgx-product .bundle_form .bundled_product_title,
.cgx-product .component_title_wrapper{ font-size:17px; font-weight:700; color:#101318; }
.cgx-product .bundle_form .bundle_price,
.cgx-product .composite_price{
	margin:0 0 16px; padding:16px 20px; background:#fff;
	border:1px solid var(--edge); border-left:3px solid #B8860B; border-radius:0 14px 14px 0;
}
.cgx-product .bundle_form .bundle_price .price,
.cgx-product .composite_price .price{ font-size:26px; font-weight:800; }
.cgx-product .bundle_error,
.cgx-product .composite_message{
	background:rgba(138,28,28,.06); border:1px solid rgba(138,28,28,.2);
	border-radius:12px; padding:14px 18px; font-size:14px;
}

/* --- meta --- */
.cgx-product .product_meta{
	font-size:14px; color:#6C7480;
	border-top:1px solid var(--edge); padding-top:18px; margin-top:4px;
}
.cgx-product .product_meta > span{ display:block; margin-bottom:7px; }
.cgx-product .product_meta a{ color:#101318; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cgx-product .product_meta a:hover{ color:#B8860B; }

/* --- badge strip --- */
.cgx-product .cgx-badges{ background:#000000FA; color:#fff; padding:18px 0; }
.cgx-product .cgx-badge-list{
	display:flex; flex-wrap:wrap; align-items:center;
	gap:12px 36px; list-style:none; margin:0; padding:0;
}
.cgx-product .cgx-badge-list li{
	position:relative; font-size:12.5px; font-weight:700;
	letter-spacing:.12em; text-transform:uppercase;
	color:rgba(255,255,255,.82); padding-left:20px; margin:0;
}
.cgx-product .cgx-badge-list li::before{
	content:""; position:absolute; left:0; top:50%;
	width:9px; height:9px; margin-top:-4px; border-radius:2px; background:var(--gold);
}

/* ==================================================================
   3 · BUY-BOX EXTRAS
   ================================================================== */
.cgx-product .cgx-buybox{ margin:24px 0 6px; }

.cgx-product .cgx-bb-stats{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
	background:#101318; border-radius:14px; overflow:hidden; margin:0 0 14px;
}
.cgx-product .cgx-bb-stat{ padding:14px 16px; border-right:1px solid rgba(255,255,255,.12); }
.cgx-product .cgx-bb-stat:last-child{ border-right:0; }
.cgx-product .cgx-bb-stat-lbl{
	display:block; font-size:10.5px; font-weight:700;
	letter-spacing:.14em; text-transform:uppercase;
	color:rgba(255,255,255,.55); margin-bottom:5px;
}
.cgx-product .cgx-bb-stat-val{
	display:block; font-size:17px; font-weight:800; letter-spacing:-.01em;
	color:#E8C349;
	background:linear-gradient(90deg,#B8860B,#FFD700 45%,#FFF8DC 70%,#FFD700);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

.cgx-product .cgx-bb-coa{
	display:flex; align-items:center; gap:14px;
	background:#fff; border:1px solid rgba(15,23,42,.10);
	border-left:3px solid #B8860B; border-radius:0 14px 14px 0;
	padding:16px 18px; margin:0 0 14px;
}
.cgx-product .cgx-bb-coa > .cgx-ico{ color:#B8860B; width:26px !important; height:26px !important; }
.cgx-product .cgx-bb-coa-txt{ flex:1 1 auto; min-width:0; }
.cgx-product .cgx-bb-coa-txt strong{ display:block; font-size:15px; font-weight:700; color:#101318; margin-bottom:3px; }
.cgx-product .cgx-bb-coa-txt span{ display:block; font-size:13.5px; line-height:1.55; color:#6C7480; }
.cgx-product a.cgx-bb-coa-btn{
	flex:0 0 auto; align-self:center; padding:10px 18px; border-radius:30px;
	font-size:13.5px; font-weight:700; text-decoration:none;
	color:#101318; background:#F4F4F4; border:1px solid rgba(15,23,42,.12);
	transition:border-color .25s ease, color .25s ease;
}
.cgx-product a.cgx-bb-coa-btn:hover{ border-color:#B8860B; color:#B8860B; }

.cgx-product ul.cgx-bb-assure{
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px; list-style:none !important; margin:0 0 14px !important; padding:0 !important;
}
.cgx-product ul.cgx-bb-assure li{
	display:flex; align-items:flex-start; gap:11px;
	background:#fff; border:1px solid rgba(15,23,42,.10);
	border-radius:12px; padding:13px 14px; margin:0 !important;
	list-style:none !important;
	transition:border-color .25s ease, box-shadow .25s ease;
}
.cgx-product ul.cgx-bb-assure li:hover{
	border-color:rgba(184,134,11,.40);
	box-shadow:0 6px 18px rgba(15,23,42,.07);
}
.cgx-product ul.cgx-bb-assure li::marker{ content:none; }
.cgx-product .cgx-bb-assure .cgx-ico{ color:#B8860B; margin-top:1px; }
.cgx-product .cgx-bb-assure strong{ display:block; font-size:13.5px; font-weight:700; color:#101318; line-height:1.35; }
.cgx-product .cgx-bb-assure em{
	display:block; font-style:normal; font-size:12.5px; color:#8A919B; margin-top:2px; line-height:1.45;
}

.cgx-product .cgx-bb-support{
	display:flex; align-items:flex-start; gap:13px;
	background:linear-gradient(135deg,#101318 0%,#1B1F27 100%);
	border-radius:14px; padding:18px 20px; color:#fff;
}
.cgx-product .cgx-bb-support .cgx-ico{ color:#E8C349; margin-top:2px; }
.cgx-product .cgx-bb-support p{ margin:0; font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.72); }
.cgx-product .cgx-bb-support-links{
	display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:10px !important;
}
.cgx-product .cgx-bb-support-links a{
	font-size:13.5px; font-weight:700; color:#E8C349;
	text-decoration:underline; text-underline-offset:3px;
}
.cgx-product a.cgx-bb-support-cta{
	text-decoration:none; padding:8px 16px; border-radius:30px;
	background:var(--gold-btn); color:#1A1305; transition:transform .2s ease;
}
.cgx-product a.cgx-bb-support-cta:hover{ transform:translateY(-1px); color:#1A1305; }

/* ==================================================================
   4 · SHARED TYPE + BLOCKS
   ================================================================== */
.cgx-product .cgx-head{ margin-bottom:clamp(30px,3.4vw,46px); max-width:820px; }
.cgx-product .cgx-head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.cgx-product .cgx-head--center .cgx-h2::before{ left:50%; transform:translateX(-50%); }
.cgx-product .cgx-head--center .cgx-sub{ margin-left:auto; margin-right:auto; }

.cgx-product .cgx-h2{
	font-size:clamp(25px,2.9vw,38px); font-weight:800;
	line-height:1.16; letter-spacing:-.028em;
	color:var(--ink); margin:0 0 16px; position:relative; padding-top:26px;
}
.cgx-product .cgx-h2::before{
	content:""; position:absolute; top:0; left:0;
	width:68px; height:3px; border-radius:3px; background:var(--gold);
}
.cgx-product .cgx-h3{
	font-size:clamp(20px,2.1vw,26px); font-weight:800;
	letter-spacing:-.018em; margin:0 0 18px; color:var(--ink);
}
.cgx-product .cgx-sub{ font-size:17px; line-height:1.75; color:var(--ink-soft); margin:0; max-width:70ch; }

.cgx-product .cgx-rich{ font-size:16.5px; line-height:1.8; color:var(--ink-soft); }
.cgx-product .cgx-rich h2,
.cgx-product .cgx-rich h3,
.cgx-product .cgx-rich h4{ color:var(--ink); font-weight:800; margin:1.6em 0 .6em; }
.cgx-product .cgx-rich a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.cgx-product .cgx-rich img{ max-width:100%; height:auto; border-radius:14px; }
.cgx-product .cgx-rich ul,
.cgx-product .cgx-rich ol{ padding-left:20px; margin:0 0 1.2em; }

/* ---------- specs / data table ---------- */
.cgx-product .cgx-specs{
	background:var(--panel);
	border:1px solid var(--edge);
	border-radius:20px;
	box-shadow:var(--shadow);
	overflow:hidden;
}
.cgx-product .cgx-specs-scroll{
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
}
.cgx-product .cgx-specs table,
.cgx-product .cgx-spec-table{
	width:100%; margin:0; border:0;
	border-collapse:collapse; font-size:15.5px;
}
.cgx-product .cgx-specs--grid .cgx-spec-table{ min-width:640px; }

.cgx-product .cgx-spec-table thead th{
	background:var(--head-bg);
	color:var(--ink);
	font-size:12px; font-weight:800;
	letter-spacing:.13em; text-transform:uppercase;
	white-space:nowrap; text-align:left;
	padding:16px 24px; border:0;
	border-bottom:1px solid var(--edge-gold);
}
.cgx-product .cgx-specs th,
.cgx-product .cgx-specs td{
	text-align:left; padding:17px 24px; border:0;
	border-bottom:1px solid var(--edge); line-height:1.62;
	vertical-align:top; background:none;
}
.cgx-product .cgx-specs tbody th{ font-weight:700; color:var(--ink); }
.cgx-product .cgx-specs tbody td{ color:var(--ink-soft); }
.cgx-product .cgx-specs tbody tr:nth-child(even) th,
.cgx-product .cgx-specs tbody tr:nth-child(even) td{ background:var(--zebra); }
.cgx-product .cgx-specs tr:last-child th,
.cgx-product .cgx-specs tr:last-child td{ border-bottom:0; }
.cgx-product .cgx-specs tbody tr:hover th,
.cgx-product .cgx-specs tbody tr:hover td{ background:var(--panel-hi); }
.cgx-product .cgx-specs .woocommerce-product-attributes{ border:0; }

/* 2-column pair table: label column keeps a divider + gold hover edge */
.cgx-product .cgx-specs--pairs tbody th{
	width:34%; white-space:normal;
	border-right:1px solid var(--edge); position:relative;
}
.cgx-product .cgx-specs--pairs tbody tr:hover th::before{
	content:""; position:absolute; left:0; top:10px; bottom:10px;
	width:2px; border-radius:2px; background:var(--gold);
}
/* wide tables: first column is the anchor */
.cgx-product .cgx-specs--grid tbody td:first-child{ font-weight:700; color:var(--ink); }
.cgx-product .cgx-specs--grid tbody th{ white-space:nowrap; }

.cgx-product .cgx-specs-note{
	font-size:13.5px; line-height:1.65; color:var(--ink-mute); margin:14px 2px 0;
}

/* ---------- notice ---------- */
.cgx-product .cgx-notice{
	background:var(--panel); border:1px solid var(--edge);
	border-left:3px solid var(--accent); border-radius:0 20px 20px 0;
	padding:clamp(24px,3vw,38px) clamp(22px,3vw,40px);
	box-shadow:var(--shadow);
}
.cgx-product .cgx-notice .cgx-h2{ padding-top:0; margin-bottom:12px; }
.cgx-product .cgx-notice .cgx-h2::before{ display:none; }
.cgx-product .cgx-notice-text{ font-size:16.5px; line-height:1.78; color:var(--ink-soft); margin:0; max-width:78ch; }
.cgx-product .cgx-notice-note{
	font-size:14.5px; line-height:1.7; color:var(--ink-mute);
	margin:14px 0 0; padding-top:14px; border-top:1px solid var(--edge);
}

/* ---------- numbered ---------- */
.cgx-product ol.cgx-numlist{ list-style:none !important; counter-reset:cgx; margin:0; padding:0; }
.cgx-product ol.cgx-numlist li{
	counter-increment:cgx; position:relative; list-style:none !important;
	padding:0 0 20px 56px; margin-bottom:20px; border-bottom:1px solid var(--edge);
}
.cgx-product ol.cgx-numlist li:last-child{ border-bottom:0; margin-bottom:0; padding-bottom:0; }
.cgx-product ol.cgx-numlist li::before{
	content:counter(cgx,decimal-leading-zero);
	position:absolute; left:0; top:-2px;
	font-size:15px; font-weight:800; letter-spacing:.04em;
	color:#B8860B; background:var(--gold);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cgx-product .cgx-numlist strong{ display:block; font-size:17px; font-weight:700; line-height:1.4; color:var(--ink); margin-bottom:6px; letter-spacing:-.012em; }
.cgx-product .cgx-numlist span{ display:block; font-size:15px; line-height:1.7; color:var(--ink-soft); }

/* ---------- checklist ---------- */
.cgx-product ul.cgx-checklist{ list-style:none !important; margin:0; padding:0; }
.cgx-product ul.cgx-checklist li{
	position:relative; list-style:none !important;
	padding:0 0 20px 30px; margin-bottom:20px; border-bottom:1px solid var(--edge);
	transition:padding-left .3s ease;
}
.cgx-product ul.cgx-checklist li:hover{ padding-left:36px; }
.cgx-product ul.cgx-checklist li:last-child{ border-bottom:0; margin-bottom:0; padding-bottom:0; }
.cgx-product ul.cgx-checklist li::before{
	content:""; position:absolute; left:0; top:8px;
	width:10px; height:10px; border-radius:2px; background:var(--gold);
	box-shadow:0 0 0 3px rgba(184,134,11,.14);
}
.cgx-product .cgx-checklist strong{ display:block; font-size:17px; font-weight:700; color:var(--ink); margin-bottom:6px; letter-spacing:-.012em; }
.cgx-product .cgx-checklist span{ display:block; font-size:15px; line-height:1.7; color:var(--ink-soft); }

/* ---------- cards — flex so an odd last row centres ---------- */
.cgx-product .cgx-cards{
	display:flex; flex-wrap:wrap; justify-content:center; gap:20px;
}
.cgx-product .cgx-cards-2 > .cgx-card{ flex:1 1 calc(50%      - 10px); max-width:calc(50%      - 10px); }
.cgx-product .cgx-cards-3 > .cgx-card{ flex:1 1 calc(33.333%  - 14px); max-width:calc(33.333%  - 14px); }
.cgx-product .cgx-cards-4 > .cgx-card{ flex:1 1 calc(25%      - 15px); max-width:calc(25%      - 15px); }
.cgx-product .cgx-card{
	background:var(--panel); border:1px solid var(--edge);
	border-radius:18px; padding:30px 28px;
	box-shadow:var(--shadow); position:relative; overflow:hidden;
	transition:background .3s ease, box-shadow .3s ease, border-color .3s ease, transform .3s cubic-bezier(.2,.7,.3,1);
}
.cgx-product .cgx-card::after{
	content:""; position:absolute; top:0; left:0; right:0; height:2px;
	background:var(--gold); transform:scaleX(0); transform-origin:left;
	transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.cgx-product .cgx-card:hover{
	background:var(--panel-hi); border-color:var(--edge-gold);
	box-shadow:var(--shadow-hi); transform:translateY(-5px);
}
.cgx-product .cgx-card:hover::after{ transform:scaleX(1); }
.cgx-product .cgx-card h3{ font-size:18.5px; font-weight:700; line-height:1.4; color:var(--ink); margin:0 0 10px; letter-spacing:-.014em; }
.cgx-product .cgx-card p{ font-size:15px; line-height:1.72; color:var(--ink-soft); margin:0; }

/* ---------- quad ---------- */
.cgx-product .cgx-quad{
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
	border:1px solid var(--edge); border-radius:20px; overflow:hidden; background:var(--panel);
}
.cgx-product .cgx-quad-item{
	padding:32px 34px; border-right:1px solid var(--edge);
	border-bottom:1px solid var(--edge); transition:background .3s ease;
}
.cgx-product .cgx-quad-item:nth-child(2n){ border-right:0; }
.cgx-product .cgx-quad-item:nth-last-child(-n+2){ border-bottom:0; }
.cgx-product .cgx-quad-item:hover{ background:var(--panel-hi); }
.cgx-product .cgx-quad-num{
	display:block; font-size:14px; font-weight:800; letter-spacing:.14em; margin-bottom:12px;
	color:#B8860B; background:var(--gold);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cgx-product .cgx-quad-item h3{ font-size:19px; font-weight:700; color:var(--ink); margin:0 0 10px; line-height:1.35; }
.cgx-product .cgx-quad-item p{ font-size:15px; line-height:1.72; color:var(--ink-soft); margin:0; }

/* ---------- rows + stripes ---------- */
.cgx-product .cgx-rows{ display:flex; flex-direction:column; gap:14px; }
.cgx-product .cgx-row{
	display:grid; grid-template-columns:.42fr 1fr; gap:24px; align-items:start;
	background:var(--panel); border:1px solid var(--edge);
	border-left:3px solid var(--accent); border-radius:0 14px 14px 0;
	padding:24px 26px; transition:box-shadow .3s ease, transform .3s ease;
}
.cgx-product .cgx-row:hover{ box-shadow:var(--shadow-hi); transform:translateX(4px); }
.cgx-product .cgx-row h3{ font-size:18px; font-weight:700; color:var(--ink); margin:0; line-height:1.4; }
.cgx-product .cgx-row p{ font-size:15px; line-height:1.72; color:var(--ink-soft); margin:0; }

.cgx-product .cgx-stripes{ border-top:1px solid var(--edge); }
.cgx-product .cgx-stripe{
	display:grid; grid-template-columns:.42fr 1fr; gap:24px; align-items:baseline;
	padding:26px 20px; border-bottom:1px solid var(--edge);
	transition:background .3s ease, padding-left .3s ease;
}
.cgx-product .cgx-stripe:hover{ background:var(--panel); padding-left:30px; }
.cgx-product .cgx-stripe h3{ font-size:19px; font-weight:700; color:var(--ink); margin:0; line-height:1.35; }
.cgx-product .cgx-stripe p{ font-size:15.5px; line-height:1.72; color:var(--ink-soft); margin:0; }

/* ---------- link rows (stacked, default — keeps the arrow) ---------- */
.cgx-product .cgx-linkrows{ border-top:1px solid var(--edge); }
.cgx-product .cgx-linkrow{
	display:grid; grid-template-columns:.42fr 1fr auto; gap:20px; align-items:center;
	padding:22px 20px; border-bottom:1px solid var(--edge);
	text-decoration:none; color:inherit;
	transition:background .3s ease, padding-left .3s ease;
}
.cgx-product a.cgx-linkrow:hover{ background:var(--panel-hi); padding-left:28px; }
.cgx-product .cgx-linkrow strong{ font-size:17px; font-weight:700; color:var(--ink); letter-spacing:-.012em; transition:color .25s ease; }
.cgx-product a.cgx-linkrow:hover strong{ color:var(--accent); }
.cgx-product .cgx-linkrow span{ font-size:15px; line-height:1.6; color:var(--ink-mute); }
.cgx-product .cgx-linkrow i{
	width:9px; height:9px;
	border-top:2px solid var(--accent); border-right:2px solid var(--accent);
	transform:rotate(45deg); transition:transform .3s ease;
}
.cgx-product a.cgx-linkrow:hover i{ transform:rotate(45deg) translate(3px,-3px); }
.cgx-product div.cgx-linkrow i{ opacity:0; }

/* ---------- link rows as cards: "layout":"cards" (no arrow) ---------- */
.cgx-product .cgx-linkrows--cards{
	display:flex; flex-wrap:wrap; justify-content:center; gap:20px; border-top:0;
}
.cgx-product .cgx-linkrows--cards .cgx-linkrow{
	display:block; position:relative; overflow:hidden;
	background:var(--panel); border:1px solid var(--edge);
	border-radius:18px; padding:26px 24px;
	box-shadow:var(--shadow);
	transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease, background .3s ease, padding-left .3s ease;
}
.cgx-product .cgx-linkrows--cards .cgx-linkrow::after{
	content:""; position:absolute; top:0; left:0; right:0; height:2px;
	background:var(--gold); transform:scaleX(0); transform-origin:left;
	transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.cgx-product .cgx-linkrows--cards a.cgx-linkrow:hover{
	padding-left:24px; transform:translateY(-5px);
	background:var(--panel-hi); border-color:var(--edge-gold); box-shadow:var(--shadow-hi);
}
.cgx-product .cgx-linkrows--cards a.cgx-linkrow:hover::after{ transform:scaleX(1); }
.cgx-product .cgx-linkrows--cards .cgx-linkrow i{ display:none !important; }
.cgx-product .cgx-linkrows--cards .cgx-linkrow strong{ display:block; font-size:16.5px; line-height:1.4; margin-bottom:10px; }
.cgx-product .cgx-linkrows--cards .cgx-linkrow span{ display:block; font-size:14.5px; line-height:1.65; }

.cgx-product .cgx-linkrows--c2 .cgx-linkrow{ flex:1 1 calc(50%      - 10px); max-width:calc(50%      - 10px); }
.cgx-product .cgx-linkrows--c3 .cgx-linkrow{ flex:1 1 calc(33.333%  - 14px); max-width:calc(33.333%  - 14px); }
.cgx-product .cgx-linkrows--c4 .cgx-linkrow{ flex:1 1 calc(25%      - 15px); max-width:calc(25%      - 15px); }

/* ---------- FAQ ---------- */
.cgx-product .cgx-faq{ display:flex; flex-direction:column; gap:12px; border-top:0; }
.cgx-product .cgx-faq-item{
	background:var(--panel); border:1px solid var(--edge);
	border-radius:14px; padding:0 20px;
	transition:border-color .3s ease, box-shadow .3s ease;
}
.cgx-product .cgx-faq-item:hover,
.cgx-product .cgx-faq-item[open]{ border-color:var(--edge-gold); box-shadow:var(--shadow); }
.cgx-product .cgx-faq-item > summary{
	display:flex; align-items:center; justify-content:space-between; gap:20px;
	padding:20px 0; cursor:pointer; list-style:none;
	font-size:17px; font-weight:700; color:var(--ink); line-height:1.45;
	transition:color .25s ease;
}
.cgx-product .cgx-faq-item > summary::-webkit-details-marker{ display:none; }
.cgx-product .cgx-faq-item > summary::marker{ content:none; }
.cgx-product .cgx-faq-item > summary:hover{ color:var(--accent); }
.cgx-product .cgx-faq-item > summary i{ flex:0 0 auto; position:relative; width:16px; height:16px; }
.cgx-product .cgx-faq-item > summary i::before,
.cgx-product .cgx-faq-item > summary i::after{
	content:""; position:absolute; left:0; top:7px;
	width:16px; height:2px; border-radius:2px; background:var(--accent);
	transition:transform .3s ease;
}
.cgx-product .cgx-faq-item > summary i::after{ transform:rotate(90deg); }
.cgx-product .cgx-faq-item[open] > summary i::after{ transform:rotate(0deg); }
.cgx-product .cgx-faq-a{ padding:0 0 22px; font-size:15.5px; line-height:1.78; color:var(--ink-soft); max-width:82ch; }
.cgx-product .cgx-faq-a p{ margin:0 0 12px; }
.cgx-product .cgx-faq-a p:last-child{ margin-bottom:0; }

/* ---------- CTA ---------- */
.cgx-product .cgx-cta{
	text-align:center; max-width:820px; margin:0 auto;
	padding:clamp(34px,4vw,54px) clamp(26px,4vw,52px);
	background:var(--panel); border:1px solid var(--edge);
	border-radius:24px; box-shadow:var(--shadow);
}
.cgx-product .cgx-cta .cgx-h2{ padding-top:22px; }
.cgx-product .cgx-cta .cgx-h2::before{ left:50%; transform:translateX(-50%); }
.cgx-product .cgx-cta .cgx-sub{ margin:0 auto; }
.cgx-product .cgx-cta-mail{ margin:18px 0 0; font-size:17px; font-weight:700; }
.cgx-product .cgx-cta-mail a{ color:var(--accent); text-decoration:underline; text-underline-offset:4px; }

/* ---------- split ---------- */
.cgx-product .cgx-split{
	display:grid; grid-template-columns:1.02fr .98fr;
	gap:clamp(28px,4vw,60px); align-items:center;
}
.cgx-product .cgx-split--rev .cgx-media{ order:-1; }
.cgx-product .cgx-media{ margin:0; line-height:0; }
.cgx-product .cgx-media img{
	width:100%; height:100%; display:block; object-fit:cover;
	aspect-ratio:4/3; border-radius:20px;
	border:1px solid var(--edge); box-shadow:var(--shadow);
}

/* ---------- buttons + chips ---------- */
.cgx-product .cgx-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(26px,3vw,36px); }
.cgx-product .cgx-actions--center{ justify-content:center; }
.cgx-product a.cgx-btn{
	display:inline-flex; align-items:center; justify-content:center;
	min-height:54px; padding:16px 34px; border-radius:40px;
	font-size:15.5px; font-weight:700; line-height:1.2; text-decoration:none;
	color:#1A1305; background:var(--gold-btn);
	border:1px solid transparent; box-shadow:0 10px 26px rgba(184,134,11,.24);
	transition:box-shadow .25s ease, transform .25s ease;
}
.cgx-product a.cgx-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(184,134,11,.34); color:#1A1305; }
.cgx-product a.cgx-btn--ghost{ background:var(--panel); color:var(--ink); border-color:var(--edge); box-shadow:none; }
.cgx-product a.cgx-btn--ghost:hover{ border-color:var(--edge-gold); color:var(--ink); box-shadow:var(--shadow); }

.cgx-product .cgx-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.cgx-product .cgx-chips a{
	font-size:14px; font-weight:600; color:var(--ink-soft); text-decoration:none;
	background:var(--panel); border:1px solid var(--edge);
	border-radius:30px; padding:10px 18px;
	transition:color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.cgx-product .cgx-chips a:hover{ color:var(--accent); border-color:var(--edge-gold); box-shadow:var(--shadow); }

/* ==================================================================
   5 · RELATED PRODUCTS  (always a light band)
   ================================================================== */
.cgx-product .cgx-sec--related{
	background:#F4F4F4;
	color:#101318;
	--ink:#101318;
	--ink-soft:#3E4650;
	--ink-mute:#6C7480;
	--panel:#FFFFFF;
	--panel-hi:#FFFFFF;
	--edge:rgba(15,23,42,.10);
	--edge-gold:rgba(184,134,11,.45);
	--accent:#B8860B;
	--zebra:rgba(15,23,42,.028);
	--glow-1:rgba(184,134,11,.05);
	--glow-2:rgba(15,23,42,.03);
	--shadow:0 4px 16px rgba(15,23,42,.06);
	--shadow-hi:0 20px 46px rgba(15,23,42,.13);
}
.cgx-product .cgx-sec--related .up-sells,
.cgx-product .cgx-sec--related .related.products{ margin:0; padding:0; border:0; }
.cgx-product .cgx-sec--related .up-sells{ margin-bottom:clamp(40px,5vw,64px); }
.cgx-product .cgx-sec--related h2{
	font-size:clamp(25px,2.9vw,38px); font-weight:800;
	letter-spacing:-.028em; color:#101318;
	margin:0 0 clamp(26px,3vw,40px); padding-top:26px; position:relative;
}
.cgx-product .cgx-sec--related h2::before{
	content:""; position:absolute; top:0; left:0;
	width:68px; height:3px; border-radius:3px; background:var(--gold);
}
.cgx-product .cgx-sec--related ul.products{
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:22px; margin:0; padding:0; list-style:none;
}
.cgx-product .cgx-sec--related ul.products::before,
.cgx-product .cgx-sec--related ul.products::after{ content:none; display:none; }
.cgx-product .cgx-sec--related ul.products li.product{
	width:100% !important; float:none !important; clear:none !important;
	margin:0 !important; padding:18px 18px 20px !important;
	background:#fff; border:1px solid var(--edge); border-radius:18px;
	display:flex; flex-direction:column; text-align:left;
	box-shadow:var(--shadow);
	transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease;
}
.cgx-product .cgx-sec--related ul.products li.product:hover{
	transform:translateY(-5px); box-shadow:var(--shadow-hi); border-color:var(--edge-gold);
}
.cgx-product .cgx-sec--related ul.products li.product a img{
	width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;
	border-radius:12px; margin:0 0 16px; background:#fff;
}
.cgx-product .cgx-sec--related ul.products li.product .woocommerce-loop-product__title{
	font-size:15.5px; font-weight:700; line-height:1.45;
	color:#101318; margin:0 0 10px; padding:0;
}
.cgx-product .cgx-sec--related ul.products li.product .price{
	font-size:18px; font-weight:800; color:#101318; margin:0 0 16px; display:block;
}
.cgx-product .cgx-sec--related ul.products li.product .price del{ opacity:.5; font-weight:600; font-size:15px; }
.cgx-product .cgx-sec--related ul.products li.product .price ins{ text-decoration:none; }
.cgx-product .cgx-sec--related ul.products li.product .star-rating{ margin:0 0 10px; font-size:13px; }
.woocommerce div.product.cgx-product .cgx-sec--related ul.products a.button,
.woocommerce div.product.cgx-product .cgx-sec--related ul.products a.button.alt{
	margin:auto 0 0 !important;
	display:inline-flex; align-items:center; justify-content:center;
	background-image:var(--gold-btn) !important;
	background-color:#D4A017 !important;
	color:#1A1305 !important;
	border:0 !important; border-radius:30px !important;
	padding:12px 22px !important;
	font-size:14px !important; font-weight:700 !important;
	line-height:1.2 !important; text-shadow:none !important;
	transition:box-shadow .25s ease, transform .25s ease;
}
.woocommerce div.product.cgx-product .cgx-sec--related ul.products a.button:hover{
	transform:translateY(-2px); box-shadow:0 12px 26px rgba(184,134,11,.32);
}
.cgx-product .cgx-sec--related ul.products li.product .added_to_cart{
	margin-top:10px; font-size:13px; font-weight:700;
	color:var(--accent); text-decoration:underline; text-underline-offset:3px;
}
.cgx-product .cgx-sec--related ul.products li.product .onsale{
	position:static; margin:0 0 10px; align-self:flex-start;
}

/* reviews (only when enabled) */
.cgx-product .cgx-sec--reviews #reviews{ color:var(--ink); }
.cgx-product .cgx-sec--reviews .comment-form input,
.cgx-product .cgx-sec--reviews .comment-form textarea,
.cgx-product .cgx-sec--reviews .comment-form select{
	width:100%; padding:13px 16px; font-size:15px;
	background:var(--panel); color:var(--ink);
	border:1px solid var(--edge); border-radius:12px;
}

/* focus */
.cgx-product a:focus-visible,
.cgx-product button:focus-visible,
.cgx-product summary:focus-visible,
.cgx-product select:focus-visible,
.cgx-product input:focus-visible{
	outline:2px solid #B8860B; outline-offset:3px; border-radius:6px;
}

/* ==================================================================
   6 · RESPONSIVE
   ================================================================== */
@media (max-width:1180px){
	.cgx-product .cgx-cards-4 > .cgx-card,
	.cgx-product .cgx-cards-3 > .cgx-card{ flex:1 1 calc(50% - 10px); max-width:calc(50% - 10px); }
	.cgx-product .cgx-linkrows--c4 .cgx-linkrow,
	.cgx-product .cgx-linkrows--c3 .cgx-linkrow{ flex:1 1 calc(50% - 10px); max-width:calc(50% - 10px); }
	.cgx-product .cgx-sec--related ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px){
	.cgx-product .cgx-top-grid{ grid-template-columns:1fr; gap:28px; }
	.cgx-product .cgx-split{ grid-template-columns:1fr; gap:30px; }
	.cgx-product .cgx-split--rev .cgx-media{ order:0; }
	.cgx-product .cgx-media img{ aspect-ratio:16/10; }
	.cgx-product .cgx-quad{ grid-template-columns:1fr; }
	.cgx-product .cgx-quad-item{ border-right:0; }
	.cgx-product .cgx-quad-item:nth-last-child(-n+2){ border-bottom:1px solid var(--edge); }
	.cgx-product .cgx-quad-item:last-child{ border-bottom:0; }
	.cgx-product .cgx-row,
	.cgx-product .cgx-stripe{ grid-template-columns:1fr; gap:10px; }
	.cgx-product .cgx-linkrow{ grid-template-columns:1fr auto; gap:6px 16px; }
	.cgx-product .cgx-linkrow span{ grid-column:1/-1; }
	.cgx-product .cgx-linkrows--cards .cgx-linkrow span{ grid-column:auto; }
	.cgx-product .cgx-specs--grid .cgx-spec-table{ min-width:560px; }
	.cgx-product .cgx-sec--related ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px){
	.cgx-product .cgx-container{ padding:0 18px; }
	.cgx-product .cgx-h2{ padding-top:22px; }
	.cgx-product .cgx-cards-4 > .cgx-card,
	.cgx-product .cgx-cards-3 > .cgx-card,
	.cgx-product .cgx-cards-2 > .cgx-card{ flex:1 1 100%; max-width:100%; }
	.cgx-product .cgx-linkrows--c2 .cgx-linkrow,
	.cgx-product .cgx-linkrows--c3 .cgx-linkrow,
	.cgx-product .cgx-linkrows--c4 .cgx-linkrow{ flex:1 1 100%; max-width:100%; }
	.cgx-product .cgx-card{ padding:24px 20px; }
	.cgx-product .cgx-quad-item{ padding:26px 22px; }
	.cgx-product .cgx-notice{ border-radius:14px; }
	.cgx-product .cgx-actions a.cgx-btn{ width:100%; }
	.cgx-product .cgx-stripe:hover,
	.cgx-product a.cgx-linkrow:hover{ padding-left:20px; }
	.cgx-product .cgx-badge-list{ gap:8px 20px; }
	.cgx-product .cgx-badge-list li{ font-size:11.5px; }
	.woocommerce div.product.cgx-product div.images .flex-control-thumbs li{ width:64px !important; height:64px !important; }

	/* wide data table → stacked, each cell labelled by its column header */
	.cgx-product .cgx-specs--grid .cgx-spec-table{ min-width:0; }
	.cgx-product .cgx-specs--grid thead{ display:none; }
	.cgx-product .cgx-specs--grid tbody tr{
		display:block; padding:6px 0; border-bottom:1px solid var(--edge);
	}
	.cgx-product .cgx-specs--grid tbody tr:last-child{ border-bottom:0; }
	.cgx-product .cgx-specs--grid tbody th,
	.cgx-product .cgx-specs--grid tbody td{
		display:flex; gap:16px; justify-content:space-between; align-items:baseline;
		width:100%; border-bottom:0; padding:9px 20px; text-align:right;
	}
	.cgx-product .cgx-specs--grid tbody th{ text-align:left; }
	.cgx-product .cgx-specs--grid tbody td::before{
		content:attr(data-label); flex:0 0 auto;
		font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
		color:var(--ink-mute); text-align:left;
	}
	.cgx-product .cgx-specs--grid tbody td:empty{ display:none; }

	/* 2-column pair table → stacked label over value */
	.cgx-product .cgx-specs--pairs th,
	.cgx-product .cgx-specs--pairs td{
		display:block; width:100%; border-right:0; padding:14px 20px;
	}
	.cgx-product .cgx-specs--pairs th{ padding-bottom:2px; border-bottom:0; }
	.cgx-product .cgx-specs--pairs tbody tr:hover th::before{ display:none; }
}
@media (max-width:520px){
	.cgx-product .cgx-bb-stats{ grid-template-columns:1fr 1fr; }
	.cgx-product .cgx-bb-stat:nth-child(2){ border-right:0; }
	.cgx-product .cgx-bb-stat:nth-child(3){ border-top:1px solid rgba(255,255,255,.12); grid-column:1/-1; }
	.cgx-product ul.cgx-bb-assure{ grid-template-columns:1fr; }
	.cgx-product .cgx-bb-coa{ flex-wrap:wrap; }
	.cgx-product a.cgx-bb-coa-btn{ width:100%; text-align:center; }
	.woocommerce div.product.cgx-product form.cart .quantity,
	.woocommerce div.product.cgx-product form.cart .quantity .qty{ width:100%; }
	.cgx-product .cgx-sec--related ul.products{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
	.cgx-product *,
	.cgx-product *::before,
	.cgx-product *::after{ transition:none !important; animation:none !important; }
}