/* ============================================================
   Synergeus — WooCommerce skin
   Menyelaraskan funnel toko (shop / single product / cart /
   checkout / my account) dengan desain tema. Memakai token
   --q-* dari theme.css sehingga ikut light/dark otomatis.
   ============================================================ */

:root {
	--qw-radius: 14px;
	--qw-radius-pill: 9999px;
	--qw-field-bg: var(--q-glass-bg);
	--qw-field-border: var(--q-border-mid);
}

/* ---------- Container & base typography ---------- */
.qx-woo,
.woocommerce,
.woocommerce-page {
	color: var(--q-text);
}

.qx-woo a:not(.button),
.woocommerce a:not(.button) {
	color: var(--q-accent);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce .product_title,
.woocommerce-account h2,
.wc-block-components-title {
	color: var(--q-text) !important;
}

/* ---------- Buttons (classic + blocks) ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.wc-block-components-button,
.wp-block-button__link,
.wc-block-cart__submit-button {
	background: var(--q-accent) !important;
	color: #fff !important;
	border: 1px solid var(--q-accent) !important;
	border-radius: var(--qw-radius-pill) !important;
	padding: 12px 26px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	transition: filter .18s ease, transform .18s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

/* Secondary / ghost buttons */
.woocommerce a.button.wc-backward,
.woocommerce .button.added,
.wc-block-components-button.outlined,
.wc-block-components-button.contained.is-secondary {
	background: transparent !important;
	color: var(--q-text) !important;
	border: 1px solid var(--q-border-mid) !important;
}

/* ---------- Form fields ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-select .wc-block-components-select__select,
.wc-block-components-quantity-selector input {
	background: var(--qw-field-bg) !important;
	border: 1px solid var(--qw-field-border) !important;
	color: var(--q-text) !important;
	border-radius: 10px !important;
}

.wc-block-components-text-input input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce select:focus {
	outline: none !important;
	border-color: var(--q-accent) !important;
	box-shadow: 0 0 0 3px var(--q-accent-alt) !important;
}

.wc-block-components-text-input label,
.woocommerce form .form-row label,
.wc-block-components-checkout-step__title,
.wc-block-components-totals-item__label,
.wc-block-components-product-name {
	color: var(--q-text) !important;
}

.woocommerce ::placeholder,
.wc-block-components-text-input input::placeholder { color: var(--q-text-faint) !important; }

/* ---------- Shop / archive grid ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--q-surface);
	border: 1px solid var(--q-border);
	border-radius: var(--qw-radius);
	padding: 16px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
	color: var(--q-text) !important;
}

.woocommerce ul.products li.product .price {
	font-weight: 700;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
	color: var(--q-text-muted);
}

/* Sale flash */
.woocommerce span.onsale {
	background: var(--q-accent) !important;
	color: #fff !important;
	border-radius: var(--qw-radius-pill);
}

/* ---------- Single product ---------- */
.woocommerce div.product .price,
.woocommerce div.product span.price,
.woocommerce div.product p.price {
	color: var(--q-text) !important;
	font-weight: 700;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	color: var(--q-text-muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--q-glass-bg);
	border: 1px solid var(--q-border);
	border-radius: var(--qw-radius-pill);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--q-accent-alt);
	border-color: var(--q-accent);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--q-text) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom-color: var(--q-border);
}

/* ---------- Tables (cart classic, order, account) ---------- */
.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce table.woocommerce-table {
	background: var(--q-surface);
	border: 1px solid var(--q-border);
	border-radius: var(--qw-radius);
	overflow: hidden;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table tr {
	border-color: var(--q-border) !important;
	color: var(--q-text);
}

/* ---------- Cart & Checkout blocks ---------- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
	color: var(--q-text);
}

/* ---------- Cart page redesign ---------- */
body.woocommerce-cart {
	background:
		radial-gradient(circle at 16% 0%, rgba(29, 161, 242, .08), transparent 34rem),
		linear-gradient(180deg, #f6f9fc 0%, #eef4f9 100%);
}

body.woocommerce-cart main,
body.woocommerce-cart .site-main,
body.woocommerce-cart .entry-content {
	background: transparent;
}

body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-cart .woocommerce {
	width: min(100% - 40px, 1180px);
	margin: 0 auto;
	padding: clamp(42px, 5vw, 72px) 0 clamp(76px, 8vw, 112px);
	color: #07131f;
}

body.woocommerce-cart .woocommerce:not(.widget_shopping_cart) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
	gap: clamp(28px, 4vw, 48px);
	align-items: start;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .return-to-shop,
body.woocommerce-cart .cart-empty {
	grid-column: 1 / -1;
}

body.woocommerce-cart .woocommerce-cart-form {
	grid-column: 1;
	min-width: 0;
}

body.woocommerce-cart .cart-collaterals {
	grid-column: 2;
	width: 100%;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	position: sticky;
	top: 104px;
	width: 100%;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90)),
		#fff;
	border: 1px solid rgba(7, 19, 31, .08);
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 24px 70px rgba(15, 39, 67, .10);
}

body.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin: 0 0 18px;
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(7, 19, 31, .08);
	color: #07131f !important;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.woocommerce-cart .cart-collaterals .cart_totals table {
	margin: 0;
	border: 0 !important;
	background: transparent;
	border-collapse: collapse;
}

body.woocommerce-cart .cart-collaterals .cart_totals th,
body.woocommerce-cart .cart-collaterals .cart_totals td {
	padding: 14px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(7, 19, 31, .08) !important;
	color: #07131f !important;
	font-size: .96rem;
}

body.woocommerce-cart .cart-collaterals .cart_totals th {
	color: rgba(7, 19, 31, .58) !important;
	font-weight: 600;
}

body.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total td,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
	color: #07131f !important;
	font-size: 1.42rem;
	font-weight: 750;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}

body.woocommerce-cart .wc-proceed-to-checkout {
	padding: 22px 0 0;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	margin: 0 !important;
	background: #0b0f14 !important;
	border-color: #0b0f14 !important;
	border-radius: 999px !important;
	box-shadow: 0 18px 36px rgba(11, 15, 20, .18) !important;
	font-size: .98rem !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #149be8 !important;
	border-color: #149be8 !important;
	box-shadow: 0 20px 42px rgba(20, 155, 232, .22) !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.cart {
	margin: 0 !important;
	background: transparent;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
}

body.woocommerce-cart table.cart thead th {
	padding: 0 18px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(7, 19, 31, .16) !important;
	color: #07131f !important;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.woocommerce-cart table.cart tbody tr.cart_item td {
	padding: 24px 18px !important;
	background: rgba(255,255,255,.66);
	border: 0 !important;
	border-bottom: 1px solid rgba(7, 19, 31, .12) !important;
	color: #07131f !important;
	vertical-align: top;
}

body.woocommerce-cart table.cart tbody tr.cart_item:first-child td {
	border-top: 0 !important;
}

body.woocommerce-cart table.cart td.product-thumbnail {
	width: 96px;
	padding-left: 22px !important;
}

body.woocommerce-cart table.cart td.product-thumbnail img {
	width: 76px;
	height: 76px;
	object-fit: contain;
	border-radius: 14px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.72), rgba(229,238,247,.62));
	border: 1px solid rgba(7, 19, 31, .08);
	padding: 12px;
}

body.woocommerce-cart table.cart td.product-name a {
	color: #07131f !important;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: -.01em;
	text-decoration: none;
}

body.woocommerce-cart table.cart td.product-name a:hover {
	color: #149be8 !important;
}

body.woocommerce-cart table.cart td.product-name,
body.woocommerce-cart table.cart td.product-price,
body.woocommerce-cart table.cart td.product-subtotal {
	font-variant-numeric: tabular-nums;
}

body.woocommerce-cart table.cart td.product-price,
body.woocommerce-cart table.cart td.product-subtotal {
	color: #07131f !important;
	font-weight: 650;
	white-space: nowrap;
}

body.woocommerce-cart table.cart .product-name p,
body.woocommerce-cart table.cart .product-name .variation,
body.woocommerce-cart table.cart .product-name .wc-block-components-product-metadata,
body.woocommerce-cart table.cart .product-name .wc-block-components-product-metadata__description {
	max-width: 42rem;
	color: rgba(7, 19, 31, .58) !important;
	font-size: .88rem;
	line-height: 1.55;
}

body.woocommerce-cart table.cart td.product-quantity {
	min-width: 152px;
}

body.woocommerce-cart .quantity,
body.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	min-width: 116px;
	height: 36px;
	background: rgba(255,255,255,.72) !important;
	border: 1px solid rgba(7, 19, 31, .16) !important;
	border-radius: 999px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

body.woocommerce-cart .quantity input.qty,
body.woocommerce-cart .wc-block-components-quantity-selector input {
	width: 54px !important;
	height: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #07131f !important;
	font-size: .92rem !important;
	font-weight: 650;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus,
body.woocommerce-cart .wc-block-components-quantity-selector__button {
	width: 34px !important;
	height: 34px !important;
	border: 0 !important;
	background: transparent !important;
	color: rgba(7, 19, 31, .72) !important;
	transition: background .18s ease, color .18s ease;
}

body.woocommerce-cart .quantity .minus:hover,
body.woocommerce-cart .quantity .plus:hover,
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
	background: rgba(20, 155, 232, .10) !important;
	color: #07131f !important;
}

body.woocommerce-cart table.cart td.product-remove {
	width: 48px;
	padding-right: 8px !important;
	text-align: center;
}

body.woocommerce-cart table.cart a.remove,
body.woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	color: rgba(7, 19, 31, .58) !important;
	font-size: 1.2rem !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}

