/*
 * TAF Machinery – Scheda del singolo prodotto (restyling 2026)
 * Figma "TAF Restyling 2026", frame "Dettaglio prodotto" (16:86), larghezza 1920.
 * H1 Manrope Bold 64px, pulsanti 60px raggio 20 arancio #e65100,
 * galleria 816x590 + 2 x 493x286 (spazio 17-18px), titoli sezione 21px / 42px,
 * valori "Informazioni aggiuntive" in arancio, modulo con campi bordati raggio 5.
 */

/* ===================================================================
 * Contenitore: la scheda usa tutta la larghezza, ogni fascia ha il suo interno
 * ================================================================= */
#top.taf-product-page .title_container {
	display: none !important;
}

#top.taf-product-page .container_wrap_first.template-shop {
	border: 0;
}

#top.taf-product-page .container_wrap_first.template-shop > .container {
	width: 100%;
	max-width: none;
	padding: 0;
}

#top.taf-product-page div.product.taf-product {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: 'manrope', 'Manrope', sans-serif;
	color: #1e1e1e;
}

.taf-product-sec {
	--taf-product-gutter: clamp(20px, 6.25vw, 120px);
	--taf-product-max: 1432px;
	--taf-product-accent: #e65100;
	--taf-product-accent-hover: #c24400;
	font-family: 'manrope', 'Manrope', sans-serif;
	color: #1e1e1e;
}

.taf-product-sec__inner {
	width: 100%;
	max-width: calc(var(--taf-product-max) + 2 * var(--taf-product-gutter));
	margin: 0 auto;
	padding: 0 var(--taf-product-gutter);
	box-sizing: border-box;
}

/* ===================================================================
 * Intestazione: breadcrumbs, H1, pulsanti
 * ================================================================= */
.taf-product-head {
	padding: 56px 0 0;
}

#top .taf-product-head .taf-breadcrumbs__list {
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 16px;
	line-height: 28px;
	color: #000000;
}

#top .taf-breadcrumbs__item--strong a,
#top .taf-breadcrumbs__item--strong span {
	font-weight: 700;
}

#top .taf-product-head__title {
	margin: 40px 0 0;
	padding: 0;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 64px !important;
	font-weight: 700 !important;
	line-height: 1.36 !important;
	letter-spacing: 0;
	text-transform: none;
	color: #1e1e1e !important;
	overflow-wrap: anywhere;
}

.taf-product-head__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 16px;
}

#top .taf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 60px;
	padding: 10px 35px;
	border-radius: 20px;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#top .taf-btn--primary {
	background-color: #e65100;
	color: #ffffff;
}

#top .taf-btn--primary:hover,
#top .taf-btn--primary:focus-visible {
	background-color: #c24400;
	color: #ffffff;
}

#top .taf-btn--outline {
	background-color: transparent;
	color: #1e1e1e;
	box-shadow: inset 0 0 0 2px #1e1e1e;
}

#top .taf-btn--outline:hover,
#top .taf-btn--outline:focus-visible {
	background-color: #1e1e1e;
	color: #ffffff;
}

#top .taf-btn:focus-visible {
	outline: 2px solid #e65100;
	outline-offset: 3px;
}

.taf-btn__arrow {
	flex: 0 0 auto;
	transition: transform 0.2s ease;
}

#top .taf-btn:hover .taf-btn__arrow {
	transform: translateX(3px);
}

#top .taf-product-head__sold {
	display: inline-flex;
	align-items: center;
	min-height: 60px;
	margin: 16px 0 0;
	padding: 10px 35px;
	border-radius: 20px;
	background: #e6000c;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
	text-transform: uppercase;
	box-sizing: border-box;
}

/* ===================================================================
 * Galleria: 1 foto grande + 2 laterali
 * ================================================================= */
.taf-product-media {
	padding: 45px 0 0;
}

.taf-pgallery {
	display: grid;
	grid-template-columns: minmax(0, 816fr) minmax(0, 493fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 18px 17px;
	aspect-ratio: 1326 / 590;
}

.taf-pgallery--1 {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	aspect-ratio: 816 / 590;
	max-width: 816px;
}

#top .taf-pgallery__item {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	background: #e9e7e4;
	cursor: zoom-in;
}

