/*
 * Tema Ginevra. Colori, caratteri e pulsanti vengono da theme.json (variabili --wp--preset--*); qui la struttura.
 * Punti di rottura: 600px (telefono grande), 768px (tablet), 960px (menu completo), 1200px (schermo largo).
 */

:root {
	--oro: var(--wp--preset--color--oro);
	--oro-scuro: var(--wp--preset--color--oro-scuro);
	--bruno: var(--wp--preset--color--bruno);
	--titoli: var(--wp--preset--color--titoli);
	--testo: var(--wp--preset--color--testo);
	--sfondo: var(--wp--preset--color--sfondo);
	--crema: var(--wp--preset--color--crema);
	--grigio: var(--wp--preset--color--grigio);
	--linea: #E4DFD5;
	--margine: clamp(1rem, 4vw, 2.5rem);
	--largo: var(--wp--style--global--wide-size, 82rem);
	--stretto: var(--wp--style--global--content-size, 48rem);
	--ombra: 0 10px 30px rgb(30 23 20 / 0.12);
}

/* --- base --------------------------------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 1rem; }
body { margin: 0; overflow-x: clip; }
html.menu-aperto { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.6em; text-wrap: balance; }
p { margin: 0 0 1em; }
a { text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--bruno); outline-offset: 2px; }
::selection { background: var(--oro); color: #fff; }

.nascosto, .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.salta {
	position: absolute; left: 1rem; top: -4rem; z-index: 100; padding: 0.75rem 1rem;
	background: var(--titoli); color: #fff; transition: top 0.15s;
}
.salta:focus { top: 1rem; color: #fff; }

.larghezza { width: min(100% - 2 * var(--margine), var(--largo)); margin-inline: auto; }
.larghezza-testo { width: min(100% - 2 * var(--margine), var(--stretto)); margin-inline: auto; }
.sezione { padding-block: var(--wp--preset--spacing--50); }
.sezione--centrata { text-align: center; }
.sezione--centrata .woocommerce-product-search { margin: 1.5rem auto; max-width: 26rem; }

/* --- testata ------------------------------------------------------------------------------------------------ */

.testata { position: relative; z-index: 20; background: var(--sfondo); border-bottom: 1px solid var(--linea); }
.testata__interno {
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem;
	width: min(100% - 2 * var(--margine), 90rem); margin-inline: auto; padding-block: 0.5rem;
}
.testata__logo { display: block; line-height: 0; }
.testata__logo .logo { width: 76px; height: auto; }
.logo--testo { font-weight: 600; font-size: 1.25rem; color: var(--titoli); line-height: 1.2; }

.testata__pulsante {
	display: inline-flex; align-items: center; justify-content: center; position: relative;
	min-width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 50%;
	background: none; color: var(--titoli); cursor: pointer; text-decoration: none;
}
.testata__pulsante:hover { color: var(--oro-scuro); }
.testata__apri-menu { display: none; }
.testata__azioni { display: flex; align-items: center; gap: 0.25rem; }

.carrello-conta {
	position: absolute; top: 0.1rem; right: -0.1rem; min-width: 1.15rem; height: 1.15rem; padding: 0 0.3rem;
	border-radius: 1rem; background: var(--oro); color: var(--wp--preset--color--nero);
	font-size: 0.6875rem; font-weight: 600; line-height: 1.15rem; text-align: center;
}
.carrello-conta--vuoto { display: none; }

/* menu principale con tendine */
.menu-principale { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 2rem; margin: 0; padding: 0; list-style: none; }
.menu-principale > li { position: relative; }
.menu-principale a {
	display: block; padding: 0.75rem 0; color: var(--titoli); text-decoration: none;
	font-size: 0.9375rem; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase;
}
.menu-principale a:hover,
.menu-principale .current-menu-item > a,
.menu-principale .current-menu-ancestor > a { color: var(--oro-scuro); }
.menu-principale > .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 0.4em; height: 0.4em; margin: 0 0 0.2em 0.45em;
	border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg);
}
.menu-principale .sub-menu {
	position: absolute; top: 100%; left: -1.25rem; min-width: 15rem; margin: 0; padding: 0.5rem 0; list-style: none;
	background: #fff; box-shadow: var(--ombra); border-top: 2px solid var(--oro);
	opacity: 0; visibility: hidden; transform: translateY(0.5rem); transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
}
.menu-principale li:hover > .sub-menu,
.menu-principale li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.menu-principale .sub-menu a { padding: 0.5rem 1.25rem; text-transform: none; letter-spacing: 0; font-weight: 400; }