body.woocommerce-cart table.cart a.remove:hover,
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	background: rgba(239, 68, 68, .09) !important;
	color: #b42318 !important;
	transform: translateY(-1px);
}

body.woocommerce-cart table.cart td.actions {
	padding: 22px 0 0 !important;
	background: transparent !important;
	border: 0 !important;
}

body.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	gap: 10px;
}

body.woocommerce-cart table.cart td.actions .coupon .input-text {
	min-width: 230px;
	height: 44px;
	border-color: rgba(7, 19, 31, .14) !important;
	background: rgba(255,255,255,.72) !important;
	color: #07131f !important;
	border-radius: 12px !important;
}

body.woocommerce-cart table.cart td.actions .button {
	min-height: 44px;
	border-radius: 999px !important;
}

body.woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
	float: right;
	background: transparent !important;
	color: #07131f !important;
	border-color: rgba(7, 19, 31, .18) !important;
}

/* Woo Blocks cart layout, used on some installs and during editor previews. */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
	max-width: 1180px;
	margin: 0 auto;
}

body.woocommerce-cart .wc-block-cart {
	gap: clamp(28px, 4vw, 48px);
}

body.woocommerce-cart .wc-block-cart__main {
	padding-right: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar {
	padding-left: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items {
	border: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__header th {
	padding-bottom: 16px !important;
	border-bottom: 1px solid rgba(7, 19, 31, .16) !important;
	color: #07131f !important;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items__row {
	background: rgba(255,255,255,.66);
	border-bottom: 1px solid rgba(7, 19, 31, .12) !important;
}

body.woocommerce-cart .wc-block-cart-items__row td {
	padding-top: 24px !important;
	padding-bottom: 24px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(229,238,247,.62));
	border: 1px solid rgba(7, 19, 31, .08);
	padding: 12px;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar {
	background: rgba(255,255,255,.94) !important;
	border-color: rgba(7, 19, 31, .08) !important;
	border-radius: 20px !important;
	box-shadow: 0 24px 70px rgba(15, 39, 67, .10);
}

body.woocommerce-cart .wc-block-cart__submit-button {
	min-height: 58px !important;
	background: #0b0f14 !important;
	border-color: #0b0f14 !important;
	box-shadow: 0 18px 36px rgba(11, 15, 20, .18) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
	background: #149be8 !important;
	border-color: #149be8 !important;
}

@media (max-width: 980px) {
	body.woocommerce-cart .woocommerce:not(.widget_shopping_cart) {
		display: block;
	}

	body.woocommerce-cart .cart-collaterals {
		margin-top: 28px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		position: static;
	}
}

@media (max-width: 768px) {
	body.woocommerce-cart .woocommerce {
		width: min(100% - 28px, 1180px);
		padding-top: 30px;
	}

	body.woocommerce-cart table.cart tbody tr.cart_item td {
		background: rgba(255,255,255,.76);
	}

	body.woocommerce-cart table.cart td.product-thumbnail {
		display: none;
	}

	body.woocommerce-cart table.cart td.actions .coupon {
		float: none;
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
	}

	body.woocommerce-cart table.cart td.actions .coupon .input-text,
	body.woocommerce-cart table.cart td.actions .button,
	body.woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
		float: none;
		width: 100%;
	}
}

.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-components-totals-wrapper {
	background: var(--q-surface) !important;
	border: 1px solid var(--q-border) !important;
	border-radius: var(--qw-radius) !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item,
.wc-block-components-product-metadata,
.wc-block-components-order-summary-item__total-price,
.wc-block-cart-item__total,
.wc-block-components-formatted-money-amount {
	color: var(--q-text) !important;
}

.wc-block-components-totals-item,
.wc-block-cart-items__row,
.wc-block-components-order-summary-item {
	border-color: var(--q-border) !important;
}

.wc-block-components-product-price,
.wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__description {
	color: var(--q-text-muted) !important;
}

/* Panels / step boxes in checkout */
.wc-block-checkout__form .wc-block-components-checkout-step,
.wc-block-checkout__sidebar,
.wc-block-components-panel {
	background: var(--q-surface);
	border: 1px solid var(--q-border);
	border-radius: var(--qw-radius);
}

/* Radio / payment method rows */
.wc-block-components-radio-control__option,
.wc-block-components-payment-methods__option {
	background: var(--q-glass-bg);
	border: 1px solid var(--q-border) !important;
	border-radius: 10px;
}
.wc-block-components-radio-control__option--checked {
	border-color: var(--q-accent) !important;
}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	background: var(--q-glass-bg);
	border: 1px solid var(--q-border);
	border-radius: 10px;
	margin-bottom: 8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
	background: var(--q-accent-alt);
	border-color: var(--q-accent);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	color: var(--q-text) !important;
}

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: var(--q-surface) !important;
	border: 1px solid var(--q-border-mid) !important;
	border-left: 4px solid var(--q-accent) !important;
	color: var(--q-text) !important;
	border-radius: 10px;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-left-color: #ef4444 !important;
}

/* ---------- Misc text contrast guards ---------- */
.wc-block-components-checkout-step__description,
.wc-block-components-address-card,
.woocommerce-customer-details,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol {
	color: inherit !important;
}

/* ---------- Cart v2: QUBYX Blocks override ---------- */
body.woocommerce-cart {
	--qwc-ink: #070b10;
	--qwc-muted: rgba(7, 11, 16, .58);
	--qwc-line: rgba(7, 11, 16, .10);
	--qwc-panel: rgba(255,255,255,.86);
	--qwc-blue: #149be8;
	background:
		linear-gradient(90deg, rgba(29,161,242,.08), transparent 24rem),
		linear-gradient(180deg, #f7f9fb 0%, #edf3f8 100%) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart {
	box-sizing: border-box;
	width: min(100% - 48px, 1180px) !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: clamp(44px, 5vw, 68px) 0 clamp(82px, 7vw, 118px) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart::before {
	content: "Cart";
	display: block;
	margin: 0 0 24px;
	color: var(--qwc-ink);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 500;
	line-height: .98;
	letter-spacing: -.035em;
}

body.woocommerce-cart .wp-block-woocommerce-cart::after {
	content: "";
	display: table;
	clear: both;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 390px) !important;
	gap: clamp(28px, 3.5vw, 44px) !important;
	align-items: start !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {
	float: none !important;
	grid-column: 1 !important;
	width: 100% !important;
	max-width: none !important;
	padding: 28px 30px !important;
	background: var(--qwc-panel) !important;
	border: 1px solid var(--qwc-line) !important;
	border-radius: 24px !important;
	box-shadow: 0 28px 80px rgba(24, 50, 78, .08) !important;
	backdrop-filter: blur(14px);
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar {
	float: none !important;
	grid-column: 2 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	position: sticky !important;
	top: 112px !important;
	align-self: start !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items table {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: transparent !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__header th {
	padding: 0 0 18px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--qwc-line) !important;
	color: var(--qwc-ink) !important;
	font-size: .72rem !important;
	font-weight: 800 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__header .wc-block-cart-items__header-total {
	text-align: right !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row {
	display: table-row !important;
	background: transparent !important;
	border: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row td {
	padding: 28px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--qwc-line) !important;
	vertical-align: top !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image {
	width: 116px !important;
	padding-right: 22px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image img {
	width: 80px !important;
	height: 80px !important;
	object-fit: contain !important;
	padding: 16px !important;
	background:
		linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,243,248,.82)) !important;
	border: 1px solid var(--qwc-line) !important;
	border-radius: 18px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-name {
	color: var(--qwc-ink) !important;
	font-size: 1.08rem !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	letter-spacing: -.015em !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-name:hover {
	color: var(--qwc-blue) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-price {
	margin-top: 8px !important;
	color: var(--qwc-ink) !important;
	font-size: .92rem !important;
	font-weight: 650 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-metadata p {
	max-width: 34rem !important;
	margin: 10px 0 0 !important;
	color: var(--qwc-muted) !important;
	font-size: .88rem !important;
	line-height: 1.55 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-top: 18px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	width: 140px !important;
	height: 44px !important;
	margin: 0 !important;
	background: #fff !important;
	border: 1px solid rgba(7, 11, 16, .14) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
	display: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
	width: 42px !important;
	height: 42px !important;
	color: rgba(7, 11, 16, .58) !important;
	border-radius: 999px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover {
	background: rgba(20, 155, 232, .10) !important;
	color: var(--qwc-ink) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector input {
	height: 42px !important;
	color: var(--qwc-ink) !important;
	font-size: 1rem !important;
	font-weight: 750 !important;
	font-variant-numeric: tabular-nums !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(7, 11, 16, .48) !important;
	border-radius: 999px !important;
	font-size: 0 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link::before {
	content: "Remove";
	font-size: .78rem;
	font-weight: 650;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	background: rgba(239, 68, 68, .08) !important;
	color: #b42318 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total {
	text-align: right !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-formatted-money-amount,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-formatted-money-amount {
	color: var(--qwc-ink) !important;
	font-weight: 750 !important;
	font-variant-numeric: tabular-nums !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
	background: rgba(255,255,255,.94) !important;
	border: 1px solid var(--qwc-line) !important;
	border-radius: 24px !important;
	box-shadow: 0 28px 80px rgba(24, 50, 78, .12) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__totals-title {
	display: block !important;
	margin: 0 !important;
	padding: 22px 24px 16px !important;
	border-bottom: 1px solid var(--qwc-line) !important;
	color: var(--qwc-ink) !important;
	font-size: .75rem !important;
	font-weight: 800 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
	margin: 0 !important;
	padding: 0 24px !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item {
	color: var(--qwc-ink) !important;
	font-size: .96rem !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel__button {
	min-height: 58px !important;
	padding: 0 !important;
	font-weight: 650 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel__button {
	border-color: var(--qwc-line) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item {
	padding: 18px 0 !important;
	border-color: var(--qwc-line) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
	padding: 22px 24px !important;
	border-top: 1px solid var(--qwc-line) !important;
	color: var(--qwc-ink) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--qwc-ink) !important;
	font-size: 1.35rem !important;
	font-weight: 780 !important;
	letter-spacing: -.025em !important;
	font-variant-numeric: tabular-nums !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container {
	margin-top: 20px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 62px !important;
	width: 100% !important;
	background: var(--qwc-ink) !important;
	border: 1px solid var(--qwc-ink) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 750 !important;
	box-shadow: 0 22px 50px rgba(7, 11, 16, .22) !important;
	transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
	background: var(--qwc-blue) !important;
	border-color: var(--qwc-blue) !important;
	box-shadow: 0 22px 52px rgba(20, 155, 232, .24) !important;
	transform: translateY(-1px) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:active {
	transform: translateY(0) scale(.99) !important;
}

@media (max-width: 1080px) {
	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar {
		grid-column: 1 !important;
		position: static !important;
	}
}

@media (max-width: 700px) {
	body.woocommerce-cart .wp-block-woocommerce-cart {
		width: min(100% - 28px, 1180px) !important;
		padding-top: 32px !important;
	}

	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {
		padding: 20px !important;
		border-radius: 20px !important;
	}

	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image {
		display: none !important;
	}

	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__header-total {
		display: none !important;
	}

	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row,
	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row td {
		display: block !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total {
		padding-top: 0 !important;
		text-align: left !important;
	}
}

/* ---------- QUBYX custom cart template ---------- */
.qcart {
	min-height: 70vh;
	background:
		radial-gradient(circle at 8% 6%, rgba(29,161,242,.12), transparent 26rem),
		linear-gradient(180deg, #f8fafc 0%, #eef4f9 100%);
	color: #070b10;
}

.qcart *,
.qcart *::before,
.qcart *::after {
	box-sizing: border-box;
}

.qcart__shell {
	width: min(100% - 48px, 1180px);
	margin: 0 auto;
	padding: clamp(48px, 6vw, 86px) 0 clamp(84px, 8vw, 124px);
}

.qcart__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 30px;
}

.qcart__eyebrow,
.qcart-summary__eyebrow {
	margin: 0 0 12px;
	color: rgba(7,11,16,.54);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.qcart__head h1 {
	margin: 0;
	color: #070b10;
	font-size: clamp(2.6rem, 5vw, 5.2rem);
	font-weight: 500;
	line-height: .92;
	letter-spacing: -.055em;
}

.qcart__continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid rgba(7,11,16,.14);
	border-radius: 999px;
	color: rgba(7,11,16,.72) !important;
	font-size: .9rem;
	font-weight: 650;
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease, transform .18s ease;
}

.qcart__continue:hover {
	border-color: rgba(20,155,232,.42);
	color: #070b10 !important;
	transform: translateY(-1px);
}

.qcart__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
	gap: clamp(28px, 4vw, 48px);
	align-items: start;
}

.qcart__items,
.qcart-summary,
.qcart__empty {
	background: rgba(255,255,255,.88);
	border: 1px solid rgba(7,11,16,.09);
	border-radius: 28px;
	box-shadow: 0 30px 90px rgba(24,50,78,.10);
	backdrop-filter: blur(14px);
}

.qcart__items {
	padding: 28px;
	min-width: 0;
}

.qcart__items-top {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 18px;
	padding: 0 0 18px;
	border-bottom: 1px solid rgba(7,11,16,.11);
	color: #070b10;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.qcart-item {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 22px;
	padding: 28px 0;
	border-bottom: 1px solid rgba(7,11,16,.10);
}

.qcart-item__media a,
.qcart-item__media {
	display: block;
}

.qcart-item__media img {
	display: block;
	width: 88px;
	height: 88px;
	object-fit: contain;
	padding: 16px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.96), rgba(235,243,250,.86));
	border: 1px solid rgba(7,11,16,.09);
	border-radius: 20px;
}

.qcart-item__body {
	min-width: 0;
}

.qcart-item__title-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
}

.qcart-item__title {
	display: inline-block;
	color: #070b10 !important;
	font-size: 1.16rem;
	font-weight: 760;
	line-height: 1.16;
	letter-spacing: -.02em;
	text-decoration: none;
}

.qcart-item__title:hover {
	color: #149be8 !important;
}

.qcart-item__price {
	margin-top: 8px;
	color: #070b10;
	font-size: .94rem;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}

.qcart-item__subtotal {
	color: #070b10;
	font-size: 1.02rem;
	font-weight: 760;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.qcart-item__desc {
	max-width: 44rem;
	margin: 18px 0 0;
	color: rgba(7,11,16,.58);
	font-size: .94rem;
	line-height: 1.6;
}

.qcart-item__controls {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
}

.qcart .quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 124px;
	height: 44px;
	background: #fff !important;
	border: 1px solid rgba(7,11,16,.14) !important;
	border-radius: 999px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.qcart .quantity input.qty {
	width: 86px !important;
	height: 42px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: #070b10 !important;
	font-size: 1rem !important;
	font-weight: 760;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.qcart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	color: rgba(7,11,16,.48) !important;
	font-size: .82rem;
	font-weight: 700;
	text-decoration: none;
	transition: background .18s ease, color .18s ease;
}

.qcart-item__remove:hover {
	background: rgba(239,68,68,.08);
	color: #b42318 !important;
}

.qcart__actions {
	display: flex;
	justify-content: flex-end;
	padding-top: 24px;
}

.qcart__primary,
.qcart__secondary,
.qcart-coupon button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: 999px;
	font-size: .94rem;
	font-weight: 760;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.qcart__primary {
	padding: 0 24px;
	background: #070b10 !important;
	border: 1px solid #070b10 !important;
	color: #fff !important;
	box-shadow: 0 22px 50px rgba(7,11,16,.22);
}

.qcart__primary:hover {
	background: #149be8 !important;
	border-color: #149be8 !important;
	box-shadow: 0 22px 52px rgba(20,155,232,.24);
	transform: translateY(-1px);
}

.qcart__secondary,
.qcart-coupon button {
	padding: 0 18px;
	background: transparent;
	border: 1px solid rgba(7,11,16,.14);
	color: #070b10;
}

.qcart__secondary:hover,
.qcart-coupon button:hover {
	border-color: rgba(20,155,232,.42);
	transform: translateY(-1px);
}

.qcart-summary {
	position: sticky;
	top: 112px;
	padding: 26px;
}

.qcart-summary__eyebrow {
	color: #070b10;
}

.qcart-coupon {
	padding: 18px;
	background: rgba(247,250,252,.78);
	border: 1px solid rgba(7,11,16,.08);
	border-radius: 20px;
}

.qcart-coupon label {
	display: block;
	margin-bottom: 10px;
	color: rgba(7,11,16,.56);
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.qcart-coupon__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.qcart-coupon input {
	width: 100%;
	min-height: 48px;
	padding: 0 15px;
	background: #fff !important;
	border: 1px solid rgba(7,11,16,.13) !important;
	border-radius: 999px !important;
	color: #070b10 !important;
	font-size: .94rem;
}

.qcart-coupon input:focus {
	outline: none;
	border-color: rgba(20,155,232,.58) !important;
	box-shadow: 0 0 0 4px rgba(20,155,232,.12);
}

.qcart-summary__rows {
	margin-top: 22px;
}

.qcart-summary__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 15px 0;
	border-bottom: 1px solid rgba(7,11,16,.09);
	color: rgba(7,11,16,.62);
	font-size: .95rem;
}

.qcart-summary__row strong {
	color: #070b10;
	font-weight: 760;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.qcart-summary__row--total {
	margin-top: 4px;
	padding: 20px 0;
	border-bottom: 0;
	color: #070b10;
}

.qcart-summary__row--total span,
.qcart-summary__row--total strong,
.qcart-summary__row--total .amount {
	color: #070b10;
	font-size: clamp(1.22rem, 2vw, 1.55rem);
	font-weight: 820;
	letter-spacing: -.03em;
}

.qcart-summary__checkout {
	width: 100%;
	min-height: 62px;
	margin-top: 12px;
}

.qcart-summary__note {
	margin: 16px 0 0;
	color: rgba(7,11,16,.50);
	font-size: .84rem;
	line-height: 1.45;
	text-align: center;
}

.qcart__empty {
	padding: clamp(34px, 5vw, 58px);
}

.qcart__empty h1,
.qcart__empty h2 {
	margin: 0;
	color: #070b10;
	font-size: clamp(2rem, 4vw, 3.8rem);
	font-weight: 520;
	line-height: .98;
	letter-spacing: -.04em;
}

.qcart__empty p:not(.qcart__eyebrow) {
	max-width: 38rem;
	margin: 18px 0 26px;
	color: rgba(7,11,16,.58);
	font-size: 1rem;
	line-height: 1.65;
}

.qcart .woocommerce-message,
.qcart .woocommerce-info,
.qcart .woocommerce-error {
	margin-bottom: 22px;
}

@media (max-width: 980px) {
	.qcart__grid {
		grid-template-columns: 1fr;
	}

	.qcart-summary {
		position: static;
	}
}

@media (max-width: 680px) {
	.qcart__shell {
		width: min(100% - 28px, 1180px);
		padding-top: 36px;
	}

	.qcart__head {
		display: grid;
		align-items: start;
	}

	.qcart__items,
	.qcart-summary {
		border-radius: 22px;
		padding: 20px;
	}

	.qcart__items-top {
		display: none;
	}

	.qcart-item {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.qcart-item__title-row,
	.qcart-coupon__row {
		grid-template-columns: 1fr;
	}

	.qcart-item__subtotal {
		white-space: normal;
	}

	.qcart__actions,
	.qcart-item__controls {
		align-items: stretch;
		flex-direction: column;
	}

	.qcart__secondary,
	.qcart-item__remove,
	.qcart-coupon button {
		width: 100%;
	}
}

/* ---------- QUBYX custom cart compact tuning ---------- */
.qcart__shell {
	width: min(100% - 48px, 1120px);
	padding-top: clamp(28px, 3.8vw, 52px);
	padding-bottom: clamp(60px, 7vw, 92px);
}

.qcart__head {
	margin-bottom: 20px;
}

.qcart__eyebrow,
.qcart-summary__eyebrow {
	margin-bottom: 8px;
	font-size: .68rem;
}

.qcart__head h1 {
	font-size: clamp(2.05rem, 3.4vw, 3.25rem);
	line-height: .96;
	letter-spacing: -.045em;
}

.qcart__grid {
	grid-template-columns: minmax(0, 1fr) minmax(315px, 350px);
	gap: clamp(18px, 2.4vw, 28px);
}

.qcart__items,
.qcart-summary,
.qcart__empty {
	border-radius: 22px;
	box-shadow: 0 20px 58px rgba(24,50,78,.08);
}

.qcart__items,
.qcart-summary {
	padding: 22px;
}

.qcart__items-top {
	padding-bottom: 14px;
	font-size: .68rem;
}

.qcart-item {
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 18px;
	padding: 22px 0;
}

.qcart-item__media img {
	width: 74px;
	height: 74px;
	padding: 13px;
	border-radius: 16px;
}

.qcart-item__title-row {
	gap: 14px;
}

.qcart-item__title {
	font-size: 1.02rem;
	line-height: 1.18;
}

.qcart-item__price {
	margin-top: 6px;
	font-size: .88rem;
}

.qcart-item__subtotal {
	font-size: .96rem;
}

.qcart-item__desc {
	max-width: 35rem;
	margin-top: 12px;
	font-size: .86rem;
	line-height: 1.48;
}

.qcart-item__controls {
	gap: 12px;
	margin-top: 18px;
}

.qcart .quantity {
	width: 110px;
	height: 38px;
}

.qcart .quantity input.qty {
	width: 76px !important;
	height: 36px !important;
	font-size: .93rem !important;
}

.qcart-item__remove {
	min-height: 32px;
	padding: 0 11px;
	font-size: .76rem;
}

.qcart__actions {
	padding-top: 16px;
}

.qcart__primary,
.qcart__secondary,
.qcart-coupon button {
	min-height: 42px;
	font-size: .86rem;
}

.qcart-coupon {
	padding: 14px;
	border-radius: 16px;
}

.qcart-coupon label {
	margin-bottom: 8px;
	font-size: .68rem;
}

.qcart-coupon input {
	min-height: 42px;
	padding-inline: 13px;
	font-size: .86rem;
}

.qcart-summary__rows {
	margin-top: 16px;
}

.qcart-summary__row {
	padding: 12px 0;
	font-size: .88rem;
}

.qcart-summary__row--total {
	padding: 16px 0;
}

.qcart-summary__row--total span,
.qcart-summary__row--total strong,
.qcart-summary__row--total .amount {
	font-size: clamp(1.04rem, 1.4vw, 1.22rem);
}

.qcart-summary__checkout {
	min-height: 52px;
	margin-top: 6px;
}

.qcart-summary__note {
	margin-top: 12px;
	font-size: .78rem;
}

/* ---------- QUBYX custom cart final scale + header alignment ---------- */
.qcart__shell {
	width: min(100% - 64px, var(--q-nav-content-max, 1300px));
	padding-top: calc(var(--q-header-height, 56px) + clamp(26px, 3vw, 42px));
	padding-bottom: clamp(54px, 6vw, 84px);
}

.qcart__head {
	margin-bottom: 18px;
}

.qcart__eyebrow,
.qcart-summary__eyebrow {
	margin-bottom: 7px;
	font-size: .64rem;
	letter-spacing: .15em;
}

.qcart__head h1 {
	font-size: clamp(1.75rem, 2.6vw, 2.55rem);
	line-height: 1;
	letter-spacing: -.04em;
}

.qcart__continue {
	min-height: 38px;
	padding-inline: 16px;
	font-size: .84rem;
}

.qcart__grid {
	grid-template-columns: minmax(0, 1fr) minmax(310px, 350px);
	gap: clamp(18px, 2vw, 24px);
}

.qcart__items,
.qcart-summary {
	padding: 20px;
	border-radius: 20px;
}

.qcart__items-top {
	padding-bottom: 12px;
	font-size: .64rem;
}

.qcart-item {
	grid-template-columns: 78px minmax(0, 1fr);
	gap: 16px;
	padding: 20px 0;
}

.qcart-item__media img {
	width: 66px;
	height: 66px;
	padding: 12px;
	border-radius: 15px;
}

.qcart-item__title {
	font-size: .94rem;
	line-height: 1.2;
}

.qcart-item__price,
.qcart-item__subtotal {
	font-size: .84rem;
}

.qcart-item__desc {
	max-width: 40rem;
	margin-top: 10px;
	font-size: .8rem;
	line-height: 1.45;
}

.qcart-item__controls {
	margin-top: 16px;
}

.qcart .quantity {
	width: 104px;
	height: 36px;
}

.qcart .quantity input.qty {
	height: 34px !important;
	font-size: .88rem !important;
}

.qcart-item__remove {
	min-height: 30px;
	font-size: .72rem;
}

.qcart__primary,
.qcart__secondary,
.qcart-coupon button {
	min-height: 40px;
	font-size: .82rem;
}

.qcart-coupon {
	padding: 13px;
	border-radius: 15px;
}

.qcart-coupon label {
	font-size: .64rem;
}

.qcart-coupon input {
	min-height: 40px;
	font-size: .82rem;
}

.qcart-summary__rows {
	margin-top: 14px;
}

.qcart-summary__row {
	padding: 10px 0;
	font-size: .82rem;
}

.qcart-summary__row--total {
	padding: 14px 0;
}

.qcart-summary__row--total span,
.qcart-summary__row--total strong,
.qcart-summary__row--total .amount {
	font-size: clamp(.98rem, 1.25vw, 1.12rem);
}

.qcart-summary__checkout {
	min-height: 48px;
}

.qcart-summary__note {
	font-size: .74rem;
}

@media (max-width: 680px) {
	.qcart__shell {
		width: min(100% - 28px, var(--q-nav-content-max, 1300px));
		padding-top: calc(var(--q-header-height, 56px) + 24px);
	}
}

/* ---------- QUBYX custom cart header-width + no-fill refinement ---------- */
.qcart__shell {
	width: 100%;
	max-width: var(--q-nav-content-max, 1300px);
	padding-left: 2rem;
	padding-right: 2rem;
}

.qcart__grid {
	grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
	gap: clamp(22px, 2.4vw, 32px);
}

.qcart__items,
.qcart-summary,
.qcart__empty {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
}

.qcart__items {
	padding: 0 !important;
}

.qcart-summary {
	padding: 0 0 0 clamp(22px, 2.4vw, 32px) !important;
	border-left: 1px solid rgba(7,11,16,.10) !important;
}

.qcart__items-top {
	border-bottom-color: rgba(7,11,16,.14);
}

.qcart-item {
	border-bottom-color: rgba(7,11,16,.12);
}

.qcart-coupon {
	background: transparent !important;
	border-color: rgba(7,11,16,.12);
}

.qcart .woocommerce-message,
.qcart .woocommerce-info,
.qcart .woocommerce-error {
	background: transparent !important;
	box-shadow: none !important;
}

@media (max-width: 980px) {
	.qcart-summary {
		padding-left: 0 !important;
		border-left: 0 !important;
		border-top: 1px solid rgba(7,11,16,.10) !important;
		padding-top: 24px !important;
	}
}

@media (max-width: 680px) {
	.qcart__shell {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

/* ---------- QUBYX custom cart theme tokens, no page fill ---------- */
body.woocommerce-cart {
	background: var(--q-bg) !important;
	color: var(--q-text) !important;
}

.qcart {
	--qcart-ink: var(--q-text);
	--qcart-muted: var(--q-text-muted);
	--qcart-faint: var(--q-text-faint);
	--qcart-line: var(--q-border-mid);
	--qcart-soft-line: var(--q-border);
	--qcart-field: var(--q-glass-bg);
	--qcart-accent: var(--q-accent);
	--qcart-accent-soft: var(--q-accent-alt);
	background: var(--q-bg) !important;
	color: var(--qcart-ink) !important;
}

.qcart__head h1,
.qcart-item__title,
.qcart-item__price,
.qcart-item__subtotal,
.qcart-summary__eyebrow,
.qcart-summary__row strong,
.qcart-summary__row--total,
.qcart-summary__row--total span,
.qcart-summary__row--total strong,
.qcart-summary__row--total .amount {
	color: var(--qcart-ink) !important;
}

.qcart__eyebrow,
.qcart-summary__row,
.qcart-summary__note,
.qcart-item__desc,
.qcart__continue,
.qcart-item__remove,
.qcart-coupon label {
	color: var(--qcart-muted) !important;
}

.qcart__continue,
.qcart__secondary,
.qcart-coupon button,
.qcart .quantity,
.qcart-coupon input {
	border-color: var(--qcart-line) !important;
	color: var(--qcart-ink) !important;
}

.qcart__items-top,
.qcart-item,
.qcart-summary,
.qcart-summary__row {
	border-color: var(--qcart-soft-line) !important;
}

.qcart-coupon {
	background: transparent !important;
	border-color: var(--qcart-line) !important;
}

.qcart-coupon input,
.qcart .quantity {
	background: var(--qcart-field) !important;
}

.qcart-coupon input::placeholder {
	color: var(--qcart-faint) !important;
}

.qcart-coupon input:focus {
	border-color: var(--qcart-accent) !important;
	box-shadow: 0 0 0 4px var(--qcart-accent-soft) !important;
}

.qcart-item__media img {
	background: transparent !important;
	border-color: var(--qcart-soft-line) !important;
}

.qcart__primary {
	background: var(--qcart-ink) !important;
	border-color: var(--qcart-ink) !important;
	color: var(--q-bg) !important;
}

.qcart__primary:hover {
	background: var(--qcart-accent) !important;
	border-color: var(--qcart-accent) !important;
	color: #fff !important;
}

.qcart__secondary:hover,
.qcart-coupon button:hover,
.qcart__continue:hover {
	border-color: var(--qcart-accent) !important;
	color: var(--qcart-ink) !important;
}

.qcart .woocommerce-message,
.qcart .woocommerce-info,
.qcart .woocommerce-error {
	background: transparent !important;
	color: var(--qcart-ink) !important;
	border-color: var(--qcart-line) !important;
}

/* ---------- WooCommerce coming-soon admin footer banner ---------- */
#coming-soon-footer-banner {
	background: var(--q-bg) !important;
	border-top: 1px solid var(--q-border-mid) !important;
	box-shadow: 0 -18px 50px rgba(0,0,0,.12) !important;
	color: var(--q-text-muted) !important;
}

#coming-soon-footer-banner .coming-soon-footer-banner__content {
	color: var(--q-text-muted) !important;
}

#coming-soon-footer-banner a {
	color: var(--q-accent) !important;
}

#coming-soon-footer-banner .coming-soon-footer-banner-dismiss {
	color: var(--q-text-muted) !important;
	border-color: var(--q-border-mid) !important;
}

#coming-soon-footer-banner .coming-soon-footer-banner-dismiss::before,
#coming-soon-footer-banner .coming-soon-footer-banner-dismiss::after {
	background: var(--q-text-muted) !important;
}

/* ---------- QUBYX custom checkout template ---------- */
body.woocommerce-checkout {
	background: var(--q-bg) !important;
	color: var(--q-text) !important;
}

.qcheckout {
	--qcheckout-ink: var(--q-text);
	--qcheckout-muted: var(--q-text-muted);
	--qcheckout-faint: var(--q-text-faint);
	--qcheckout-line: var(--q-border-mid);
	--qcheckout-soft-line: var(--q-border);
	--qcheckout-field: var(--q-glass-bg);
	--qcheckout-accent: var(--q-accent);
	--qcheckout-accent-soft: var(--q-accent-alt);
	background: var(--q-bg) !important;
	color: var(--qcheckout-ink) !important;
}

.qcheckout *,
.qcheckout *::before,
.qcheckout *::after {
	box-sizing: border-box;
}

.qcheckout__shell {
	width: 100%;
	max-width: var(--q-nav-content-max, 1300px);
	margin: 0 auto;
	padding: calc(var(--q-header-height, 56px) + clamp(28px, 3vw, 44px)) 2rem clamp(64px, 7vw, 96px);
}

.qcheckout__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: clamp(26px, 3vw, 40px);
}

.qcheckout__eyebrow {
	margin: 0 0 .6rem;
	color: var(--qcheckout-muted) !important;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.qcheckout__head h1 {
	margin: 0;
	color: var(--qcheckout-ink) !important;
	font-size: clamp(1.85rem, 3vw, 2.8rem);
	font-weight: 650;
	letter-spacing: 0;
	line-height: .98;
	text-wrap: balance;
}

.qcheckout__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: .65rem 1.35rem;
	border: 1px solid var(--qcheckout-line);
	border-radius: 999px;
	color: var(--qcheckout-muted) !important;
	font-size: .9rem;
	font-weight: 650;
	line-height: 1;
	text-decoration: none !important;
	transition: border-color .22s ease, color .22s ease, transform .22s ease;
	white-space: nowrap;
}

.qcheckout__back:hover {
	border-color: var(--qcheckout-accent);
	color: var(--qcheckout-ink) !important;
	transform: translateY(-1px);
}

.qcheckout__native,
.qcheckout .woocommerce {
	color: var(--qcheckout-ink) !important;
}

.qcheckout .woocommerce-notices-wrapper {
	margin-bottom: 22px;
}

.qcheckout .woocommerce-message,
.qcheckout .woocommerce-info,
.qcheckout .woocommerce-error {
	margin: 0 0 22px !important;
	padding: 1rem 1.15rem !important;
	border: 1px solid var(--qcheckout-line) !important;
	border-radius: 14px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--qcheckout-ink) !important;
	font-size: .92rem;
	line-height: 1.45;
}

.qcheckout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
	gap: clamp(26px, 3vw, 44px);
	align-items: start;
	margin: 0;
}

.qcheckout #customer_details {
	grid-column: 1;
	width: 100%;
	min-width: 0;
}

.qcheckout #order_review_heading {
	grid-column: 2;
	margin: 0 0 14px;
	padding: 0;
	color: var(--qcheckout-ink) !important;
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.qcheckout #order_review {
	grid-column: 2;
	min-width: 0;
	padding-left: clamp(22px, 2.4vw, 32px);
	border-left: 1px solid var(--qcheckout-soft-line);
	position: sticky;
	top: calc(var(--q-header-height, 56px) + 24px);
}

.qcheckout .col2-set,
.qcheckout .col2-set .col-1,
.qcheckout .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
}

.qcheckout .col2-set .col-2 {
	margin-top: clamp(26px, 3vw, 38px);
}

.qcheckout .woocommerce-billing-fields,
.qcheckout .woocommerce-additional-fields {
	padding-top: 0;
	border-top: 0;
	background: transparent !important;
}

.qcheckout .woocommerce-additional-fields {
	padding-top: clamp(22px, 2.4vw, 30px);
	border-top: 1px solid var(--qcheckout-soft-line);
}

.qcheckout h3,
.qcheckout .woocommerce-billing-fields h3,
.qcheckout .woocommerce-additional-fields h3 {
	margin: 0 0 18px;
	color: var(--qcheckout-ink) !important;
	font-size: clamp(1rem, 1.2vw, 1.16rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
}

.qcheckout .form-row {
	margin: 0 0 14px !important;
	padding: 0 !important;
}

.qcheckout .form-row-first,
.qcheckout .form-row-last {
	width: calc(50% - 7px) !important;
}

.qcheckout .form-row-first {
	margin-right: 14px !important;
}

.qcheckout label {
	margin: 0 0 7px;
	color: var(--qcheckout-muted) !important;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.25;
	text-transform: uppercase;
}

.qcheckout abbr.required {
	color: var(--qcheckout-accent) !important;
	text-decoration: none;
}

.qcheckout input.input-text,
.qcheckout select,
.qcheckout textarea,
.qcheckout .select2-container--default .select2-selection--single {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--qcheckout-line) !important;
	border-radius: 14px !important;
	background: var(--qcheckout-field) !important;
	box-shadow: none !important;
	color: var(--qcheckout-ink) !important;
	font-size: .92rem !important;
	font-weight: 500;
	line-height: 1.35 !important;
	outline: 0;
	transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.qcheckout input.input-text,
.qcheckout select {
	padding: 0 .95rem !important;
}

.qcheckout textarea {
	min-height: 112px;
	padding: .85rem .95rem !important;
	resize: vertical;
}

.qcheckout input.input-text::placeholder,
.qcheckout textarea::placeholder {
	color: var(--qcheckout-faint) !important;
	opacity: 1;
}

.qcheckout input.input-text:focus,
.qcheckout select:focus,
.qcheckout textarea:focus,
.qcheckout .select2-container--open .select2-selection--single {
	border-color: var(--qcheckout-accent) !important;
	box-shadow: 0 0 0 4px var(--qcheckout-accent-soft) !important;
}

.qcheckout .select2-container .select2-selection--single {
	height: 46px !important;
}

.qcheckout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: .95rem;
	padding-right: 2.4rem;
	color: var(--qcheckout-ink) !important;
	line-height: 44px !important;
}

.qcheckout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
	right: .6rem;
}

.qcheckout .woocommerce-checkout-review-order-table {
	width: 100%;
	margin: 0 0 22px !important;
	border-collapse: collapse;
	border: 0 !important;
	background: transparent !important;
	color: var(--qcheckout-ink) !important;
	font-size: .9rem;
}

.qcheckout .woocommerce-checkout-review-order-table th,
.qcheckout .woocommerce-checkout-review-order-table td {
	padding: 13px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--qcheckout-soft-line) !important;
	background: transparent !important;
	color: var(--qcheckout-ink) !important;
	font-weight: 600;
	line-height: 1.35;
	vertical-align: top;
}

.qcheckout .woocommerce-checkout-review-order-table thead th {
	padding-top: 0 !important;
	color: var(--qcheckout-muted) !important;
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.qcheckout .woocommerce-checkout-review-order-table td:last-child,
.qcheckout .woocommerce-checkout-review-order-table th:last-child {
	text-align: right;
}

.qcheckout .woocommerce-checkout-review-order-table .product-name {
	padding-right: 1rem !important;
}

.qcheckout .woocommerce-checkout-review-order-table .product-quantity {
	color: var(--qcheckout-muted);
	font-weight: 600;
}

.qcheckout .woocommerce-checkout-review-order-table tfoot th,
.qcheckout .woocommerce-checkout-review-order-table tfoot td {
	color: var(--qcheckout-muted) !important;
	font-weight: 600;
}

.qcheckout .woocommerce-checkout-review-order-table .order-total th,
.qcheckout .woocommerce-checkout-review-order-table .order-total td,
.qcheckout .woocommerce-checkout-review-order-table .order-total .amount {
	color: var(--qcheckout-ink) !important;
	font-size: clamp(1.05rem, 1.5vw, 1.28rem);
	font-weight: 750;
}

.qcheckout #payment {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--qcheckout-ink) !important;
	box-shadow: none !important;
}

.qcheckout #payment ul.payment_methods {
	margin: 0 0 18px !important;
	padding: 0 0 18px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--qcheckout-soft-line) !important;
	background: transparent !important;
}

.qcheckout #payment ul.payment_methods li {
	margin: 0 0 12px !important;
	padding: 0 !important;
	color: var(--qcheckout-ink) !important;
	line-height: 1.45;
}

.qcheckout #payment ul.payment_methods li label {
	display: inline;
	color: var(--qcheckout-ink) !important;
	font-size: .9rem;
	letter-spacing: 0;
	text-transform: none;
}

.qcheckout #payment div.payment_box {
	margin: 12px 0 0 !important;
	padding: 1rem !important;
	border: 1px solid var(--qcheckout-soft-line) !important;
	border-radius: 14px !important;
	background: var(--qcheckout-field) !important;
	color: var(--qcheckout-muted) !important;
	font-size: .86rem;
	line-height: 1.5;
}

.qcheckout #payment div.payment_box::before {
	display: none !important;
}

.qcheckout #payment .form-row.place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.qcheckout .woocommerce-privacy-policy-text,
.qcheckout #payment .woocommerce-terms-and-conditions-wrapper {
	color: var(--qcheckout-muted) !important;
	font-size: .78rem;
	line-height: 1.55;
}

.qcheckout .woocommerce-privacy-policy-text a,
.qcheckout #payment .woocommerce-terms-and-conditions-wrapper a {
	color: var(--qcheckout-accent) !important;
}

.qcheckout #place_order {
	float: none !important;
	width: 100% !important;
	min-height: 54px;
	margin: 16px 0 0 !important;
	padding: .9rem 1.2rem !important;
	border: 1px solid var(--qcheckout-ink) !important;
	border-radius: 999px !important;
	background: var(--qcheckout-ink) !important;
	color: var(--q-bg) !important;
	font-size: .92rem !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	text-align: center;
	transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.qcheckout #place_order:hover {
	border-color: var(--qcheckout-accent) !important;
	background: var(--qcheckout-accent) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.qcheckout #place_order:active {
	transform: translateY(0);
}

.qcheckout .woocommerce-invalid input.input-text,
.qcheckout .woocommerce-invalid select,
.qcheckout .woocommerce-invalid .select2-selection {
	border-color: #d54848 !important;
}

.qcheckout .woocommerce-validated input.input-text,
.qcheckout .woocommerce-validated select,
.qcheckout .woocommerce-validated .select2-selection {
	border-color: var(--qcheckout-line) !important;
}

@media (max-width: 980px) {
	.qcheckout form.checkout {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.qcheckout #order_review_heading,
	.qcheckout #order_review {
		grid-column: 1;
	}

	.qcheckout #order_review {
		position: static;
		padding-left: 0;
		padding-top: 26px;
		border-left: 0;
		border-top: 1px solid var(--qcheckout-soft-line);
	}
}