.taf-pgallery__item--main {
	grid-row: 1 / span 2;
}

.taf-pgallery--2 .taf-pgallery__item:not(.taf-pgallery__item--main) {
	grid-row: 1 / span 2;
}

#top .taf-pgallery__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.3s ease;
}

#top .taf-pgallery__item:hover .taf-pgallery__img {
	transform: scale(1.03);
}

#top .taf-pgallery__item:focus-visible {
	outline: 3px solid #e65100;
	outline-offset: 3px;
}

.taf-pgallery__more {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	color: #ffffff;
	font-size: 42px;
	font-weight: 700;
	line-height: 1;
}

.taf-pgallery__all {
	margin: 16px 0 0;
}

#top .taf-pgallery__all-btn {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
	color: #1e1e1e;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

#top .taf-pgallery__all-btn:hover,
#top .taf-pgallery__all-btn:focus-visible {
	color: #e65100;
}

.taf-product-video {
	position: relative;
	max-width: 816px;
	margin-top: 40px;
	aspect-ratio: 16 / 9;
}

.taf-product-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Visore a tutto schermo */
.taf-lightbox {
	width: 100vw;
	max-width: 100vw;
	height: 100vh;
	max-height: 100vh;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.92);
	color: #ffffff;
}

.taf-lightbox::backdrop {
	background: rgba(0, 0, 0, 0.6);
}

.taf-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.taf-lightbox__stage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 72px 88px;
	box-sizing: border-box;
}

#top .taf-lightbox__img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 0;
}

.taf-lightbox__count {
	position: absolute;
	top: 20px;
	left: 24px;
	margin: 0;
	font-size: 16px;
	line-height: 28px;
	color: #ffffff;
}

#top .taf-lightbox__btn {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 36px;
	line-height: 1;
	cursor: pointer;
}

#top .taf-lightbox__btn:hover,
#top .taf-lightbox__btn:focus-visible {
	background: #e65100;
}

#top .taf-lightbox__btn:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.taf-lightbox__close {
	top: 14px;
	right: 18px;
}

.taf-lightbox__prev,
.taf-lightbox__next {
	top: 50%;
	transform: translateY(-50%);
}

.taf-lightbox__prev {
	left: 18px;
}

.taf-lightbox__next {
	right: 18px;
}

html.taf-lightbox-open {
	overflow: hidden;
}

/* ===================================================================
 * Descrizione + Informazioni aggiuntive
 * ================================================================= */
.taf-product-info {
	padding: 65px 0 0;
}

.taf-product-info__grid {
	display: grid;
	grid-template-columns: minmax(0, 490px) minmax(0, 1fr);
	column-gap: 94px;
	row-gap: 40px;
}

#top .taf-product-info__title {
	margin: 0 0 16px;
	padding: 0;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 30px !important;
	text-transform: none;
	color: #1e1e1e !important;
}

.taf-product-info__text {
	font-size: 18px;
	line-height: 1.39;
	color: #1e1e1e;
	overflow-wrap: anywhere;
}

#top .taf-product-info__text p {
	margin: 0 0 12px;
	font-size: inherit;
	line-height: inherit;
}

#top .taf-product-info__text p:last-child {
	margin-bottom: 0;
}

#top .taf-product-info__list {
	margin: 13px 0 0;
	padding: 0;
	font-size: 18px;
	line-height: 25px;
}

.taf-product-info__row {
	display: grid;
	grid-template-columns: 156px minmax(0, 1fr);
}

#top .taf-product-info__list dt {
	margin: 0;
	padding: 0;
	font-weight: 700;
	color: #1e1e1e;
}

#top .taf-product-info__list dd {
	margin: 0;
	padding: 0;
	color: #e65100;
	overflow-wrap: anywhere;
}

/* ===================================================================
 * Contatti: titolo 42px + modulo CF7 esistente (6772 IT / 6848 EN)
 * ================================================================= */
.taf-product-contact {
	padding: 90px 0 0;
	outline: none;
	scroll-margin-top: 120px;
}

