/*
Theme Name: Leto Child
Theme URI: https://athemes.com/theme/leto
Template: leto
Author: athemes
Author URI: https://athemes.com
Description: Leto is a WooCommerce compatible theme that works great for any kind of shop. Leto features color and font options, blog options, integration with the Page Builder plugin so you can easily build your homepage or other pages and many more other useful features.
Tags: e-commerce,two-columns,right-sidebar,custom-colors,custom-background,custom-header,custom-menu,featured-images,sticky-post,theme-options,threaded-comments,translation-ready
Version: 1.0.14.1783949536
Updated: 2026-07-13 13:32:16

*/

/* =========================================================
   VF – STILE MODERNO PAGINA PRODOTTO
   Mantiene il layout originale del tema Leto
   ========================================================= */

/* Evita problemi di calcolo delle dimensioni */
.single-product *,
.single-product *::before,
.single-product *::after {
	box-sizing: border-box;
}

/* Spaziatura generale del prodotto */
.single-product div.product {
	margin-top: 60px;
	margin-bottom: 80px;
}

/* =========================================================
   GALLERIA
   ========================================================= */

.single-product .woocommerce-product-gallery {
	margin-bottom: 35px;
}

/* Immagine principale */
.single-product .woocommerce-product-gallery__image {
	overflow: hidden;
	background: #f7f7f7;
}

.single-product .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.35s ease;
}

.single-product .woocommerce-product-gallery__image:hover img {
	transform: scale(1.015);
}

/* Icona zoom */
.single-product .woocommerce-product-gallery__trigger {
	top: 18px;
	right: 18px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

/* Miniature */
.single-product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 15px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.single-product .flex-control-thumbs li {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

.single-product .flex-control-thumbs img {
	display: block;
	width: 100%;
	padding: 3px;
	border: 1px solid transparent;
	background: #f7f7f7;
	opacity: 0.68;
	cursor: pointer;
	transition: 0.2s ease;
}

.single-product .flex-control-thumbs img:hover,
.single-product .flex-control-thumbs img.flex-active {
	border-color: #202020;
	opacity: 1;
}

/* =========================================================
   TITOLO E PREZZO
   ========================================================= */

.single-product .summary .product_title {
	position: relative;
	margin: 0 0 24px;
	padding-bottom: 20px;
	font-size: clamp(30px, 2.8vw, 44px);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: -0.035em;
	color: #1d1d1d;
}

.single-product .summary .product_title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 48px;
	height: 3px;
	background: #b68b3c;
}

/* Prezzo principale */
.single-product .summary p.price,
.single-product .summary span.price {
	margin: 0 0 28px;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 500;
	color: #1d1d1d;
}

/* Prezzo mostrato dopo la scelta della variante */
.single-product .woocommerce-variation-price {
	margin: 15px 0 20px;
}

/* =========================================================
   DESCRIZIONE E CARATTERISTICHE
   ========================================================= */

.single-product .woocommerce-product-details__short-description {
	margin: 0 0 32px;
	font-size: 15px;
	line-height: 1.75;
	color: #444;
}

.single-product .woocommerce-product-details__short-description p {
	margin-bottom: 24px;
}

/* Titoli nella descrizione */
.single-product .woocommerce-product-details__short-description h2,
.single-product .woocommerce-product-details__short-description h3,
.single-product .woocommerce-product-details__short-description h4 {
	margin: 30px 0 14px;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	color: #222;
}

/* Elenco caratteristiche */
.single-product .woocommerce-product-details__short-description ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 22px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #e6e6e6;
}

