/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* Shengtai responsive refinements — 2026-10-27 */

html,
body {
	overflow-x: clip;
}

img,
video,
iframe {
	max-width: 100%;
}

/* Keep the floating chat control away from hero and form CTAs. */
body .joinchat {
	--bottom: 20px !important;
	top: auto !important;
	right: 20px !important;
	bottom: 20px !important;
	transform: none !important;
}

#n2-ss-2 img {
	max-width: none;
}

.entry-content p,
.entry-content li,
.term-description,
.woocommerce-product-details__short-description,
.woocommerce-Tabs-panel {
	line-height: 1.7;
}

.entry-content .wp-block-button__link,
.entry-content .stk-button,
.woocommerce a.button,
.woocommerce button.button,
.wpcf7-submit {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wpcf7 input:not([type="checkbox"]):not([type="radio"]),
.wpcf7 select {
	min-height: 46px;
}

.wpcf7 textarea {
	min-height: 140px;
	resize: vertical;
}

/* Homepage Smart Slider: keep text within the image on tablet and mobile. */
@media (max-width: 1024px) {
	#n2-ss-2 .n2-ss-slide-background::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, transparent 34%, rgba(35, 31, 29, .08) 48%, rgba(35, 31, 29, .48) 100%);
		pointer-events: none;
	}

	#n2-ss-2 .n-uc-mV0vnh71IxHl,
	#n2-ss-2 .n-uc-wVGKjGQGuc7f,
	#n2-ss-2 .n-uc-Ht8jwYU5qLvi,
	#n2-ss-2 .n-uc-gCF2O569iOrQ,
	#n2-ss-2 .n-uc-3plJaWxJMtgA,
	#n2-ss-2 .n-uc-KXNZblP4uPoW,
	#n2-ss-2 .n-uc-toCooHlzjzwo,
	#n2-ss-2 .n-uc-NRX61r7BBP4m {
		left: 52% !important;
		right: 4% !important;
		width: 44% !important;
		height: auto !important;
		transform: none !important;
		text-align: center !important;
	}

	#n2-ss-2 .n-uc-mV0vnh71IxHl,
	#n2-ss-2 .n-uc-wVGKjGQGuc7f {
		top: 18% !important;
	}

	#n2-ss-2 .n-uc-Ht8jwYU5qLvi,
	#n2-ss-2 .n-uc-gCF2O569iOrQ {
		top: 49% !important;
	}

	#n2-ss-2 .n-uc-3plJaWxJMtgA,
	#n2-ss-2 .n-uc-KXNZblP4uPoW {
		display: none !important;
	}

	#n2-ss-2 .n-uc-toCooHlzjzwo,
	#n2-ss-2 .n-uc-NRX61r7BBP4m {
		top: 76% !important;
	}

	#n2-ss-2 .n2-font-8f8152a5d9a9a650c3aeb0516fe128d9-hover,
	#n2-ss-2 .n2-font-491b9c69f6662068193913cb989cbd7f-hover {
		font-size: clamp(28px, 5.2vw, 40px) !important;
		line-height: 1.08 !important;
	}

	#n2-ss-2 .n2-font-3e320f16e34724bc5594172c79e4dcf8-paragraph,
	#n2-ss-2 .n2-font-97cd6ffe78b1fb7f27ca836c6e569e48-paragraph {
		font-size: clamp(15px, 2.5vw, 20px) !important;
	}

	#n2-ss-2 .n2-font-cd5f8eb6a66b7a4f7082852075d6066e-paragraph,
	#n2-ss-2 .n2-font-850a3bdc3009e3e4a4ef7ec91fe5a743-paragraph {
		font-size: 14px !important;
	}
}

