/* =========================================================
   Luxacent — WooCommerce styles
   ========================================================= */

.c123-wc { padding: 34px 0 90px; }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper { margin-bottom: 20px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error li,
.woocommerce-error {
	background: var(--c123-soft);
	border: 1px solid var(--c123-line);
	border-left: 4px solid var(--c123-primary);
	border-radius: 12px;
	padding: 14px 18px;
	color: var(--c123-heading);
	list-style: none;
	margin: 0 0 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 0.95rem;
}
.woocommerce-error, .woocommerce-error li { border-left-color: #dc2626; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	order: 2;
	margin-left: auto;
	background: var(--c123-primary);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 8px 16px;
	font-weight: 600;
	font-size: 0.85rem;
}

/* ---------- Breadcrumb ---------- */
.c123-breadcrumb {
	font-size: 0.85rem;
	color: var(--c123-muted);
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.c123-breadcrumb a { color: var(--c123-muted); }
.c123-breadcrumb a:hover { color: var(--c123-primary); }
.c123-crumb-sep { color: var(--c123-line); margin: 0 2px; }

/* ---------- Archive header ---------- */
.c123-wc .woocommerce-products-header { margin-bottom: 10px; }
.c123-wc .woocommerce-products-header__title {
	font-size: clamp(1.7rem, 3.4vw, 2.4rem);
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}
.c123-wc .term-description { max-width: 640px; }

/* Category pills */
.c123-wc-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 6px;
}
.c123-wc-cat {
	display: inline-flex;
	padding: 9px 20px;
	border-radius: 999px;
	border: 1.5px solid var(--c123-line);
	background: #fff;
	color: var(--c123-heading);
	font-weight: 600;
	font-size: 0.88rem;
	transition: all 0.2s ease;
}
.c123-wc-cat:hover { border-color: var(--c123-primary); color: var(--c123-primary); }
.c123-wc-cat.is-active {
	background: var(--c123-primary);
	border-color: var(--c123-primary);
	color: #fff;
}

/* Result count / ordering */
.c123-wc .woocommerce-result-count {
	color: var(--c123-muted);
	font-size: 0.88rem;
	margin: 14px 0 0;
	float: left;
}
.c123-wc .woocommerce-ordering { float: right; margin: 8px 0 0; }
.c123-wc .woocommerce-ordering select {
	padding: 10px 14px;
	border: 1.5px solid var(--c123-line);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	font-size: 0.88rem;
	color: var(--c123-heading);
	outline: none;
}

/* ---------- Product grid ----------
   WooCommerce's woocommerce-smallscreen.css targets
   `ul.products[class*="columns-"] li.product` (attribute selector →
   higher specificity) with float + percentage widths. We force a CSS
   grid regardless of viewport, so width/float are neutralised with
   !important to beat that rule at every breakpoint. */
.c123-wc ul.products {
	clear: both;
	display: grid !important;
	grid-template-columns: repeat(var(--c123-shop-cols, 4), 1fr);
	gap: 20px;
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	width: auto;
}
.c123-wc ul.products::before,
.c123-wc ul.products::after { content: none; display: none; }

.c123-wc ul.products li.product {
	width: auto !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
}
.c123-wc ul.products li.c123-product-card {
	background: #fff;
	border: 1px solid var(--c123-line);
	border-radius: var(--c123-radius);
	padding: 14px;
	display: flex;
	flex-direction: column;
	transition: all 0.25s ease;
}
.c123-wc ul.products li.c123-product-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--c123-shadow);
}
.c123-product-photo { position: relative; }
.c123-sale-flash,
.c123-featured-flash {
	position: absolute;
	top: 10px; left: 10px;
	z-index: 3;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--c123-primary);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.c123-featured-flash { background: var(--c123-amber); top: 10px; left: 10px; }
.c123-sale-flash + img + .c123-featured-flash,
.c123-sale-flash ~ .c123-featured-flash { top: 40px; }

/* Loop AJAX loading state */
.c123-product-add.loading { opacity: 0.5; pointer-events: none; }
.c123-product-add.added { background: var(--c123-green); }
.c123-wc a.added_to_cart {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	margin-top: 8px;
	text-align: right;
}