.single-product .woocommerce-product-details__short-description li {
	position: relative;
	min-width: 0;
	margin: 0;
	padding: 13px 4px 13px 27px;
	border-bottom: 1px solid #e6e6e6;
	font-size: 14px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.single-product .woocommerce-product-details__short-description li::before {
	content: "✓";
	position: absolute;
	top: 14px;
	left: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	border: 1px solid #c49a4b;
	border-radius: 50%;
	color: #b68b3c;
	font-size: 10px;
	font-weight: 700;
}

/* =========================================================
   FORM PRODOTTO
   ========================================================= */

.single-product .summary form.cart {
	width: 100%;
	margin: 34px 0 0 !important;
	padding-top: 28px;
	border-top: 1px solid #e4e4e4;
}

/* Etichette */
.single-product .summary form.cart label,
.single-product .summary .wc-pao-addon-name {
	display: block;
	margin: 0 0 9px;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #222;
}

/* =========================================================
   SELECT TIPO LEGNO / TIPO KIT
   ========================================================= */

/* Tabella delle variazioni: mantiene la struttura ma usa tutta la larghezza */
.single-product .summary table.variations {
	width: 100% !important;
	margin: 0 0 24px !important;
	border: 0;
}

.single-product .summary table.variations tr,
.single-product .summary table.variations th,
.single-product .summary table.variations td {
	border: 0;
}

.single-product .summary table.variations th {
	display: block;
	width: 100%;
	padding: 0 0 8px !important;
	text-align: left;
}

.single-product .summary table.variations td {
	display: block;
	width: 100%;
	padding: 0 !important;
}

/* Forza la visibilità della casella di selezione */
.single-product .summary form.cart select,
.single-product .summary table.variations select,
.single-product .summary .value select {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	height: 54px !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 0 45px 0 15px !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	background-color: #fff !important;
	color: #333 !important;
	font-family: inherit;
	font-size: 14px !important;
	line-height: 54px;
	cursor: pointer;
	appearance: auto;
	-webkit-appearance: menulist;
}

/* Link annulla variazione */
.single-product .reset_variations {
	display: inline-block;
	margin-top: 9px;
	font-size: 12px;
	color: #666;
}

/* =========================================================
   CAMPO INCISIONE
   ========================================================= */

.single-product .summary form.cart input[type="text"],
.single-product .summary form.cart input[type="email"],
.single-product .summary form.cart textarea,
.single-product .summary .wc-pao-addon-field {
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 13px 15px !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #333;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
}

.single-product .summary form.cart textarea {
	min-height: 100px;
	resize: vertical;
}

/* Spazio tra i componenti aggiuntivi */
.single-product .wc-pao-addon-container,
.single-product .product-addon,
.single-product .form-row {
	margin-bottom: 22px;
}

/* Descrizione sotto incisione */
.single-product .wc-pao-addon-description,
.single-product .summary form.cart small,
.single-product .summary form.cart .description {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.65;
	color: #666;
}

/* Focus campi */
.single-product .summary form.cart select:focus,
.single-product .summary form.cart input:focus,
.single-product .summary form.cart textarea:focus {
	outline: none;
	border-color: #222 !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.045);
}

/* =========================================================
   QUANTITÀ E PULSANTE
   ========================================================= */

.single-product .woocommerce-variation-add-to-cart,
.single-product .summary form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 14px;
	width: 100%;
	margin-top: 28px;
}

/* Quantità */
.single-product .summary form.cart .quantity {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 130px;
	min-width: 130px;
	height: 56px;
	margin: 0 !important;
	border: 1px solid #cfcfcf;
	background: #fff;
}

/* Campo numerico quantità */
.single-product .summary form.cart .quantity input.qty {
	width: 54px !important;
	min-width: 54px;
	height: 54px !important;
	min-height: 54px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
	font-size: 15px;
	box-shadow: none !important;
}

/* Pulsante carrello */
.single-product .summary .single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: 56px;
	margin: 0 !important;
	padding: 15px 25px !important;
	border: 1px solid #202020 !important;
	border-radius: 0 !important;
	background: #202020 !important;
	color: #fff !important;
	font-size: 13px !important;
	line-height: 1.2;
	font-weight: 700 !important;
	letter-spacing: 0.045em;
	text-align: center;
	text-transform: uppercase;
	transition: 0.2s ease;
}