@media (max-width: 700px) {
	#n2-ss-2,
	#n2-ss-2 .n2-ss-slider-1,
	#n2-ss-2 .n2-ss-slider-2,
	#n2-ss-2 .n2-ss-slider-3,
	#n2-ss-2 .n2-ss-slider-4,
	#n2-ss-2 .n2-ss-slide,
	#n2-ss-2 .n2-ss-slide-backgrounds {
		height: 260px !important;
	}

	#n2-ss-2 .n2-ss-slide-background-image img {
		object-position: 36% center !important;
	}

	#n2-ss-2 .n-uc-mV0vnh71IxHl,
	#n2-ss-2 .n-uc-wVGKjGQGuc7f,
	#n2-ss-2 .n-uc-Ht8jwYU5qLvi,
	#n2-ss-2 .n-uc-gCF2O569iOrQ,
	#n2-ss-2 .n-uc-3plJaWxJMtgA,
	#n2-ss-2 .n-uc-KXNZblP4uPoW,
	#n2-ss-2 .n-uc-toCooHlzjzwo,
	#n2-ss-2 .n-uc-NRX61r7BBP4m {
		left: 50% !important;
		right: 3% !important;
		width: 47% !important;
	}

	#n2-ss-2 .n-uc-mV0vnh71IxHl,
	#n2-ss-2 .n-uc-wVGKjGQGuc7f {
		top: 14% !important;
	}

	#n2-ss-2 .n-uc-Ht8jwYU5qLvi,
	#n2-ss-2 .n-uc-gCF2O569iOrQ {
		top: 48% !important;
	}

	#n2-ss-2 .n-uc-toCooHlzjzwo,
	#n2-ss-2 .n-uc-NRX61r7BBP4m {
		top: 70% !important;
	}

	#n2-ss-2 .n2-font-8f8152a5d9a9a650c3aeb0516fe128d9-hover,
	#n2-ss-2 .n2-font-491b9c69f6662068193913cb989cbd7f-hover {
		font-size: clamp(22px, 6.2vw, 28px) !important;
	}

	#n2-ss-2 .n2-font-3e320f16e34724bc5594172c79e4dcf8-paragraph,
	#n2-ss-2 .n2-font-97cd6ffe78b1fb7f27ca836c6e569e48-paragraph {
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	#n2-ss-2 .n2-style-96820f2d3797ae9d7e615c82433ac18c-heading,
	#n2-ss-2 .n2-style-c72164a512736a13855b9b06500a44ca-heading {
		padding: 10px 12px !important;
		white-space: normal !important;
	}

	#n2-ss-2 .n2-ss-button-container,
	#n2-ss-2 .n2-ss-button-container a {
		width: 100% !important;
	}

	.entry-content p,
	.entry-content li,
	.term-description,
	.woocommerce-product-details__short-description,
	.woocommerce-Tabs-panel {
		font-size: 15px;
	}

	.entry-content h1,
	.woocommerce div.product .product_title {
		font-size: clamp(30px, 9vw, 38px);
		line-height: 1.15;
	}

	.entry-content h2,
	.woocommerce-Tabs-panel h2 {
		font-size: clamp(24px, 7vw, 30px);
		line-height: 1.2;
	}

	.woocommerce-breadcrumb {
		font-size: 13px;
		line-height: 1.6;
	}

	.woocommerce div.product div.images {
		margin-bottom: 28px;
	}

	.woocommerce ul.products {
		column-gap: 14px;
		row-gap: 28px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 15px;
		line-height: 1.35;
	}
}

@media (min-width: 701px) and (max-width: 1024px) {
	.woocommerce div.product .product_title,
	.entry-content h1 {
		font-size: clamp(34px, 4.5vw, 44px);
	}

	.woocommerce ul.products {
		column-gap: 22px;
		row-gap: 36px;
	}
}