/* Pagination */
.c123-wc nav.woocommerce-pagination { text-align: center; margin-top: 40px; }
.c123-wc nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 8px;
	border: none;
	margin: 0;
}
.c123-wc nav.woocommerce-pagination ul li { border: none; }
.c123-wc nav.woocommerce-pagination ul li a,
.c123-wc nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	border: 1px solid var(--c123-line);
	color: var(--c123-heading);
	font-weight: 600;
	font-size: 0.9rem;
}
.c123-wc nav.woocommerce-pagination ul li span.current,
.c123-wc nav.woocommerce-pagination ul li a:hover {
	background: var(--c123-primary);
	border-color: var(--c123-primary);
	color: #fff;
}

/* ---------- Single product ---------- */
.c123-wc div.product { position: relative; }
.c123-wc div.product::after { content: ""; display: block; clear: both; }

/* Gallery */
.c123-wc div.product div.images {
	width: 48%;
	float: left;
	margin-bottom: 40px;
}
.c123-wc div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.c123-wc div.product div.images .woocommerce-product-gallery__image {
	border-radius: var(--c123-radius-lg);
	overflow: hidden;
	background: var(--c123-soft);
	border: 1px solid var(--c123-line);
}
.c123-wc div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin: 14px 0 0;
	list-style: none;
	padding: 0;
}
.c123-wc div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
	margin: 0;
}
.c123-wc div.product div.images .flex-control-thumbs img {
	border-radius: 12px;
	border: 2px solid var(--c123-line);
	opacity: 0.7;
	cursor: pointer;
	transition: all 0.2s ease;
	background: var(--c123-soft);
}
.c123-wc div.product div.images .flex-control-thumbs img:hover,
.c123-wc div.product div.images .flex-control-thumbs img.flex-active {
	border-color: var(--c123-primary);
	opacity: 1;
}
.c123-wc div.product div.images .woocommerce-product-gallery__trigger {
	background: #fff;
	border-radius: 50%;
	box-shadow: var(--c123-shadow-soft);
}

/* Summary */
.c123-wc div.product div.summary {
	width: 47%;
	float: right;
	margin-bottom: 40px;
}
.c123-wc-badge {
	display: inline-flex;
	padding: 6px 14px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--c123-amber) 16%, #fff);
	color: #b45309;
	border: 1px solid color-mix(in srgb, var(--c123-amber) 45%, transparent);
	font-size: 0.78rem;
	font-weight: 700;
	margin-bottom: 14px;
}
.c123-wc div.product .product_title {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	letter-spacing: -0.02em;
	margin-bottom: 10px;
}
.c123-wc div.product .woocommerce-product-details__short-description {
	color: var(--c123-body);
	margin-bottom: 14px;
}
.c123-wc div.product .woocommerce-product-details__short-description p { margin-bottom: 0; }

.c123-wc-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 0.88rem;
}
.c123-wc-rating-link { font-weight: 600; }
.c123-wc-sold { color: var(--c123-primary); font-weight: 600; }

.c123-wc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	list-style: none;
	padding: 16px 0;
	margin: 0 0 4px;
	border-top: 1px solid var(--c123-line);
	border-bottom: 1px solid var(--c123-line);
}
.c123-wc-chips li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.84rem;
	font-weight: 500;
	color: var(--c123-heading);
}
.c123-wc-chip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	background: var(--c123-soft);
	color: var(--c123-primary);
	flex: none;
}