.single-product .summary .single_add_to_cart_button:hover {
	background: #fff !important;
	color: #202020 !important;
}

/* Pulsante inattivo finché non viene scelta la variazione */
.single-product .summary .single_add_to_cart_button.disabled,
.single-product .summary .single_add_to_cart_button:disabled {
	border-color: #aaa !important;
	background: #aaa !important;
	color: #fff !important;
	cursor: not-allowed;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1024px) {
	.single-product div.product {
		margin-top: 45px;
	}

	.single-product .summary .product_title {
		font-size: 32px;
	}

	.single-product .woocommerce-product-details__short-description ul {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {
	.single-product div.product {
		margin-top: 30px;
		margin-bottom: 55px;
	}

	.single-product .summary {
		margin-top: 35px !important;
	}

	.single-product .summary .product_title {
		font-size: 30px;
	}

	.single-product .woocommerce-product-details__short-description ul {
		grid-template-columns: 1fr;
	}

	.single-product .flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	.single-product .woocommerce-variation-add-to-cart,
	.single-product .summary form.cart:not(.variations_form) {
		display: block;
	}

	.single-product .summary form.cart .quantity {
		width: 100%;
		margin-bottom: 12px !important;
	}

	.single-product .summary .single_add_to_cart_button {
		display: block;
		width: 100%;
	}
}

/* =========================================================
   VF – CORREZIONE ESATTA YITH WAPO: INCISIONE PENNA
   ========================================================= */

/* Contenitore generale dell'add-on */
.single-product #yith-wapo-container {
	display: block !important;
	width: 100% !important;
	margin: 24px 0 26px !important;
	padding: 0 !important;
	clear: both !important;
}

/* Blocco add-on */
.single-product #yith-wapo-container .yith-wapo-addon {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

/* Intestazione "Incisione Penna" */
.single-product #yith-wapo-container .addon-header {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 9px !important;
	padding: 0 !important;
	overflow: visible !important;
}

/* Titolo completo sopra al campo */
.single-product #yith-wapo-container h3.wapo-addon-title,
.single-product #yith-wapo-container .wapo-addon-title {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	overflow: visible !important;
	transform: none !important;
	font-size: 12px !important;
	line-height: 1.45 !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: #222 !important;
}

/* Evita che lo span del titolo venga tagliato */
.single-product #yith-wapo-container .wapo-addon-title > span {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	white-space: normal !important;
}

/* Rimuove eventuali frecce o elementi del toggle */
.single-product #yith-wapo-container .wapo-addon-title::before,
.single-product #yith-wapo-container .wapo-addon-title::after {
	display: none !important;
	content: none !important;
}

/* Mantiene sempre visibile e correttamente dimensionata l'area opzioni */
.single-product #yith-wapo-container .options-container,
.single-product #yith-wapo-container .options-container.default-closed,
.single-product #yith-wapo-container .yith-wapo-addon.toggle-closed .options-container {
	position: static !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	transform: none !important;
}

/* Wrapper dell'opzione */
.single-product #yith-wapo-container .options,
.single-product #yith-wapo-container .yith-wapo-option,
.single-product #yith-wapo-container .yith-wapo-option .label,
.single-product #yith-wapo-container .input-text-container {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	overflow: visible !important;
}

/* Nasconde il label interno vuoto generato da YITH */
.single-product #yith-wapo-container .option-container {
	display: none !important;
}

/* Campo incisione */
.single-product #yith-wapo-container input.yith-wapo-option-value[type="text"] {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 13px 15px !important;
	float: none !important;
	clear: both !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #333 !important;
	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
}

/* Focus del campo */
.single-product #yith-wapo-container input.yith-wapo-option-value[type="text"]:focus {
	outline: none !important;
	border-color: #222 !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.045) !important;
}

/* Descrizione sempre sotto al campo */
.single-product #yith-wapo-container .yith-wapo-option > p.description,
.single-product #yith-wapo-container p.description {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 9px 0 0 !important;
	padding: 0 !important;
	clear: both !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
	color: #666 !important;
	overflow: visible !important;
}