@media (max-width: 680px) {
	.qcheckout__shell {
		padding: calc(var(--q-header-height, 56px) + 24px) 1.25rem 64px;
	}

	.qcheckout__head {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
	}

	.qcheckout__back {
		width: 100%;
	}

	.qcheckout .form-row-first,
	.qcheckout .form-row-last {
		width: 100% !important;
	}

	.qcheckout .form-row-first {
		margin-right: 0 !important;
	}
}

/* ---------- QUBYX checkout visual repair ---------- */
.qcheckout__shell {
	padding-top: calc(var(--q-header-height, 56px) + clamp(24px, 2.6vw, 36px));
}

.qcheckout__head {
	margin-bottom: clamp(22px, 2.4vw, 32px);
}

.qcheckout__head h1 {
	font-size: clamp(1.75rem, 2.6vw, 2.45rem);
	line-height: 1;
}

.qcheckout .woocommerce-form-coupon-toggle .woocommerce-info {
	display: flex;
	align-items: center;
	min-height: 54px;
	margin-bottom: 24px !important;
	padding: .95rem 1.15rem !important;
}

.qcheckout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.qcheckout .woocommerce-form-coupon-toggle .woocommerce-info::after {
	display: none !important;
	content: none !important;
}

.qcheckout .woocommerce-form-coupon-toggle .showcoupon {
	color: var(--qcheckout-accent) !important;
	font-weight: 650;
	text-decoration: none !important;
}