.c123-wc-price-row {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin: 18px 0 6px;
}
.c123-wc div.product p.price {
	font-family: var(--c123-font-head);
	font-weight: 800;
	font-size: 2rem;
	color: var(--c123-primary);
	margin: 0;
}
.c123-wc div.product p.price del {
	color: var(--c123-muted);
	font-weight: 500;
	font-size: 0.6em;
	opacity: 1;
}
.c123-wc div.product p.price ins { text-decoration: none; }
.c123-wc-stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.85rem;
	font-weight: 600;
}
.c123-wc-stock i {
	width: 8px; height: 8px;
	border-radius: 50%;
	display: inline-block;
}
.c123-wc-stock.is-in { color: var(--c123-green); }
.c123-wc-stock.is-in i { background: var(--c123-green); }
.c123-wc-stock.is-out { color: #dc2626; }
.c123-wc-stock.is-out i { background: #dc2626; }

/* Add to cart form */
.c123-wc div.product form.cart {
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin: 18px 0 22px;
	flex-wrap: wrap;
}
.c123-wc div.product form.cart div.quantity {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--c123-line);
	border-radius: 10px;
	overflow: hidden;
	float: none;
	margin: 0;
	background: #fff;
}
.c123-wc div.product form.cart div.quantity .qty {
	width: 56px;
	border: none;
	text-align: center;
	font: inherit;
	font-weight: 700;
	color: var(--c123-heading);
	padding: 12px 0;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
.c123-wc .qty::-webkit-outer-spin-button,
.c123-wc .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.c123-qty-btn {
	border: none;
	background: transparent;
	width: 38px;
	align-self: stretch;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--c123-muted);
	transition: all 0.15s ease;
}
.c123-qty-btn:hover { color: var(--c123-primary); background: var(--c123-soft); }

.c123-wc div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	border: none;
	border-radius: 10px;
	background: var(--c123-primary);
	color: #fff;
	font: inherit;
	font-weight: 600;
	font-size: 1rem;
	padding: 14px 30px;
	transition: all 0.22s ease;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--c123-primary) 30%, transparent);
}
.c123-wc div.product form.cart .single_add_to_cart_button:hover {
	background: var(--c123-primary-dark);
	transform: translateY(-2px);
}

.c123-wc-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	padding-top: 20px;
	border-top: 1px solid var(--c123-line);
	margin-bottom: 18px;
}
.c123-wc-trust-item { display: flex; align-items: center; gap: 10px; }
.c123-wc-trust-icon {
	display: inline-flex;
	color: var(--c123-primary);
	flex: none;
}
.c123-wc-trust-copy { display: flex; flex-direction: column; line-height: 1.35; }
.c123-wc-trust-copy strong { font-size: 0.82rem; color: var(--c123-heading); }
.c123-wc-trust-copy small { font-size: 0.72rem; color: var(--c123-muted); }

.c123-wc div.product .product_meta {
	font-size: 0.85rem;
	color: var(--c123-muted);
	display: grid;
	gap: 4px;
}
.c123-wc div.product .product_meta span { display: block; }

/* Benefits strip */
.c123-wc-benefits {
	clear: both;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	background: var(--c123-softer);
	border: 1px solid var(--c123-line);
	border-radius: 20px;
	padding: 30px;
	margin: 10px 0 50px;
}
.c123-wc-benefit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}
.c123-wc-benefit-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px; height: 54px;
	border-radius: 50%;
	background: #fff;
	color: var(--c123-primary);
	box-shadow: var(--c123-shadow-soft);
	margin-bottom: 8px;
}
.c123-wc-benefit strong {
	font-family: var(--c123-font-head);
	color: var(--c123-heading);
	font-size: 0.95rem;
}
.c123-wc-benefit small { font-size: 0.8rem; color: var(--c123-body); }

/* Tabs */
.c123-wc div.product .woocommerce-tabs { clear: both; margin-bottom: 60px; }
.c123-wc div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 30px;
	padding: 0 0 0 0;
	border-bottom: 1.5px solid var(--c123-line);
	background: none;
	overflow: visible;
}
.c123-wc div.product .woocommerce-tabs ul.tabs::before,
.c123-wc div.product .woocommerce-tabs ul.tabs::after { display: none; }
.c123-wc div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.c123-wc div.product .woocommerce-tabs ul.tabs li::before,
.c123-wc div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.c123-wc div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 12px 18px;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--c123-muted);
	border-bottom: 2.5px solid transparent;
	margin-bottom: -1.5px;
}
.c123-wc div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--c123-primary);
	border-bottom-color: var(--c123-primary);
}
.c123-wc div.product .woocommerce-tabs .panel {
	max-width: 900px;
	margin: 0;
}
.c123-wc div.product .woocommerce-tabs .panel > h2:first-of-type { font-size: 1.4rem; }

/* Checklist (Overview / Benefits) */
.c123-checklist {
	list-style: none;
	display: grid;
	gap: 14px;
	padding: 0;
	margin: 18px 0;
}
.c123-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--c123-heading);
}
.c123-check-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: var(--c123-primary);
	color: #fff;
	flex: none;
	margin-top: 2px;
}

