.swhw-category-faq {
	clear: both;
	margin: clamp(2rem, 5vw, 4.5rem) auto 0;
	max-width: 1180px;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.swhw-category-faq h2 {
	font-size: clamp(1.7rem, 3vw, 2.5rem);
	margin: 0 0 1.25rem;
}

.swhw-category-faq__items {
	border-block-start: 1px solid #dfe4e2;
}

.swhw-category-faq__item {
	border-block-end: 1px solid #dfe4e2;
}

.swhw-category-faq__item summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	list-style: none;
	padding: 1.1rem 0;
}

.swhw-category-faq__item summary::-webkit-details-marker {
	display: none;
}

.swhw-category-faq__item summary span::before {
	content: "+";
	display: block;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
}

.swhw-category-faq__item[open] summary span::before {
	content: "−";
}

.swhw-category-faq__answer {
	max-width: 75ch;
	padding: 0 2.5rem 1.25rem 0;
}

.single-product form.cart,
.single-product form.cart .quantity,
.single-product .woocommerce-variation-add-to-cart {
	align-items: center;
}

.single-product form.cart .quantity {
	display: inline-flex;
	margin-block-end: 0;
}

/*
 * Astra's vertical gallery intentionally matches the main image height to the
 * thumbnail rail. Keep that stable viewport, but show the complete product
 * image instead of cropping it with the theme's desktop `object-fit: cover`.
 */
body.single-product .ast-product-gallery-layout-vertical-slider .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
	object-fit: contain;
	object-position: center;
}

@media (max-width: 768px) {
	body.single-product .ast-product-gallery-layout-vertical-slider .woocommerce-product-gallery .flex-viewport {
		max-width: calc(100% - 80px);
		width: calc(100% - 80px) !important;
	}
}

[class*="moderncart"] a[href*="checkout"],
[class*="modern-cart"] a[href*="checkout"],
[class*="moderncart"] button,
[class*="modern-cart"] button {
	transition-duration: 160ms;
}

[class*="moderncart"] .onsale,
[class*="modern-cart"] .onsale {
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.single-product form.cart,
	.single-product .woocommerce-variation-add-to-cart {
		align-items: stretch;
		display: flex;
		flex-wrap: wrap;
		gap: .75rem;
	}

	.single-product form.cart .single_add_to_cart_button {
		flex: 1 1 12rem;
	}
}