#top .taf-product-title {
	margin: 0 0 30px;
	padding: 0;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 42px !important;
	font-weight: 700 !important;
	line-height: 1.36 !important;
	text-transform: none;
	color: #1e1e1e !important;
}

.taf-product-form {
	max-width: 730px;
	font-size: 18px;
	color: #1e1e1e;
}

#top .taf-product-form .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 284px));
	column-gap: 54px;
	align-items: start;
	margin: 0;
}

#top .taf-product-form .wpcf7-form > *:not(.content-column) {
	grid-column: 1 / -1;
}

#top .taf-product-form .wpcf7-form > .hidden-fields-container {
	display: none;
}

#top .taf-product-form .wpcf7-form p {
	margin: 0;
	padding: 0;
}

/* Riga WhatsApp (testo e link già presenti nel modulo) */
#top .taf-product-form .wpcf7-form a[href*="whatsapp"] {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 32px;
	padding: 0 !important;
	border-bottom: 0 !important;
	color: #1e1e1e !important;
	font-size: 18px;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#top .taf-product-form .wpcf7-form > p:first-of-type > br {
	display: none;
}

#top .taf-product-form .wpcf7-form a[href*="whatsapp"] .fa-whatsapp {
	flex: 0 0 auto;
	padding-right: 0 !important;
	font-size: 40px;
	text-decoration: none;
}

#top .taf-product-form .wpcf7-form a[href*="whatsapp"]:hover,
#top .taf-product-form .wpcf7-form a[href*="whatsapp"]:focus-visible {
	color: #e65100 !important;
}

#top .taf-product-form .content-column,
#top .taf-product-form .content-column.one_half {
	float: none;
	width: auto;
	margin: 0 0 23px;
	padding: 0;
}

#top .taf-product-form .content-column > div {
	padding: 0 !important;
}

#top .taf-product-form label {
	display: block;
	margin: 0;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 30px;
	color: #1e1e1e;
}

#top .taf-product-form label br {
	display: none;
}

#top .taf-product-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 11px;
}

#top .taf-product-form input[type="text"],
#top .taf-product-form input[type="email"],
#top .taf-product-form input[type="tel"],
#top .taf-product-form textarea {
	display: block;
	width: 100%;
	height: 31px;
	min-height: 31px;
	margin: 0;
	padding: 4px 12px;
	border: 1px solid #1e1e1e;
	border-radius: 5px;
	background: #ffffff;
	box-shadow: none;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
	color: #1e1e1e;
	box-sizing: border-box;
}

#top .taf-product-form textarea {
	height: 150px;
	max-width: 622px;
	resize: vertical;
	padding-top: 10px;
}

#top .taf-product-form input::placeholder,
#top .taf-product-form textarea::placeholder {
	color: #828282;
	opacity: 1;
}

#top .taf-product-form input:focus,
#top .taf-product-form textarea:focus {
	border-color: #e65100;
	outline: 2px solid rgba(230, 81, 0, 0.35);
	outline-offset: 1px;
}

#top .taf-product-form .wpcf7-acceptance {
	display: block;
	margin-top: 14px;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 400;
}

#top .taf-product-form .wpcf7-acceptance label,
#top .taf-product-form .wpcf7-acceptance .wpcf7-list-item-label {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

#top .taf-product-form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

#top .taf-product-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	vertical-align: -3px;
	accent-color: #e65100;
}

#top .taf-product-form .wpcf7-form {
	font-size: 14px;
	line-height: 1.4;
}

#top .taf-product-form input[type="submit"],
#top .taf-product-form .wpcf7-submit {
	display: inline-block;
	width: auto;
	min-width: 260px;
	min-height: 60px;
	margin: 18px 0 0;
	padding: 10px 72px 10px 36px;
	border: 0;
	border-radius: 20px;
	background-color: #e65100;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15' viewBox='0 0 27 15'%3E%3Cpath d='M0 7.5h25M19 1.5l6 6-6 6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 32px center;
	background-size: 27px 15px;
	font-family: 'manrope', 'Manrope', sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
	color: #ffffff;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