/* tendine della testata: lingua e ricerca */
.testata details { position: relative; }
.testata__interno { position: relative; }
.testata details.cerca { position: static; } /* il pannello si allinea al bordo destro della testata */
.testata summary { list-style: none; cursor: pointer; }
.testata summary::-webkit-details-marker { display: none; }
.lingue summary {
	display: inline-flex; align-items: center; gap: 0.3rem; height: 2.5rem; padding: 0 0.5rem;
	color: var(--titoli); font-size: 0.8125rem; font-weight: 500;
}
.lingue summary .icona { width: 18px; height: 18px; }
.lingue summary .icona--giu { width: 14px; height: 14px; transition: transform 0.15s; }
.lingue[open] summary .icona--giu { transform: rotate(180deg); }
.gl-lingue { margin: 0; padding: 0; list-style: none; }
.lingue--testata .gl-lingue,
.cerca__pannello {
	position: absolute; right: 0; top: calc(100% + 0.5rem); z-index: 30;
	background: #fff; box-shadow: var(--ombra); border-top: 2px solid var(--oro);
}
.lingue--testata .gl-lingue { min-width: 9rem; padding: 0.4rem 0; }
.gl-lingue a { display: block; padding: 0.45rem 1rem; color: var(--titoli); text-decoration: none; font-size: 0.875rem; }
.gl-lingue a:hover { background: var(--crema); }
.gl-lingue a[aria-current] { font-weight: 600; color: var(--oro-scuro); }
.cerca__pannello { width: min(26rem, 100%); padding: 1rem; top: 100%; }

