/**
 * Visual Pro Chrome — Ribbon + Atmosphere (Club 3 Artes brand).
 * Shared across Cart / Checkout / Thank You / Wishlist.
 */

/* —— Shared card targets —— */
:is(
	.c3ace-vpro-ribbon .c3ace-wishlist-item,
	.c3ace-vpro-ribbon .c3ace-wishlist-empty,
	.c3ace-vpro-ribbon .c3ace-wishlist-hero,
	.c3ace-vpro-ribbon .c3ace-wishlist-items--table,
	.c3ace-vpro-ribbon .c3ace-card,
	.c3ace-vpro-ribbon .c3ace-vpro-target,
	.c3ace-vpro-ribbon .c3ace-cart-preview-item,
	.c3ace-vpro-ribbon .c3ace-cart-aside-card,
	.c3ace-vpro-ribbon .c3ace-cart-hero,
	.c3ace-vpro-ribbon .c3ace-cart-preview__empty,
	.c3ace-vpro-ribbon .c3ace-cart-preview__reco,
	.c3ace-vpro-ribbon .c3ace-checkout-preview__form,
	.c3ace-vpro-ribbon .c3ace-checkout-preview__summary,
	.c3ace-vpro-ribbon .c3ace-thankyou-block,
	.c3ace-vpro-ribbon .c3ace-thankyou-hero,
	.c3ace-vpro-ribbon .woocommerce-order-overview,
	.c3ace-vpro-ribbon .woocommerce-order-details,
	.c3ace-vpro-ribbon .woocommerce-customer-details,
	.c3ace-vpro-ribbon .woocommerce-cart-form,
	.c3ace-vpro-ribbon .c3ace-cart-recommendations,
	.c3ace-vpro-ribbon .c3ace-cart-coupon-card--main,
	.c3ace-vpro-ribbon .c3ace-cart-empty,
	.c3ace-vpro-ribbon .cart_totals,
	.c3ace-vpro-ribbon .c3ace-checkout-summary,
	.c3ace-vpro-ribbon .wc-block-components-sidebar,
	.c3ace-vpro-ribbon .wp-block-woocommerce-checkout-order-summary-block,
	.c3ace-vpro-ribbon .wc-block-order-confirmation-totals-wrapper,
	.c3ace-vpro-ribbon .wc-block-order-confirmation-status,
	.c3ace-vpro-ribbon .wp-block-woocommerce-order-confirmation-totals-wrapper
) {
	position: relative;
	overflow: hidden;
}

:is(
	.c3ace-vpro-ribbon .c3ace-wishlist-item,
	.c3ace-vpro-ribbon .c3ace-wishlist-empty,
	.c3ace-vpro-ribbon .c3ace-wishlist-hero,
	.c3ace-vpro-ribbon .c3ace-wishlist-items--table,
	.c3ace-vpro-ribbon .c3ace-card,
	.c3ace-vpro-ribbon .c3ace-vpro-target,
	.c3ace-vpro-ribbon .c3ace-cart-preview-item,
	.c3ace-vpro-ribbon .c3ace-cart-aside-card,
	.c3ace-vpro-ribbon .c3ace-cart-hero,
	.c3ace-vpro-ribbon .c3ace-cart-preview__empty,
	.c3ace-vpro-ribbon .c3ace-cart-preview__reco,
	.c3ace-vpro-ribbon .c3ace-checkout-preview__form,
	.c3ace-vpro-ribbon .c3ace-checkout-preview__summary,
	.c3ace-vpro-ribbon .c3ace-thankyou-block,
	.c3ace-vpro-ribbon .c3ace-thankyou-hero,
	.c3ace-vpro-ribbon .woocommerce-order-overview,
	.c3ace-vpro-ribbon .woocommerce-order-details,
	.c3ace-vpro-ribbon .woocommerce-customer-details,
	.c3ace-vpro-ribbon .woocommerce-cart-form,
	.c3ace-vpro-ribbon .c3ace-cart-recommendations,
	.c3ace-vpro-ribbon .c3ace-cart-coupon-card--main,
	.c3ace-vpro-ribbon .c3ace-cart-empty,
	.c3ace-vpro-ribbon .cart_totals,
	.c3ace-vpro-ribbon .c3ace-checkout-summary,
	.c3ace-vpro-ribbon .wc-block-components-sidebar,
	.c3ace-vpro-ribbon .wp-block-woocommerce-checkout-order-summary-block,
	.c3ace-vpro-ribbon .wc-block-order-confirmation-totals-wrapper,
	.c3ace-vpro-ribbon .wc-block-order-confirmation-status,
	.c3ace-vpro-ribbon .wp-block-woocommerce-order-confirmation-totals-wrapper
)::before {
	content: "" !important;
	position: absolute !important;
	z-index: 4 !important;
	pointer-events: none !important;
	opacity: var(--c3ace-ribbon-opacity, 1);
	background: var(--c3ace-ribbon-grad, linear-gradient(90deg, #2b78c5, #f5c518)) !important;
}

/* Positions */
.c3ace-vpro-ribbon-pos-top :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-wishlist-empty, .c3ace-wishlist-hero, .c3ace-wishlist-items--table, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .woocommerce-order-overview, .woocommerce-order-details, .woocommerce-customer-details, .woocommerce-cart-form, .c3ace-cart-recommendations, .c3ace-cart-coupon-card--main, .c3ace-cart-empty, .cart_totals, .c3ace-checkout-summary, .wc-block-components-sidebar, .wp-block-woocommerce-checkout-order-summary-block, .wc-block-order-confirmation-totals-wrapper, .wc-block-order-confirmation-status, .wp-block-woocommerce-order-confirmation-totals-wrapper)::before {
	top: 0 !important; left: 0 !important; right: 0 !important; bottom: auto !important;
	height: var(--c3ace-ribbon-size, 4px) !important;
	width: auto !important;
}

.c3ace-vpro-ribbon-pos-bottom :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-wishlist-empty, .c3ace-wishlist-hero, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .woocommerce-order-overview, .woocommerce-order-details, .woocommerce-customer-details, .woocommerce-cart-form, .c3ace-cart-recommendations, .c3ace-cart-coupon-card--main, .cart_totals, .c3ace-checkout-summary, .wc-block-components-sidebar, .wc-block-order-confirmation-totals-wrapper, .wc-block-order-confirmation-status)::before {
	bottom: 0 !important; top: auto !important; left: 0 !important; right: 0 !important;
	height: var(--c3ace-ribbon-size, 4px) !important;
	width: auto !important;
}