.qcheckout form.checkout_coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	margin: -8px 0 24px !important;
	padding: 16px !important;
	border: 1px solid var(--qcheckout-line) !important;
	border-radius: 16px !important;
	background: transparent !important;
}

.qcheckout form.checkout_coupon p {
	margin: 0 !important;
}

.qcheckout form.checkout_coupon .form-row-first,
.qcheckout form.checkout_coupon .form-row-last {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.qcheckout form.checkout_coupon button {
	min-height: 46px;
	padding: 0 1.2rem !important;
	border: 1px solid var(--qcheckout-line) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--qcheckout-ink) !important;
	font-size: .88rem !important;
	font-weight: 700 !important;
}

.qcheckout form.checkout {
	grid-template-areas:
		"details order-title"
		"details order-review";
	grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
	grid-template-rows: auto auto;
	gap: 0 clamp(26px, 3vw, 44px);
}

.qcheckout #customer_details {
	grid-area: details;
	align-self: start;
}

.qcheckout #order_review_heading {
	grid-area: order-title;
	align-self: start;
	margin-top: 0;
	margin-bottom: 16px;
}

.qcheckout #order_review {
	grid-area: order-review;
	align-self: start;
}

.qcheckout .woocommerce-billing-fields h3,
.qcheckout .woocommerce-additional-fields h3 {
	margin-bottom: 16px;
	font-size: clamp(.98rem, 1vw, 1.08rem);
}