/* modulo di ricerca (prodotti e sito) */
.woocommerce-product-search, .search-form { display: flex; gap: 0.5rem; }
.woocommerce-product-search input[type="search"], .search-form input[type="search"] { flex: 1; min-width: 0; }
.woocommerce-product-search button, .search-form button {
	flex: none; padding: 0.65rem 1.1rem; border: 1px solid var(--oro); border-radius: 2px; background: var(--oro);
	color: var(--wp--preset--color--nero); font: inherit; font-size: 0.8125rem; font-weight: 500; cursor: pointer;
}
.woocommerce-product-search button:hover, .search-form button:hover { background: var(--oro-scuro); border-color: var(--oro-scuro); color: #fff; }

/* pannello del menu su mobile */
.pannello-menu {
	position: fixed; inset: 0; z-index: 50; overflow-y: auto; padding: 1rem var(--margine) 3rem;
	background: var(--sfondo);
}
.pannello-menu[hidden] { display: none; }
.pannello-menu__testa { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.lingue--pannello .gl-lingue { display: flex; gap: 0.25rem; }
.lingue--pannello .gl-lingue a { border: 1px solid var(--linea); border-radius: 2px; padding: 0.35rem 0.7rem; }
.lingue--pannello .gl-lingue a[aria-current] { border-color: var(--oro); background: var(--crema); }
.menu-pannello, .menu-pannello ul { margin: 0; padding: 0; list-style: none; }
.menu-pannello a {
	display: block; padding: 0.8rem 0; border-bottom: 1px solid var(--linea);
	color: var(--titoli); text-decoration: none; font-size: 1.0625rem; font-weight: 500;
}
.menu-pannello .sub-menu a { padding-left: 1.25rem; font-size: 0.9375rem; font-weight: 400; }
.menu-pannello .sub-menu .sub-menu a { padding-left: 2.5rem; }
.menu-pannello .current-menu-item > a { color: var(--oro-scuro); }

@media (max-width: 959px) {
	.testata__interno { grid-template-columns: 1fr auto 1fr; gap: 0.5rem; }
	.testata__apri-menu { display: inline-flex; justify-self: start; }
	.testata__nav { display: none; }
	.testata__azioni { justify-self: end; }
	.testata__logo .logo { width: 56px; }
}
@media (max-width: 599px) {
	.lingue--testata, .testata__account { display: none; }
	.testata__logo .logo { width: 48px; }
}

/* --- pagine e blocchi -------------------------------------------------------------------------------------- */

.pagina__testa { width: min(100% - 2 * var(--margine), var(--stretto)); margin: 0 auto; padding-top: var(--wp--preset--spacing--50); text-align: center; }
.pagina__titolo { font-size: var(--wp--preset--font-size--molto-grande); }
.contenuto { padding-bottom: var(--wp--preset--spacing--60); }
.contenuto--senza-titolo { padding-bottom: 0; }
.contenuto > * { width: min(100% - 2 * var(--margine), var(--stretto)); margin-inline: auto; margin-block: 0; }
.contenuto > * + * { margin-top: var(--wp--style--block-gap, 1.25rem); }
.contenuto > .alignwide { width: min(100% - 2 * var(--margine), var(--largo)); }
.contenuto > .alignfull { width: 100%; }
.contenuto > :is(h2, h3, h4) { margin-top: 2.25rem; }
.contenuto > .woocommerce,
.contenuto > .wp-block-woocommerce-cart,
.contenuto > .wp-block-woocommerce-checkout { width: min(100% - 2 * var(--margine), var(--largo)); }
.contenuto ul, .contenuto ol { padding-left: 1.25rem; }

.alignleft { float: left; margin: 0.3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: 0.3rem 0 1rem 1.5rem; }
.aligncenter { margin-inline: auto; }

/* sezioni delle pagine costruite con i blocchi */
.contenuto > .sezione-blocchi { padding-block: var(--wp--preset--spacing--60); padding-inline: var(--margine); margin-top: 0; }
.contenuto > .sezione-blocchi + .sezione-blocchi { padding-top: 0; }
.contenuto > .sezione-blocchi.has-background + .sezione-blocchi,
.contenuto > .sezione-blocchi + .sezione-blocchi.has-background { padding-top: var(--wp--preset--spacing--60); }
.sezione-blocchi > .alignwide { width: min(100% - 2 * var(--margine), var(--largo)); margin-inline: auto; }
.occhiello { color: var(--oro-scuro); font-size: var(--wp--preset--font-size--piccolo); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; }

.wp-block-cover { margin-top: 0; }
.wp-block-cover .wp-block-cover__inner-container { width: min(100% - 2 * var(--margine), var(--largo)); }
.wp-block-cover h1 { font-size: var(--wp--preset--font-size--enorme); font-weight: 500; }
.copertina-chiara .wp-block-cover__inner-container { color: var(--titoli); }
.copertina-chiara h1 { max-width: 14ch; }
/* velo chiaro a sinistra: il testo resta leggibile anche quando la foto gli passa sotto (telefono) */
.copertina-chiara .wp-block-cover__background.has-background-dim-0 {
	opacity: 1; background: linear-gradient(90deg, rgb(255 255 252 / 0.85) 0%, rgb(255 255 252 / 0.55) 45%, rgb(255 255 252 / 0) 75%);
}
@media (max-width: 599px) {
	.copertina-chiara .wp-block-cover__background.has-background-dim-0 { background: rgb(255 255 252 / 0.72); }
	.copertina-chiara .wp-block-cover__image-background { object-position: 75% center; }
}

.wp-block-buttons { gap: 0.75rem; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--titoli); border-color: var(--oro); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--oro-scuro); border-color: var(--oro-scuro); color: #fff; }
.is-dark-theme .wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-cover.is-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: #fff; }

/* griglia delle categorie in home */
.griglia-categorie { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); }
.contenuto .griglia-categorie.alignwide { max-width: 68rem; }
@media (min-width: 768px) { .griglia-categorie { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.contenuto .griglia-categorie > * { margin: 0; }
.categoria-home { text-align: center; }
.categoria-home .wp-block-image { margin: 0 0 1rem; overflow: hidden; background: #fff; }
.categoria-home .wp-block-image img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform 0.4s; }
.categoria-home:hover .wp-block-image img { transform: scale(1.03); }
.categoria-home h3 { margin-bottom: 0.75rem; font-size: var(--wp--preset--font-size--grande); }
@media (max-width: 599px) { .categoria-home h3 { font-size: 1rem; } }
.categoria-home h3 a { color: inherit; text-decoration: none; }

/* capitoli delle pagine "Il passato" e "Il presente" (colonne testo/immagine alternate) */
.capitolo { gap: clamp(1.5rem, 5vw, 4.5rem); }
.capitolo + .capitolo { margin-top: var(--wp--preset--spacing--60); }
.capitolo .wp-block-image { text-align: center; }
.capitolo .wp-block-image img { width: auto; max-width: 100%; max-height: min(34rem, 80vh); object-fit: cover; box-shadow: var(--ombra); }
.capitolo h2 { font-size: var(--wp--preset--font-size--grande); }
.capitolo video { width: 100%; display: block; box-shadow: var(--ombra); }
@media (min-width: 782px) {
	.capitolo--inverso { flex-direction: row-reverse; }
}
.introduzione { font-size: var(--wp--preset--font-size--medio); line-height: 1.7; color: var(--titoli); text-align: center; }

.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 3 / 2; object-fit: cover; }

/* --- footer ------------------------------------------------------------------------------------------------- */

.piede { background: var(--grigio); color: var(--titoli); font-size: 0.875rem; }
.piede__interno {
	display: grid; grid-template-columns: auto 2fr 1.3fr; gap: 2.5rem; align-items: start;
	width: min(100% - 2 * var(--margine), var(--largo)); margin-inline: auto; padding-block: 3rem 2rem;
}
.piede__marchio { text-align: center; }
.piede__logo { display: inline-block; line-height: 0; }
.piede__logo .logo { width: 96px; }
.piede__motto { margin: 0.75rem 0 0; font-size: 1.0625rem; }
.piede__menu { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.menu-piede { margin: 0; padding: 0; list-style: none; }
.menu-piede a { display: inline-block; padding: 0.3rem 0; color: var(--bruno); text-decoration: none; }
.menu-piede a:hover { text-decoration: underline; }
.piede__testo { margin: 0; line-height: 1.8; }
.piede__copyright { margin: 0; padding: 1rem var(--margine); border-top: 1px solid rgb(0 0 0 / 0.06); text-align: center; font-size: 0.8125rem; }

@media (max-width: 959px) {
	.piede__interno { grid-template-columns: 1fr; text-align: center; }
	.piede__menu { grid-template-columns: 1fr; gap: 0.75rem; }
}

/* --- WooCommerce ------------------------------------------------------------------------------------------- */

.negozio { width: min(100% - 2 * var(--margine), var(--largo)); margin-inline: auto; padding-block: 1.5rem var(--wp--preset--spacing--60); }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 1.5rem; font-size: 0.8125rem; color: var(--testo); }
.woocommerce .woocommerce-breadcrumb a { color: var(--testo); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--bruno); }
.briciole__sep { margin: 0 0.5em; opacity: 0.6; }

