/**
 * Solatube cart + checkout + single product (WooCommerce Blocks + classic product template).
 * body.solatube-cart-revamp | body.solatube-checkout-revamp | body.solatube-product-revamp
 */

/* Shared max content width: prefer Elementor kit (--container-max-width on .e-con), else theme line (~1140px). */
body.solatube-cart-revamp,
body.solatube-checkout-revamp,
body.solatube-product-revamp,
body.solatube-pdp-flipkart.single-product {
	--solatube-wc-page-max: 1140px;
	--solatube-desc-font-size: 17px;
	--solatube-hero-radius: clamp(16px, 1.35vw, 24px);
	--sp-bg: #eef1f4;
	--sp-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 28px rgba(15, 23, 42, 0.06);
	--sp-shadow-hover: 0 2px 6px rgba(15, 23, 42, 0.05), 0 16px 40px rgba(15, 23, 42, 0.08);
	--sp-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--sp-surface: #ffffff;
	--sp-surface-subtle: #f6f8fa;
	--sp-border: #e4e9ef;
	--sp-text: #101418;
	--sp-muted: #5a6570;
	--sp-accent: #0078b9;
	--sp-accent-bright: #0090d8;
	--sp-radius: 14px;
	--sp-radius-sm: 10px;
	--sp-radius-xs: 8px;
}

body.solatube-cart-revamp.woocommerce-cart {
	/* Tokens — calmer surfaces, softer elevation (modern card UI) */
	--sp-bg: #eef1f4;
	--sp-surface: #ffffff;
	--sp-surface-subtle: #f6f8fa;
	--sp-border: #e4e9ef;
	--sp-text: #101418;
	--sp-muted: #5a6570;
	--sp-accent: #0078b9;
	--sp-accent-bright: #0090d8;
	--sp-accent-soft: rgba(0, 120, 185, 0.1);
	--sp-success-soft: rgba(0, 132, 90, 0.08);
	--sp-success-border: rgba(0, 132, 90, 0.18);
	--sp-radius: 14px;
	--sp-radius-sm: 10px;
	--sp-radius-xs: 8px;
	--sp-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 28px rgba(15, 23, 42, 0.06);
	--sp-shadow-hover: 0 2px 6px rgba(15, 23, 42, 0.05), 0 16px 40px rgba(15, 23, 42, 0.08);
	--sp-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	background: var(--sp-bg) !important;
	font-family: var(--sp-font);
	color: var(--sp-text);
	-webkit-font-smoothing: antialiased;
}

/* Canvas behind Elementor sections */
body.solatube-cart-revamp.woocommerce-cart .site-primary,
body.solatube-cart-revamp.woocommerce-cart #primary,
body.solatube-checkout-revamp.woocommerce-checkout .site-primary,
body.solatube-checkout-revamp.woocommerce-checkout #primary {
	background: transparent;
}

body.solatube-checkout-revamp.woocommerce-checkout {
	background: #eef1f4 !important;
	font-family: var(--sp-font);
	color: var(--sp-text);
	-webkit-font-smoothing: antialiased;
}

/*
 * Double banner fix: the Cart page often has (1) Elementor full-width section background
 * or a "Featured Image" widget using the same photo as (2) our .solatube-cart-page-hero.
 * Hide the outer duplicate so only the shortcode hero strip remains.
 */
body.solatube-cart-revamp.woocommerce-cart .elementor-widget-theme-post-featured-image,
body.solatube-checkout-revamp.woocommerce-checkout .elementor-widget-theme-post-featured-image {
	display: none !important;
}

body.solatube-cart-revamp.woocommerce-cart .site-primary .elementor > .elementor-section.elementor-element:first-child,
body.solatube-cart-revamp.woocommerce-cart #content .elementor > .elementor-section.elementor-element:first-child,
body.solatube-checkout-revamp.woocommerce-checkout .site-primary .elementor > .elementor-section.elementor-element:first-child,
body.solatube-checkout-revamp.woocommerce-checkout #content .elementor > .elementor-section.elementor-element:first-child {
	background-image: none !important;
	background-color: transparent !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.solatube-cart-revamp.woocommerce-cart .site-primary .elementor > .elementor-section.elementor-element:first-child > .elementor-background-overlay,
body.solatube-cart-revamp.woocommerce-cart #content .elementor > .elementor-section.elementor-element:first-child > .elementor-background-overlay,
body.solatube-checkout-revamp.woocommerce-checkout .site-primary .elementor > .elementor-section.elementor-element:first-child > .elementor-background-overlay,
body.solatube-checkout-revamp.woocommerce-checkout #content .elementor > .elementor-section.elementor-element:first-child > .elementor-background-overlay {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Elementor nested structure: first top-level container (flexbox "Container") */
body.solatube-cart-revamp.woocommerce-cart .site-primary .elementor > .e-con:first-child,
body.solatube-cart-revamp.woocommerce-cart #content .elementor > .e-con:first-child,
body.solatube-checkout-revamp.woocommerce-checkout .site-primary .elementor > .e-con:first-child,
body.solatube-checkout-revamp.woocommerce-checkout #content .elementor > .e-con:first-child {
	background-image: none !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.solatube-cart-revamp .wc-block-cart {
	max-width: var(--container-max-width, var(--solatube-wc-page-max, 1140px));
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

body.solatube-checkout-revamp .wc-block-checkout {
	max-width: var(--container-max-width, var(--solatube-wc-page-max, 1140px));
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding: 0;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout {
	padding-top: 16px;
}

/* Description / body copy — 17px on cart, checkout, and product pages */
body.solatube-cart-revamp .wc-block-components-product-metadata,
body.solatube-cart-revamp .wc-block-components-product-metadata p,
body.solatube-cart-revamp .wc-block-components-product-metadata li,
body.solatube-cart-revamp .wc-block-components-product-metadata .wc-block-components-product-metadata__description,
body.solatube-checkout-revamp .solatube-checkout-summary-short-desc,
body.solatube-checkout-revamp .solatube-checkout-summary-short-desc p,
body.solatube-checkout-revamp .solatube-checkout-summary-components-line,
body.solatube-checkout-revamp .solatube-checkout-summary-detail-row,
body.solatube-checkout-revamp .solatube-checkout-summary-detail-row__text,
body.solatube-checkout-revamp .solatube-checkout-summary-detail-row__price,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-details__short-description,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-details__short-description p,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-details__short-description li,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-Tabs-panel,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-Tabs-panel p,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-Tabs-panel li,
body.solatube-product-revamp.single-product .custom-short-description,
body.solatube-product-revamp.single-product .custom-short-description p,
body.solatube-pdp-flipkart.single-product .solatube-pdp__short-desc,
body.solatube-pdp-flipkart.single-product .solatube-pdp__short-desc p,
body.solatube-pdp-flipkart.single-product .solatube-pdp__short-desc li,
body.solatube-pdp-flipkart.single-product .solatube-pdp__short-desc strong,
body.solatube-pdp-flipkart.single-product .solatube-pdp__short-desc .woocommerce-product-details__short-description,
body.solatube-pdp-flipkart.single-product .solatube-pdp__buybox .woocommerce-product-details__short-description,
body.solatube-pdp-flipkart.single-product .solatube-pdp__section-body,
body.solatube-pdp-flipkart.single-product .solatube-pdp__section-body p,
body.solatube-pdp-flipkart.single-product .solatube-pdp__section-body li,
body.solatube-pdp-flipkart.single-product .solatube-pdp__accordion-body,
body.solatube-pdp-flipkart.single-product .solatube-pdp__accordion-body p,
body.solatube-pdp-flipkart.single-product .solatube-pdp__accordion-body li,
body.solatube-pdp-flipkart.single-product .solatube-pdp__legacy-details p,
body.solatube-pdp-flipkart.single-product .solatube-pdp__legacy-details li,
body.solatube-pdp-flipkart.single-product .solatube-pdp__highlights-list,
body.solatube-pdp-flipkart.single-product .solatube-pdp__details .woocommerce-Tabs-panel,
body.solatube-pdp-flipkart.single-product .solatube-pdp__details .woocommerce-Tabs-panel p,
body.solatube-pdp-flipkart.single-product .solatube-pdp__details .woocommerce-Tabs-panel li,
body.solatube-pdp-flipkart.single-product .solatube-pdp__legacy-details .elementor-widget-text-editor p {
	font-size: var(--solatube-desc-font-size, 17px) !important;
	line-height: 1.55 !important;
}

body.solatube-cart-revamp .wc-block-cart__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
	align-items: start;
}

@media (min-width: 960px) {
	body.solatube-cart-revamp .wc-block-cart__grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		gap: 2rem;
	}
}