/* Il tooltip non deve alterare il flusso del layout */
.single-product #yith-wapo-container .tooltip {
	position: absolute !important;
	z-index: 20 !important;
}

/* Evita spazi e sovrapposizioni prima di quantità e pulsante */
.single-product .woocommerce-variation-add-to-cart {
	align-content: flex-start !important;
}

.single-product #yith-wapo-container + #wapo-total-price-table {
	clear: both !important;
	width: 100% !important;
	margin-top: 18px !important;
}

/* Mobile */
@media screen and (max-width: 767px) {
	.single-product #yith-wapo-container {
		margin-top: 20px !important;
	}

	.single-product #yith-wapo-container input.yith-wapo-option-value[type="text"] {
		height: 52px !important;
		min-height: 52px !important;
	}
}

/* =========================================================
   VF – TOOLTIP INCISIONE PENNA
   Desktop: compare al passaggio del mouse
   Mobile/touch: compare quando il campo è attivo
   ========================================================= */

/* Il contenitore dell'opzione diventa il riferimento del popup */
.single-product #yith-wapo-container .yith-wapo-option {
	position: relative !important;
}

/* Popup inizialmente nascosto */
.single-product #yith-wapo-container .yith-wapo-option > .tooltip {
	position: absolute !important;
	left: 16px !important;
	top: calc(54px + 12px) !important;
	z-index: 9999 !important;
	display: block !important;
	visibility: hidden !important;
	opacity: 0 !important;
	width: max-content !important;
	max-width: min(360px, calc(100vw - 48px)) !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	transform: translateY(-6px) !important;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
}

/* Aspetto del fumetto */
.single-product #yith-wapo-container .yith-wapo-option > .tooltip > span {
	position: relative !important;
	display: block !important;
	padding: 11px 14px !important;
	border: 1px solid #d8c49a !important;
	border-radius: 6px !important;
	background: #fffaf0 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	color: #3d3425 !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: normal !important;
}

/* Freccia del fumetto */
.single-product #yith-wapo-container .yith-wapo-option > .tooltip > span::before,
.single-product #yith-wapo-container .yith-wapo-option > .tooltip > span::after {
	content: "" !important;
	position: absolute !important;
	left: 18px !important;
	bottom: 100% !important;
	width: 0 !important;
	height: 0 !important;
	border-style: solid !important;
}

.single-product #yith-wapo-container .yith-wapo-option > .tooltip > span::before {
	border-width: 0 8px 8px 8px !important;
	border-color: transparent transparent #d8c49a transparent !important;
}

.single-product #yith-wapo-container .yith-wapo-option > .tooltip > span::after {
	left: 19px !important;
	border-width: 0 7px 7px 7px !important;
	border-color: transparent transparent #fffaf0 transparent !important;
}

/* Desktop: mostra il suggerimento sul titolo o sul campo */
.single-product #yith-wapo-container .addon-header:hover + .options-container .yith-wapo-option > .tooltip,
.single-product #yith-wapo-container .yith-wapo-option:hover > .tooltip,
.single-product #yith-wapo-container .input-text-container:hover + .tooltip,
.single-product #yith-wapo-container .yith-wapo-option:focus-within > .tooltip {
	visibility: visible !important;
	opacity: 1 !important;
	transform: translateY(0) !important;
}

/* Lascia spazio sotto il campo, così il popup non copre la descrizione */
.single-product #yith-wapo-container .yith-wapo-option {
	padding-bottom: 4px !important;
}

/* Mobile: popup più largo e centrato rispetto al campo */
@media screen and (max-width: 767px) {
	.single-product #yith-wapo-container .yith-wapo-option > .tooltip {
		left: 0 !important;
		top: calc(52px + 10px) !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.single-product #yith-wapo-container .yith-wapo-option > .tooltip > span {
		width: 100% !important;
	}
}

.single-product #wapo-total-price-table {
    display: none !important;
}