/**
 * Commerce Studio X child theme — Storefront 3.4 compatibility.
 * Storefront owns every per-section choice. This layer only releases older
 * child-theme rules that would otherwise override the Design Studio.
 */
body.csx-enabled.csx-storefront-theme {
	--qasf-theme-primary: var(--csx-primary, var(--theme-palette-color-1, #0b57a3));
	--qasf-theme-secondary: var(--csx-secondary, var(--theme-palette-color-2, #1f96e2));
	--qasf-theme-text: var(--csx-text, var(--theme-text-color, #17324d));
}

body.csx-enabled.csx-storefront-theme :is(
	.qasf-section-shell--frame-none,
	.qasf-section-shell--frame-line,
	.qasf-section-shell--frame-card
) > .qasf-section {
	padding-block: 0;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell--frame-none > .qasf-section > .qasf-container {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell--frame-line > .qasf-section > .qasf-container {
	border: var(--qasf-section-border-width, 1px) solid var(--qasf-section-border, var(--csx-border)) !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell--frame-card > .qasf-section > .qasf-container {
	border: var(--qasf-section-border-width, 1px) solid var(--qasf-section-border, var(--csx-border)) !important;
	border-radius: var(--qasf-section-radius, var(--csx-card-radius)) !important;
	background: var(--qasf-section-bg, var(--csx-surface)) !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell :where(.qasf-section-heading) {
	max-inline-size: none;
	margin-block-end: var(--qasf-heading-gap, 24px);
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell .qasf-section-heading h2 {
	color: var(--qasf-title-color, var(--csx-primary)) !important;
	font-family: var(--qasf-title-font, var(--csx-heading-font, inherit)) !important;
	font-size: var(--qasf-title-d, 42px) !important;
	font-weight: var(--qasf-title-weight, var(--csx-heading-weight, 800)) !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell .qasf-section-heading p {
	color: var(--qasf-subtitle-color, var(--csx-muted)) !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell--align-right .qasf-section-heading { text-align: right !important; }
body.csx-enabled.csx-storefront-theme .qasf-section-shell--align-center .qasf-section-heading { text-align: center !important; }
body.csx-enabled.csx-storefront-theme .qasf-section-shell--align-left .qasf-section-heading { text-align: left !important; }

body.csx-enabled.csx-storefront-theme .qasf-section-shell--card-clean :is(.qasf-product-card,.qasf-term-card,.qasf-review-card,.qasf-feature-card) {
	border: 0 !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell--card-frame :is(.qasf-product-card,.qasf-term-card,.qasf-review-card,.qasf-feature-card) {
	border: 1px solid var(--qasf-card-border, var(--csx-border)) !important;
	border-radius: var(--qasf-card-radius, var(--csx-card-radius)) !important;
}

body.csx-enabled.csx-storefront-theme .qasf-section-shell--hover-none :is(.qasf-product-card,.qasf-term-card,.qasf-review-card,.qasf-feature-card):hover {
	transform: none;
	box-shadow: inherit;
}

body.csx-enabled.csx-storefront-theme .qasf-feature-icon {
	inline-size: var(--qasf-feature-icon-size, 54px);
	block-size: var(--qasf-feature-icon-size, 54px);
	flex-basis: var(--qasf-feature-icon-size, 54px);
	background: var(--qasf-feature-icon-bg, color-mix(in srgb, var(--csx-secondary) 13%, var(--csx-surface)));
	color: var(--qasf-feature-icon-color, var(--csx-primary));
}

body.csx-enabled.csx-storefront-theme .qasf-feature-icon :is(svg,img) {
	inline-size: 56%;
	block-size: 56%;
	padding: 0;
	object-fit: contain;
}

body.csx-enabled.csx-storefront-theme .qasf-features-section--icon-circle .qasf-feature-icon { border-radius: 50%; }
body.csx-enabled.csx-storefront-theme .qasf-features-section--icon-square .qasf-feature-icon { border-radius: 14px; }
body.csx-enabled.csx-storefront-theme .qasf-features-section--icon-none .qasf-feature-icon { background: transparent; }

body.csx-enabled.csx-storefront-theme .qasf-term-card--showcase {
	padding: 0;
	min-block-size: 250px;
}

body.csx-enabled.csx-storefront-theme .qasf-term-card--showcase .qasf-term-card__media {
	margin: 0;
	padding: 22px;
	background: transparent;
}

body.csx-enabled.csx-storefront-theme .qasf-term-card--showcase .qasf-term-card__content {
	padding: 8px 18px 20px;
}

body.csx-enabled.csx-storefront-theme .qasf-term-card--floating { padding: 18px; }

body.csx-enabled.csx-storefront-theme .qasf-product-card__images {
	display: block;
	inline-size: 100%;
	block-size: 100%;
}

body.csx-enabled.csx-storefront-theme .qasf-product-card__quick a { color: var(--csx-primary); }

@media (hover: hover) and (pointer: fine) {
	body.csx-enabled.csx-storefront-theme .qasf-section-shell--hover-none .qasf-product-card:hover .qasf-product-card__media img {
		transform: none;
	}

	body.csx-enabled.csx-storefront-theme .qasf-feature-card:hover .qasf-feature-icon {
		background: var(--qasf-feature-icon-color, var(--csx-primary));
		color: #fff;
		transform: rotate(-3deg) scale(1.06);
	}

	body.csx-enabled.csx-storefront-theme .qasf-product-card__quick a:hover {
		background: var(--csx-primary);
		color: #fff;
	}
}

@media (max-width: 1024px) {
	body.csx-enabled.csx-storefront-theme .qasf-section-shell .qasf-section-heading h2 {
		font-size: var(--qasf-title-t, 34px) !important;
	}
}

@media (max-width: 767px) {
	body.csx-enabled.csx-storefront-theme .qasf-section-shell .qasf-section-heading h2 {
		font-size: var(--qasf-title-m, 28px) !important;
	}

	body.csx-enabled.csx-storefront-theme .qasf-term-card--showcase { min-block-size: 205px; }
}

@media (prefers-reduced-motion: reduce) {
	body.csx-enabled.csx-storefront-theme .qasf-section-shell *,
	body.csx-enabled.csx-storefront-theme .qasf-section-shell *::before,
	body.csx-enabled.csx-storefront-theme .qasf-section-shell *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