/* ----- Line items card ----- */
body.solatube-cart-revamp .wc-block-cart__main {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: 0;
	overflow: hidden;
	transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

body.solatube-cart-revamp .wc-block-cart__main:hover {
	box-shadow: var(--sp-shadow-hover);
	border-color: #dde3ea;
}

body.solatube-cart-revamp .wc-block-cart__main .wc-block-cart__totals-title {
	display: none;
}

body.solatube-cart-revamp table.wc-block-cart-items {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}

body.solatube-cart-revamp .wc-block-cart-items__header {
	background: var(--sp-surface-subtle);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sp-muted);
	border: 0;
}

body.solatube-cart-revamp .wc-block-cart-items__header th {
	padding: 1.1rem 1.5rem;
	border-bottom: 1px solid var(--sp-border);
	vertical-align: middle;
}

body.solatube-cart-revamp .wc-block-cart-items__row {
	font-size: 0.9375rem;
	border: 0;
	transition: background-color 0.18s ease;
}

body.solatube-cart-revamp .wc-block-cart-items__row td {
	padding: 1.45rem 1.5rem;
	vertical-align: top;
	border-top: 1px solid rgba(228, 233, 239, 0.95);
}

body.solatube-cart-revamp .wc-block-cart-items__row:first-of-type td {
	border-top: none;
}

body.solatube-cart-revamp tbody .wc-block-cart-items__row:hover td {
	background-color: rgba(0, 130, 196, 0.035);
}

body.solatube-cart-revamp .wc-block-cart-item__image {
	padding-right: 0.25rem;
}

body.solatube-cart-revamp .wc-block-cart-item__image img {
	border-radius: 12px;
	border: 1px solid var(--sp-border);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.solatube-cart-revamp .wc-block-cart-items__row:hover .wc-block-cart-item__image img {
	transform: scale(1.015);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

body.solatube-cart-revamp .wc-block-cart-item__wrap {
	gap: 1.1rem;
	align-items: flex-start;
}

body.solatube-cart-revamp .wc-block-components-product-name {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

body.solatube-cart-revamp .wc-block-components-product-name a {
	color: var(--sp-accent);
	text-decoration: none;
	transition: color 0.15s ease;
}

body.solatube-cart-revamp .wc-block-components-product-name a:hover {
	color: var(--sp-accent-bright);
	text-decoration: underline;
}

body.solatube-cart-revamp .wc-block-components-product-metadata {
	color: var(--sp-muted);
	font-size: var(--solatube-desc-font-size, 17px);
	line-height: 1.55;
	margin-top: 0.45rem;
	max-width: 42rem;
}

/* Unit price — pill like shop grid */
body.solatube-cart-revamp .wc-block-cart-item__prices {
	font-weight: 700;
	color: var(--sp-text);
	margin-top: 0.5rem;
}

body.solatube-cart-revamp .wc-block-cart-item__prices .wc-block-formatted-money-amount,
body.solatube-cart-revamp .wc-block-cart-item__prices .amount {
	display: inline-block;
	font-size: 1rem !important;
	padding: 0.35rem 0.7rem !important;
	border-radius: var(--sp-radius-sm) !important;
	background: linear-gradient(145deg, rgba(0, 130, 196, 0.1) 0%, rgba(0, 130, 196, 0.05) 100%) !important;
	border: 1px solid rgba(0, 130, 196, 0.18) !important;
	color: #0d47a1 !important;
}

body.solatube-cart-revamp .wc-block-cart-item__prices del {
	opacity: 0.75;
	font-weight: 500;
}

body.solatube-cart-revamp .wc-block-cart-item__prices ins {
	text-decoration: none;
}

/* Line total column */
body.solatube-cart-revamp .wc-block-cart-item__total {
	align-items: flex-end;
	text-align: right;
}

body.solatube-cart-revamp .wc-block-cart-item__total .wc-block-formatted-money-amount {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--sp-text) !important;
	letter-spacing: -0.02em;
}

/* Quantity — pill stepper + outline remove (matches cart UI reference) */
body.solatube-cart-revamp .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	align-self: flex-start;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: stretch;
	box-sizing: border-box;
	width: auto !important;
	min-width: 9rem;
	max-width: 100%;
	border-radius: 999px;
	border: 1px solid #d8dde3;
	overflow: hidden;
	background: #fff;
	margin-top: 0.65rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	flex: 1 1 0;
	min-width: 2.35rem;
	max-width: 3rem;
	min-height: 2.55rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #1a1d21;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1;
	border: 0;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus {
	border-right: 1px solid #e8ecf0;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus {
	border-left: 0;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	background: #f4f6f8;
	color: #000;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
	outline: none;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible {
	background: #fafbfc;
	box-shadow: inset 0 0 0 2px rgba(26, 29, 33, 0.35);
	z-index: 1;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	flex: 1 1 0 !important;
	min-width: 2rem !important;
	width: auto !important;
	max-width: 4rem !important;
	min-height: 2.55rem;
	padding-left: 0.2rem !important;
	padding-right: 0.2rem !important;
	border: 0 !important;
	border-right: 1px solid #e8ecf0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	color: #101418 !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.solatube-cart-revamp .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input:focus {
	outline: none;
	box-shadow: inset 0 0 0 2px rgba(0, 120, 185, 0.2);
}

/* Remove — outlined trash, separate from pill (reference) */
body.solatube-cart-revamp .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.55rem;
	margin-top: 0.65rem;
	margin-left: 0.45rem;
	border-radius: 10px;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #4a5560 !important;
	opacity: 1 !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

body.solatube-cart-revamp .wc-block-cart-item__remove-link svg {
	width: 1.28rem;
	height: 1.28rem;
	flex-shrink: 0;
}

body.solatube-cart-revamp .wc-block-cart-item__remove-link:hover {
	background: rgba(15, 23, 42, 0.06) !important;
	color: #1a1d21 !important;
	transform: none;
}

body.solatube-cart-revamp .wc-block-cart-item__remove-link:focus-visible {
	outline: 2px solid rgba(0, 120, 185, 0.35);
	outline-offset: 2px;
}

/* ----- Sidebar: estimate + checkout ----- */
body.solatube-cart-revamp .wc-block-cart__sidebar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: static;
}

@media (min-width: 960px) {
	body.solatube-cart-revamp .wc-block-cart__sidebar {
		position: sticky;
		top: calc(0.75rem + var(--wp-admin--admin-bar--height, 0px));
	}
}

body.solatube-cart-revamp .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
	margin-bottom: 0 !important;
	border-bottom: none !important;
	font-size: inherit;
	line-height: inherit;
}

/* Flex order: line list → discount (when present) → coupon → footer, without moving nodes (React-safe). */
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	display: flex !important;
	flex-direction: column !important;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-heading-block,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block h2:first-of-type,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title {
	order: 10;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-components-notice-banner,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-components-notice {
	order: 15;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block #solatube-cart-sidebar-lines {
	order: 20;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-cart-order-summary-discount-block {
	order: 25;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block {
	order: 30;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item {
	order: 40;
}

body.solatube-cart-revamp .wp-block-woocommerce-cart-order-summary-block {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: 1.35rem 1.35rem 1.1rem;
	transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

body.solatube-cart-revamp .wp-block-woocommerce-cart-order-summary-block:hover {
	box-shadow: var(--sp-shadow-hover);
	border-color: #dde3ea;
}

body.solatube-cart-revamp .wp-block-woocommerce-cart-order-summary-block h2,
body.solatube-cart-revamp .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--sp-text);
	margin: 0 0 0.85rem;
	padding: 0;
	border: 0;
	opacity: 0.92;
}

body.solatube-cart-revamp .wc-block-components-totals-item {
	font-size: 0.9375rem;
}

body.solatube-cart-revamp .wc-block-components-totals-footer-item {
	border-top: 1px solid rgba(228, 233, 239, 0.95);
	margin-top: 1rem;
	padding-top: 1rem;
}

body.solatube-cart-revamp .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--sp-text);
	letter-spacing: -0.01em;
}

body.solatube-cart-revamp .wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
body.solatube-cart-revamp .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.15;
	color: var(--sp-accent);
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
}

body.solatube-cart-revamp .wc-block-components-totals-item__description,
body.solatube-cart-revamp .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	font-size: 0.8125rem;
	color: var(--sp-muted);
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 0.45rem;
}

body.solatube-cart-revamp .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	margin-top: 0.35rem;
	margin-bottom: 0;
}

/* Ghost rules above line-item summary: Woo renders subtotal/shipping/discount/tax/fee rows;
   dealer cart JS hides values but the rows/borders remain — hide those blocks in the sidebar only. */
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-subtotal-block,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-shipping-block,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-taxes-block,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-fee-block {
	display: none !important;
}

/* Coupon block (visual order via flex on parent; do not rely on DOM moves). */
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block {
	margin: 0;
	padding: 0.5rem 0 0;
	margin-top: 0.25rem;
	border-top: none;
}

/* Totals wrapper: no layout box so stray borders vanish; children (discount, line list, estimated total) still render. */
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
	display: contents !important;
}

