body.woocommerce-cart,
body.woocommerce-checkout {
	--ix-bg:#0A1020; --ix-bg-2:#0E1528;
	--ix-panel:#121B33; --ix-panel-2:#172244;
	--ix-line:#1E2A4A; --ix-line-2:#263255;
	--ix-ink:#E7ECF6; --ix-ink-dim:#9AA6C2; --ix-ink-mute:#6B7799;
	--ix-cyan:#27B5FF; --ix-cyan-deep:#0E8FD9;
	--ix-green:#3DD68C; --ix-amber:#F4C257; --ix-rose:#FF7A8A;
	--ix-radius:12px; --ix-radius-lg:14px;
	background:var(--ix-bg) !important;
	color:var(--ix-ink);
	font-family:'Manrope',system-ui,sans-serif;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-cart .editor-styles-wrapper,
body.woocommerce-checkout .editor-styles-wrapper {
	background:var(--ix-bg) !important;
	color:var(--ix-ink) !important;
}

body.woocommerce-cart .wp-block-post-title,
body.woocommerce-checkout .wp-block-post-title {
	color:var(--ix-ink) !important;
	font-size:26px !important;
	font-weight:700 !important;
	letter-spacing:-0.018em !important;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wc-block-cart :is(.wc-block-cart__main, .wc-block-components-sidebar, .wc-block-cart-items, .wc-block-cart-items__row, .wc-block-components-totals-wrapper, .wc-block-components-totals-item, .wc-block-components-order-summary, .wc-block-components-order-summary-item, .wc-block-components-totals-coupon, .wc-block-components-panel),
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout :is(.wc-block-checkout__main, .wc-block-checkout__sidebar, .wc-block-components-sidebar, .wc-block-components-checkout-step, .wc-block-components-address-card, .wc-block-components-payment-methods, .wc-block-components-radio-control, .wc-block-gateway-container, .payment_box) {
	color:var(--ix-ink) !important;
}

body.woocommerce-cart .wc-block-cart :is(p, span, div, address, li, dd, dt, label, legend, small, em, strong, code, time, abbr, cite, q, mark, samp, sub, sup, var, kbd, output, ins, del, b, i, u),
body.woocommerce-checkout .wc-block-checkout :is(p, span, div, address, li, dd, dt, label, legend, small, em, strong, code, time, abbr, cite, q, mark, samp, sub, sup, var, kbd, output, ins, del, b, i, u),
body.woocommerce-checkout .payment_box :is(p, span, div, address, li, dd, dt, label, legend, small, em, strong, code, time, abbr, cite, q, mark, samp, sub, sup, var, kbd, output, ins, del, b, i, u) {
	color:inherit !important;
}

body.woocommerce-cart :is(input, textarea)::placeholder,
body.woocommerce-checkout :is(input, textarea)::placeholder {
	color:var(--ix-ink-mute) !important;
	opacity:1;
}

body.woocommerce-cart :is(input, textarea, select):disabled,
body.woocommerce-cart :is(input, textarea, select)[readonly],
body.woocommerce-checkout :is(input, textarea, select):disabled,
body.woocommerce-checkout :is(input, textarea, select)[readonly] {
	background:var(--ix-bg-2) !important;
	color:var(--ix-ink-dim) !important;
	-webkit-text-fill-color:var(--ix-ink-dim);
	opacity:1;
}

body.woocommerce-cart :is(.wc-block-components-notice-banner, .wc-block-components-validation-error, .woocommerce-error, .woocommerce-info, .woocommerce-message),
body.woocommerce-checkout :is(.wc-block-components-notice-banner, .wc-block-components-validation-error, .woocommerce-error, .woocommerce-info, .woocommerce-message) {
	background:var(--ix-panel-2) !important;
	border:1px solid var(--ix-line) !important;
	color:var(--ix-ink) !important;
}

body.woocommerce-cart :is(.wc-block-components-validation-error, .wc-block-components-notice-banner.is-error, .woocommerce-error),
body.woocommerce-checkout :is(.wc-block-components-validation-error, .wc-block-components-notice-banner.is-error, .woocommerce-error) {
	border-color:var(--ix-rose) !important;
	color:var(--ix-rose) !important;
}

body.woocommerce-cart :is(.wc-block-components-notice-banner, .wc-block-components-validation-error, .woocommerce-error, .woocommerce-info, .woocommerce-message) :is(p, span, div, li, strong, small, code, a),
body.woocommerce-checkout :is(.wc-block-components-notice-banner, .wc-block-components-validation-error, .woocommerce-error, .woocommerce-info, .woocommerce-message) :is(p, span, div, li, strong, small, code, a) {
	color:inherit !important;
}

body.woocommerce-cart :is(.has-error, .is-error) :is(input, textarea, select, .wc-block-components-text-input, .wc-block-components-combobox-control),
body.woocommerce-checkout :is(.has-error, .is-error) :is(input, textarea, select, .wc-block-components-text-input, .wc-block-components-combobox-control) {
	border-color:var(--ix-rose) !important;
}

body.woocommerce-cart :is(.has-error, .is-error) :is(label, .wc-block-components-validation-error),
body.woocommerce-checkout :is(.has-error, .is-error) :is(label, .wc-block-components-validation-error) {
	color:var(--ix-rose) !important;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-text-input input[type="tel"] {
	background:var(--ix-bg-2) !important;
	color:var(--ix-ink) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:10px !important;
	font-size:16px !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input label.wc-block-components-text-input__label {
	color:var(--ix-ink-mute) !important;
}

body.woocommerce-checkout .wc-block-components-text-input:focus-within,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input input[type="email"]:focus,
body.woocommerce-checkout .wc-block-components-text-input input[type="text"]:focus,
body.woocommerce-checkout .wc-block-components-text-input input[type="tel"]:focus {
	border-color:var(--ix-cyan) !important;
	box-shadow:0 0 0 3px rgba(39,181,255,0.18) !important;
	outline:none !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon-link,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-totals-coupon__form {
	background:transparent !important;
	color:var(--ix-cyan) !important;
	border-color:var(--ix-line) !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon svg,
body.woocommerce-checkout .wc-block-components-panel__button svg,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
body.woocommerce-checkout .wc-block-components-totals-coupon-link svg {
	color:var(--ix-cyan) !important;
	fill:currentColor !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
	background:var(--ix-panel) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:var(--ix-radius-lg) !important;
}

body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item + .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-wrapper hr,
body.woocommerce-checkout .wc-block-components-totals-wrapper::before,
body.woocommerce-checkout .wc-block-components-totals-wrapper::after {
	border-color:var(--ix-line) !important;
	background:transparent !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item__value {
	border-top:1px solid var(--ix-line) !important;
	color:var(--ix-ink) !important;
	background:transparent !important;
}

body.woocommerce-checkout .wc-block-components-sale-badge,
body.woocommerce-checkout .wc-block-components-product-badge,
body.woocommerce-checkout .wc-block-components-product-badge--sale,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-badge {
	background:rgba(61,214,140,0.18) !important;
	color:var(--ix-green) !important;
	border:1px solid rgba(61,214,140,0.32) !important;
	border-radius:6px !important;
	padding:2px 8px !important;
	font-weight:600 !important;
}

body.woocommerce-checkout .wc-block-components-payment-methods,
body.woocommerce-checkout .wc-block-components-radio-control {
	background:var(--ix-bg-2) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:var(--ix-radius) !important;
	padding:4px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
	background:transparent !important;
	color:var(--ix-ink-dim) !important;
	border-radius:10px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked,
body.woocommerce-checkout .wc-block-components-payment-method-tab--active,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked,
body.woocommerce-checkout input[type="radio"]:checked + label {
	background:var(--ix-cyan) !important;
	color:var(--ix-bg) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked *,
body.woocommerce-checkout .wc-block-components-payment-method-tab--active *,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked *,
body.woocommerce-checkout input[type="radio"]:checked + label * {
	color:var(--ix-bg) !important;
}

body.woocommerce-checkout .wc-block-components-payment-method-label__badge,
body.woocommerce-checkout .wc-block-components-product-badge--secondary,
body.woocommerce-checkout .wc-block-components-payment-method-label__badge span {
	background:rgba(39,181,255,0.15) !important;
	color:var(--ix-cyan) !important;
	border:1px solid rgba(39,181,255,0.32) !important;
	border-radius:6px !important;
	padding:2px 6px !important;
	font-weight:600 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step {
	background:var(--ix-panel) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:var(--ix-radius-lg) !important;
	padding:22px 24px !important;
	margin-bottom:16px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title-index {
	background:var(--ix-cyan) !important;
	color:var(--ix-bg) !important;
	width:28px !important;
	height:28px !important;
	border-radius:99px !important;
	display:inline-grid !important;
	place-items:center !important;
	font-family:'JetBrains Mono',monospace !important;
	font-weight:700 !important;
	font-size:14px !important;
	margin-right:12px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-size:16px !important;
	font-weight:700 !important;
	color:var(--ix-ink) !important;
}

body.woocommerce-checkout .wc-block-components-stripe-input,
body.woocommerce-checkout .StripeElement,
body.woocommerce-checkout .wc-block-gateway-container,
body.woocommerce-checkout .payment_box {
	background:var(--ix-bg-2) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:10px !important;
	padding:12px !important;
}

body.woocommerce-checkout .StripeElement--focus,
body.woocommerce-checkout .wc-block-components-stripe-input:focus-within,
body.woocommerce-checkout .wc-block-gateway-container:focus-within {
	border-color:var(--ix-cyan) !important;
	box-shadow:0 0 0 3px rgba(39,181,255,0.18) !important;
	outline:none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.wc-block-components-button.contained {
	background:var(--ix-cyan) !important;
	color:var(--ix-bg) !important;
	border-radius:10px !important;
	padding:14px 24px !important;
	font-weight:700 !important;
	min-height:48px !important;
	box-shadow:0 6px 18px -6px rgba(39,181,255,0.5) !important;
	border:0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus,
body.woocommerce-checkout button.wc-block-components-button.contained:hover,
body.woocommerce-checkout button.wc-block-components-button.contained:focus {
	background:#3FC3FF !important;
	color:var(--ix-bg) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wc-block-components-product-metadata__description {
	color:var(--ix-ink) !important;
}

/* Saved address card (the read-only summary block that appears after
   the customer enters their billing/shipping address). Its inner text
   nodes were rendering near-black. */
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-address-card *,
body.woocommerce-checkout .wc-block-components-address-card__address,
body.woocommerce-checkout .wc-block-components-address-card address,
body.woocommerce-checkout .wc-block-checkout-contact-information-block .wc-block-components-address-card *,
body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-card * {
	color:var(--ix-ink) !important;
}
body.woocommerce-checkout .wc-block-components-address-card__edit {
	color:var(--ix-cyan) !important;
	font-weight:600 !important;
}

/* ────────────────────────────────────────────────────────────────────
   Dropdown / combobox options panel — Country/Region, State, etc.
   WC blocks use a custom combobox (NOT a native <select>). Its expanded
   options panel was unstyled — white background under our dark theme,
   making options unreadable. Override the list, items, and highlighted state.
   ──────────────────────────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-combobox-control {
	color:var(--ix-ink) !important;
}
/* Combobox shell: give it the same chrome + breathing room as the
   plain text inputs so the floating label and the value don't collide. */
body.woocommerce-checkout .wc-block-components-combobox {
	background:var(--ix-bg-2) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:10px !important;
	padding:18px 12px 6px !important;
	position:relative;
	min-height:60px !important;
}
body.woocommerce-checkout .wc-block-components-combobox:focus-within {
	border-color:var(--ix-cyan) !important;
	box-shadow:0 0 0 3px rgba(39,181,255,0.18) !important;
}
body.woocommerce-checkout .wc-block-components-combobox-control .components-base-control__field {
	background:transparent !important;
	margin:0 !important;
}
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-combobox-control .components-form-token-field__input {
	color:var(--ix-ink) !important;
	background:transparent !important;
	border:0 !important;
	font-size:16px !important;
	padding:0 !important;
	line-height:1.4 !important;
	min-height:24px !important;
}
/* Floating label inside the combobox — push it to the TOP of the shell
   so it doesn't sit on top of the value. */
body.woocommerce-checkout .wc-block-components-combobox-control .components-base-control__label,
body.woocommerce-checkout .wc-block-components-combobox label {
	position:absolute !important;
	top:6px !important;
	left:12px !important;
	font-size:11px !important;
	letter-spacing:0.02em !important;
	color:var(--ix-ink-mute) !important;
	font-weight:500 !important;
	margin:0 !important;
	transform:none !important;
	pointer-events:none;
	background:transparent !important;
	padding:0 !important;
}
/* The options list panel (autocomplete-style dropdown) */
body.woocommerce-checkout .components-form-token-field__suggestions-list,
body.woocommerce-checkout .wc-block-components-combobox-list,
body.woocommerce-checkout .components-popover__content {
	background:var(--ix-panel-2) !important;
	border:1px solid var(--ix-line-2) !important;
	border-radius:10px !important;
	color:var(--ix-ink) !important;
	box-shadow:0 12px 28px -8px rgba(0,0,0,0.55) !important;
}
body.woocommerce-checkout .components-form-token-field__suggestion,
body.woocommerce-checkout .wc-block-components-combobox-list__item {
	color:var(--ix-ink) !important;
	padding:10px 14px !important;
	background:transparent !important;
	font-size:15px !important;
}
body.woocommerce-checkout .components-form-token-field__suggestion.is-selected,
body.woocommerce-checkout .components-form-token-field__suggestion[aria-selected="true"],
body.woocommerce-checkout .wc-block-components-combobox-list__item--highlighted,
body.woocommerce-checkout .wc-block-components-combobox-list__item[aria-selected="true"] {
	background:rgba(39,181,255,0.18) !important;
	color:var(--ix-cyan) !important;
}
body.woocommerce-checkout .components-form-token-field__suggestion:hover {
	background:rgba(39,181,255,0.12) !important;
	color:var(--ix-ink) !important;
}

/* Native <select> fallback (legacy WC fragments / edge cases) */
body.woocommerce-checkout select {
	background:var(--ix-bg-2) !important;
	color:var(--ix-ink) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:10px !important;
	padding:12px !important;
	font-size:16px !important;
}
body.woocommerce-checkout select option {
	background:var(--ix-panel-2) !important;
	color:var(--ix-ink) !important;
}

/* Make input values themselves brighter (was muted cyan-ish, hard to read) */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox-control input {
	color:var(--ix-ink) !important;
	font-weight:500 !important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox-control label {
	color:var(--ix-ink-mute) !important;
	font-weight:500 !important;
}

/* ────────────────────────────────────────────────────────────────────
   Edit cart link — injected by JS on the Order Summary heading so the
   customer can step back to /cart/ to remove items. WC's Checkout
   block does not expose per-item removal on the order summary by
   design; this restores that affordance.
   ──────────────────────────────────────────────────────────────────── */
body.woocommerce-checkout .ix-edit-cart-link {
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-left:auto;
	font-size:13px;
	font-weight:600;
	color:var(--ix-cyan);
	text-decoration:none;
	padding:6px 10px;
	border-radius:6px;
	border:1px solid var(--ix-line);
	background:var(--ix-bg-2);
	transition:background 0.15s,border-color 0.15s;
}
body.woocommerce-checkout .ix-edit-cart-link:hover {
	background:rgba(39,181,255,0.1);
	border-color:rgba(39,181,255,0.4);
}
body.woocommerce-checkout .ix-edit-cart-link svg {
	width:13px;height:13px;
}
/* If WC ever does expose its own remove-link on the order summary, make
   sure it's visible against our dark theme. */
body.woocommerce-checkout .wc-block-components-order-summary-item__remove,
body.woocommerce-checkout .wc-block-cart-item__remove-link,
body.woocommerce-checkout .remove-item {
	color:var(--ix-rose) !important;
	opacity:1 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__remove:hover {
	color:var(--ix-rose) !important;
}

/* Cart block contrast sweep — the cart page reuses many of the same
   WC block components as checkout, but without a theme-level dark
   override they keep light-theme text defaults inside navy panels. */
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-panel {
	background:var(--ix-panel) !important;
	border:1px solid var(--ix-line) !important;
	border-radius:var(--ix-radius-lg) !important;
}

body.woocommerce-cart .wc-block-cart-items__row + .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-item + .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-wrapper hr,
body.woocommerce-cart .wc-block-components-totals-wrapper::before,
body.woocommerce-cart .wc-block-components-totals-wrapper::after {
	border-color:var(--ix-line) !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-footer-item__value,
body.woocommerce-cart .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-components-order-summary-item {
	color:var(--ix-ink) !important;
}

body.woocommerce-cart .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart select {
	background:var(--ix-bg-2) !important;
	border:1px solid var(--ix-line) !important;
	color:var(--ix-ink) !important;
}

body.woocommerce-cart select option {
	background:var(--ix-panel-2) !important;
	color:var(--ix-ink) !important;
}

body.woocommerce-cart .wc-block-components-button.contained,
body.woocommerce-cart .wc-block-cart__submit-button {
	background:var(--ix-cyan) !important;
	border:0 !important;
	color:var(--ix-bg) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.woocommerce-cart .wc-block-components-panel__button {
	color:var(--ix-cyan) !important;
}

body.woocommerce-cart .wc-block-components-product-badge,
body.woocommerce-cart .wc-block-components-product-badge--sale,
body.woocommerce-cart .wc-block-components-product-badge--secondary {
	background:var(--ix-panel-2) !important;
	border:1px solid var(--ix-line) !important;
	color:var(--ix-green) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wc-block-cart__empty-cart__description,
body.woocommerce-cart .wc-block-cart__empty-cart__title + p {
	color:var(--ix-ink) !important;
}