.qcheckout .form-row {
	margin-bottom: 13px !important;
}

.qcheckout label {
	font-size: .72rem;
	letter-spacing: .045em;
}

.qcheckout input.input-text,
.qcheckout select,
.qcheckout textarea,
.qcheckout .select2-container--default .select2-selection--single {
	min-height: 44px;
	font-size: .88rem !important;
}

.qcheckout .select2-container .select2-selection--single {
	height: 44px !important;
}

.qcheckout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 42px !important;
}

.qcheckout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px !important;
}

.qcheckout .woocommerce-checkout-review-order-table {
	margin-bottom: 18px !important;
	font-size: .86rem;
}

.qcheckout .woocommerce-checkout-review-order-table th,
.qcheckout .woocommerce-checkout-review-order-table td {
	padding: 11px 0 !important;
}

.qcheckout #payment ul.payment_methods {
	margin-bottom: 16px !important;
	padding-bottom: 16px !important;
}

.qcheckout #place_order {
	min-height: 50px;
	font-size: .88rem !important;
}

@media (max-width: 980px) {
	.qcheckout form.checkout {
		grid-template-areas:
			"details"
			"order-title"
			"order-review";
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.qcheckout #order_review_heading {
		margin-bottom: -10px;
	}
}

@media (max-width: 680px) {
	.qcheckout form.checkout_coupon {
		grid-template-columns: 1fr;
	}
}