/* Sidebar: line list — inset panel */
body.solatube-cart-revamp .solatube-cart-sidebar-lines {
	margin: 0 0 0.35rem;
	padding: 0.4rem 0.7rem;
	max-height: min(50vh, 320px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--sp-surface-subtle);
	border: 1px solid rgba(228, 233, 239, 0.9);
	border-radius: 12px;
}

body.solatube-cart-revamp .solatube-cart-sidebar-lines__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	padding: 0.5rem 0.15rem;
	font-size: 0.8125rem;
	line-height: 1.4;
	border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}

body.solatube-cart-revamp .solatube-cart-sidebar-lines__row:last-child {
	border-bottom: 0;
}

body.solatube-cart-revamp .solatube-cart-sidebar-lines__name {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--sp-text);
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.solatube-cart-revamp .solatube-cart-sidebar-lines__meta {
	flex: 0 0 auto;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--sp-text);
	font-weight: 600;
	text-align: right;
	font-size: 0.8125rem;
}

/* Dealer / shipping notices — calm callout */
body.solatube-cart-revamp .wp-block-woocommerce-cart-order-summary-block .wc-block-components-notice,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-notice-banner {
	border-radius: 12px;
	border: 1px solid rgba(0, 120, 185, 0.14);
	background: rgba(0, 120, 185, 0.05);
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--sp-text);
	box-shadow: none;
}

/* Dealer estimate line (under total) — readable, not shouty */
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item-shipping {
	font-size: 0.75rem !important;
	line-height: 1.55 !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: var(--sp-muted) !important;
	background: var(--sp-surface-subtle);
	border: 1px solid rgba(228, 233, 239, 0.95);
	border-radius: 12px;
	padding: 0.65rem 0.8rem !important;
	margin: 0.65rem 0 0 !important;
}