/* Ingredients tab */
.c123-wc-ingredients { display: grid; gap: 18px; }
.c123-wc-ingredient {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: var(--c123-softer);
	border: 1px solid var(--c123-line);
	border-radius: 14px;
	padding: 18px 20px;
}
.c123-wc-ingredient-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px; height: 46px;
	border-radius: 12px;
	background: #fff;
	color: var(--c123-primary);
	box-shadow: var(--c123-shadow-soft);
	flex: none;
}
.c123-wc-ingredient strong {
	font-family: var(--c123-font-head);
	color: var(--c123-heading);
}
.c123-wc-ingredient p { margin: 4px 0 0; font-size: 0.92rem; }

/* Steps */
.c123-wc-steps {
	counter-reset: c123step;
	list-style: none;
	display: grid;
	gap: 16px;
	padding: 0;
	margin: 10px 0;
}
.c123-wc-steps li {
	counter-increment: c123step;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	color: var(--c123-heading);
}
.c123-wc-steps li::before {
	content: counter(c123step);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px; height: 30px;
	border-radius: 50%;
	background: var(--c123-grad);
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
	flex: none;
}

/* FAQs */
.c123-wc-faqs { display: grid; gap: 12px; }
.c123-faq {
	border: 1px solid var(--c123-line);
	border-radius: 12px;
	padding: 0;
	background: #fff;
}
.c123-faq summary {
	cursor: pointer;
	padding: 16px 20px;
	font-weight: 600;
	color: var(--c123-heading);
	list-style: none;
	position: relative;
}
.c123-faq summary::-webkit-details-marker { display: none; }
.c123-faq summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2rem;
	color: var(--c123-primary);
}
.c123-faq[open] summary::after { content: "–"; }
.c123-faq p { padding: 0 20px 16px; margin: 0; }

/* Reviews */
.c123-wc #reviews #comments ol.commentlist {
	list-style: none;
	padding: 0;
	display: grid;
	gap: 16px;
}
.c123-wc #reviews #comments ol.commentlist li {
	margin: 0;
}
.c123-wc #reviews #comments ol.commentlist li .comment_container {
	border: 1px solid var(--c123-line);
	border-radius: 14px;
	padding: 18px 20px;
	background: var(--c123-softer);
	display: flex;
	gap: 14px;
}
.c123-wc #reviews #comments ol.commentlist li img.avatar {
	position: static;
	width: 46px; height: 46px;
	border-radius: 50%;
	border: none;
	background: none;
	padding: 0;
}
.c123-wc #reviews #comments ol.commentlist li .comment-text {
	margin: 0;
	border: none;
	padding: 0;
	flex: 1;
}
.c123-wc #reviews .star-rating { color: var(--c123-amber); }
.c123-wc #review_form #respond p.form-submit input#submit {
	background: var(--c123-primary);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 13px 28px;
	font-weight: 600;
	font-size: 0.95rem;
}
.c123-wc #review_form textarea,
.c123-wc #review_form input[type="text"],
.c123-wc #review_form input[type="email"] {
	width: 100%;
	padding: 12px 16px;
	border: 1.5px solid var(--c123-line);
	border-radius: 10px;
	font: inherit;
	outline: none;
}

/* Related / upsells */
.c123-wc .related.products,
.c123-wc .upsells.products { clear: both; padding-top: 10px; }
.c123-wc .related.products > h2,
.c123-wc .upsells.products > h2 {
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	margin-bottom: 26px;
}