/* ---------- QUBYX checkout structural reset ---------- */
.qcheckout form.checkout.qcheckout-form {
	display: block !important;
	margin: 0 !important;
}

.qcheckout__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
	gap: clamp(28px, 3.2vw, 52px);
	align-items: start;
}

.qcheckout__main,
.qcheckout__summary {
	min-width: 0;
}

.qcheckout__summary {
	align-self: start;
	padding-left: clamp(22px, 2.4vw, 34px);
	border-left: 1px solid var(--qcheckout-soft-line);
	position: sticky;
	top: calc(var(--q-header-height, 56px) + 24px);
}

.qcheckout__summary #order_review_heading {
	display: block;
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: var(--qcheckout-ink) !important;
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.qcheckout__summary #order_review {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	position: static !important;
	top: auto !important;
}

.qcheckout form.checkout_coupon {
	width: min(100%, 620px);
	margin: -4px 0 28px !important;
	padding: 12px !important;
	border-color: var(--qcheckout-soft-line) !important;
	border-radius: 16px !important;
}

.qcheckout form.checkout_coupon > p:first-child {
	display: none;
}

.qcheckout form.checkout_coupon input.input-text {
	min-height: 42px;
}

.qcheckout form.checkout_coupon button {
	min-height: 42px;
}

.qcheckout .woocommerce-billing-fields h3,
.qcheckout .woocommerce-additional-fields h3 {
	margin-top: 0;
}

.qcheckout #customer_details .col-2:empty,
.qcheckout #customer_details .woocommerce-shipping-fields:empty,
.qcheckout #customer_details .woocommerce-additional-fields:empty {
	display: none !important;
}

.qcheckout #payment .woocommerce-info,
.qcheckout #payment .woocommerce-message,
.qcheckout #payment .woocommerce-error,
.qcheckout .woocommerce-checkout-payment .woocommerce-info,
.qcheckout .woocommerce-checkout-payment .woocommerce-message,
.qcheckout .woocommerce-checkout-payment .woocommerce-error {
	margin: 14px 0 0 !important;
	padding: .95rem 1rem !important;
	border: 1px solid var(--qcheckout-soft-line) !important;
	border-radius: 14px !important;
	background: transparent !important;
	color: var(--qcheckout-muted) !important;
	box-shadow: none !important;
	font-size: .88rem;
	line-height: 1.45;
}