/* Discount + coupons — compact savings panel */
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-discount-block {
	margin-top: 0.35rem;
	padding: 0.65rem 0.8rem;
	border-radius: 12px;
	background: var(--sp-success-soft);
	border: 1px solid var(--sp-success-border);
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-discount-block .wc-block-components-totals-item {
	font-size: 0.875rem;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-discount-block .wc-block-components-totals-item__value,
body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-discount-block .wc-block-formatted-money-amount {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: #0d5c3d;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-discount__coupon-list {
	margin: 0.45rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-discount__coupon-list > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-discount__coupon-list .wc-block-components-chip {
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.2rem 0.55rem;
	background: #fff;
	border: 1px solid rgba(0, 132, 90, 0.2);
	color: var(--sp-text);
}

/* Cart sidebar: coupon = single row (accordion toggle hidden; panel forced open in JS). */
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon {
	padding: 0;
	margin-top: 0;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon.wc-block-components-panel > .wc-block-components-panel__button,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon > .wc-block-components-panel__button {
	display: none !important;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	display: block !important;
	max-height: none !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content[hidden] {
	display: block !important;
}
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100%;
	margin: 0;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input.wc-block-components-totals-coupon__input,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input {
	flex: 1 1 10rem;
	max-width: 14rem;
	min-width: 7rem;
	min-height: 2.125rem;
	margin: 0 !important;
	margin-top: 0 !important;
	position: relative;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-text-input__wrapper {
	display: block;
	width: 100%;
	position: relative;
	z-index: 0;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-text-input label {
	color: var(--sp-muted);
	font-weight: 500;
	font-size: 0.75rem;
}

/*
 * Center “Enter code” (Woo uses a floating <label>, not placeholder).
 * Stretch over the input and flex-center; pointer-events none so clicks reach the field.
 */
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-text-input:not(.is-active) label {
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	transform-origin: center center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	pointer-events: none !important;
	cursor: text;
	z-index: 1;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-text-input input,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	height: 2.125rem;
	min-height: 2.125rem;
	padding: 0.35rem 0.65rem;
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius-xs);
	background: #fff;
	font-size: 0.8125rem;
	line-height: 1.2;
	font-family: var(--sp-font);
	color: var(--sp-text);
	text-align: center !important;
	box-shadow: inset 0 1px 2px rgba(26, 29, 33, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-text-input input::placeholder,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form input[type="text"]::placeholder {
	text-align: center !important;
	opacity: 0.72;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-text-input input:focus,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form input[type="text"]:focus {
	outline: none;
	border-color: rgba(0, 130, 196, 0.45);
	box-shadow: inset 0 1px 2px rgba(26, 29, 33, 0.04), 0 0 0 2px var(--sp-accent-soft);
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	flex: 0 0 auto;
	align-self: center;
	min-height: 2.125rem;
	height: auto;
	max-height: none;
	margin: 0 !important;
	padding: 0.35rem 0.7rem !important;
	border: none !important;
	border-radius: var(--sp-radius-xs);
	background: linear-gradient(180deg, var(--sp-accent-bright) 0%, var(--sp-accent) 100%) !important;
	color: #fff !important;
	font-size: 0.75rem !important;
	line-height: 1.25 !important;
	font-weight: 600;
	font-family: var(--sp-font);
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 90, 140, 0.12);
	transition: filter 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	white-space: nowrap;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Theme adds `.button` to inner label — strip second background so Apply matches input height */
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button .wc-block-components-button__text,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button .wc-block-components-button__text.button {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not(:disabled) {
	filter: brightness(1.05);
	box-shadow: 0 2px 6px rgba(0, 130, 196, 0.28);
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:active:not(:disabled) {
	transform: translateY(1px);
}

body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:disabled,
body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	filter: none;
	box-shadow: none;
}

@media (max-width: 380px) {
	body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form {
		flex-wrap: wrap;
	}

	body.solatube-cart-revamp .wc-block-cart__sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
		flex: 1 1 auto;
		width: 100%;
	}
}
/* Checkout — own card, visually paired with summary */
body.solatube-cart-revamp .wc-block-cart__submit-container {
	margin: 0 !important;
	padding: 1.25rem 1.35rem 1.35rem;
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

body.solatube-cart-revamp .wc-block-cart__submit-container .wc-block-components-button,
body.solatube-cart-revamp .wc-block-cart__submit-button {
	margin-top: 0 !important;
	width: 100%;
	justify-content: center;
	display: flex !important;
	align-items: center !important;
	border-radius: var(--sp-radius-sm) !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	min-height: 3.25rem !important;
	background: linear-gradient(180deg, var(--sp-accent-bright) 0%, var(--sp-accent) 100%) !important;
	border: 1px solid rgba(0, 0, 0, 0.04) !important;
	color: #fff !important;
	box-shadow: 0 1px 2px rgba(0, 60, 96, 0.12), 0 8px 20px rgba(0, 120, 185, 0.22) !important;
	transition: filter 0.15s ease, transform 0.18s ease, box-shadow 0.2s ease !important;
}

body.solatube-cart-revamp .wc-block-cart__submit-container .wc-block-components-button:hover,
body.solatube-cart-revamp .wc-block-cart__submit-button:hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(0, 60, 96, 0.14), 0 12px 28px rgba(0, 120, 185, 0.28) !important;
}

/* Single flat fill: theme `.button` on inner __text caused a darker inset panel */
body.solatube-cart-revamp .wc-block-cart__submit-container .wc-block-components-button__text,
body.solatube-cart-revamp .wc-block-cart__submit-container .wc-block-components-button__text.button {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #fff !important;
}

/* Cart hero title + subtitle: see `.solatube-cart-page-hero` block at end of file. */

/* Cross-sells */
body.solatube-cart-revamp .wc-block-cart__cross-sells {
	margin-top: 2.5rem;
	padding: 1.5rem 1.35rem;
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	transition: box-shadow 0.22s ease;
}

body.solatube-cart-revamp .wc-block-cart__cross-sells h2 {
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin-bottom: 1rem;
	color: var(--sp-text);
}

/* Mobile (viewport): horizontal gutters only + no hairline dividers between lines */
@media (max-width: 599px) {
	body.solatube-cart-revamp .wc-block-cart {
		padding: 0 clamp(0.75rem, 4vw, 1.125rem) 0;
		box-sizing: border-box;
	}

	body.solatube-cart-revamp .wc-block-cart-items__header th {
		border-bottom: none !important;
	}

	body.solatube-cart-revamp .wc-block-cart-items__row td {
		border-top: none !important;
	}

	body.solatube-cart-revamp .wc-block-cart__grid {
		gap: 1.2rem;
	}

	body.solatube-cart-revamp .wc-block-cart__main {
		border-radius: var(--sp-radius);
	}

	body.solatube-cart-revamp .wc-block-cart-items__header th,
	body.solatube-cart-revamp .wc-block-cart-items__row td {
		padding-left: clamp(0.75rem, 3.5vw, 1rem);
		padding-right: clamp(0.75rem, 3.5vw, 1rem);
	}

	body.solatube-cart-revamp .wc-block-components-product-name {
		font-size: 1.02rem;
	}

	body.solatube-cart-revamp .wc-block-components-product-metadata {
		margin-top: 0.4rem;
		margin-bottom: 0.65rem;
		font-size: var(--solatube-desc-font-size, 17px);
		line-height: 1.55;
	}

	body.solatube-cart-revamp .wc-block-cart__cross-sells {
		padding: 1.15rem clamp(0.75rem, 3vw, 1rem);
	}

	body.solatube-cart-revamp .solatube-cart-page-hero-outer,
	body.solatube-checkout-revamp .solatube-cart-page-hero-outer {
		padding-top: 0;
		padding-bottom: 0;
		padding-left: clamp(0.75rem, 4vw, 1.125rem);
		padding-right: clamp(0.75rem, 4vw, 1.125rem);
	}
}

/*
 * Narrow cart block (WooCommerce uses this for the stacked grid, not only viewport width).
 * Eases the qty + remove + line total row and adds horizontal breathing room on the row.
 */
@container (max-width: 699px) {
	/* Line totals were clipped by the card + squeezed grid cell */
	body.solatube-cart-revamp .wc-block-cart__main {
		overflow: visible;
	}

	/* WooCommerce adds row border-bottom in stacked mode — remove for a cleaner list */
	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row {
		border-bottom: none !important;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td {
		border-top: none !important;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header th {
		border-bottom: none !important;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		padding: 1.1rem clamp(0.65rem, 3vw, 0.95rem) 1.2rem;
		row-gap: 0.8rem;
		column-gap: 0.65rem;
		grid-template-columns: 72px minmax(0, 1fr);
	}

	/* Stacked layout: keep thumb tall beside title + line total + qty rows */
	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__image {
		grid-column: 1;
		grid-row: 1 / -1;
		align-self: start;
		padding-right: 0.6rem;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__product {
		grid-column: 2 / -1;
		grid-row: 1;
		min-width: 0;
		justify-self: stretch;
	}

	/*
	 * Woo leaves line total on row 1 with almost no width — amounts get clipped.
	 * Own row under copy, right-aligned, slightly smaller type.
	 */
	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__total {
		grid-column: 2 / -1;
		grid-row: 2;
		justify-self: end;
		align-self: center;
		text-align: right;
		padding: 0.2rem 0 0 0.5rem;
		margin: 0;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
		overflow: visible;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total .wc-block-formatted-money-amount {
		font-size: 1rem !important;
		letter-spacing: -0.01em;
		white-space: nowrap;
	}

	/*
	 * Woo puts this cell in grid column 1 (~80px) so the stepper + remove wrap.
	 * Span full row so the remove icon sits inline to the right of the qty control.
	 */
	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__quantity {
		grid-column: 1 / -1;
		grid-row-start: 3;
		justify-self: stretch;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		align-self: center;
		padding-right: 0;
		padding-top: 0.35rem;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: 0.5rem;
		width: 100%;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
		margin-top: 0;
		flex: 0 0 auto;
	}

	body.solatube-cart-revamp .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
		margin-top: 0 !important;
		margin-left: 0.45rem !important;
		flex-shrink: 0;
	}

	body.solatube-cart-revamp .wc-block-components-product-metadata {
		margin-bottom: 0.7rem;
	}

	body.solatube-cart-revamp .wc-block-cart .wc-block-components-quantity-selector {
		min-width: min(100%, 8.75rem);
	}

	body.solatube-cart-revamp .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
		min-width: 2.1rem;
		max-width: 2.75rem;
		min-height: 2.45rem;
	}

	body.solatube-cart-revamp .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
		min-height: 2.45rem;
	}
}

/* ----- Cart / checkout hero (split: copy left, feature image right) — mirrors premium shop hero ----- */
body.solatube-cart-revamp .solatube-cart-page-hero-outer,
body.solatube-checkout-revamp .solatube-cart-page-hero-outer {
	max-width: var(--container-max-width, var(--solatube-wc-page-max, 1140px));
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.25rem 0;
	margin-top: 0;
	margin-bottom: 0.35rem;
}

body.solatube-cart-revamp .solatube-cart-page-hero,
body.solatube-checkout-revamp .solatube-cart-page-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	height: clamp(200px, 13vw, 270px);
	min-height: 200px;
	max-height: 270px;
	border-radius: var(--solatube-hero-radius, clamp(16px, 1.35vw, 24px));
	overflow: hidden;
	box-shadow: var(--sp-shadow);
	background: #0078b9;
}

/* Image column (right) */
body.solatube-cart-revamp .solatube-cart-page-hero__col--visual,
body.solatube-checkout-revamp .solatube-cart-page-hero__col--visual {
	position: relative;
	min-height: 0;
	order: 1;
	background-color: #0078b9;
	background-image: var(--solatube-cart-hero-image);
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
}

body.solatube-cart-revamp .solatube-cart-page-hero__col--visual::after,
body.solatube-checkout-revamp .solatube-cart-page-hero__col--visual::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(0, 120, 185, 0.38) 0%,
		rgba(0, 120, 185, 0.1) 60%,
		rgba(0, 70, 108, 0.12) 100%
	);
	pointer-events: none;
}

body.solatube-cart-revamp .solatube-cart-page-hero--no-image .solatube-cart-page-hero__col--visual,
body.solatube-checkout-revamp .solatube-cart-page-hero--no-image .solatube-cart-page-hero__col--visual {
	background-image: linear-gradient(135deg, #0095de 0%, #0082c4 50%, #006699 100%);
}

body.solatube-cart-revamp .solatube-cart-page-hero--no-image .solatube-cart-page-hero__col--visual::after,
body.solatube-checkout-revamp .solatube-cart-page-hero--no-image .solatube-cart-page-hero__col--visual::after {
	opacity: 0.55;
}

/* Copy column (left) */
body.solatube-cart-revamp .solatube-cart-page-hero__col--content,
body.solatube-checkout-revamp .solatube-cart-page-hero__col--content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 0.35rem;
	padding: 0.85rem 1.5rem 0.85rem 1.35rem;
	background: #0078b9;
	min-height: 0;
	order: 0;
}

body.solatube-cart-revamp .solatube-cart-page-hero__title,
body.solatube-checkout-revamp .solatube-cart-page-hero__title {
	margin: 0;
	max-width: 100%;
	font-family: var(--sp-font) !important;
	font-size: clamp(1.35rem, 2.8vw, 2.2rem);
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em;
	color: #fff !important;
}

body.solatube-cart-revamp .solatube-cart-page-hero__subtitle,
body.solatube-checkout-revamp .solatube-cart-page-hero__subtitle {
	margin: 0;
	max-width: 36rem;
	font-family: var(--sp-font);
	font-size: clamp(0.875rem, 1.5vw, 1rem);
	font-weight: 500;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.92);
	text-align: left;
}

@media (max-width: 782px) {
	body.solatube-cart-revamp .solatube-cart-page-hero-outer,
	body.solatube-checkout-revamp .solatube-cart-page-hero-outer {
		padding-top: 26px;
		padding-bottom: 0;
		padding-left: clamp(0.875rem, 4.5vw, 1.35rem);
		padding-right: clamp(0.875rem, 4.5vw, 1.35rem);
	}

	body.solatube-cart-revamp .wc-block-cart {
		padding: 0px clamp(0.875rem, 0.0vw, 0rem) 0rem;
		box-sizing: border-box;
	}

	body.solatube-cart-revamp .wc-block-cart__grid {
		gap: 1.65rem;
	}

	/* Match other cards: full radius (table stays inside; avoid overflow:hidden here — conflicts with narrow-cart totals) */
	body.solatube-cart-revamp .wc-block-cart__main {
		border-radius: var(--sp-radius);
	}

	body.solatube-cart-revamp .wc-block-cart .wp-block-woocommerce-cart-order-summary-block,
	body.solatube-cart-revamp .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
		border-radius: var(--sp-radius);
		margin-top: 26px;
	}

	/* Mirrored line list: more inset so meta prices don’t hug the edge */
	body.solatube-cart-revamp .solatube-cart-sidebar-lines {
		padding: 0.5rem 0.85rem 0.55rem;
	}

	body.solatube-cart-revamp .solatube-cart-sidebar-lines__row {
		padding: 0.5rem 0.35rem;
		gap: 0.5rem 0.85rem;
	}

	body.solatube-cart-revamp .solatube-cart-sidebar-lines__meta {
		padding-left: 0.35rem;
		font-size: 0.8rem;
	}

	body.solatube-cart-revamp .solatube-cart-page-hero,
	body.solatube-checkout-revamp .solatube-cart-page-hero {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		height: auto;
		max-height: none;
		min-height: clamp(140px, 32vw, 220px);
	}

	body.solatube-cart-revamp .solatube-cart-page-hero__col--visual,
	body.solatube-checkout-revamp .solatube-cart-page-hero__col--visual {
		order: 1;
		height: auto;
		align-self: stretch;
		min-height: clamp(120px, 36vw, 200px);
		background-position: center right;
	}

	body.solatube-cart-revamp .solatube-cart-page-hero__col--content,
	body.solatube-checkout-revamp .solatube-cart-page-hero__col--content {
		order: 0;
		padding: 1.1rem 1.15rem 1.1rem 1.25rem;
		align-items: flex-start;
	}

	body.solatube-cart-revamp .solatube-cart-page-hero__title,
	body.solatube-checkout-revamp .solatube-cart-page-hero__title {
		white-space: normal;
	}
}

/* ----- Checkout: Quote Summary (compact row: image + qty | title / meta / unit / line total) ----- */
body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #e4e9ef) !important;
	border-radius: clamp(20px, 2vw, 28px) !important;
	box-sizing: border-box;
	padding: 1.65rem 1.5rem 1.45rem;
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.45;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 2px 8px rgba(15, 23, 42, 0.04),
		0 14px 38px rgba(15, 23, 42, 0.075);
	transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block:hover {
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 2px 10px rgba(15, 23, 42, 0.05),
		0 18px 44px rgba(15, 23, 42, 0.09);
	border-color: #dde3ea !important;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	margin-top: 0;
	margin-bottom: 0.15rem;
}

body.solatube-checkout-revamp .wc-block-components-checkout-order-summary__title-text {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
	color: #101418 !important;
	line-height: 1.3 !important;
	margin: 0 0 1.05rem !important;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
	padding: 3px 0;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
	border-top: 0;
	padding-top: 0;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-cart-items-block {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0 0 0.85rem;
	box-shadow: none;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary {
	padding: 0 !important;
}

body.solatube-checkout-revamp .wc-block-components-order-summary .wc-block-components-order-summary__content {
	display: flex !important;
	flex-direction: column;
	gap: 0.75rem;
	width: 100%;
	padding: 0 !important;
}

/*
 * Checkout line: col1 = image + qty under | col2 = title → unit → × qty = total (one total only).
 */
body.solatube-checkout-revamp .wc-block-components-order-summary-item {
	position: relative;
	background: #fff;
	border: 1px solid rgba(228, 233, 239, 0.95);
	border-radius: 12px;
	padding: 0.75rem 0.9rem !important;
	margin: 0 !important;
	width: 100%;
	box-sizing: border-box;
	display: grid !important;
	grid-template-columns: 76px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 0.8rem;
	row-gap: 0.25rem;
	align-items: start;
	border-bottom: none !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	min-height: 0;
	overflow: visible;
}

/*
 * Woo renders a .screen-reader-text <span> between __description and __total-price.
 * With display:contents on __description, that span becomes a grid item and breaks
 * placement (content can disappear behind a zero cell or wrong row). Pull it out of flow.
 */
body.solatube-checkout-revamp .wc-block-components-order-summary-item > .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	left: 0;
	top: 0;
	grid-column: unset !important;
	grid-row: unset !important;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item:last-child {
	border-bottom: 0;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__image {
	display: block !important;
	position: relative;
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	width: 76px !important;
	margin: 0;
	padding-bottom: 0 !important;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__image > img {
	border-radius: 8px;
	border: 1px solid rgba(228, 233, 239, 0.9);
	max-width: 76px !important;
	width: 76px !important;
	box-shadow: none;
}

/*
 * Checkout Quote Summary: hide Woo’s corner qty badge — qty is only in the compact stepper below.
 * Avoids “number flashes on the image then vanishes” while JS mounts.
 */
body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity {
	display: none !important;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	grid-column: 2;
	grid-row: 1;
	gap: 0.15rem;
	min-width: 0;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > * {
	order: 5;
	min-width: 0;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > .wc-block-components-product-name,
body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > h3 {
	order: 1;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > .solatube-checkout-summary-short-desc {
	order: 2;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > .solatube-checkout-summary-components-line {
	order: 3;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > .wc-block-components-product-metadata {
	order: 4;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description > .wc-block-cart-item__prices {
	order: 5;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item__description .wc-block-components-product-name,
body.solatube-checkout-revamp .wc-block-components-order-summary-item__description h3 {
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	color: #101418 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.015em;
	margin: 0 !important;
	padding-right: 0;
}

/* Cart-style composite line: blue title, short desc, Components line */
body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style .wc-block-components-order-summary-item__description {
	position: relative;
	padding-right: 5.5rem;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style .wc-block-components-product-name,
body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style .wc-block-components-order-summary-item__description h3 {
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: var(--sp-accent, #0082c4) !important;
	letter-spacing: -0.02em;
}

body.solatube-checkout-revamp .solatube-checkout-summary-detail-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem 0.85rem;
	width: 100%;
	margin: 0;
	font-size: var(--solatube-desc-font-size, 17px);
	line-height: 1.55;
	color: var(--sp-muted, #5a6570);
}

body.solatube-checkout-revamp .solatube-checkout-summary-short-desc {
	margin-top: 0.2rem;
}

body.solatube-checkout-revamp .solatube-checkout-summary-components-line {
	margin-top: 0.35rem;
}

body.solatube-checkout-revamp .solatube-checkout-summary-detail-row__text {
	flex: 1 1 auto;
	min-width: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.solatube-checkout-revamp .solatube-checkout-summary-components-line .solatube-checkout-summary-detail-row__text {
	-webkit-line-clamp: 3;
}

body.solatube-checkout-revamp .solatube-checkout-summary-detail-row__price {
	flex: 0 0 auto;
	align-self: flex-start;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--sp-text, #101418);
	font-size: var(--solatube-desc-font-size, 17px);
	text-align: right;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style .wc-block-cart-item__prices {
	display: none !important;
}

body.solatube-checkout-revamp .wc-block-components-order-summary-item .wc-block-cart-item__prices {
	margin-top: 0.2rem;
	font-size: 0.875rem;
	font-weight: 400;
	color: #101418;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-order-summary-item
	> .solatube-checkout-summary-line-equation {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	display: block;
	margin: 0.15rem 0 0;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	color: #101418;
	letter-spacing: -0.015em;
	min-width: 0;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Match quote mockup: title + unit price only (no variation / meta block under title). */
body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-metadata {
	display: none !important;
}

/* Line total top-right (cart-style composites); equation row for simple products */
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-order-summary-item__total-price {
	display: none !important;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style > .wc-block-components-order-summary-item__total-price {
	display: block !important;
	position: absolute;
	top: 0.75rem;
	right: 0.9rem;
	left: auto;
	grid-column: unset;
	grid-row: unset;
	margin: 0;
	padding: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sp-text, #101418);
	letter-spacing: -0.02em;
	text-align: right;
	white-space: nowrap;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style > .solatube-checkout-summary-line-equation {
	display: none !important;
}

body.solatube-checkout-revamp .wc-block-components-order-summary .wc-block-components-order-summary-item::after {
	display: none !important;
	content: none !important;
}

/* Qty: under image by default; below content on cart-style composite rows */
body.solatube-checkout-revamp .solatube-checkout-summary-qty-host {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	width: 100%;
	max-width: 76px;
	margin: 0.15rem 0 0;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style {
	grid-template-rows: auto auto;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style .wc-block-components-order-summary-item__image {
	grid-row: 1 / span 2;
}

body.solatube-checkout-revamp .solatube-checkout-summary-item--cart-style .solatube-checkout-summary-qty-host {
	grid-column: 2;
	grid-row: 2;
	max-width: none;
	width: auto;
	min-width: 9rem;
	margin: 0.5rem 0 0;
}

body.solatube-checkout-revamp .solatube-checkout-summary-qty-host--dropdown {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
}

body.solatube-checkout-revamp .solatube-checkout-summary-qty-note {
	font-size: 0.6875rem;
	color: var(--sp-muted, #5a6570);
	line-height: 1.35;
}

body.solatube-checkout-revamp .solatube-checkout-qty-select {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.32rem 1.35rem 0.32rem 0.38rem;
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.25;
	color: #101418;
	background-color: #fff;
	border: 1px solid #cfd6de;
	border-radius: 6px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7380' d='M2 4h8L6 9 2 4z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.3rem center;
	background-size: 10px 10px;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

body.solatube-checkout-revamp .solatube-checkout-qty-select:hover {
	border-color: #b8c0ca;
	background-color: #fafbfc;
}

body.solatube-checkout-revamp .solatube-checkout-qty-select:focus {
	outline: none;
	border-color: #8aa4b8;
	box-shadow: 0 0 0 2px rgba(0, 120, 185, 0.12);
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-row {
	display: none;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-row.is-open {
	display: flex;
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-input {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0.25rem 0.3rem;
	font-family: inherit;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.2;
	color: #101418;
	border: 1px solid #cfd6de;
	border-radius: 6px;
	background: #fff;
	-moz-appearance: textfield;
	appearance: textfield;
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-input::-webkit-outer-spin-button,
body.solatube-checkout-revamp .solatube-checkout-qty-custom-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-input:focus {
	outline: none;
	border-color: #8aa4b8;
	box-shadow: 0 0 0 2px rgba(0, 120, 185, 0.1);
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-apply {
	width: 100%;
	margin: 0;
	padding: 0.28rem 0.35rem;
	font-family: inherit;
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	background: #3a4149;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
	touch-action: manipulation;
}

body.solatube-checkout-revamp .solatube-checkout-qty-custom-apply:hover {
	background: #2a3036;
}

body.solatube-checkout-revamp .solatube-checkout-summary-qty-host[data-solatube-busy='1'] .solatube-checkout-qty-select,
body.solatube-checkout-revamp .solatube-checkout-summary-qty-host[data-solatube-busy='1'] .solatube-checkout-qty-custom-row {
	opacity: 0.55;
	pointer-events: none;
}

/* Totals stack — no inner hairline (outer quote summary card already has a border). */
body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-totals-block {
	border-top: none;
	padding-top: 0.85rem;
	margin-top: 0.25rem;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item {
	padding-top: 0.45rem;
	padding-bottom: 0.45rem;
}

/* Order summary shipping — less space under subtotal / prior rows; bold method label (e.g. dealer quote). */
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-totals-shipping__options {
	margin-top: 0.15rem !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-totals-shipping
	.wc-block-components-shipping-address,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-totals-shipping
	.wc-block-components-totals-shipping__delivery-options-notice {
	margin-top: 0.35rem !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-totals-item {
	padding-top: 0.2rem !important;
	padding-bottom: 0.3rem !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-totals-item__label,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-radio-control__label,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-radio-control__option-title {
	font-weight: 700 !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wp-block-woocommerce-checkout-order-summary-shipping-block
	.wc-block-components-radio-control__option {
	padding-top: 0.3rem !important;
	padding-bottom: 0.3rem !important;
}

/* Slightly tighter subtotal row so shipping quote sits closer (Woo stacks subtotal then shipping in totals). */
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-totals-block
	.wp-block-woocommerce-checkout-order-summary-subtotal-block
	.wc-block-components-totals-item {
	padding-bottom: 0.2rem !important;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item {
	border-top: none;
	margin-top: 0.85rem;
	padding-top: 0.85rem;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 1rem;
	font-weight: 700;
	color: var(--sp-text);
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--sp-accent);
	letter-spacing: -0.03em;
}

body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	font-size: 0.8125rem;
	color: var(--sp-muted);
	margin-top: 0.35rem;
}

/* Applied coupons: tidy chips; hide “Enter code + Apply” while a chip exists (remove shows form again via :has). */
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block:has(.wc-block-components-totals-discount__coupon-list li)
	.wc-block-components-totals-coupon__form {
	display: none !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block:has(.wc-block-components-totals-discount__coupon-list li)
	.wc-block-components-totals-coupon {
	margin-top: 0.25rem;
	padding-top: 0.35rem;
	border-top: none;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-discount__coupon-list {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-discount__coupon-list
	> li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-discount__coupon-list
	.wc-block-components-chip {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.3;
	padding: 0.22rem 0.45rem 0.22rem 0.5rem;
	border-radius: 6px;
	background: linear-gradient(180deg, #f6f8fb 0%, #e8edf4 100%);
	border: 1px solid #b8c2cf;
	color: #1a2230;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-discount__coupon-list
	.wc-block-components-chip
	.wc-block-components-chip__remove {
	border-radius: 4px;
	opacity: 0.72;
	transition: opacity 0.12s ease, background 0.12s ease;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-discount__coupon-list
	.wc-block-components-chip
	.wc-block-components-chip__remove:hover {
	opacity: 1;
	background: rgba(26, 34, 48, 0.08);
}

/* Coupon row — compact field + Apply; no top rule (avoids double lines with totals / total). */
body.solatube-checkout-revamp .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon {
	margin-top: 0.25rem;
	padding: 0.3rem 0 0;
	border-top: none;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon.wc-block-components-panel
	> .wc-block-components-panel__button,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	> .wc-block-components-panel__button {
	display: none !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-panel__content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	display: block !important;
	max-height: none !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-panel__content[hidden] {
	display: block !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.35rem;
	width: 100%;
	margin: 0;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-text-input.wc-block-components-totals-coupon__input,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__input {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	min-height: 1.75rem;
	margin: 0 !important;
	margin-top: 0 !important;
	position: relative;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-text-input__wrapper {
	display: block;
	width: 100%;
	position: relative;
	z-index: 0;
}

/* Placeholder hint (copy set in JS); Woo’s <label> stays for structure but is visually hidden — aria-label on input matches placeholder for SR. */
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-text-input
	label {
	opacity: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	white-space: nowrap !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-text-input
	input::placeholder,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	input[type='text']::placeholder {
	font-weight: 700;
	color: #5f6770;
	opacity: 1;
	text-align: left !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	letter-spacing: 0.02em;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-text-input
	input:focus::placeholder,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	input[type='text']:focus::placeholder {
	opacity: 0;
	transition: opacity 0.12s ease;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-text-input
	input,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	input[type='text'] {
	width: 100%;
	box-sizing: border-box;
	height: 1.75rem;
	min-height: 1.75rem;
	padding: 0.2rem 0.45rem;
	border: 1px solid #c9d0d9;
	border-radius: 6px;
	background: #f4f6f9;
	font-size: 0.75rem;
	line-height: 1.35;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	color: #1a1d21;
	text-align: left !important;
	letter-spacing: 0.03em;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon
	.wc-block-components-text-input
	input:focus,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	input[type='text']:focus {
	outline: none;
	background: #fff;
	border-color: rgba(0, 130, 196, 0.55);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 2px var(--sp-accent-soft);
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button {
	flex: 0 0 auto;
	align-self: center;
	min-height: 1.75rem;
	height: 1.75rem;
	max-height: none;
	margin: 0 !important;
	padding: 0 0.55rem !important;
	border: none !important;
	border-radius: 6px;
	background: linear-gradient(180deg, var(--sp-accent-bright) 0%, var(--sp-accent) 100%) !important;
	color: #fff !important;
	font-size: 0.6875rem !important;
	line-height: 1.2 !important;
	font-weight: 700;
	font-family: var(--sp-font);
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 60, 96, 0.18);
	transition: filter 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	white-space: nowrap;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button
	.wc-block-components-button__text,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button
	.wc-block-components-button__text.button {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button:hover:not(:disabled) {
	filter: brightness(1.05);
	box-shadow: 0 2px 6px rgba(0, 130, 196, 0.28);
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button:active:not(:disabled) {
	transform: translateY(1px);
}

body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button:disabled,
body.solatube-checkout-revamp
	.wp-block-woocommerce-checkout-order-summary-block
	.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__button[aria-disabled='true'] {
	opacity: 0.55;
	cursor: not-allowed;
	filter: none;
	box-shadow: none;
}

@media (max-width: 380px) {
	body.solatube-checkout-revamp
		.wp-block-woocommerce-checkout-order-summary-block
		.wc-block-components-totals-coupon__form {
		flex-wrap: wrap;
	}

	body.solatube-checkout-revamp
		.wp-block-woocommerce-checkout-order-summary-block
		.wc-block-components-totals-coupon__form
		.wc-block-components-totals-coupon__button {
		flex: 1 1 auto;
		width: 100%;
	}
}

/* Mobile: hide Woo’s main-column clone; keep sidebar Quote Summary (collapsible). */
@media (max-width: 767px) {
	body.solatube-checkout-revamp
		.wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
		display: none !important;
	}
}

/* Checkout main column: white panels + same shadow language as Quote Summary */
body.solatube-checkout-revamp .wc-block-components-form .wc-block-components-checkout-step {
	background: #fff !important;
	border: 1px solid #e8ecf1 !important;
	border-radius: 14px !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 2px 8px rgba(15, 23, 42, 0.04),
		0 10px 36px rgba(15, 23, 42, 0.07);
	margin: 0 0 1.25rem !important;
	padding: 1.25rem 1.35rem 1.1rem !important;
	box-sizing: border-box;
}

/* Main checkout column: field + label sizes aligned with quote summary (~14px body, slightly smaller floating labels). */
body.solatube-checkout-revamp .wc-block-checkout__main {
	font-size: 0.875rem;
	line-height: 1.45;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkout-step__title,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-title.wc-block-components-checkout-step__title,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkout-step > .wc-block-components-title {
	font-size: 1.05rem !important;
	line-height: 1.3 !important;
	letter-spacing: -0.02em;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkout-step__content > * {
	margin-bottom: 0.65rem !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkout-step__content > :last-child {
	margin-bottom: 0 !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-text-input input,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-text-input textarea {
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-text-input label {
	font-size: 0.75rem !important;
	line-height: 1.25 !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-text-input.is-active label,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-text-input:focus-within label {
	font-size: 0.6875rem !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-blocks-components-select,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-blocks-components-select .wc-blocks-components-select__select {
	font-size: 0.875rem !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-radio-control__label,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-radio-control__description,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-radio-control__secondary-label,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-radio-control__option-title {
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkbox-control__label,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkbox-control__description {
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-payment-method__label,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-payment-method__description,
body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-payment-method__text {
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
}

body.solatube-checkout-revamp .wc-block-checkout__main .wc-block-components-checkout-payment-methods {
	font-size: 0.875rem;
}

body.solatube-checkout-revamp .wc-block-checkout__actions {
	background: #fff;
	border: 1px solid #e8ecf1;
	border-radius: 14px;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 2px 8px rgba(15, 23, 42, 0.04),
		0 10px 36px rgba(15, 23, 42, 0.07);
	padding: 1.1rem 1.25rem;
	margin-top: 0.25rem;
	margin-bottom: 1.5rem;
	box-sizing: border-box;
}

body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-checkout__actions_row {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	width: 100%;
	box-sizing: border-box;
}

/* Return to cart — single line, never shrink; Place order uses margin-left: auto. */
body.solatube-checkout-revamp .wc-block-components-checkout-return-to-cart-button {
	display: inline-flex !important;
	align-items: center;
	flex-wrap: nowrap;
	flex: 0 0 auto;
	flex-shrink: 0;
	order: 0;
	max-width: none;
	min-width: 0;
	color: var(--sp-accent) !important;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 1.3;
	white-space: nowrap !important;
	padding: 0.55rem 0.65rem 0.55rem 1.85rem;
	border-radius: 10px;
	transition: background 0.15s ease, color 0.15s ease;
	text-align: left;
	box-sizing: border-box;
}

body.solatube-checkout-revamp .wc-block-components-checkout-return-to-cart-button:hover {
	background: rgba(0, 120, 185, 0.08);
	color: var(--sp-accent-bright) !important;
	text-decoration: none;
}

/* Place Order — grows on the right; never width:100% of row (that covered Return to cart). */
body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	order: 1;
	flex: 1 1 200px;
	margin-left: auto;
	width: auto !important;
	min-width: 0;
	max-width: min(100%, 22rem);
	box-sizing: border-box;
	background: linear-gradient(180deg, var(--sp-accent-bright) 0%, var(--sp-accent) 100%) !important;
	border: 1px solid rgba(0, 50, 80, 0.18) !important;
	border-radius: 12px !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.25) inset,
		0 2px 6px rgba(0, 60, 96, 0.12),
		0 8px 22px rgba(0, 120, 185, 0.28) !important;
	color: #fff !important;
	padding: 0.85rem 1.25rem !important;
	min-height: 3rem;
	transition: filter 0.15s ease, transform 0.18s ease, box-shadow 0.2s ease;
	text-align: center !important;
}

/* Woo “full width” modifier — keep gutter next to Return to cart on wide layouts. */
body.solatube-checkout-revamp
	.wc-block-checkout__actions
	.wc-block-checkout__actions_row
	.wc-block-components-checkout-place-order-button--full-width {
	width: auto !important;
	max-width: min(100%, 22rem);
}

@media (max-width: 540px) {
	body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-checkout__actions_row {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 0.85rem;
	}

	body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
		margin-left: 0 !important;
		max-width: none !important;
		width: 100% !important;
		flex: none !important;
	}
}

body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover:not(:disabled) {
	filter: brightness(1.06);
	transform: translateY(-1px);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.3) inset,
		0 3px 10px rgba(0, 60, 96, 0.16),
		0 12px 30px rgba(0, 120, 185, 0.32) !important;
}

body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:active:not(:disabled) {
	transform: translateY(0);
	filter: brightness(0.98);
}

body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
body.solatube-checkout-revamp .wc-block-checkout__actions .wc-block-components-checkout-place-order-button .wc-block-components-button__text.button {
	position: static !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	padding: 0 !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
	letter-spacing: 0.03em;
	text-align: center !important;
	white-space: nowrap;
}

/* ----- Hide Elementor marketing forms (Woo coupon panel stays visible) ----- */
body.solatube-cart-revamp.woocommerce-cart .elementor-widget-form,
body.solatube-checkout-revamp.woocommerce-checkout .elementor-widget-form {
	display: none !important;
}

/* Cart + checkout (Elementor post 18279): content width on wide viewports — matches shop container feel. */
@media (min-width: 768px) {
	body.solatube-cart-revamp.woocommerce-cart .elementor-18279 .elementor-element.elementor-element-79ba9efd,
	body.solatube-checkout-revamp.woocommerce-checkout .elementor-18279 .elementor-element.elementor-element-79ba9efd {
		--content-width: 95%;
	}
}

/* Cart + checkout: Elementor document / widget spacing (IDs from Elementor editor). */
body.solatube-cart-revamp.woocommerce-cart .elementor-18279 .elementor-element.elementor-element-495d6984,
body.solatube-checkout-revamp.woocommerce-checkout .elementor-18279 .elementor-element.elementor-element-495d6984 {
	--padding-top: 22px;
	--padding-bottom: 1px;
}

body.solatube-cart-revamp.woocommerce-cart .elementor-15171 .elementor-element.elementor-element-4b4df748,
body.solatube-checkout-revamp.woocommerce-checkout .elementor-15171 .elementor-element.elementor-element-4b4df748 {
	--display: flex;
	--padding-top: 1%;
	--padding-bottom: 1%;
}

body.solatube-cart-revamp.woocommerce-cart .elementor-16615 .elementor-element.elementor-element-7d8254e1 {
	--display: flex;
	--padding-top: 0%;
	--padding-bottom: 0%;
}

/* =============================================================================
 * Single product (classic WooCommerce + Elementor wrapper) — same tokens/cards
 * as cart/checkout (body.solatube-product-revamp + single-product).
 * ============================================================================= */

body.solatube-product-revamp.single-product {
	background: var(--sp-bg) !important;
	font-family: var(--sp-font);
	color: var(--sp-text);
	-webkit-font-smoothing: antialiased;
}

body.solatube-product-revamp.single-product .site-primary,
body.solatube-product-revamp.single-product #primary {
	background: transparent;
}

body.solatube-product-revamp.single-product .woocommerce-notices-wrapper {
	max-width: var(--container-max-width, var(--solatube-wc-page-max, 1140px));
	margin-left: auto;
	margin-right: auto;
	padding: 0 clamp(0.75rem, 4vw, 1.125rem);
	box-sizing: border-box;
}

body.solatube-product-revamp.single-product .woocommerce-breadcrumb {
	max-width: var(--container-max-width, var(--solatube-wc-page-max, 1140px));
	margin: 0.5rem auto 0.75rem;
	padding: 0 clamp(0.75rem, 4vw, 1.125rem);
	font-size: 0.8125rem;
	color: var(--sp-muted);
	box-sizing: border-box;
}

body.solatube-product-revamp.single-product .woocommerce-breadcrumb a {
	color: var(--sp-accent);
	text-decoration: none;
}

body.solatube-product-revamp.single-product .woocommerce-breadcrumb a:hover {
	text-decoration: underline;
}

body.solatube-product-revamp.single-product .woocommerce div.product {
	max-width: var(--container-max-width, var(--solatube-wc-page-max, 1140px));
	margin-left: auto;
	margin-right: auto;
	padding: 0 clamp(0.75rem, 4vw, 1.125rem) 2.5rem;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.35rem;
	align-items: start;
}

@media (min-width: 900px) {
	body.solatube-product-revamp.single-product .woocommerce div.product {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
		gap: 1.75rem;
	}
}

body.solatube-product-revamp.single-product .woocommerce div.product div.images,
body.solatube-product-revamp.single-product .woocommerce div.product div.summary {
	float: none !important;
	width: auto !important;
	max-width: 100%;
}

body.solatube-product-revamp.single-product .woocommerce div.product div.images {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: 1.15rem 1.15rem 1.25rem;
	box-sizing: border-box;
	transition:
		box-shadow 0.22s ease,
		border-color 0.22s ease;
}

body.solatube-product-revamp.single-product .woocommerce div.product div.images:hover {
	box-shadow: var(--sp-shadow-hover);
	border-color: #dde3ea;
}

body.solatube-product-revamp.single-product .woocommerce div.product div.summary {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: 1.35rem 1.45rem 1.4rem;
	box-sizing: border-box;
	transition:
		box-shadow 0.22s ease,
		border-color 0.22s ease;
}

body.solatube-product-revamp.single-product .woocommerce div.product div.summary:hover {
	box-shadow: var(--sp-shadow-hover);
	border-color: #dde3ea;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs,
body.solatube-product-revamp.single-product .woocommerce div.product .related,
body.solatube-product-revamp.single-product .woocommerce div.product .upsells {
	grid-column: 1 / -1;
}

body.solatube-product-revamp.single-product .woocommerce div.product .product_title {
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 0.65rem;
	color: var(--sp-text);
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-details__short-description {
	font-size: var(--solatube-desc-font-size, 17px);
	line-height: 1.55;
	color: var(--sp-muted);
	margin-bottom: 1rem;
}

body.solatube-product-revamp.single-product .woocommerce div.product p.price,
body.solatube-product-revamp.single-product .woocommerce div.product span.price {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--sp-text);
	margin: 0 0 1rem;
}

body.solatube-product-revamp.single-product .woocommerce div.product p.price del,
body.solatube-product-revamp.single-product .woocommerce div.product span.price del {
	font-weight: 500;
	color: var(--sp-muted);
	font-size: 0.95em;
}

body.solatube-product-revamp.single-product .woocommerce div.product p.price ins,
body.solatube-product-revamp.single-product .woocommerce div.product span.price ins {
	text-decoration: none;
}

body.solatube-product-revamp.single-product .woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.65rem 0.75rem;
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
}

body.solatube-product-revamp.single-product .woocommerce div.product form.cart .quantity {
	margin: 0;
}

body.solatube-product-revamp.single-product .woocommerce div.product form.cart .quantity .qty {
	min-width: 4rem;
	min-height: 3.1rem;
	padding: 0.35rem 0.5rem;
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius-sm);
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	background: var(--sp-surface-subtle);
	color: var(--sp-text);
	box-sizing: border-box;
}

body.solatube-product-revamp.single-product .woocommerce div.product form.cart .quantity .qty:focus {
	outline: 2px solid rgba(0, 120, 185, 0.35);
	outline-offset: 1px;
	border-color: var(--sp-accent);
	background: var(--sp-surface);
}

body.solatube-product-revamp.single-product .woocommerce div.product form.cart .button.alt,
body.solatube-product-revamp.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1 1 12rem;
	min-height: 3.1rem !important;
	padding: 0.65rem 1.25rem !important;
	border-radius: var(--sp-radius-sm) !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	background: linear-gradient(180deg, var(--sp-accent-bright) 0%, var(--sp-accent) 100%) !important;
	border: 1px solid rgba(0, 0, 0, 0.04) !important;
	color: #fff !important;
	box-shadow:
		0 1px 2px rgba(0, 60, 96, 0.12),
		0 8px 20px rgba(0, 120, 185, 0.22) !important;
	transition:
		filter 0.15s ease,
		transform 0.18s ease,
		box-shadow 0.2s ease !important;
}

body.solatube-product-revamp.single-product .woocommerce div.product form.cart .button.alt:hover,
body.solatube-product-revamp.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
	box-shadow:
		0 2px 6px rgba(0, 60, 96, 0.14),
		0 12px 28px rgba(0, 120, 185, 0.28) !important;
}

body.solatube-product-revamp.single-product .woocommerce div.product .summary .button:not(.single_add_to_cart_button):not(.alt) {
	border-radius: var(--sp-radius-sm) !important;
	font-weight: 600 !important;
	min-height: 2.75rem;
	padding: 0.5rem 1.1rem !important;
	border: 1px solid var(--sp-border) !important;
	background: var(--sp-surface-subtle) !important;
	color: var(--sp-accent) !important;
	box-shadow: none !important;
}

body.solatube-product-revamp.single-product .woocommerce div.product .summary .button:not(.single_add_to_cart_button):not(.alt):hover {
	background: #fff !important;
	border-color: #cdd5df !important;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: 0.35rem 0.5rem 1.15rem;
	overflow: hidden;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 0.75rem;
	padding: 0.35rem 0.35rem 0;
	border-bottom: 1px solid var(--sp-border);
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	list-style: none;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after {
	display: none !important;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.55rem 0.85rem;
	border-radius: var(--sp-radius-xs);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--sp-muted);
	text-decoration: none;
	border: 1px solid transparent;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--sp-text);
	background: var(--sp-surface-subtle);
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--sp-accent);
	background: rgba(0, 120, 185, 0.08);
	border-color: rgba(0, 120, 185, 0.15);
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-Tabs-panel {
	padding: 0.75rem 0.85rem 0.25rem;
	font-size: var(--solatube-desc-font-size, 17px);
	line-height: 1.55;
	color: var(--sp-text);
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-Tabs-panel h2 {
	font-size: 1.0625rem;
	font-weight: 600;
	margin: 0 0 0.65rem;
	color: var(--sp-text);
}

body.solatube-product-revamp.single-product .woocommerce div.product .related > h2,
body.solatube-product-revamp.single-product .woocommerce div.product .upsells > h2 {
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	padding: 0 0.15rem;
	color: var(--sp-text);
}

body.solatube-product-revamp.single-product .woocommerce div.product .related,
body.solatube-product-revamp.single-product .woocommerce div.product .upsells {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: 1.25rem 1.15rem 1.35rem;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-attributes {
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius-sm);
	overflow: hidden;
}

body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-attributes th,
body.solatube-product-revamp.single-product .woocommerce div.product .woocommerce-product-attributes td {
	padding: 0.55rem 0.75rem;
	font-size: 0.875rem;
}

body.solatube-product-revamp.single-product .woocommerce div.product table.variations {
	margin-bottom: 0.75rem;
}

body.solatube-product-revamp.single-product .woocommerce div.product table.variations select {
	min-height: 2.75rem;
	border-radius: var(--sp-radius-sm);
	border: 1px solid var(--sp-border);
	padding: 0.35rem 0.65rem;
	font-size: 0.9375rem;
	background: var(--sp-surface);
}

body.solatube-product-revamp.single-product .elementor-widget-n-accordion .e-n-accordion-item {
	background: var(--sp-surface);
	border: 1px solid var(--sp-border);
	border-radius: var(--sp-radius-sm);
	margin-bottom: 0.6rem;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.solatube-product-revamp.single-product .elementor-widget-n-accordion .e-n-accordion-item-title {
	padding: 0.85rem 1rem;
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--sp-text);
}

body.solatube-product-revamp.single-product .elementor-widget-n-accordion .e-n-accordion-item-title:hover {
	background: var(--sp-surface-subtle);
}

body.solatube-product-revamp.single-product .elementor-widget-n-accordion .e-n-accordion-item-content {
	padding: 0 1rem 1rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--sp-text);
}

@media (max-width: 599px) {
	/* Flipkart PDP has its own mobile purchase bar in single-product-pdp.css */
	body.solatube-product-revamp.single-product:not(.solatube-pdp-flipkart) .woocommerce div.product form.cart {
		flex-direction: column;
		align-items: stretch;
	}

	body.solatube-product-revamp.single-product:not(.solatube-pdp-flipkart) .woocommerce div.product form.cart .button.alt,
	body.solatube-product-revamp.single-product:not(.solatube-pdp-flipkart) .woocommerce div.product form.cart .single_add_to_cart_button {
		flex: 1 1 auto;
		width: 100%;
	}
}

/* Single product: floating back to shop */
body.solatube-product-revamp.single-product .solatube-return-to-shop {
	position: fixed;
	z-index: 99990;
	left: max(14px, env(safe-area-inset-left, 0px));
	bottom: max(18px, env(safe-area-inset-bottom, 0px));
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 1rem 0.65rem 0.75rem;
	border-radius: 999px;
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #e4e9ef);
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.06),
		0 8px 24px rgba(15, 23, 42, 0.12);
	color: var(--sp-text, #101418);
	font-family: var(--sp-font, system-ui, sans-serif);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	letter-spacing: -0.01em;
	transition:
		transform 0.18s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease,
		color 0.15s ease;
}

body.solatube-product-revamp.single-product .solatube-return-to-shop:hover {
	color: var(--sp-accent, #0078b9);
	border-color: rgba(0, 120, 185, 0.35);
	box-shadow:
		0 2px 6px rgba(15, 23, 42, 0.08),
		0 12px 32px rgba(0, 120, 185, 0.16);
	transform: translateY(-2px);
	text-decoration: none;
}

body.solatube-product-revamp.single-product .solatube-return-to-shop:focus-visible {
	outline: 2px solid var(--sp-accent, #0078b9);
	outline-offset: 3px;
}

body.solatube-product-revamp.single-product .solatube-return-to-shop__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--sp-accent, #0078b9);
}

body.solatube-product-revamp.single-product .solatube-return-to-shop__text {
	white-space: nowrap;
}

@media (max-width: 767px) {
	body.solatube-product-revamp.single-product .solatube-return-to-shop {
		left: max(12px, env(safe-area-inset-left, 0px));
		bottom: max(14px, env(safe-area-inset-bottom, 0px));
		font-size: 0.8125rem;
		padding: 0.55rem 0.85rem 0.55rem 0.65rem;
	}
}

@media (max-width: 380px) {
	body.solatube-product-revamp.single-product .solatube-return-to-shop__text {
		display: none;
	}

	body.solatube-product-revamp.single-product .solatube-return-to-shop {
		padding: 0.65rem;
		border-radius: 50%;
	}

	body.solatube-product-revamp.single-product .solatube-return-to-shop__icon svg {
		width: 20px;
		height: 20px;
	}
}

@media print {
	body.solatube-product-revamp.single-product .solatube-return-to-shop {
		display: none !important;
	}
}
