/* Minimal layout bridge. Elementor owns page typography, color and spacing controls. */
.hdp-elementor-page,
.hdp-elementor-content {
	min-width: 0;
	width: 100%;
}

.hdp-elementor-page {
	overflow: clip;
}

.hdp-elementor-content > .elementor {
	width: 100%;
}

/* Elementor's global image rule uses height:auto; restore the theme's
 * deliberately bounded product and Hero media areas inside Hover widgets. */
.hdp-elementor-content .product-image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.hdp-elementor-content .product-image img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
}

.hdp-elementor-content .hero-picture,
.hdp-elementor-content .hero-image {
	max-width: none;
}

.hdp-elementor-content .hero-picture {
	width: 100%;
}

.hdp-elementor-content .hero-image {
	height: 100%;
}

@media (min-width: 601px) and (max-width: 900px) {
	.hdp-elementor-content .hero-actions {
		display: grid;
		grid-template-columns: 1fr;
		max-width: 260px;
	}

	.hdp-elementor-content .hero-actions .button {
		width: 100%;
	}
}

@media (max-width: 600px) {
	.hdp-elementor-content .hero-picture {
		width: 100%;
	}

	.hdp-elementor-content .hero-image {
		width: 150%;
		height: 100%;
		max-width: none;
	}

	.hdp-elementor-content .brand-swellpro .brand-wordmark {
		font-size: 15px;
		transform: translateX(-3px);
	}

	.hdp-elementor-content .brand-swellpro .brand-description {
		margin-left: 3px;
	}

	.hdp-elementor-content .brand-swellpro .brand-description h3 {
		white-space: nowrap;
	}
}