/* Responsive QA refinements — 2026-10-28 */
@media (min-width: 768px) and (max-width: 1024px) {
	/* Four cards made product images too narrow on tablet. */
	.home .stk-2f9e1bd {
		--slides-to-show: 2 !important;
	}

	.home .stk-2f9e1bd .stk-img-wrapper {
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
	}

	.home .stk-2f9e1bd .stk-block-carousel__slider {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.home .stk-2f9e1bd .stk-block-carousel__slider > .stk-block-column {
		flex: 1 0 calc((100% - 18px) / 2) !important;
		max-width: calc((100% - 18px) / 2) !important;
	}

	/* Prevent the three hero text rows from colliding on tablet. */
	.home #n2-ss-2 .n-uc-mV0vnh71IxHl,
	.home #n2-ss-2 .n-uc-wVGKjGQGuc7f {
		top: 15% !important;
	}

	.home #n2-ss-2 .n-uc-Ht8jwYU5qLvi,
	.home #n2-ss-2 .n-uc-gCF2O569iOrQ {
		top: 60% !important;
	}

	.home #n2-ss-2 .n-uc-toCooHlzjzwo,
	.home #n2-ss-2 .n-uc-NRX61r7BBP4m {
		top: 79% !important;
	}

	.home #n2-ss-2 .n2-font-8f8152a5d9a9a650c3aeb0516fe128d9-hover,
	.home #n2-ss-2 .n2-font-491b9c69f6662068193913cb989cbd7f-hover {
		font-size: clamp(28px, 4vw, 31px) !important;
		line-height: 1 !important;
	}

	.home #n2-ss-2 .n2-font-3e320f16e34724bc5594172c79e4dcf8-paragraph,
	.home #n2-ss-2 .n2-font-97cd6ffe78b1fb7f27ca836c6e569e48-paragraph {
		font-size: 16px !important;
		line-height: 1.2 !important;
	}
}

@media (max-width: 767px) {
	body .joinchat {
		--bottom: 16px !important;
		right: 16px !important;
		bottom: 16px !important;
	}

	/* Cloudflare Turnstile has a fixed 300px canvas; scale it to mobile forms. */
	.wpcf7-turnstile,
	.cf-turnstile {
		max-width: 100% !important;
		height: 59px !important;
		overflow: visible;
	}

	.wpcf7-turnstile iframe,
	.cf-turnstile iframe {
		transform: scale(.9) !important;
		transform-origin: left top !important;
	}

	/* Recover useful input width in the product inquiry card. */
	#product-inquiry {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#product-inquiry .wp-block-group.has-border-color {
		padding: 20px 16px !important;
	}

	/* Give the primary product card the full available width on touch screens. */
	.home .stk-2f9e1bd .stk-block-carousel__button {
		display: none !important;
	}

	.home .stk-2f9e1bd .stk-block-carousel__slider {
		width: 100% !important;
		flex: 1 1 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.home .stk-2f9e1bd .stk-img-wrapper {
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
	}

	/* Keep the inquiry form and its anti-spam widget inside the card. */
	.home .stk-be6e6ff {
		padding: 20px !important;
	}

	.home .wpcf7-turnstile,
	.home .cf-turnstile {
		height: 52px !important;
	}

	.home .wpcf7-turnstile iframe,
	.home .cf-turnstile iframe {
		transform: scale(.78) !important;
		transform-origin: left top !important;
	}

	/* Give Smart Slider text a little more room and contain CTA padding. */
	.home #n2-ss-2 .n-uc-mV0vnh71IxHl,
	.home #n2-ss-2 .n-uc-wVGKjGQGuc7f,
	.home #n2-ss-2 .n-uc-Ht8jwYU5qLvi,
	.home #n2-ss-2 .n-uc-gCF2O569iOrQ,
	.home #n2-ss-2 .n-uc-toCooHlzjzwo,
	.home #n2-ss-2 .n-uc-NRX61r7BBP4m {
		left: 43% !important;
		right: 3% !important;
		width: 54% !important;
	}

	.home #n2-ss-2 .n2-font-8f8152a5d9a9a650c3aeb0516fe128d9-hover,
	.home #n2-ss-2 .n2-font-491b9c69f6662068193913cb989cbd7f-hover {
		font-size: clamp(19px, 5.4vw, 22px) !important;
	}

	.home #n2-ss-2 .n2-ss-button-container a {
		max-width: 100% !important;
		box-sizing: border-box !important;
		font-size: 12px !important;
	}
}