.qcheckout #payment .woocommerce-info::before,
.qcheckout #payment .woocommerce-message::before,
.qcheckout #payment .woocommerce-error::before,
.qcheckout .woocommerce-checkout-payment .woocommerce-info::before,
.qcheckout .woocommerce-checkout-payment .woocommerce-message::before,
.qcheckout .woocommerce-checkout-payment .woocommerce-error::before,
.qcheckout #payment .woocommerce-info::after,
.qcheckout #payment .woocommerce-message::after,
.qcheckout #payment .woocommerce-error::after,
.qcheckout .woocommerce-checkout-payment .woocommerce-info::after,
.qcheckout .woocommerce-checkout-payment .woocommerce-message::after,
.qcheckout .woocommerce-checkout-payment .woocommerce-error::after {
	display: none !important;
	content: none !important;
}

.qcheckout #payment .woocommerce-info a,
.qcheckout #payment .woocommerce-message a,
.qcheckout #payment .woocommerce-error a {
	color: var(--qcheckout-accent) !important;
}

@media (max-width: 980px) {
	.qcheckout__layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.qcheckout__summary {
		position: static;
		padding-left: 0;
		padding-top: 26px;
		border-left: 0;
		border-top: 1px solid var(--qcheckout-soft-line);
	}
}

@media (max-width: 680px) {
	.qcheckout form.checkout_coupon {
		width: 100%;
	}
}

/* ---------- QUBYX checkout coupon repair ---------- */
.qcheckout .woocommerce-form-coupon-toggle .woocommerce-info {
	gap: .25rem;
}

.qcheckout form.checkout_coupon > p:first-child {
	display: block !important;
}

.qcheckout form.checkout_coupon > p:not(.form-row) {
	display: none !important;
}

.qcheckout form.checkout_coupon .form-row-first,
.qcheckout form.checkout_coupon .form-row-last {
	display: block !important;
}

.qcheckout form.checkout_coupon .form-row-first {
	min-width: 0;
}

.qcheckout form.checkout_coupon .form-row-first input {
	width: 100% !important;
}

.qcheckout form.checkout_coupon .form-row-last {
	justify-self: end;
}

@media (max-width: 680px) {
	.qcheckout form.checkout_coupon .form-row-last {
		justify-self: stretch;
	}

	.qcheckout form.checkout_coupon button {
		width: 100%;
	}
}

/* ============================================================
   QUBYX COMMERCE REDESIGN v2 — cohesive, theme-aware
   Unifies cart + checkout + order-received into one premium,
   brand-consistent (dark / theme-aware) flow. Cascades last to
   re-tonalise the legacy hardcoded-light cart and to add depth,
   editorial type, premium CTAs, payment trust + a real success page.
   ============================================================ */

/* Ambient shell — brand bg + soft accent glow (matches theme.css tints) */
.qcart,
.qcheckout {
  background:
    radial-gradient(130% 70% at 100% -15%, rgba(29,161,242,.10), transparent 58%),
    radial-gradient(90% 55% at -10% 8%, rgba(29,161,242,.06), transparent 55%),
    var(--q-bg) !important;
  color: var(--q-text) !important;
}

/* Editorial serif accent (site signature) */
.qserif{ font-family:'Instrument Serif',Georgia,serif; font-style:italic; font-weight:400; letter-spacing:0; color:var(--q-accent); }

/* Flow step indicator */
.qflow{ display:flex; align-items:center; gap:9px; margin:0 0 16px; padding:0; list-style:none;
  font-size:.66rem; font-weight:750; letter-spacing:.16em; text-transform:uppercase; color:var(--q-text-faint); }
.qflow li{ display:inline-flex; align-items:center; gap:9px; }
.qflow li::after{ content:""; width:16px; height:1px; background:var(--q-border-mid); }
.qflow li:last-child::after{ display:none; }
.qflow .on{ color:var(--q-accent); }
.qflow .done{ color:var(--q-text-muted); }

/* ---------------- CART: legacy light -> theme glass ---------------- */
.qcart__head h1, .qcart__items-top, .qcart-item__title, .qcart-item__price,
.qcart-item__subtotal, .qcart-summary__eyebrow, .qcart-summary__row strong,
.qcart-summary__row--total, .qcart-summary__row--total span,
.qcart-summary__row--total strong, .qcart-summary__row--total .amount,
.qcart__empty h1, .qcart__empty h2{ color:var(--q-text) !important; }

.qcart__eyebrow, .qcart-item__desc, .qcart-summary__row, .qcart-summary__note,
.qcart__empty p:not(.qcart__eyebrow){ color:var(--q-text-muted) !important; }