.woocommerce-products-header { text-align: center; margin-bottom: 1.5rem; }
.woocommerce-products-header__title { font-size: var(--wp--preset--font-size--molto-grande); text-transform: none; }
.term-description { max-width: var(--stretto); margin: 0 auto 1rem; }

.categorie ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.categorie a {
	display: inline-block; padding: 0.45rem 1rem; border: 1px solid var(--linea); border-radius: 2rem;
	color: var(--titoli); text-decoration: none; font-size: 0.8125rem; font-weight: 500; background: #fff;
}
.categorie .categorie__madre a { text-transform: uppercase; letter-spacing: 0.04em; }
.categorie a:hover { border-color: var(--oro); }
.categorie a[aria-current] { background: var(--oro); border-color: var(--oro); color: var(--wp--preset--color--nero); }

.woocommerce .woocommerce-result-count { margin: 0 0 1.5rem; font-size: 0.8125rem; line-height: 2.5rem; }
.woocommerce .woocommerce-ordering { margin: 0 0 1.5rem; }

/* griglia dei prodotti: 2 colonne su telefono, 3 su tablet, 4 su schermi larghi */
.woocommerce ul.products {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; margin: 0 0 2rem; clear: both;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
@media (min-width: 768px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.75rem; } }
@media (min-width: 1200px) { .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product { float: none; clear: none; width: auto; margin: 0; padding: 0; display: flex; flex-direction: column; text-align: center; }
.woocommerce ul.products li.product a img { margin: 0 0 1rem; aspect-ratio: 1; object-fit: contain; background: #fff; transition: transform 0.3s; }
.woocommerce ul.products li.product a:hover img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { color: inherit; text-decoration: none; overflow: hidden; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-size: 0.9375rem; font-weight: 400; color: var(--titoli); line-height: 1.45; }
.woocommerce ul.products li.product .price { color: var(--titoli); font-size: 0.9375rem; font-weight: 500; margin-bottom: 0.75rem; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: center; }
.woocommerce ul.products li.product .added_to_cart { display: block; margin-top: 0.5rem; font-size: 0.8125rem; }
.woocommerce span.onsale { min-height: 0; min-width: 0; padding: 0.25rem 0.6rem; line-height: 1.4; border-radius: 2px; background: var(--bruno); top: 0.5rem; left: 0.5rem; font-size: 0.75rem; }

/* pulsanti di WooCommerce come quelli del tema */
.woocommerce :is(a.button, button.button, input.button, #respond input#submit),
.woocommerce :is(a.button.alt, button.button.alt, input.button.alt, #respond input#submit.alt) {
	padding: 0.8em 1.6em; border: 1px solid var(--oro); border-radius: 2px; background: var(--oro);
	color: var(--wp--preset--color--nero); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.4;
}
.woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover,
.woocommerce :is(a.button.alt, button.button.alt, input.button.alt, #respond input#submit.alt):hover {
	border-color: var(--oro-scuro); background: var(--oro-scuro); color: #fff;
}
.woocommerce :is(a.button, button.button):disabled, .woocommerce :is(a.button, button.button).disabled { opacity: 0.5; }
.woocommerce a.button.loading::after { top: 0.75em; }

/* campi dei moduli */
.woocommerce form .form-row :is(input.input-text, textarea, select),
:is(.woocommerce, .sezione) :is(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select) {
	padding: 0.65rem 0.8rem; border: 1px solid #CFC8BB; border-radius: 2px; background: #fff;
	color: var(--titoli); font: inherit; line-height: 1.4;
}
.woocommerce-product-search input[type="search"] { padding: 0.65rem 0.8rem; border: 1px solid #CFC8BB; border-radius: 2px; font: inherit; }
.woocommerce .quantity .qty { width: 4.5rem; padding: 0.7rem 0.4rem; border: 1px solid #CFC8BB; border-radius: 2px; font: inherit; }

/* avvisi */
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { border-top-color: var(--oro); background: var(--crema); color: var(--titoli); }
.woocommerce :is(.woocommerce-message, .woocommerce-info)::before { color: var(--oro-scuro); }
.woocommerce .woocommerce-error { border-top-color: #A32D2D; }

/* scheda prodotto */
.woocommerce div.product div.images { margin-bottom: 2rem; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; margin-top: 0.5rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--molto-grande); margin-bottom: 0.4rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--titoli); font-size: 1.375rem; font-weight: 500; }
.woocommerce div.product .woocommerce-product-details__short-description { margin: 1.25rem 0; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0.75rem; margin: 1.5rem 0; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.cart .variations { margin-bottom: 1rem; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.woocommerce div.product .product_meta { padding-top: 1rem; border-top: 1px solid var(--linea); font-size: 0.8125rem; }
.woocommerce div.product .product_meta > span { display: block; }

.schede { clear: both; padding-top: 2rem; }
.scheda { border-top: 1px solid var(--linea); }
.scheda:last-of-type { border-bottom: 1px solid var(--linea); }
.scheda__titolo {
	display: flex; justify-content: space-between; align-items: center; padding: 1.1rem 0; cursor: pointer; list-style: none;
	color: var(--bruno); font-size: 1rem; font-weight: 500;
}
.scheda__titolo::-webkit-details-marker { display: none; }
.scheda__titolo::after { content: ""; width: 0.55em; height: 0.55em; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform 0.2s; margin-right: 0.3rem; }
.scheda[open] > .scheda__titolo::after { transform: rotate(-135deg); }
.scheda__contenuto { padding-bottom: 1.5rem; max-width: 60rem; }
.scheda__contenuto img { height: auto; }

/* tabella "Informazioni aggiuntive" (ripresa dal CSS personalizzato di Woostify) */
.woocommerce table.shop_attributes { border: 0; border-collapse: collapse; width: 100%; max-width: 48rem; }
.woocommerce table.shop_attributes :is(th, td) { padding: 0.7rem 0.75rem; border: 0; border-bottom: 1px solid var(--linea); background: none; vertical-align: top; font-size: 0.875rem; line-height: 1.5; }
.woocommerce table.shop_attributes th { width: 35%; color: var(--titoli); font-weight: 600; text-align: left; }
.woocommerce table.shop_attributes td { font-style: normal; }
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }
.woocommerce table.shop_attributes tr:nth-child(even) :is(th, td) { background: none; }
@media (max-width: 599px) {
	.woocommerce table.shop_attributes, .woocommerce table.shop_attributes :is(tbody, tr, th, td) { display: block; width: 100%; }
	.woocommerce table.shop_attributes th { border-bottom: 0; padding-bottom: 0; }
}

.woocommerce .related, .woocommerce .upsells { clear: both; padding-top: var(--wp--preset--spacing--50); }
.woocommerce .related > h2, .woocommerce .upsells > h2 { text-align: center; margin-bottom: 1.5rem; }

/* recensioni */
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--linea); border-radius: 2px; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--oro-scuro); }

/* account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--linea); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.7rem 0; border-bottom: 1px solid var(--linea); color: var(--titoli); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--oro-scuro); font-weight: 500; }

/* carrello e cassa (blocchi): solo piccoli ritocchi, il resto viene da theme.json */
.wc-block-components-product-name { color: var(--titoli); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { padding-top: 0.5rem; }

@media (max-width: 767px) {
	.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100%; float: none; }
}