.c3ace-vpro-ribbon-pos-left :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-wishlist-empty, .c3ace-wishlist-hero, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .woocommerce-order-overview, .woocommerce-order-details, .woocommerce-customer-details, .woocommerce-cart-form, .c3ace-cart-recommendations, .c3ace-cart-coupon-card--main, .cart_totals, .c3ace-checkout-summary, .wc-block-components-sidebar, .wc-block-order-confirmation-totals-wrapper, .wc-block-order-confirmation-status)::before {
	top: 0 !important; bottom: 0 !important; left: 0 !important; right: auto !important;
	width: var(--c3ace-ribbon-size, 4px) !important;
	height: auto !important;
	background: var(--c3ace-ribbon-grad-v, var(--c3ace-ribbon-grad)) !important;
}

.c3ace-vpro-ribbon-pos-right :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-wishlist-empty, .c3ace-wishlist-hero, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .woocommerce-order-overview, .woocommerce-order-details, .woocommerce-customer-details, .woocommerce-cart-form, .c3ace-cart-recommendations, .c3ace-cart-coupon-card--main, .cart_totals, .c3ace-checkout-summary, .wc-block-components-sidebar, .wc-block-order-confirmation-totals-wrapper, .wc-block-order-confirmation-status)::before {
	top: 0 !important; bottom: 0 !important; right: 0 !important; left: auto !important;
	width: var(--c3ace-ribbon-size, 4px) !important;
	height: auto !important;
	background: var(--c3ace-ribbon-grad-v, var(--c3ace-ribbon-grad)) !important;
}

/* Ribbon style accents */
.c3ace-vpro-ribbon-style-glow :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	box-shadow: 0 0 14px color-mix(in srgb, var(--c3ace-ribbon-a, #2b78c5) 55%, transparent);
	filter: saturate(1.15);
}

.c3ace-vpro-ribbon-style-neon :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	box-shadow:
		0 0 8px color-mix(in srgb, var(--c3ace-ribbon-a, #2b78c5) 70%, transparent),
		0 0 18px color-mix(in srgb, var(--c3ace-ribbon-b, #f5c518) 45%, transparent);
	filter: saturate(1.35) brightness(1.08);
}

.c3ace-vpro-ribbon-style-glass :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	backdrop-filter: blur(2px);
	opacity: calc(var(--c3ace-ribbon-opacity, 1) * 0.88);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.c3ace-vpro-ribbon-style-metallic :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	background-size: 220% 100% !important;
	filter: saturate(1.1) contrast(1.05);
}

.c3ace-vpro-ribbon-style-orbit :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before,
.c3ace-vpro-ribbon-style-spectrum :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	background-size: 240% 100% !important;
}

/* Ribbon animations */
.c3ace-vpro-ribbon-fx-shimmer :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .c3ace-thankyou-hero, .c3ace-wishlist-hero, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	background-size: 200% 200% !important;
	animation: c3ace-vpro-ribbon-shimmer 2.8s linear infinite;
}
.c3ace-vpro-ribbon-fx-pulse :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	animation: c3ace-vpro-ribbon-pulse 2.2s ease-in-out infinite;
}
.c3ace-vpro-ribbon-fx-flow :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	background-size: 220% 220% !important;
	animation: c3ace-vpro-ribbon-flow 4s ease infinite;
}
.c3ace-vpro-ribbon-fx-breathe :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	animation: c3ace-vpro-ribbon-breathe 2.6s ease-in-out infinite;
}
.c3ace-vpro-ribbon-fx-orbit :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	background-size: 300% 100% !important;
	animation: c3ace-vpro-ribbon-orbit 5.5s ease-in-out infinite;
}
.c3ace-vpro-ribbon-fx-comet :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	background-size: 280% 100% !important;
	animation: c3ace-vpro-ribbon-comet 3.4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.c3ace-vpro-ribbon-fx-wave :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	transform-origin: center;
	animation: c3ace-vpro-ribbon-wave 2.8s ease-in-out infinite;
}
.c3ace-vpro-ribbon-fx-spark :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card, .c3ace-thankyou-block, .woocommerce-cart-form, .cart_totals, .c3ace-checkout-summary)::before {
	animation: c3ace-vpro-ribbon-spark 2.4s ease-in-out infinite;
}