#top .taf-product-form input[type="submit"]:hover,
#top .taf-product-form input[type="submit"]:focus-visible {
	background-color: #c24400;
}

#top .taf-product-form input[type="submit"]:focus-visible {
	outline: 2px solid #e65100;
	outline-offset: 3px;
}

#top .taf-product-form .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 400;
}

#top .taf-product-form .wpcf7-response-output {
	margin: 20px 0 0;
	font-size: 16px;
}

/* ===================================================================
 * Dicono di noi
 * ================================================================= */
.taf-product-reviews {
	padding-top: 120px;
}

/* ===================================================================
 * Responsive
 * ================================================================= */
@media (max-width: 1199px) {
	#top .taf-product-head__title {
		font-size: 52px !important;
	}

	.taf-product-info__grid {
		column-gap: 56px;
	}
}

@media (max-width: 1023px) {
	.taf-product-head {
		padding-top: 40px;
	}

	#top .taf-product-head__title {
		margin-top: 24px;
		font-size: 42px !important;
	}

	.taf-product-media {
		padding-top: 32px;
	}

	.taf-product-info {
		padding-top: 48px;
	}

	.taf-product-info__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.taf-product-contact {
		padding-top: 64px;
	}

	#top .taf-product-title {
		font-size: 36px !important;
	}

	.taf-product-reviews {
		padding-top: 80px;
	}
}

@media (max-width: 767px) {
	.taf-product-head {
		padding-top: 24px;
	}

	#top .taf-product-head__title {
		margin-top: 16px;
		font-size: 34px !important;
	}

	.taf-product-head__ctas {
		flex-direction: column;
		align-items: stretch;
	}

	#top .taf-btn,
	#top .taf-product-head__sold {
		min-height: 52px;
		padding: 10px 20px;
		font-size: 16px;
	}

	.taf-pgallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto auto;
		gap: 10px;
		aspect-ratio: auto;
	}

	.taf-pgallery__item--main {
		grid-column: 1 / -1;
		grid-row: auto;
		aspect-ratio: 816 / 590;
	}

	.taf-pgallery__item:not(.taf-pgallery__item--main),
	.taf-pgallery--2 .taf-pgallery__item:not(.taf-pgallery__item--main) {
		grid-row: auto;
		aspect-ratio: 493 / 286;
	}

	.taf-pgallery--2 .taf-pgallery__item:not(.taf-pgallery__item--main) {
		grid-column: 1 / -1;
	}

	.taf-pgallery--1 {
		aspect-ratio: auto;
	}

	.taf-pgallery__more {
		font-size: 30px;
	}

	.taf-product-video {
		margin-top: 24px;
	}

	.taf-product-info__text,
	#top .taf-product-info__list {
		font-size: 16px;
	}

	.taf-product-info__row {
		grid-template-columns: 110px minmax(0, 1fr);
	}

	.taf-product-contact {
		padding-top: 56px;
	}

	#top .taf-product-title {
		font-size: 30px !important;
		margin-bottom: 24px;
	}

	#top .taf-product-form .wpcf7-form {
		grid-template-columns: minmax(0, 1fr);
	}

	#top .taf-product-form textarea {
		max-width: none;
	}

	#top .taf-product-form input[type="submit"],
	#top .taf-product-form .wpcf7-submit {
		width: 100%;
		min-width: 0;
		min-height: 52px;
		font-size: 16px;
	}

	#top .taf-product-form .wpcf7-form a[href*="whatsapp"] {
		font-size: 16px;
		align-items: flex-start;
	}

	.taf-lightbox__stage {
		padding: 64px 12px;
	}

	.taf-lightbox__prev,
	.taf-lightbox__next {
		top: auto;
		bottom: 14px;
		transform: none;
	}

	.taf-product-reviews {
		padding-top: 56px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#top .taf-pgallery__img,
	.taf-btn__arrow,
	#top .taf-btn {
		transition: none;
	}

	#top .taf-pgallery__item:hover .taf-pgallery__img,
	#top .taf-btn:hover .taf-btn__arrow {
		transform: none;
	}
}