/* Consultation CTA */
.c123-wc-cta {
	background: linear-gradient(115deg, #3f8cfd 0%, var(--c123-primary) 40%, var(--c123-secondary) 100%);
	border-radius: 24px;
	padding: 44px 46px;
	margin: 50px 0 10px;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.c123-wc-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 85% 15%, rgba(255,255,255,0.18), transparent 40%);
}
.c123-wc-cta-copy { position: relative; max-width: 720px; }
.c123-wc-cta h2 { color: #fff; font-size: clamp(1.4rem, 2.8vw, 2rem); }
.c123-wc-cta p { color: rgba(255,255,255,0.88); margin-bottom: 22px; }
.c123-wc-cta-row {
	display: flex;
	align-items: center;
	gap: 26px;
	flex-wrap: wrap;
}
.c123-wc-cta-features {
	list-style: none;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}
.c123-wc-cta-features li {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.88rem;
	font-weight: 500;
}
.c123-wc-cta-features .c123-icon { color: #a7f3d0; }

/* ---------- Cart ---------- */
.c123-wc table.shop_table {
	border: 1px solid var(--c123-line);
	border-radius: var(--c123-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
}
.c123-wc table.shop_table th {
	background: var(--c123-softer);
	color: var(--c123-heading);
	font-family: var(--c123-font-head);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 14px 16px;
	border: none;
	border-bottom: 1px solid var(--c123-line);
	text-align: left;
}
.c123-wc table.shop_table td {
	padding: 14px 16px;
	border: none;
	border-bottom: 1px solid var(--c123-line);
	background: #fff;
	vertical-align: middle;
}
.c123-wc table.shop_table tr:last-child td { border-bottom: none; }
.c123-wc table.shop_table td.product-thumbnail img {
	width: 64px;
	border-radius: 10px;
	background: var(--c123-soft);
}
.c123-wc table.shop_table td.product-name a { color: var(--c123-heading); font-weight: 600; }
.c123-wc table.shop_table a.remove {
	color: #dc2626 !important;
	background: color-mix(in srgb, #dc2626 8%, #fff);
	border-radius: 50%;
	width: 26px; height: 26px;
	line-height: 26px;
	font-size: 1.1rem;
	font-weight: 400;
}
.c123-wc table.shop_table a.remove:hover { background: #dc2626; color: #fff !important; }
.c123-wc .cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--c123-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.c123-wc .cart .quantity .qty {
	width: 52px;
	border: none;
	text-align: center;
	font: inherit;
	font-weight: 600;
	padding: 9px 0;
	outline: none;
}
.c123-wc td.actions .coupon { display: flex; gap: 10px; }
.c123-wc td.actions .coupon .input-text {
	padding: 11px 16px;
	border: 1.5px solid var(--c123-line);
	border-radius: 10px;
	font: inherit;
	width: 160px;
	outline: none;
}
.c123-wc .button,
.c123-wc button.button {
	background: var(--c123-primary);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 12px 22px;
	font: inherit;
	font-weight: 600;
	font-size: 0.9rem;
	transition: all 0.2s ease;
}
.c123-wc .button:hover, .c123-wc button.button:hover { background: var(--c123-primary-dark); color: #fff; }
.c123-wc .button:disabled { opacity: 0.4; }

.cart-collaterals .cart_totals {
	width: 100%;
	max-width: 420px;
	float: right;
	background: var(--c123-softer);
	border: 1px solid var(--c123-line);
	border-radius: var(--c123-radius);
	padding: 26px;
	margin-top: 30px;
}
.cart-collaterals .cart_totals h2 { font-size: 1.2rem; }
.cart-collaterals .cart_totals table.shop_table { border: none; background: none; }
.cart-collaterals .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table td { background: none; padding: 10px 0; }
.wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	font-size: 1rem !important;
	padding: 15px 20px !important;
}

/* ---------- Checkout ---------- */
.c123-wc form.checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; width: 62%; float: left; }
.c123-wc form.checkout .col2-set .col-1,
.c123-wc form.checkout .col2-set .col-2 { width: auto; float: none; }
.c123-wc #order_review_heading,
.c123-wc #order_review { width: 34%; float: right; }
.c123-wc #order_review {
	background: var(--c123-softer);
	border: 1px solid var(--c123-line);
	border-radius: var(--c123-radius);
	padding: 26px;
}
.c123-wc form .form-row input.input-text,
.c123-wc form .form-row textarea,
.c123-wc form .form-row select {
	padding: 12px 16px;
	border: 1.5px solid var(--c123-line);
	border-radius: 10px;
	font: inherit;
	outline: none;
	background: #fff;
}
.c123-wc form .form-row input.input-text:focus,
.c123-wc form .form-row textarea:focus { border-color: var(--c123-primary); }
.c123-wc form .form-row label { font-weight: 600; font-size: 0.88rem; color: var(--c123-heading); }
.c123-wc #payment {
	background: #fff;
	border: 1px solid var(--c123-line);
	border-radius: 12px;
}
.c123-wc #payment div.payment_box {
	background: var(--c123-soft);
	color: var(--c123-body);
}
.c123-wc #payment div.payment_box::before { border-bottom-color: var(--c123-soft); }
.c123-wc #place_order {
	width: 100%;
	font-size: 1rem;
	padding: 15px 20px;
}

