.tc-editable-hero {
	--tceh-forest: #315f52;
	--tceh-forest-deep: #23483e;
	--tceh-sage: #dce9e3;
	--tceh-sage-strong: #b9d2c8;
	--tceh-cream: #f7f4ee;
	--tceh-paper: #ffffff;
	--tceh-ink: #20302b;
	--tceh-muted: #68736f;
	--tceh-line: #d9e1de;
	--tceh-accent: #9b8f24;
	--tceh-button: #265e4f;
	--tceh-button-hover: #174d42;
}

.tc-editable-hero,
.tc-editable-hero * {
	box-sizing: border-box;
}

/* La galleria nasce senza cornice: sfondo, bordo e raggio si gestiscono dal container Elementor. */
.tc-editable-hero__media .woocommerce-product-gallery,
.tc-editable-hero__media .woocommerce-product-gallery__wrapper,
.tc-editable-hero__media .woocommerce-product-gallery__image,
.tc-editable-hero__media .woocommerce-product-gallery__image a,
.tc-editable-hero__media .woocommerce-product-gallery__image img {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.tc-editable-hero__media .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.tc-editable-hero__media .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	max-height: 680px;
	margin: 0 auto;
	object-fit: contain;
}

.tc-editable-hero .elementor-widget-woocommerce-product-title .product_title {
	margin: 0;
	color: var(--tceh-forest-deep);
	font-size: clamp(2.65rem, 5.3vw, 5.4rem);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.94;
}

.tc-editable-hero .elementor-widget-woocommerce-product-short-description {
	color: var(--tceh-muted);
	font-size: clamp(0.96rem, 1.35vw, 1.08rem);
	line-height: 1.68;
}

.tc-editable-hero .elementor-widget-woocommerce-product-short-description p:last-child {
	margin-bottom: 0;
}

.tc-editable-hero .elementor-widget-woocommerce-product-price .price {
	color: var(--tceh-accent);
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 400;
	letter-spacing: -0.035em;
}

.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart form.cart,
.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}

.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .quantity {
	float: none;
	margin: 0;
}

.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .qty {
	width: 86px;
	height: 56px;
	border: 1px solid #8a938f;
	border-radius: 6px;
	background: #ffffff;
}

.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button {
	min-height: 56px;
	flex: 1 1 280px;
	margin: 0;
	border: 1px solid var(--tceh-forest);
	border-radius: 6px;
	background: var(--tceh-forest);
	color: #ffffff;
	font-size: 0.88rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.tcpart {
	display: flex;
	width: 100%;
	color: var(--tceh-forest-deep, #23483e);
	font-family: inherit;
}

.tcpart--eyebrow .tcpart__text {
	color: var(--tceh-forest, #315f52);
	font-size: 0.76rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.tcpart__pill {
	display: inline-flex;
	align-items: center;
	min-height: 37px;
	padding: 8px 14px;
	border: 1px solid var(--tceh-sage-strong, #b9d2c8);
	border-radius: 99px;
	background: var(--tceh-cream, #f7f4ee);
	color: var(--tceh-forest-deep, #23483e);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
	text-transform: uppercase;
}

.tcpart--metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.tcpart__metric {
	min-width: 0;
	padding: 16px 15px;
	border: 1px solid var(--tceh-line, #d9e1de);
	border-radius: 12px;
	background: var(--tceh-paper, #ffffff);
}

.tcpart__metric strong {
	display: block;
	margin-bottom: 5px;
	color: var(--tceh-forest-deep, #23483e);
	font-size: clamp(1.35rem, 2.3vw, 1.9rem);
	font-weight: 400;
	line-height: 1;
}

.tcpart__metric span {
	display: block;
	color: var(--tceh-muted, #68736f);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.045em;
	line-height: 1.35;
	text-transform: uppercase;
}

.tcpart--formats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	align-items: center;
}

.tcpart__format-title {
	color: var(--tceh-muted, #68736f);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tcpart__format-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tcpart__format-current,
.tcpart__format-alt {
	display: inline-flex;
	min-height: 39px;
	gap: 8px;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 99px;
	font-size: 0.79rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.tcpart__format-current {
	border: 1px solid var(--tceh-forest, #315f52);
	background: var(--tceh-forest, #315f52);
	color: #ffffff;
}

.tcpart__format-alt {
	border: 1px solid var(--tceh-line, #d9e1de);
	background: #ffffff;
	color: var(--tceh-forest-deep, #23483e);
}

.tcpart__details-link {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	color: var(--tceh-forest-deep, #23483e);
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.tcpart__arrow {
	display: grid;
	width: 25px;
	height: 25px;
	place-content: center;
	border: 1px solid var(--tceh-sage-strong, #b9d2c8);
	border-radius: 50%;
}

.tcpart--notice {
	padding: 10px 12px;
	border: 1px dashed #c4ccc8;
	border-radius: 6px;
	background: #fafbf9;
	color: #68736f;
	font-size: 12px;
}

@media (max-width: 600px) {
	.tcpart--metrics {
		gap: 6px;
	}

	.tcpart__metric {
		padding: 13px 9px;
	}

	.tcpart__metric span {
		font-size: 0.59rem;
	}

	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart form.cart,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .cart {
		flex-direction: column;
	}

	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .quantity,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .qty,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button {
		width: 100%;
		flex-basis: auto;
	}

	/* Evita che i colori responsive/globali di Elementor rendano viola il pulsante. */
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:visited {
		border-color: var(--tceh-button, #265e4f) !important;
		background: var(--tceh-button, #265e4f) !important;
		background-color: var(--tceh-button, #265e4f) !important;
		color: #ffffff !important;
	}

	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:focus,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:focus-visible,
	.tc-editable-hero .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:active {
		border-color: var(--tceh-button-hover, #174d42) !important;
		background: var(--tceh-button-hover, #174d42) !important;
		background-color: var(--tceh-button-hover, #174d42) !important;
		color: #ffffff !important;
	}
}