.qcart__items, .qcart-summary, .qcart__empty{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)), var(--q-surface) !important;
  border:1px solid var(--q-border-mid) !important;
  box-shadow:0 44px 100px -46px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(16px);
}
.qcart__items-top{ border-bottom-color:var(--q-border-mid) !important; }
.qcart-item{ border-bottom-color:var(--q-border) !important; }
.qcart-item__media img{
  background: linear-gradient(140deg, rgba(255,255,255,.07), rgba(255,255,255,.015)) !important;
  border:1px solid var(--q-border-mid) !important;
}
.qcart-item__title:hover{ color:var(--q-accent) !important; }
.qcart .quantity{
  background:var(--q-glass-bg) !important; border:1px solid var(--q-border-mid) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.qcart .quantity input.qty{ color:var(--q-text) !important; }
.qcart-item__remove{ color:var(--q-text-faint) !important; }
.qcart-item__remove:hover{ background:rgba(239,68,68,.14); color:#ff6b6b !important; }
.qcart__continue, .qcart__secondary, .qcart-coupon button{
  background:transparent !important; border-color:var(--q-border-mid) !important; color:var(--q-text) !important;
}
.qcart__continue{ color:var(--q-text-muted) !important; }
.qcart__continue:hover, .qcart__secondary:hover, .qcart-coupon button:hover{ border-color:var(--q-accent) !important; color:var(--q-text) !important; }
.qcart-coupon{ background:var(--q-glass-bg) !important; border:1px solid var(--q-border) !important; }
.qcart-coupon label{ color:var(--q-text-muted) !important; }
.qcart-coupon input{ background:var(--q-glass-bg) !important; border:1px solid var(--q-border-mid) !important; color:var(--q-text) !important; }
.qcart-summary__row{ border-bottom-color:var(--q-border) !important; }

/* ---------------- Premium primary CTA (cart + checkout) ---------------- */
.qcart__primary, .qcart-summary__checkout, .qcheckout #place_order{
  background: linear-gradient(180deg,#41b4ff 0%, var(--q-accent) 52%, #1488d9 100%) !important;
  border:1px solid rgba(29,161,242,.55) !important;
  color:#fff !important;
  box-shadow:0 16px 38px -14px rgba(29,161,242,.72), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.qcart__primary:hover, .qcart-summary__checkout:hover, .qcheckout #place_order:hover{
  filter:brightness(1.06); transform:translateY(-1px);
  box-shadow:0 22px 48px -12px rgba(29,161,242,.82), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.qcart__primary:active, .qcart-summary__checkout:active, .qcheckout #place_order:active{ transform:translateY(0); filter:brightness(.98); }

/* ---------------- Payment trust row ---------------- */
.qtrust{ margin-top:18px; padding-top:18px; border-top:1px solid var(--q-border); display:flex; flex-direction:column; gap:11px; }
.qtrust__lock{ display:inline-flex; align-items:center; gap:8px; color:var(--q-text-muted); font-size:.8rem; font-weight:600; }
.qtrust__lock iconify-icon{ color:#34d399; font-size:1rem; }
.qtrust__brands{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.qtrust__brands span{ display:inline-flex; align-items:center; justify-content:center; height:25px; min-width:40px; padding:0 8px;
  background:#fff; border-radius:6px; box-shadow:0 1px 2px rgba(0,0,0,.5), inset 0 0 0 1px rgba(0,0,0,.06); }
.qtrust__brands iconify-icon{ font-size:1.3rem; display:block; }
.qtrust__note{ color:var(--q-text-faint); font-size:.73rem; line-height:1.5; }

/* ---------------- Checkout: summary card + payment block ---------------- */
.qcheckout__summary{
  padding: clamp(20px,2.3vw,28px) !important;
  border-left:0 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)), var(--q-surface);
  border:1px solid var(--q-border-mid);
  border-radius:22px;
  box-shadow:0 44px 100px -46px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(16px);
}
.qcheckout #payment ul.payment_methods{
  padding:6px 14px !important; border:1px solid var(--q-border-mid) !important; border-radius:16px !important;
  background:var(--q-glass-bg) !important;
}
.qcheckout #payment ul.payment_methods > li{
  margin:0 !important; padding:13px 2px !important; border-bottom:1px solid var(--q-border) !important;
}
.qcheckout #payment ul.payment_methods > li:last-child{ border-bottom:0 !important; }
@media (max-width: 980px){ .qcheckout__summary{ position:static; } }

/* ---------------- Order-received / Thank-you (now actually rendered) ---------------- */
.qcheckout__received .woocommerce-order{ max-width: 760px; margin:0 auto; }
.qthanks-hero{ text-align:center; padding: 6px 0 24px; }
.qthanks-hero__badge{ width:64px; height:64px; margin:0 auto 20px; display:grid; place-items:center; border-radius:999px;
  background: radial-gradient(circle at 50% 35%, rgba(52,211,153,.28), rgba(52,211,153,.08));
  border:1px solid rgba(52,211,153,.5); box-shadow:0 0 0 6px rgba(52,211,153,.06); }
.qthanks-hero__badge iconify-icon{ color:#34d399; font-size:2rem; }
.qthanks-hero__eyebrow{ margin:0 0 10px; color:var(--q-text-muted); font-size:.68rem; font-weight:750; letter-spacing:.18em; text-transform:uppercase; }
.qthanks-hero h1{ margin:0; font-size:clamp(2rem,3.4vw,3rem); font-weight:550; line-height:1; letter-spacing:-.03em; color:var(--q-text); }
.qcheckout__received p.woocommerce-thankyou-order-received{ text-align:center; max-width:48ch; margin:14px auto 6px; color:var(--q-text-muted); font-size:.98rem; line-height:1.6; }

/* overview list -> chip grid */
.qcheckout__received ul.woocommerce-order-overview{
  list-style:none; margin:26px 0; padding:0;
  display:grid; gap:1px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  background:var(--q-border); border:1px solid var(--q-border-mid); border-radius:18px; overflow:hidden;
}
.qcheckout__received ul.woocommerce-order-overview li{
  margin:0 !important; padding:16px 18px; border:0 !important; background:var(--q-surface);
  color:var(--q-text-muted) !important; font-size:.64rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase;
}
.qcheckout__received ul.woocommerce-order-overview li strong{
  display:block; margin-top:7px; color:var(--q-text) !important; font-size:1.02rem; font-weight:700;
  letter-spacing:0; text-transform:none; font-variant-numeric:tabular-nums;
}

/* order + customer detail tables */
.qcheckout__received .woocommerce-order-details, .qcheckout__received .woocommerce-customer-details{ margin-top:30px; }
.qcheckout__received .woocommerce-order-details__title, .qcheckout__received .woocommerce-column__title{
  font-size:.74rem !important; font-weight:750 !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  color:var(--q-text-muted) !important; margin:0 0 14px !important;
}
.qcheckout__received table.woocommerce-table--order-details{ width:100%; border-collapse:collapse; color:var(--q-text); font-size:.9rem; }
.qcheckout__received table.woocommerce-table--order-details th,
.qcheckout__received table.woocommerce-table--order-details td{
  padding:13px 0 !important; border:0 !important; border-bottom:1px solid var(--q-border) !important; text-align:left; vertical-align:top;
}
.qcheckout__received table.woocommerce-table--order-details .woocommerce-table__product-total,
.qcheckout__received table.woocommerce-table--order-details tfoot th,
.qcheckout__received table.woocommerce-table--order-details tfoot td{ text-align:right; }
.qcheckout__received table.woocommerce-table--order-details a{ color:var(--q-text) !important; text-decoration:none; font-weight:650; }
.qcheckout__received .woocommerce-customer-details address{
  padding:16px; border:1px solid var(--q-border-mid); border-radius:14px; background:var(--q-glass-bg);
  color:var(--q-text-muted); font-style:normal; line-height:1.6;
}

/* instant-download CTA injected after order details */
.qthanks-dl{ margin:28px auto 0; max-width:760px; padding:22px; border:1px solid var(--q-border-mid); border-radius:18px;
  background: linear-gradient(180deg, rgba(29,161,242,.12), rgba(29,161,242,.02)); }
.qthanks-dl h2{ margin:0 0 4px; font-size:1.05rem; font-weight:700; color:var(--q-text); }
.qthanks-dl p{ margin:0 0 14px; color:var(--q-text-muted); font-size:.85rem; }
.qthanks-dl__row{ display:flex; flex-wrap:wrap; gap:10px; }
.qthanks-dl a{ display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px;
  background: linear-gradient(180deg,#41b4ff,var(--q-accent) 60%,#1488d9); color:#fff !important; text-decoration:none;
  font-weight:700; font-size:.86rem; box-shadow:0 14px 30px -14px rgba(29,161,242,.7); transition:transform .18s ease,filter .18s ease; }
.qthanks-dl a:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.qthanks-dl a iconify-icon{ font-size:1.05rem; }

/* ============================================================
   QUBYX CHECKOUT — "complete your details" modal (theme-aware)
   Required contact/billing fields live in a modern modal. Progressive
   enhancement: .is-qmodal is only added by JS after successful setup, so
   without JS the fields stay inline and checkout keeps working.
   ============================================================ */
body.qmodal-lock{ overflow:hidden; }

/* On-page details card (trigger + summary) */
.qdetails{ margin:0 0 22px; padding:20px 22px; border:1px solid var(--q-border-mid); border-radius:18px;
  background: linear-gradient(180deg, rgba(127,127,127,.04), transparent), var(--q-surface); }
.qdetails__row{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.qdetails__eyebrow{ margin:0 0 6px; color:var(--q-text-muted); font-size:.64rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.qdetails__title{ margin:0; font-size:1.3rem; font-weight:600; letter-spacing:-.02em; color:var(--q-text); }
.qdetails__edit{ flex:none; display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 18px; border-radius:999px;
  border:1px solid var(--q-border-mid); background:var(--q-glass-bg); color:var(--q-text); font-size:.84rem; font-weight:700; cursor:pointer;
  transition:border-color .18s ease, transform .18s ease, background .18s ease; }
.qdetails__edit:hover{ border-color:var(--q-accent); transform:translateY(-1px); }
.qdetails.is-filled .qdetails__edit{ background:transparent; }
.qdetails__summary{ margin-top:16px; }
.qdetails__empty{ margin:0; color:var(--q-text-muted); font-size:.9rem; line-height:1.5; }
.qdetails__line{ display:flex; gap:14px; padding:9px 0; border-top:1px solid var(--q-border); font-size:.9rem; }
.qdetails__line:first-child{ border-top:0; }
.qdetails__line span{ flex:none; width:62px; color:var(--q-text-muted); font-size:.68rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; padding-top:3px; }
.qdetails__line strong{ color:var(--q-text); font-weight:650; line-height:1.45; }

/* Modal mechanics */
.qcheckout.is-qmodal [data-qfields]{ display:none; }
.qmodal__backdrop{ display:none; }
.qcheckout.is-qmodal.qmodal-open .qmodal__backdrop{ display:block; position:fixed; inset:0; z-index:1000;
  background:rgba(8,10,14,.62); backdrop-filter:blur(7px); animation:qmodalFade .2s ease; }
.qcheckout.is-qmodal.qmodal-open [data-qfields]{
  display:block; position:fixed; z-index:1001; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(660px, calc(100vw - 28px)); max-height:min(90vh, 820px); overflow-y:auto; overscroll-behavior:contain;
  background:var(--q-panel-bg); border:1px solid var(--q-border-mid); border-radius:24px;
  box-shadow:0 60px 140px -28px rgba(0,0,0,.65); padding:0;
  animation:qmodalIn .24s cubic-bezier(.2,.8,.2,1); }
@keyframes qmodalFade{ from{opacity:0} to{opacity:1} }
@keyframes qmodalIn{ from{opacity:0; transform:translate(-50%,-46%) scale(.985)} to{opacity:1; transform:translate(-50%,-50%) scale(1)} }

/* Padding: header/footer + inner field blocks all get side padding */
.qcheckout.is-qmodal.qmodal-open [data-qfields] > *{ padding-left:26px; padding-right:26px; }
.qcheckout.is-qmodal.qmodal-open [data-qfields] #customer_details{ padding-top:18px; padding-bottom:6px; }

.qmodal__head{ position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding-top:22px; padding-bottom:16px; background:var(--q-panel-bg); border-bottom:1px solid var(--q-border); }
.qmodal__eyebrow{ display:inline-flex; align-items:center; gap:6px; margin:0 0 6px; color:var(--q-text-muted);
  font-size:.64rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.qmodal__eyebrow iconify-icon{ color:#34d399; font-size:.9rem; }
.qmodal__title{ margin:0; font-size:1.55rem; font-weight:550; letter-spacing:-.02em; color:var(--q-text); }
.qmodal__close{ flex:none; width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:10px;
  background:var(--q-glass-bg); color:var(--q-text-muted); font-size:1.5rem; line-height:1; cursor:pointer; transition:.18s; }
.qmodal__close:hover{ color:var(--q-text); background:var(--q-border-mid); }
.qmodal__foot{ position:sticky; bottom:0; z-index:2; display:flex; align-items:center; justify-content:flex-end; gap:12px;
  padding-top:16px; padding-bottom:22px; background:var(--q-panel-bg); border-top:1px solid var(--q-border); }
.qmodal__cancel{ min-height:46px; padding:0 18px; border-radius:999px; border:1px solid var(--q-border-mid);
  background:transparent; color:var(--q-text); font-size:.88rem; font-weight:700; cursor:pointer; transition:.18s; }
.qmodal__cancel:hover{ border-color:var(--q-accent); }
.qmodal__save{ min-height:46px; padding:0 24px; border-radius:999px; border:1px solid rgba(29,161,242,.55);
  background:linear-gradient(180deg,#41b4ff,var(--q-accent) 55%,#1488d9); color:#fff; font-size:.9rem; font-weight:750; cursor:pointer;
  box-shadow:0 14px 30px -14px rgba(29,161,242,.7); transition:.18s; }
.qmodal__save:hover{ filter:brightness(1.06); transform:translateY(-1px); }

/* select2 country dropdown must float above the modal */
.qcheckout.is-qmodal.qmodal-open ~ .select2-container,
.select2-container--open{ z-index:1002 !important; }

@media (max-width:600px){
  .qcheckout.is-qmodal.qmodal-open [data-qfields]{
    width:100vw; max-height:92vh; left:0; right:0; top:auto; bottom:0; transform:none;
    border-radius:22px 22px 0 0; animation:qmodalSheet .26s cubic-bezier(.2,.8,.2,1); }
  @keyframes qmodalSheet{ from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:translateY(0)} }
}
