/* Structural geometry: a Product is a flex child of the active theme. */
.zart-frontend-preview,
.zart-frontend-preview body {
	overflow-x: visible !important;
}

.zart-frontend-preview .zart-public-page-shell {
	/* Astra renders its content container as flex. Establish a bounded flex
	 * item so a wide contextual navigation cannot size the page from content. */
	width: 100%;
	max-width: 100%;
	min-width: 0;
	flex: 1 1 100%;
}

.zart-frontend-preview .ast-container > .zart-product,
.zart-frontend-preview .zart-product {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	flex: 1 1 auto;
	overflow: visible;
}

.zart-frontend-preview .zart-product__hero,
.zart-frontend-preview .zart-product__page-control,
.zart-frontend-preview .zart-product__content,
.zart-frontend-preview .zart-product__panel,
.zart-frontend-preview .zart-product__feature-carousel,
.zart-frontend-preview .zart-product__feature-track,
.zart-frontend-preview .zart-product__carousel,
.zart-frontend-preview .zart-product__tabs {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.zart-frontend-preview .zart-product__hero,
.zart-frontend-preview .zart-product__overview {
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.zart-frontend-preview .zart-product__hero > *,
.zart-frontend-preview .zart-product__overview > *,
.zart-frontend-preview .zart-product__feature-card,
.zart-frontend-preview .zart-product__feature-card > *,
.zart-frontend-preview .zart-product__documents > *,
.zart-frontend-preview .zart-product__related > * {
	min-width: 0;
	max-width: 100%;
}

.zart-frontend-preview .zart-product img {
	max-width: 100%;
	height: auto;
}

/* Nunca herdar o H1 de 56px definido pelo kit global do Elementor. */
.zart-frontend-preview .zart-product h1 {
	max-width: 18ch;
	font-size: clamp(2rem, 3vw, 3rem) !important;
	line-height: 1.08 !important;
	overflow-wrap: normal;
	word-break: normal;
}

/* Component-local viewports contain their own tracks, never the document. */
.zart-frontend-preview .zart-product__carousel,
.zart-frontend-preview .zart-product__feature-carousel {
	overflow: hidden;
}

.zart-frontend-preview .zart-product__carousel figure {
	width: 100%;
	max-width: 100%;
}

.zart-frontend-preview .zart-product__feature-track {
	overflow-x: auto;
	overflow-y: hidden;
}

.zart-frontend-preview .zart-product__feature-card {
	flex: 0 0 calc((100% - 1.6rem) / 3);
	min-width: 0;
}

.zart-frontend-preview .zart-product__feature-card figure {
	width: 100%;
	aspect-ratio: 1.45;
}

.zart-frontend-preview .zart-product__spec-table-wrap {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

.zart-frontend-preview .zart-product__spec-table {
	max-width: 100%;
}

@media screen and (max-width: 760px) {
	/* O header Elementor adiciona largura integral e margem lateral ao mesmo filho. */
	.zart-frontend-preview .elementor-location-header .e-con-full.e-child {
		width: 100%;
		max-width: 100%;
		margin-inline: 0 !important;
		flex: 1 1 100%;
	}

	/* A identificação longa do usuário do wp-admin não deve ampliar o preview. */
	.zart-frontend-preview #wpadminbar #wp-admin-bar-my-account .display-name {
		display: none;
	}

	.zart-frontend-preview .zart-product__hero,
	.zart-frontend-preview .zart-product__overview {
		grid-template-columns: minmax(0, 1fr);
	}

	.zart-frontend-preview .zart-product__feature-card {
		flex-basis: 82%;
	}

	.zart-frontend-preview .zart-product h1 {
		max-width: none;
		font-size: clamp(1.8rem, 8vw, 2.3rem) !important;
		line-height: 1.1 !important;
	}

	.zart-frontend-preview .zart-product__spec-table {
		min-width: 34rem;
	}
}

/* A barra administrativa muda de composição até 782px; o nome não pode vazar no preview. */
@media screen and (max-width: 782px) {
	.zart-frontend-preview #wpadminbar #wp-admin-bar-my-account .display-name {
		display: none;
	}
}
