		.content-area.alignwide { max-width: 1400px; padding: 0 3rem; }
		body.single-product main.wp-block-group.has-global-padding.is-layout-constrained { padding-top: 2rem; }
		.woocommerce-breadcrumb { font-size: 0.8rem; color: var(--nsn-text-muted); margin: 0.5rem 0 1rem; }
		.woocommerce-breadcrumb a { color: var(--nsn-text-muted); text-decoration: none; }
		.woocommerce-breadcrumb a:hover { color: var(--wp--preset--color--contrast, #23282d); }
		div.product {
			display: flex; flex-wrap: wrap; gap: 3rem; align-items: flex-start;
			margin-bottom: 3rem;
		}
		.woocommerce-product-gallery {
			flex: 1 1 55%; min-width: 300px; display: flex; gap: 1rem; align-items: flex-start;
			opacity: 1 !important;
		}
		.nsn-gallery-thumbs {
			flex: 0 0 76px; display: flex; flex-direction: column; gap: 0.6rem;
			max-height: 600px; overflow-y: auto; scrollbar-width: none;
		}
		.nsn-gallery-thumbs::-webkit-scrollbar { display: none; }
		.nsn-gallery-thumb {
			flex-shrink: 0; width: 76px; aspect-ratio: 1/1; padding: 0; cursor: pointer;
			background: var(--wp--preset--color--subtle, #ebebeb); border: 1px solid var(--wp--preset--color--border, #ebebeb); overflow: hidden;
		}
		.nsn-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
		.nsn-gallery-thumb.is-active { border-color: var(--wp--preset--color--contrast, #23282d); }
		/* Colonna che raggruppa immagine principale + barra controlli sotto,
		   stessa larghezza dell'immagine (non dell'intera galleria con le
		   miniature a fianco). */
		.nsn-gallery-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
		.woocommerce-product-gallery__wrapper {
			width: 100%; position: relative; background: var(--wp--preset--color--subtle, #ebebeb);
			/* Immagine principale quadrata (richiesta esplicita dell'utente
			   2026-08-11): le foto del catalogo sono quadrate (705x705
			   originali), un'altezza libera dava riquadri di dimensioni
			   incoerenti da un prodotto all'altro. */
			aspect-ratio: 1/1; overflow: hidden;
		}
		/* !important necessario: woocommerce.css ha un fallback nativo
		   ".woocommerce-product-gallery__image:nth-child(n+2){width:25%;display:inline-block}"
		   pensato per quando flexslider non è inizializzato, più specifico di un
		   semplice selettore di classe — qui flexslider è disattivato di proposito
		   (galleria custom), quindi va sempre e comunque neutralizzato. */
		.woocommerce-product-gallery__image { display: none !important; }
		.woocommerce-product-gallery__image.nsn-active {
			display: block !important; width: 100% !important; height: 100%;
			position: relative; overflow: hidden;
		}
		/* Sfondo sfocato: riempie il riquadro quadrato quando la foto non lo è
		   (stesso trucco dei video verticali su sfondo 16:9 sfocato), invece di
		   tagliare il soggetto con object-fit:cover. "--nsn-bg-img" impostata
		   via JS (single-product.js) sull'URL della stessa immagine. */
		.woocommerce-product-gallery__image::before {
			content: ""; position: absolute; inset: -20px; z-index: 0;
			background-image: var(--nsn-bg-img); background-size: cover; background-position: center;
			filter: blur(20px); transform: scale(1.1);
		}
		.woocommerce-product-gallery__image img {
			position: relative; z-index: 1;
			width: 100%; height: 100%; object-fit: contain; display: block;
		}
		/* Barra di controllo sotto l'immagine (non più frecce sopra: coprivano
		   dettagli del prodotto sulle foto a soggetto esteso, richiesta esplicita
		   dell'utente 2026-08-11). Tre riquadri grigi attaccati a piena
		   larghezza: ingrandisci (lightbox) + precedente + successiva. */
		.nsn-gallery-controls { display: flex; width: 100%; }
		.nsn-gallery-controls button {
			flex: 1; height: 3rem; border: none; background: var(--wp--preset--color--subtle, #ebebeb); cursor: pointer;
			display: flex; align-items: center; justify-content: center; color: var(--wp--preset--color--contrast, #23282d);
			border-right: 1px solid var(--nsn-white);
		}
		.nsn-gallery-controls button:last-child { border-right: none; }
		.nsn-gallery-controls button:hover { background: var(--wp--preset--color--subtle, #ebebeb); }
		.nsn-gallery-zoom.is-active { background: var(--wp--preset--color--contrast, #23282d); color: var(--nsn-white); }
		.nsn-gallery-zoom.is-active:hover { background: var(--wp--preset--color--contrast, #23282d); }
		.nsn-gallery-zoom-lens {
			position: absolute; inset: 0; z-index: 3;
			background-repeat: no-repeat; background-size: 200%;
			opacity: 0; pointer-events: none; transition: opacity 0.15s;
		}
		.nsn-gallery-zoom-lens.nsn-zoom-visible { opacity: 1; }
		.woocommerce-product-gallery__wrapper.nsn-zoom-mode { cursor: zoom-in; touch-action: none; }

		/* Lightbox galleria prodotto (nuova: prima esisteva solo per la guida
		   misure). Stesso pattern visivo di ".nsn-size-guide-lightbox". */
		.nsn-gallery-lightbox {
			position: fixed; inset: 0; z-index: 400; visibility: hidden; pointer-events: none;
			display: flex; align-items: center; justify-content: center;
		}
		.nsn-gallery-lightbox.is-open { visibility: visible; pointer-events: auto; }
		.nsn-gallery-lightbox-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.85); opacity: 0; transition: opacity 0.25s; }
		.nsn-gallery-lightbox.is-open .nsn-gallery-lightbox-backdrop { opacity: 1; }
		.nsn-gallery-lightbox-figure {
			position: relative; z-index: 1; margin: 0; max-width: min(90vw, 700px); max-height: 85vh;
			opacity: 0; transform: scale(0.97); transition: opacity 0.25s, transform 0.25s;
			pointer-events: none;
		}
		.nsn-gallery-lightbox.is-open .nsn-gallery-lightbox-figure { opacity: 1; transform: scale(1); pointer-events: auto; }
		.nsn-gallery-lightbox-figure img { max-width: 100%; max-height: 85vh; object-fit: contain; display: block; }
		.nsn-gallery-lightbox-close {
			position: absolute; top: 1.25rem; right: 1.25rem; z-index: 2; background: none; border: none;
			color: var(--nsn-white); cursor: pointer; opacity: 0.8; padding: 0.5em;
		}
		.nsn-gallery-lightbox-close:hover { opacity: 1; }
		.nsn-gallery-lightbox-arrow {
			position: relative; z-index: 2; background: none; border: none; color: var(--nsn-white);
			font-size: 2.5rem; line-height: 1; cursor: pointer; opacity: 0.7; padding: 0.5rem 1rem;
		}
		.nsn-gallery-lightbox-arrow:hover { opacity: 1; }
		@media (max-width: 600px) {
			.nsn-gallery-thumbs { flex-basis: 56px; }
			.nsn-gallery-thumb { width: 56px; }
		}
		.summary.entry-summary { flex: 1 1 35%; min-width: 320px; }
		.summary.entry-summary .product_title {
			font-size: 1.6rem; margin: 0 0 0.3rem; text-transform: uppercase; letter-spacing: 0.02em;
		}
		.summary.entry-summary > p.price {
			font-size: 1.3rem; font-weight: 600; margin: 0.5rem 0 1rem;
			color: var(--wp--preset--color--accent, #26649d);
		}
		.summary.entry-summary > p.price del { color: var(--nsn-text-faint); opacity: 1; font-weight: 400; margin-right: 0.5em; }
		.summary.entry-summary > p.price ins { text-decoration: none; }
		/* Scritta del coupon automatico sotto il prezzo (spec 0005, AC-14). */
		.nsn-coupon-etichetta {
			display: inline-block; margin: -0.5rem 0 1rem; padding: 0.2rem 0.6rem; font-size: 0.9rem; font-weight: 700;
			background: var(--nsn-c1, var(--wp--preset--color--contrast, #23282d)); color: var(--nsn-c1-testo, var(--nsn-white));
		}
		.woocommerce-product-rating { margin-bottom: 1.25rem; }
		.nsn-color-fixed { margin: 1.25rem 0; }
		.nsn-color-label { margin: 0; font-size: 0.9rem; }
		.nsn-color-note { margin: 0.3rem 0 0; font-size: 0.8rem; color: var(--nsn-text-faint); font-style: italic; }
		/* Select Colore: dropdown "finto" (bottone + lista) con lo stesso
		   aspetto della select Taglia qui sotto, ma con il quadratino colore
		   dentro alla voce stessa - sia nella voce selezionata sia in ogni
		   riga della lista (richiesta esplicita utente 2026-08-12: "il
		   quadrato deve stare dentro il dropdown insieme alla voce"). Il
		   bordo del quadratino resta sempre visibile anche per il Bianco,
		   che altrimenti si confonderebbe con lo sfondo bianco. La <select>
		   nativa vera (.nsn-select-native-hidden) resta nel form per submit/
		   validazione, solo nascosta alla vista. */
		.nsn-color-select { margin: 1.25rem 0; position: relative; }
		.nsn-color-select > label { display: block; font-weight: 400; font-size: 0.9rem; margin-bottom: 0.6rem; }
		.nsn-select-native-hidden {
			position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
			overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
		}
		.nsn-color-swatch {
			flex-shrink: 0; width: 1.4rem; height: 1.4rem;
			border: 1px solid var(--wp--preset--color--border, #ebebeb);
			background: var(--nsn-white);
		}
		.nsn-select-custom { position: relative; }
		.nsn-select-custom-trigger {
			width: 100%; display: flex; align-items: center; gap: 0.7rem;
			padding: 0.7rem 2.5rem 0.7rem 1rem; font-size: 0.95rem; font-family: inherit;
			border: 1px solid var(--wp--preset--color--border, #ebebeb); border-radius: 0; background-color: var(--nsn-white); color: var(--wp--preset--color--contrast, #23282d);
			cursor: pointer; text-align: left;
		}
		.nsn-select-custom-trigger:hover { border-color: var(--wp--preset--color--contrast, #23282d); }
		.nsn-select-custom-trigger:focus { outline: none; border-color: var(--wp--preset--color--contrast, #23282d); }
		.nsn-select-custom-current { display: flex; align-items: center; gap: 0.7rem; flex: 1; min-width: 0; }
		.nsn-select-custom-chevron { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); pointer-events: none; }
		.nsn-select-custom-list {
			list-style: none; margin: 0.25rem 0 0; padding: 0.25rem 0; position: absolute; z-index: 5;
			top: 100%; left: 0; right: 0; max-height: 16rem; overflow-y: auto;
			border: 1px solid var(--wp--preset--color--border, #ebebeb); background-color: var(--nsn-white);
			box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		}
		.nsn-select-custom-option {
			display: flex; align-items: center; gap: 0.7rem; padding: 0.6rem 1rem; cursor: pointer; font-size: 0.95rem;
		}
		.nsn-select-custom-option:hover,
		.nsn-select-custom-option[aria-selected="true"] { background-color: var(--wp--preset--color--subtle, #ebebeb); }
		.nsn-size-select { margin: 1.25rem 0; }
		.nsn-size-label-row {
			display: flex; align-items: center; justify-content: space-between;
			margin-bottom: 0.6rem; font-size: 0.9rem;
		}
		.nsn-size-label-row label { font-weight: 400; }
		.nsn-size-guide-trigger {
			background: none; border: none; color: var(--nsn-text-muted); font-size: 0.85rem;
			text-decoration: underline; cursor: pointer; padding: 0; font-family: inherit;
		}
		.nsn-size-guide-trigger:hover { color: var(--wp--preset--color--accent, #26649d); }
		.nsn-size-select select {
			width: 100%; padding: 0.9rem 2.5rem 0.9rem 1rem; font-size: 0.95rem; font-family: inherit;
			border: 1px solid var(--wp--preset--color--border, #ebebeb); border-radius: 0; background-color: var(--nsn-white); color: var(--wp--preset--color--contrast, #23282d);
			appearance: none; -webkit-appearance: none; cursor: pointer;
			background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 width=%2216%22 height=%2216%22 fill=%22none%22 stroke=%22%23111%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E");
			background-repeat: no-repeat; background-position: right 1rem center;
		}
		.nsn-size-select select:hover { border-color: var(--wp--preset--color--contrast, #23282d); }
		.nsn-size-select select:focus { outline: none; border-color: var(--wp--preset--color--contrast, #23282d); }
		.quantity { margin: 0 0 1.25rem !important; display: block !important; float: none !important; clear: both; }
		.nsn-qty-label { display: block; font-weight: 400; font-size: 0.9rem; margin-bottom: 0.6rem; }
		/* Campo Quantita': box numerico nativo (non un dropdown - richiesta
		   esplicita utente 2026-08-12 dopo la prima versione a tendina: "un box
		   numerico va benissimo ma largo quanto gli altri e le frecce ben
		   visibili per aumentare/diminuire"). Stesso riquadro bordato di
		   Taglia/Colore, larghezza piena, con due pulsanti −/+ incorporati al
		   posto delle minuscole frecce native del browser (nascoste sotto). */
		.nsn-qty-stepper {
			display: flex; align-items: stretch; width: 100%;
			border: 1px solid var(--wp--preset--color--border, #ebebeb); background-color: var(--nsn-white);
		}
		.nsn-qty-stepper:focus-within { border-color: var(--wp--preset--color--contrast, #23282d); }
		.quantity input.qty {
			flex: 1; min-width: 0; width: auto; border: none; background: transparent;
			padding: 0.9rem 0.5rem; font-size: 0.95rem; font-family: inherit; text-align: center;
			color: var(--wp--preset--color--contrast, #23282d); -moz-appearance: textfield;
		}
		.quantity input.qty::-webkit-outer-spin-button,
		.quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
		.quantity input.qty:focus { outline: none; }
		.nsn-qty-btn {
			flex: 0 0 3rem; border: none; background: var(--nsn-white); cursor: pointer;
			font-size: 1.3rem; line-height: 1; font-family: inherit; color: var(--wp--preset--color--contrast, #23282d);
			display: flex; align-items: center; justify-content: center;
		}
		.nsn-qty-btn:hover { background-color: var(--wp--preset--color--subtle, #ebebeb); }
		.nsn-qty-minus { border-right: 1px solid var(--wp--preset--color--border, #ebebeb); }
		.nsn-qty-plus { border-left: 1px solid var(--wp--preset--color--border, #ebebeb); }
		.summary.entry-summary .single_add_to_cart_button {
			width: 100%; padding: 1rem; font-size: 0.9rem; letter-spacing: 0.05em;
			background: var(--nsn-c1, var(--wp--preset--color--contrast, #23282d)); color: var(--nsn-c1-testo, var(--nsn-white)); border-color: var(--nsn-c1, var(--wp--preset--color--contrast, #23282d)); border-radius: 0;
		}
		.summary.entry-summary .single_add_to_cart_button:hover {
			background: var(--wp--preset--color--accent, #26649d);
			color: var(--nsn-white); border-color: var(--wp--preset--color--accent, #26649d);
		}
		.woocommerce-tabs { clear: both; margin-top: 2rem; max-width: 1400px; }
		.woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--wp--preset--color--border, #ebebeb); padding: 0; margin: 0 0 1.5rem; list-style: none; display: flex; gap: 1.5rem; }
		.woocommerce-tabs ul.tabs li { margin: 0; }
		.woocommerce-tabs ul.tabs li a { text-decoration: none; color: var(--nsn-text-muted); font-weight: 600; padding-bottom: 0.75rem; display: block; }
		.woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--contrast, #23282d); border-bottom: 2px solid var(--wp--preset--color--contrast, #23282d); }

		/* Pannello Guida Taglie: stessa ricetta a scivolo dei pannelli account/wishlist/carrello. */
		.nsn-size-guide-panel { position: fixed; inset: 0; z-index: 300; visibility: hidden; pointer-events: none; }
		.nsn-size-guide-panel.is-open { visibility: visible; pointer-events: auto; }
		.nsn-size-guide-backdrop { position: absolute; inset: 0; background: rgba(95,95,95,0.35); opacity: 0; transition: opacity 0.3s; }
		.nsn-size-guide-panel.is-open .nsn-size-guide-backdrop { opacity: 1; }
		.nsn-size-guide-drawer {
			position: absolute; top: 0; right: 0; bottom: 0; width: 480px; max-width: 100%;
			background: var(--nsn-white); display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden;
			box-shadow: -8px 0 24px rgba(0,0,0,0.2);
			transform: translateX(100%); transition: transform 0.3s;
		}
		.nsn-size-guide-panel.is-open .nsn-size-guide-drawer { transform: translateX(0); }
		body.admin-bar .nsn-size-guide-backdrop,
		body.admin-bar .nsn-size-guide-drawer { top: var(--wp-admin--admin-bar--height, 32px); }
		.nsn-size-guide-header {
			display: flex; align-items: center; justify-content: center; position: relative;
			padding: 1.2rem 1.5rem; border-bottom: 1px solid var(--wp--preset--color--border, #ebebeb); font-weight: 600; flex-shrink: 0;
		}
		.nsn-size-guide-close { background: transparent; border: 0; color: inherit; cursor: pointer; position: absolute; right: 12px; top: 12px; padding: 1em; margin: -1em; opacity: 0.6; }
		.nsn-size-guide-close:hover { opacity: 1; }
		.nsn-size-guide-body { padding: 1.5rem; min-width: 0; }
		.nsn-size-guide-body img { max-width: 100%; height: auto; }
		.nsn-size-guide-step { display: grid; grid-template-columns: 84px 1fr; gap: 1rem; margin-bottom: 1.75rem; }
		.nsn-size-guide-step-media {
			aspect-ratio: 1/1; overflow: hidden; background: var(--wp--preset--color--subtle, #ebebeb); border: 1px solid var(--wp--preset--color--border, #ebebeb);
			padding: 0; cursor: zoom-in; display: block; width: 100%; font: inherit;
		}
		.nsn-size-guide-step-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
		/* Guida scarpe: foto non ritagliate a quadrato, proporzione originale
		   mantenuta (richiesta esplicita utente 2026-08-12) - a differenza dei
		   jeans, dove il crop 1:1 va bene per le foto reali del prodotto. */
		.nsn-size-guide-step-media--natural { aspect-ratio: auto; height: auto; align-self: start; background: transparent; border: none; }
		.nsn-size-guide-step-media--natural img { width: 100%; height: auto; object-fit: contain; }
		/* Step senza foto (guida scarpe, "Casi particolari"): niente colonna
		   immagine, testo a piena larghezza ma stessa numerazione degli altri
		   step (richiesta esplicita utente 2026-08-12). */
		.nsn-size-guide-step--text-only { grid-template-columns: 1fr; }

		/* Lightbox guida misure: immagine grande, navigazione tra i 4 scatti. */
		.nsn-size-guide-lightbox {
			position: fixed; inset: 0; z-index: 400; visibility: hidden; pointer-events: none;
			display: flex; align-items: center; justify-content: center;
		}
		.nsn-size-guide-lightbox.is-open { visibility: visible; pointer-events: auto; }
		.nsn-size-guide-lightbox-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.85); opacity: 0; transition: opacity 0.25s; }
		.nsn-size-guide-lightbox.is-open .nsn-size-guide-lightbox-backdrop { opacity: 1; }
		.nsn-size-guide-lightbox-figure {
			position: relative; z-index: 1; margin: 0; max-width: min(90vw, 700px); max-height: 85vh;
			display: flex; flex-direction: column; align-items: center; gap: 0.75rem;
			opacity: 0; transform: scale(0.97); transition: opacity 0.25s, transform 0.25s;
			pointer-events: none;
		}
		.nsn-size-guide-lightbox.is-open .nsn-size-guide-lightbox-figure { opacity: 1; transform: scale(1); pointer-events: auto; }
		.nsn-size-guide-lightbox-figure img { max-width: 100%; max-height: 75vh; object-fit: contain; display: block; }
		.nsn-size-guide-lightbox-figure figcaption { color: var(--nsn-white); font-size: 0.85rem; letter-spacing: 0.03em; text-transform: uppercase; }
		.nsn-size-guide-lightbox-close {
			position: absolute; top: 1.25rem; right: 1.25rem; z-index: 2; background: none; border: none;
			color: var(--nsn-white); cursor: pointer; opacity: 0.8; padding: 0.5em;
		}
		.nsn-size-guide-lightbox-close:hover { opacity: 1; }
		.nsn-size-guide-lightbox-arrow {
			position: relative; z-index: 2; background: none; border: none; color: var(--nsn-white);
			font-size: 2.5rem; line-height: 1; cursor: pointer; opacity: 0.7; padding: 0.5rem 1rem;
		}
		.nsn-size-guide-lightbox-arrow:hover { opacity: 1; }
		.nsn-size-guide-step-title { display: flex; align-items: center; margin: 0.1rem 0 0.5rem; font-weight: 600; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.02em; }
		.nsn-size-guide-step-num {
			display: inline-flex; align-items: center; justify-content: center;
			width: 22px; height: 22px; border: 1px solid var(--wp--preset--color--contrast, #23282d); border-radius: 50%;
			font-size: 0.7rem; font-weight: 600; margin-right: 0.6rem; flex-shrink: 0;
		}
		.nsn-size-guide-step-text { margin: 0; font-size: 0.85rem; line-height: 1.6; color: var(--nsn-text-muted); }
		.nsn-size-guide-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 0.85rem; }
		.nsn-size-guide-table th, .nsn-size-guide-table td { text-align: left; padding: 0.5rem 0.25rem; border-bottom: 1px solid var(--wp--preset--color--border, #ebebeb); }
		.nsn-size-guide-table th { color: var(--nsn-text-muted); font-weight: 600; }
		/* Righe stimate (guida scarpe, taglie fuori dal range coperto dal dato
		   reale) e nota a piè tabella: leggermente attenuate, non un errore ma
		   nemmeno un dato al pari delle altre righe (richiesta esplicita
		   utente 2026-08-12, "estrapolo io lo schema" - da segnalare come
		   tale, mai spacciato per dato verificato). */
		.nsn-size-guide-table-estimate td { color: var(--nsn-text-muted); font-style: italic; }
		.nsn-size-guide-table-note { margin: 0.75rem 0 0; font-size: 0.78rem; color: var(--nsn-text-faint); }

		/* Tab in cima al pannello (Guida misure / Tabella misure): riusa .nsn-tabs
		   di inc/product-carousel.php (stesso JS), solo ricolorato per uno sfondo chiaro
		   invece che scuro. */
		.nsn-size-guide-tabs .nsn-tabs__nav { padding: 0 0 1.25rem; margin: 0 0 1.25rem; border-bottom: 1px solid var(--wp--preset--color--border, #ebebeb); gap: 0 1.5rem; }
		.nsn-size-guide-tabs .nsn-tabs__btn { color: var(--nsn-text-faint); padding: 0 0 0.75rem; }
		.nsn-size-guide-tabs .nsn-tabs__btn.is-active { color: var(--wp--preset--color--contrast, #23282d); border-bottom-color: var(--wp--preset--color--contrast, #23282d); }
		.nsn-size-guide-tabs .nsn-tabs__btn:hover { color: var(--wp--preset--color--contrast, #23282d); }

		/* Step "Vita": due varianti (Larghezza vita / Girovita) tabbate come un unico punto 1.
		   Stesso grid a due colonne degli altri step (media a sinistra, corpo a destra):
		   qui il corpo contiene sia intestazione e tab sia testo, e solo la miniatura/il
		   paragrafo della variante attiva sono visibili dentro. */
		.nsn-size-guide-step--variants .nsn-size-guide-step-head { display: flex; align-items: center; gap: 0.75rem; margin: 0.1rem 0 0.5rem; }
		.nsn-size-guide-variant-tabs { display: flex; gap: 1rem; }
		.nsn-size-guide-variant-btn {
			background: none; border: none; padding: 0; font: inherit; cursor: pointer;
			font-weight: 600; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.02em;
			color: var(--nsn-text-faint);
		}
		.nsn-size-guide-variant-btn.is-active { color: var(--wp--preset--color--contrast, #23282d); text-decoration: underline; text-underline-offset: 3px; }
		.nsn-size-guide-variant-media { display: none; }
		.nsn-size-guide-variant-media.is-active { display: block; }
		.nsn-size-guide-variant-text { display: none; }
		.nsn-size-guide-variant-text.is-active { display: block; }

		@media (max-width: 900px) {
			.content-area.alignwide { padding: 0 1rem; }
			div.product { gap: 1.5rem; }
			.woocommerce-product-gallery, .summary.entry-summary { flex: 1 1 100%; }
		}

/* Icona WhatsApp nella descrizione prodotto (2026-09-07).
   WordPress elimina gli SVG dai contenuti, quindi l'icona non puo' stare nel
   testo: sta qui come immagine di sfondo in data URI, cosi' non parte nessuna
   richiesta a un sito esterno (prima l'icona arrivava da Wikipedia). */
.nsn-wa a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	text-decoration: none;
	font-weight: 600;
}

.nsn-wa a::before {
	content: "";
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2325D366"><path d="M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.65.07-.3-.15-1.25-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.06 2.88 1.21 3.08c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.19 1.87.12.57-.09 1.76-.72 2.01-1.41.25-.69.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35zM12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38a9.87 9.87 0 0 0 4.79 1.22h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm0 18.02h-.01a8.2 8.2 0 0 1-4.18-1.15l-.3-.18-3.11.82.83-3.04-.2-.31a8.17 8.17 0 0 1-1.25-4.35c0-4.54 3.7-8.23 8.24-8.23 2.2 0 4.27.86 5.83 2.41a8.18 8.18 0 0 1 2.41 5.83c0 4.54-3.7 8.24-8.26 8.24z"/></svg>') no-repeat center / contain;
}

.nsn-nota-legale {
	margin-top: 1rem;
	opacity: .7;
	line-height: 1.4;
}

/* Colore nella scheda prodotto (2026-09-07, rivisto).
   Il pallino sta sotto l'etichetta come per Taglia e Quantita', ed e' grande
   abbastanza da leggersi da solo: ne' il nome del colore ne' note accanto
   all'etichetta. */
.nsn-color-label {
	display: flex;
	align-items: center;
	gap: .4rem;
	margin: 0 0 .4rem;
}

.nsn-color-dots {
	display: flex;
	gap: 8px;
	margin-bottom: 1rem;
}

.nsn-color-dot {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--c);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .22);
	display: inline-block;
	flex: 0 0 auto;
}

/* Video del prodotto, sotto la galleria (2026-09-12).
   Il player e' il tag video del browser, senza MediaElement: niente JavaScript
   in piu' su questa pagina. L anteprima e' la foto del prodotto, e il file si
   scarica solo quando qualcuno preme play. */
/* Il video e' l ultimo elemento della galleria: occupa il riquadro grande
   esattamente come una foto, e la sua miniatura porta l icona del play. */
.nsn-video-slide video,
.nsn-video-slide audio,
.nsn-video-slide iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	background: #000;
	object-fit: contain;
}

.nsn-video-slide audio {
	height: auto;
	background: none;
}

/* pastiglia con il triangolo del play sopra l anteprima della miniatura */
.nsn-gallery-thumb.is-video {
	position: relative;
}

.nsn-gallery-thumb.is-video::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26px;
	height: 26px;
	margin: -13px 0 0 -13px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .62);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 55% 50%;
	background-size: 15px 15px;
	pointer-events: none;
}