/* ---------- My Account ---------- */
.c123-wc .woocommerce-MyAccount-navigation { width: 24%; float: left; }
.c123-wc .woocommerce-MyAccount-content { width: 72%; float: right; }
.c123-wc .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 10px;
	margin: 0;
	border: 1px solid var(--c123-line);
	border-radius: var(--c123-radius);
	background: #fff;
	display: grid;
	gap: 2px;
}
.c123-wc .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 11px 16px;
	border-radius: 10px;
	color: var(--c123-heading);
	font-weight: 500;
	font-size: 0.92rem;
}
.c123-wc .woocommerce-MyAccount-navigation ul li a:hover { background: var(--c123-soft); color: var(--c123-primary); }
.c123-wc .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--c123-primary);
	color: #fff;
}
.c123-wc .woocommerce-form-login,
.c123-wc .woocommerce-form-register {
	max-width: 460px;
	margin: 0 auto;
	border: 1px solid var(--c123-line) !important;
	border-radius: var(--c123-radius) !important;
	padding: 30px !important;
	background: #fff;
}

/* ---------- Responsive ----------
   Column counts are Customizer-driven (Appearance → Customize →
   Luxacent Theme Options → WooCommerce: Shop Layout) via CSS vars set
   in inc/woocommerce.php. Fallbacks keep sane defaults if unset. */
@media (max-width: 1080px) {
	.c123-wc ul.products { grid-template-columns: repeat(var(--c123-shop-cols-tablet, 3), 1fr); }
}
@media (max-width: 900px) {
	.c123-wc { padding: 14px 0 70px; }
	.c123-breadcrumb { margin-bottom: 14px; }
	.c123-wc div.product div.images,
	.c123-wc div.product div.summary { width: 100%; float: none; }
	.c123-wc div.product div.images { margin-bottom: 24px; }
	.c123-wc-benefits { grid-template-columns: repeat(2, 1fr); }
	.c123-wc form.checkout .col2-set,
	.c123-wc #order_review_heading,
	.c123-wc #order_review { width: 100%; float: none; }
	.c123-wc form.checkout .col2-set { grid-template-columns: 1fr; }
	.c123-wc .woocommerce-MyAccount-navigation,
	.c123-wc .woocommerce-MyAccount-content { width: 100%; float: none; margin-bottom: 24px; }
	.cart-collaterals .cart_totals { float: none; max-width: none; }
}
@media (max-width: 700px) {
	.c123-wc ul.products { grid-template-columns: repeat(var(--c123-shop-cols-mobile, 2), 1fr); gap: 14px; }
	.c123-wc-trust { grid-template-columns: 1fr; gap: 10px; }
	.c123-wc-cta { padding: 30px 24px; }
	.c123-wc-cta-row { gap: 18px; }
	.c123-wc table.shop_table td.actions .coupon { flex-wrap: wrap; }

	/* result count + ordering stack instead of float */
	.c123-wc .woocommerce-result-count,
	.c123-wc .woocommerce-ordering { float: none; margin: 10px 0 0; }
	.c123-wc .woocommerce-ordering select { width: 100%; }

	/* tabs scroll horizontally rather than wrapping into a tall block */
	.c123-wc div.product .woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.c123-wc div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	.c123-wc div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; }

	/* single-product add-to-cart button spans full row */
	.c123-wc div.product form.cart .single_add_to_cart_button { min-width: 0; }
}
@media (max-width: 430px) {
	.c123-wc-benefits { grid-template-columns: 1fr; padding: 22px; }
	.c123-wc div.product .woocommerce-tabs ul.tabs li a { padding: 11px 12px; font-size: 0.86rem; }
	.c123-wc div.product form.cart { flex-direction: column; align-items: stretch; }
	.c123-wc div.product form.cart div.quantity { align-self: flex-start; }
	.c123-wc-cta-features { flex-direction: column; gap: 8px; }
}