@keyframes c3ace-vpro-ribbon-shimmer {
	0% { background-position: 0% 50%; }
	100% { background-position: 200% 50%; }
}
@keyframes c3ace-vpro-ribbon-pulse {
	0%, 100% { opacity: var(--c3ace-ribbon-opacity, 1); filter: brightness(1); }
	50% { opacity: calc(var(--c3ace-ribbon-opacity, 1) * 0.55); filter: brightness(1.25); }
}
@keyframes c3ace-vpro-ribbon-flow {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}
@keyframes c3ace-vpro-ribbon-breathe {
	0%, 100% { opacity: var(--c3ace-ribbon-opacity, 1); }
	50% { opacity: calc(var(--c3ace-ribbon-opacity, 1) * 0.4); }
}
@keyframes c3ace-vpro-ribbon-orbit {
	0% { background-position: 0% 50%; filter: hue-rotate(0deg); }
	50% { background-position: 100% 50%; filter: hue-rotate(12deg); }
	100% { background-position: 0% 50%; filter: hue-rotate(0deg); }
}
@keyframes c3ace-vpro-ribbon-comet {
	0% { background-position: -40% 50%; opacity: calc(var(--c3ace-ribbon-opacity, 1) * 0.55); }
	45% { opacity: var(--c3ace-ribbon-opacity, 1); }
	100% { background-position: 140% 50%; opacity: calc(var(--c3ace-ribbon-opacity, 1) * 0.7); }
}
@keyframes c3ace-vpro-ribbon-wave {
	0%, 100% { transform: scaleX(1); }
	50% { transform: scaleX(1.035); }
}
@keyframes c3ace-vpro-ribbon-spark {
	0%, 100% { filter: brightness(1) saturate(1); box-shadow: none; }
	40% { filter: brightness(1.35) saturate(1.35); box-shadow: 0 0 12px color-mix(in srgb, var(--c3ace-ribbon-b, #f5c518) 55%, transparent); }
	55% { filter: brightness(1.05); }
}

/* Studio theme swatches */
.c3ace-vpro-theme-swatch {
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	border-radius: 999px;
	margin-right: 0.35em;
	vertical-align: -0.15em;
	box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.12);
}


/* —— Atmosphere scope gates —— */
/* Full-page paint only when scope=full and atmosphere is on */
body.c3ace-vpro:not(.c3ace-vpro-atmo-scope-full)::before,
body.c3ace-vpro:not(.c3ace-vpro-atmo-scope-full)::after,
body.c3ace-vpro:not(.c3ace-vpro-atmo-on)::before,
body.c3ace-vpro:not(.c3ace-vpro-atmo-on)::after {
	content: none !important;
	display: none !important;
	animation: none !important;
	background: none !important;
}

/* Shell scope: contained atmosphere on commerce shells (Elementor header/footer stay clear) */
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-wishlist-shell,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-cart-shell,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-checkout-shell,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-thankyou-shell,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-wishlist-shell,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-cart-shell,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-checkout-shell,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-thankyou-shell {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--c3ace-atmo-base, #f3f7fb);
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-thankyou-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-wishlist-shell::after,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-cart-shell::after,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-checkout-shell::after,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-thankyou-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-wishlist-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-cart-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-checkout-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-thankyou-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-wishlist-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-cart-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-checkout-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-thankyou-shell::after {
	content: "";
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-thankyou-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-wishlist-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-cart-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-checkout-shell::before,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-thankyou-shell::before {
	opacity: var(--c3ace-atmo-intensity, 0.7);
	background:
		radial-gradient(120% 70% at 50% -10%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 26%, transparent), transparent 58%),
		radial-gradient(90% 55% at -5% 55%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 30%, transparent), transparent 60%),
		radial-gradient(85% 50% at 105% 70%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 24%, transparent), transparent 62%),
		var(--c3ace-atmo-base, #f3f7fb) !important;
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-wishlist-shell::after,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-cart-shell::after,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-checkout-shell::after,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-thankyou-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-wishlist-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-cart-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-checkout-shell::after,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-thankyou-shell::after {
	background: rgba(15, 23, 42, var(--c3ace-atmo-overlay, 0)) !important;
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-wishlist-shell > *,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-cart-shell > *,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-checkout-shell > *,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on .c3ace-thankyou-shell > *,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-wishlist-shell > *,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-cart-shell > *,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-checkout-shell > *,
.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-on.c3ace-thankyou-shell > * {
	position: relative;
	z-index: 1;
}

/* Mode variants on shell host (classes live on body and/or shell) */
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid .c3ace-thankyou-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid.c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid.c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid.c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-solid.c3ace-thankyou-shell::before {
	background: var(--c3ace-atmo-base, #f3f7fb) !important;
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-gradient .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-gradient .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-gradient .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-gradient .c3ace-thankyou-shell::before {
	background: linear-gradient(
		var(--c3ace-atmo-angle, 165deg),
		color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 22%, var(--c3ace-atmo-base, #f3f7fb)),
		color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 14%, var(--c3ace-atmo-base, #f3f7fb)) 48%,
		var(--c3ace-atmo-base, #f3f7fb)
	) !important;
	background-size: 180% 180%;
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-nocturne .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-nocturne .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-nocturne .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-nocturne .c3ace-thankyou-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-nocturne .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-nocturne .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-nocturne .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-nocturne .c3ace-thankyou-shell::before {
	background:
		radial-gradient(260px 180px at 15% 20%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 34%, transparent), transparent 62%),
		radial-gradient(220px 220px at 85% 15%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 22%, transparent), transparent 60%),
		linear-gradient(160deg, #070b14, var(--c3ace-atmo-base, #0b1220) 55%, #10182a) !important;
}

body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-spectrum .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-spectrum .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-spectrum .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-spectrum .c3ace-thankyou-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-spectrum .c3ace-wishlist-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-spectrum .c3ace-cart-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-spectrum .c3ace-checkout-shell::before,
body.c3ace-vpro-atmo-scope-shell.c3ace-vpro-atmo-mode-spectrum .c3ace-thankyou-shell::before {
	background:
		radial-gradient(200px 200px at 12% 18%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 32%, transparent), transparent 62%),
		radial-gradient(180px 180px at 42% 8%, color-mix(in srgb, var(--c3ace-atmo-lime, #6cb43c) 20%, transparent), transparent 60%),
		radial-gradient(210px 180px at 78% 22%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 26%, transparent), transparent 62%),
		radial-gradient(200px 200px at 88% 78%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 24%, transparent), transparent 64%),
		var(--c3ace-atmo-base, #f6f3fb) !important;
}

/* Legacy ambient off when VPro owns atmosphere */
body.c3ace-vpro-atmo-on.c3ace-wl-ambient-soft::before,
body.c3ace-vpro-atmo-on.c3ace-wl-ambient-mesh::before,
body.c3ace-vpro-atmo-on.c3ace-wl-ambient-aurora::before,
body.c3ace-vpro-atmo-on.c3ace-wl-ambient-lined::before,
body.c3ace-vpro-atmo-on.c3ace-cart-ambient-soft::before,
body.c3ace-vpro-atmo-on.c3ace-cart-ambient-mesh::before,
body.c3ace-vpro-atmo-on.c3ace-cart-ambient-aurora::before,
body.c3ace-vpro-atmo-on.c3ace-cart-ambient-lined::before,
body.c3ace-vpro-atmo-on.c3ace-checkout-ambient-soft::before,
body.c3ace-vpro-atmo-on.c3ace-checkout-ambient-mesh::before,
body.c3ace-vpro-atmo-on.c3ace-checkout-ambient-aurora::before,
body.c3ace-vpro-atmo-on.c3ace-checkout-ambient-lined::before,
body.c3ace-vpro-atmo-on.c3ace-ty-ambient-soft::before,
body.c3ace-vpro-atmo-on.c3ace-ty-ambient-mesh::before,
body.c3ace-vpro-atmo-on.c3ace-ty-ambient-aurora::before,
body.c3ace-vpro-atmo-on.c3ace-ty-ambient-lined::before {
	content: none !important;
	display: none !important;
	animation: none !important;
}

/* Dual ribbon: when VPro ribbon is on, re-assert VPro bar over legacy card_style ribbon */
body.c3ace-vpro-ribbon.c3ace-cart-cards-ribbon .woocommerce-cart-form::before,
body.c3ace-vpro-ribbon.c3ace-cart-cards-ribbon .c3ace-cart-recommendations::before,
body.c3ace-vpro-ribbon.c3ace-cart-cards-ribbon .c3ace-cart-coupon-card--main::before,
body.c3ace-vpro-ribbon.c3ace-cart-sidebar-ribbon .woocommerce-cart-form::before,
body.c3ace-vpro-ribbon.c3ace-cart-sidebar-ribbon .c3ace-cart-recommendations::before,
body.c3ace-vpro-ribbon.c3ace-cart-sidebar-ribbon .c3ace-cart-coupon-card--main::before,
body.c3ace-vpro-ribbon.c3ace-cart-sidebar-ribbon .c3ace-cart-aside-panel--ribbon::before,
body.c3ace-vpro-ribbon.c3ace-wl-cards-ribbon .c3ace-wishlist-item::before,
body.c3ace-vpro-ribbon.c3ace-wl-cards-ribbon .c3ace-wishlist-hero::before,
body.c3ace-vpro-ribbon.c3ace-ty-cards-ribbon .c3ace-thankyou-block::before,
body.c3ace-vpro-ribbon.c3ace-ty-cards-ribbon .c3ace-thankyou-hero::before {
	content: "" !important;
	position: absolute !important;
	z-index: 4 !important;
	pointer-events: none !important;
	opacity: var(--c3ace-ribbon-opacity, 1);
	background: var(--c3ace-ribbon-grad, linear-gradient(90deg, #2b78c5, #f5c518)) !important;
}

/* Studio preview: Elementor header/footer chrome when scope=shell */
.c3ace-vpro-preview-frame {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, 0.08);
	background: #e8edf3;
}
.c3ace-vpro-preview-frame__chrome {
	flex: 0 0 auto;
	padding: 8px 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #64748b;
	background: repeating-linear-gradient(
		-45deg,
		#eef2f7,
		#eef2f7 6px,
		#e8edf3 6px,
		#e8edf3 12px
	);
	border-bottom: 1px dashed rgba(100, 116, 139, 0.35);
}
.c3ace-vpro-preview-frame__chrome--footer {
	border-bottom: 0;
	border-top: 1px dashed rgba(100, 116, 139, 0.35);
}
.c3ace-vpro-preview-frame__body {
	flex: 1 1 auto;
	min-height: 0;
}
.c3ace-vpro-preview-frame.is-scope-full .c3ace-vpro-preview-frame__chrome,
.c3ace-vpro-preview-frame.is-scope-off .c3ace-vpro-preview-frame__chrome {
	display: none;
}
.c3ace-vpro-preview-frame.is-scope-off .c3ace-vpro-preview-frame__body {
	background: #fff;
}

/* —— Atmosphere: shared layer —— */
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-solid::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-gradient::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-orbit::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-spectrum::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-nocturne::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-orbit::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-spectrum::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-glow::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-studio::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-nocturne::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: var(--c3ace-atmo-intensity, 0.7);
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-solid::before {
	background: var(--c3ace-atmo-base, #f3f7fb) !important;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-gradient::before {
	background: linear-gradient(
		var(--c3ace-atmo-angle, 165deg),
		color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 22%, var(--c3ace-atmo-base, #f3f7fb)),
		color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 14%, var(--c3ace-atmo-base, #f3f7fb)) 48%,
		var(--c3ace-atmo-base, #f3f7fb)
	) !important;
	background-size: 180% 180%;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-mesh::before {
	background:
		radial-gradient(520px 520px at 8% 12%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 28%, transparent), transparent 60%),
		radial-gradient(460px 460px at 88% 18%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 22%, transparent), transparent 62%),
		radial-gradient(580px 420px at 70% 88%, color-mix(in srgb, var(--c3ace-atmo-3, #1d5a9e) 18%, transparent), transparent 68%),
		var(--c3ace-atmo-base, #f3f7fb) !important;
}

/* Custom orbit mode — logo swoosh arcs */
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-orbit::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-vpro-atmo-orbit::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-orbit:not(.c3ace-vpro-atmo-mode-solid):not(.c3ace-vpro-atmo-mode-gradient):not(.c3ace-vpro-atmo-mode-mesh):not(.c3ace-vpro-atmo-mode-spectrum):not(.c3ace-vpro-atmo-mode-nocturne)::before {
	background:
		radial-gradient(120% 70% at 50% -10%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 26%, transparent), transparent 58%),
		radial-gradient(90% 55% at -5% 55%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 30%, transparent), transparent 60%),
		radial-gradient(85% 50% at 105% 70%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 24%, transparent), transparent 62%),
		radial-gradient(60% 40% at 70% 15%, color-mix(in srgb, var(--c3ace-atmo-lime, #6cb43c) 12%, transparent), transparent 65%),
		var(--c3ace-atmo-base, #f3f7fb) !important;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-spectrum::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-vpro-atmo-spectrum::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-spectrum:not(.c3ace-vpro-atmo-mode-solid):not(.c3ace-vpro-atmo-mode-gradient):not(.c3ace-vpro-atmo-mode-mesh):not(.c3ace-vpro-atmo-mode-orbit):not(.c3ace-vpro-atmo-mode-nocturne)::before {
	background:
		radial-gradient(480px 480px at 12% 18%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 32%, transparent), transparent 62%),
		radial-gradient(420px 420px at 42% 8%, color-mix(in srgb, var(--c3ace-atmo-lime, #6cb43c) 20%, transparent), transparent 60%),
		radial-gradient(500px 420px at 78% 22%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 26%, transparent), transparent 62%),
		radial-gradient(460px 460px at 88% 78%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 24%, transparent), transparent 64%),
		radial-gradient(380px 380px at 18% 82%, color-mix(in srgb, #d83c3c 14%, transparent), transparent 65%),
		var(--c3ace-atmo-base, #f6f3fb) !important;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-nocturne::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-vpro-atmo-nocturne::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-nocturne:not(.c3ace-vpro-atmo-mode-solid):not(.c3ace-vpro-atmo-mode-gradient):not(.c3ace-vpro-atmo-mode-mesh):not(.c3ace-vpro-atmo-mode-orbit):not(.c3ace-vpro-atmo-mode-spectrum)::before {
	background:
		radial-gradient(620px 420px at 15% 20%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 34%, transparent), transparent 62%),
		radial-gradient(520px 520px at 85% 15%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 22%, transparent), transparent 60%),
		radial-gradient(580px 480px at 70% 85%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 16%, transparent), transparent 65%),
		linear-gradient(160deg, #070b14, var(--c3ace-atmo-base, #0b1220) 55%, #10182a) !important;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-vpro-atmo-glow::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-glow:not(.c3ace-vpro-atmo-mode-solid):not(.c3ace-vpro-atmo-mode-gradient):not(.c3ace-vpro-atmo-mode-mesh):not(.c3ace-vpro-atmo-mode-orbit):not(.c3ace-vpro-atmo-mode-spectrum):not(.c3ace-vpro-atmo-mode-nocturne)::before {
	background:
		radial-gradient(70% 55% at 50% 0%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 28%, transparent), transparent 70%),
		radial-gradient(55% 45% at 20% 80%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 22%, transparent), transparent 68%),
		radial-gradient(50% 40% at 90% 70%, color-mix(in srgb, var(--c3ace-atmo-3, #c04854) 16%, transparent), transparent 70%),
		var(--c3ace-atmo-base, #fbf7f0) !important;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-vpro-atmo-studio::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-studio:not(.c3ace-vpro-atmo-mode-solid):not(.c3ace-vpro-atmo-mode-gradient):not(.c3ace-vpro-atmo-mode-mesh):not(.c3ace-vpro-atmo-mode-orbit):not(.c3ace-vpro-atmo-mode-spectrum):not(.c3ace-vpro-atmo-mode-nocturne)::before {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 10%, var(--c3ace-atmo-base, #eef4fa)), var(--c3ace-atmo-base, #eef4fa) 42%),
		radial-gradient(500px 280px at 85% 12%, color-mix(in srgb, var(--c3ace-atmo-2, #1d5a9e) 12%, transparent), transparent 70%),
		var(--c3ace-atmo-base, #eef4fa) !important;
}

/* Intensity on legacy mesh presets */
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-wl-ambient-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-cart-ambient-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-checkout-ambient-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-mode-preset.c3ace-ty-ambient-mesh::before {
	opacity: var(--c3ace-atmo-intensity, 0.7);
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: rgba(15, 23, 42, var(--c3ace-atmo-overlay, 0));
}

/* Atmosphere animations */
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-orbit::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-spectrum::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-orbit::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-spectrum::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-glow::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-nocturne::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-preset.c3ace-wl-ambient-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-preset.c3ace-cart-ambient-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-preset.c3ace-checkout-ambient-mesh::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift.c3ace-vpro-atmo-mode-preset.c3ace-ty-ambient-mesh::before {
	animation: c3ace-vpro-atmo-drift var(--c3ace-atmo-speed, 12s) ease-in-out infinite alternate;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora.c3ace-vpro-atmo-mode-gradient::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora.c3ace-vpro-atmo-mode-preset.c3ace-wl-ambient-aurora::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora.c3ace-vpro-atmo-mode-preset.c3ace-cart-ambient-aurora::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora.c3ace-vpro-atmo-mode-preset.c3ace-checkout-ambient-aurora::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora.c3ace-vpro-atmo-mode-preset.c3ace-ty-ambient-aurora::before,
body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora.c3ace-vpro-atmo-aurora::before {
	animation: c3ace-vpro-atmo-aurora var(--c3ace-atmo-speed, 12s) ease infinite;
	background-size: 180% 180%;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-pulse::before {
	animation: c3ace-vpro-atmo-pulse var(--c3ace-atmo-speed, 12s) ease-in-out infinite;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-orbit::before {
	animation: c3ace-vpro-atmo-orbit var(--c3ace-atmo-speed, 12s) ease-in-out infinite;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-swirl::before {
	animation: c3ace-vpro-atmo-swirl var(--c3ace-atmo-speed, 12s) linear infinite;
	transform-origin: 50% 45%;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-shimmer::before {
	animation: c3ace-vpro-atmo-shimmer var(--c3ace-atmo-speed, 12s) ease-in-out infinite;
}

body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-breathe::before {
	animation: c3ace-vpro-atmo-breathe var(--c3ace-atmo-speed, 12s) ease-in-out infinite;
}

@keyframes c3ace-vpro-atmo-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(-18px, 12px, 0) scale(1.04); }
}
@keyframes c3ace-vpro-atmo-aurora {
	0%, 100% { background-position: 0% 40%; }
	50% { background-position: 100% 60%; }
}
@keyframes c3ace-vpro-atmo-pulse {
	0%, 100% { opacity: var(--c3ace-atmo-intensity, 0.7); }
	50% { opacity: calc(var(--c3ace-atmo-intensity, 0.7) * 0.72); }
}
@keyframes c3ace-vpro-atmo-orbit {
	0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
	50% { transform: translate3d(10px, -8px, 0) rotate(1.2deg) scale(1.03); }
	100% { transform: translate3d(-8px, 10px, 0) rotate(-1deg) scale(1.02); }
}
@keyframes c3ace-vpro-atmo-swirl {
	0% { transform: rotate(0deg) scale(1.02); }
	100% { transform: rotate(360deg) scale(1.02); }
}
@keyframes c3ace-vpro-atmo-shimmer {
	0%, 100% { filter: brightness(1) saturate(1); }
	50% { filter: brightness(1.08) saturate(1.12); }
}
@keyframes c3ace-vpro-atmo-breathe {
	0%, 100% { opacity: var(--c3ace-atmo-intensity, 0.7); transform: scale(1); }
	50% { opacity: calc(var(--c3ace-atmo-intensity, 0.7) * 0.82); transform: scale(1.03); }
}


/* —— Studio live preview atmosphere (contained, not viewport-fixed) —— */
.c3ace-vpro-preview,
[data-c3ace-cart-preview-root].c3ace-vpro,
[data-c3ace-wl-preview-root].c3ace-vpro,
[data-c3ace-checkout-preview-root].c3ace-vpro,
[data-c3ace-ty-preview-root].c3ace-vpro {
	position: relative !important;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--c3ace-atmo-base, #f3f7fb);
}

.c3ace-vpro-preview::before,
.c3ace-vpro-preview::after,
[data-c3ace-cart-preview-root].c3ace-vpro::before,
[data-c3ace-cart-preview-root].c3ace-vpro::after,
[data-c3ace-wl-preview-root].c3ace-vpro::before,
[data-c3ace-wl-preview-root].c3ace-vpro::after,
[data-c3ace-checkout-preview-root].c3ace-vpro::before,
[data-c3ace-checkout-preview-root].c3ace-vpro::after,
[data-c3ace-ty-preview-root].c3ace-vpro::before,
[data-c3ace-ty-preview-root].c3ace-vpro::after {
	content: "";
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

/* Default orbit look for preview shells */
.c3ace-vpro-preview::before,
[data-c3ace-cart-preview-root].c3ace-vpro::before,
[data-c3ace-wl-preview-root].c3ace-vpro::before,
[data-c3ace-checkout-preview-root].c3ace-vpro::before,
[data-c3ace-ty-preview-root].c3ace-vpro::before {
	opacity: var(--c3ace-atmo-intensity, 0.7);
	background:
		radial-gradient(120% 70% at 50% -10%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 26%, transparent), transparent 58%),
		radial-gradient(90% 55% at -5% 55%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 30%, transparent), transparent 60%),
		radial-gradient(85% 50% at 105% 70%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 24%, transparent), transparent 62%),
		radial-gradient(60% 40% at 70% 15%, color-mix(in srgb, var(--c3ace-atmo-lime, #6cb43c) 12%, transparent), transparent 65%),
		var(--c3ace-atmo-base, #f3f7fb) !important;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-mode-solid::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-mode-solid::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-mode-solid::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-mode-solid::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-mode-solid::before {
	background: var(--c3ace-atmo-base, #f3f7fb) !important;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-mode-gradient::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-mode-gradient::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-mode-gradient::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-mode-gradient::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-mode-gradient::before {
	background: linear-gradient(
		var(--c3ace-atmo-angle, 165deg),
		color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 22%, var(--c3ace-atmo-base, #f3f7fb)),
		color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 14%, var(--c3ace-atmo-base, #f3f7fb)) 48%,
		var(--c3ace-atmo-base, #f3f7fb)
	) !important;
	background-size: 180% 180%;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-mode-mesh::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-mesh::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-mode-mesh::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-mesh::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-mode-mesh::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-mesh::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-mode-mesh::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-mesh::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-mode-mesh::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-mesh::before {
	background:
		radial-gradient(220px 220px at 8% 12%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 28%, transparent), transparent 60%),
		radial-gradient(200px 200px at 88% 18%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 22%, transparent), transparent 62%),
		radial-gradient(240px 180px at 70% 88%, color-mix(in srgb, var(--c3ace-atmo-3, #1d5a9e) 18%, transparent), transparent 68%),
		var(--c3ace-atmo-base, #f3f7fb) !important;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-spectrum::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-mode-spectrum::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-spectrum::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-mode-spectrum::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-spectrum::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-mode-spectrum::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-spectrum::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-mode-spectrum::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-spectrum::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-mode-spectrum::before {
	background:
		radial-gradient(200px 200px at 12% 18%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 32%, transparent), transparent 62%),
		radial-gradient(180px 180px at 42% 8%, color-mix(in srgb, var(--c3ace-atmo-lime, #6cb43c) 20%, transparent), transparent 60%),
		radial-gradient(210px 180px at 78% 22%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 26%, transparent), transparent 62%),
		radial-gradient(200px 200px at 88% 78%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 24%, transparent), transparent 64%),
		var(--c3ace-atmo-base, #f6f3fb) !important;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-nocturne::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-mode-nocturne::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-nocturne::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-mode-nocturne::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-nocturne::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-mode-nocturne::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-nocturne::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-mode-nocturne::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-nocturne::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-mode-nocturne::before {
	background:
		radial-gradient(260px 180px at 15% 20%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 34%, transparent), transparent 62%),
		radial-gradient(220px 220px at 85% 15%, color-mix(in srgb, var(--c3ace-atmo-3, #a85478) 22%, transparent), transparent 60%),
		radial-gradient(240px 200px at 70% 85%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 16%, transparent), transparent 65%),
		linear-gradient(160deg, #070b14, var(--c3ace-atmo-base, #0b1220) 55%, #10182a) !important;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-glow::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-glow::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-glow::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-glow::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-glow::before {
	background:
		radial-gradient(70% 55% at 50% 0%, color-mix(in srgb, var(--c3ace-atmo-2, #f5c518) 28%, transparent), transparent 70%),
		radial-gradient(55% 45% at 20% 80%, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 22%, transparent), transparent 68%),
		radial-gradient(50% 40% at 90% 70%, color-mix(in srgb, var(--c3ace-atmo-3, #c04854) 16%, transparent), transparent 70%),
		var(--c3ace-atmo-base, #fbf7f0) !important;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-studio::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-studio::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-studio::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-studio::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-studio::before {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--c3ace-atmo-1, #2b78c5) 10%, var(--c3ace-atmo-base, #eef4fa)), var(--c3ace-atmo-base, #eef4fa) 42%),
		radial-gradient(220px 140px at 85% 12%, color-mix(in srgb, var(--c3ace-atmo-2, #1d5a9e) 12%, transparent), transparent 70%),
		var(--c3ace-atmo-base, #eef4fa) !important;
}

.c3ace-vpro-preview::after,
[data-c3ace-cart-preview-root].c3ace-vpro::after,
[data-c3ace-wl-preview-root].c3ace-vpro::after,
[data-c3ace-checkout-preview-root].c3ace-vpro::after,
[data-c3ace-ty-preview-root].c3ace-vpro::after {
	background: rgba(15, 23, 42, var(--c3ace-atmo-overlay, 0)) !important;
}

.c3ace-vpro-preview > *,
[data-c3ace-cart-preview-root].c3ace-vpro > *,
[data-c3ace-wl-preview-root].c3ace-vpro > *,
[data-c3ace-checkout-preview-root].c3ace-vpro > *,
[data-c3ace-ty-preview-root].c3ace-vpro > * {
	position: relative;
	z-index: 1;
}

.c3ace-vpro-preview.c3ace-vpro-atmo-fx-drift::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-drift::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-drift::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-drift::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-drift::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-orbit::before {
	animation: c3ace-vpro-atmo-drift var(--c3ace-atmo-speed, 12s) ease-in-out infinite alternate;
}
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-orbit::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-orbit::before {
	animation-name: c3ace-vpro-atmo-orbit;
}
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-swirl::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-swirl::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-swirl::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-swirl::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-swirl::before {
	animation: c3ace-vpro-atmo-swirl var(--c3ace-atmo-speed, 12s) linear infinite;
	transform-origin: 50% 45%;
}
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-aurora::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-shimmer::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-breathe::before,
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-pulse::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-pulse::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-pulse::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-pulse::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-pulse::before {
	animation: c3ace-vpro-atmo-pulse var(--c3ace-atmo-speed, 12s) ease-in-out infinite;
}
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-aurora::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-aurora::before {
	animation-name: c3ace-vpro-atmo-aurora;
	background-size: 180% 180%;
}
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-shimmer::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-shimmer::before {
	animation-name: c3ace-vpro-atmo-shimmer;
}
.c3ace-vpro-preview.c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-cart-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-wl-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-checkout-preview-root].c3ace-vpro-atmo-fx-breathe::before,
[data-c3ace-ty-preview-root].c3ace-vpro-atmo-fx-breathe::before {
	animation-name: c3ace-vpro-atmo-breathe;
}

@media (prefers-reduced-motion: reduce) {
	.c3ace-vpro-ribbon-fx-shimmer :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-pulse :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-flow :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-breathe :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-orbit :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-comet :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-wave :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	.c3ace-vpro-ribbon-fx-spark :is(.c3ace-vpro-target, .c3ace-cart-preview-item, .c3ace-cart-aside-card, .c3ace-cart-hero, .c3ace-cart-preview__empty, .c3ace-cart-preview__reco, .c3ace-checkout-preview__form, .c3ace-checkout-preview__summary, .c3ace-wishlist-item, .c3ace-card)::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-drift::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-aurora::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-pulse::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-orbit::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-swirl::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-shimmer::before,
	body.c3ace-vpro.c3ace-vpro-atmo-scope-full.c3ace-vpro-atmo-on.c3ace-vpro-atmo-fx-breathe::before {
		animation: none !important;
	}
}

/* Preview: hide atmosphere paint when disabled / scope off */
.c3ace-vpro-preview:not(.c3ace-vpro-atmo-on)::before,
.c3ace-vpro-preview:not(.c3ace-vpro-atmo-on)::after,
[data-c3ace-cart-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::before,
[data-c3ace-cart-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::after,
[data-c3ace-wl-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::before,
[data-c3ace-wl-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::after,
[data-c3ace-checkout-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::before,
[data-c3ace-checkout-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::after,
[data-c3ace-ty-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::before,
[data-c3ace-ty-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on)::after {
	content: none !important;
	display: none !important;
	background: none !important;
	animation: none !important;
}
.c3ace-vpro-preview:not(.c3ace-vpro-atmo-on),
[data-c3ace-cart-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on),
[data-c3ace-wl-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on),
[data-c3ace-checkout-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on),
[data-c3ace-ty-preview-root].c3ace-vpro:not(.c3ace-vpro-atmo-on) {
	background-color: transparent;
}
