/*
 * Euroricambi - componenti del tema.
 * Colori, tipografia e spaziature arrivano da theme.json (custom property --wp--preset--*).
 * Qui solo cio' che theme.json non esprime: layout dei componenti, stati, mobile.
 */

:root {
	--er-notte: var(--wp--preset--color--notte);
	--er-blu: var(--wp--preset--color--blu);
	--er-giallo: var(--wp--preset--color--giallo);
	--er-asfalto: var(--wp--preset--color--asfalto);
	--er-nebbia: var(--wp--preset--color--nebbia);
	--er-linea: var(--wp--preset--color--linea);
	--er-grigio: var(--wp--preset--color--grigio);
	--er-rosso: var(--wp--preset--color--rosso);
	--er-raggio: 6px;
	--er-raggio-card: 10px;
	--er-ombra: var(--wp--preset--shadow--sollevato);
	--er-topbar-h: 2.25rem;
}

/* ------------------------------------------------------------------ Base */

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4,
.wp-block-post-title,
.wp-block-query-title {
	font-stretch: 112%;
	text-wrap: balance;
}

p { text-wrap: pretty; }

/* Contenuti scritti fuori dall'editor a blocchi (descrizioni, pagine convertite da Flatsome):
   le immagini non escono dalla colonna. Specificita' zero, i blocchi decidono da soli. */
:where(.wp-block-post-content, .term-description, .woocommerce-product-details__short-description) :where(img) {
	max-width: 100%;
	height: auto;
}

:where(.wp-block-post-content, .term-description) > figure:not([class]) {
	margin-inline: 0;
}

:where(a) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

::selection {
	background: var(--er-giallo);
	color: var(--er-notte);
}

:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--er-blu);
	outline-offset: 2px;
}

.wc-block-components-product-price,
.wp-block-woocommerce-product-price,
.wc-block-components-formatted-money-amount,
.wp-block-woocommerce-product-sku,
.er-num {
	font-variant-numeric: tabular-nums;
}

.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group:where(main) {
	margin-block-start: 0;
}

/* Bottoni: varianti registrate in functions.php */
.wp-block-button.is-style-er-scuro .wp-block-button__link {
	background: var(--er-notte);
	color: #fff;
}
.wp-block-button.is-style-er-scuro .wp-block-button__link:hover {
	background: var(--er-giallo);
	color: var(--er-notte);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--er-notte);
	box-shadow: inset 0 0 0 2px currentColor;
	border: 0;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--er-notte);
	color: #fff;
}
.wp-block-button.is-style-er-chiaro .wp-block-button__link {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.55);
}
.wp-block-button.is-style-er-chiaro .wp-block-button__link:hover {
	background: #fff;
	color: var(--er-notte);
}
.wp-element-button,
.wp-block-button__link {
	transition: background-color 160ms ease-out, color 160ms ease-out, box-shadow 160ms ease-out;
}

/* Separatore corto giallo */
.wp-block-separator.is-style-er-corto {
	width: 3rem;
	border: 0;
	border-top: 4px solid var(--er-giallo);
	margin-inline: 0;
	opacity: 1;
}

/* Lista con spunte */
.wp-block-list.is-style-er-spunte {
	list-style: none;
	padding-left: 0;
}
.wp-block-list.is-style-er-spunte li {
	position: relative;
	padding-left: 2rem;
	margin-block: 0.6rem;
}
.wp-block-list.is-style-er-spunte li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--er-giallo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.5 3 3 6-7' fill='none' stroke='%230C2A3F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}

/* Scheda: riquadro con bordo */
.wp-block-group.is-style-er-scheda {
	background: #fff;
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio-card);
	padding: clamp(1.25rem, 3vw, 2rem);
}

/* Loghi marchi */
.wp-block-image.is-style-er-marchio {
	margin: 0;
}
.wp-block-image.is-style-er-marchio img {
	width: 100%;
	height: 4.5rem;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.72;
	mix-blend-mode: multiply;
	transition: filter 160ms ease-out, opacity 160ms ease-out;
}
.wp-block-image.is-style-er-marchio img:hover {
	filter: none;
	opacity: 1;
}

/* Icone del tema (pattern): */
.er-icona {
	width: 1.75rem;
	height: 1.75rem;
	flex: none;
}

/* ------------------------------------------------------------------ Intestazione */

.er-topbar {
	font-size: var(--wp--preset--font-size--xs);
	padding-block: 0.5rem;
	min-height: var(--er-topbar-h);
}
.er-topbar p { margin: 0; }
.er-topbar a {
	color: inherit;
	text-decoration: none;
}
.er-topbar a:hover { text-decoration: underline; }
.er-topbar__contatti {
	display: flex;
	gap: 1.5rem;
}
.er-topbar__contatti a {
	font-weight: 600;
}

.er-header__main {
	background: #fff;
	padding-block: 1rem;
}
.er-header__row {
	gap: clamp(1rem, 3vw, 2.5rem);
}
.er-logo { flex: 0 0 auto; }
.er-logo img {
	width: clamp(168px, 17vw, 250px);
	height: auto;
}

/* Ricerca prodotti */
.er-cerca {
	flex: 1 1 auto;
	max-width: 42rem;
	margin: 0;
}
.er-cerca .wp-block-search__inside-wrapper {
	border: 2px solid var(--er-notte);
	border-radius: 8px;
	padding: 3px;
	background: #fff;
}
.er-cerca .wp-block-search__inside-wrapper:focus-within {
	box-shadow: 0 0 0 3px var(--er-giallo);
}
.er-cerca .wp-block-search__input {
	border: 0;
	min-height: 2.75rem;
	padding: 0.5rem 0.9rem;
	font-size: 1rem;
	background: transparent;
}
.er-cerca .wp-block-search__input:focus { outline: none; }
.er-cerca .wp-block-search__button {
	margin: 0;
	min-width: 3rem;
	border-radius: 5px;
	background: var(--er-giallo);
	color: var(--er-notte);
	padding: 0.5rem 0.9rem;
}
.er-cerca .wp-block-search__button svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}
.er-cerca .wp-block-search__button:hover {
	background: var(--er-notte);
	color: #fff;
}

/* Nelle colonne di testo la ricerca si allinea al contenuto */
:where(.is-layout-constrained) > .er-cerca:not(.alignwide):not(.alignfull) {
	max-width: var(--wp--style--global--content-size);
}

/* Account e mini carrello */
.er-header__azioni {
	gap: 0.25rem;
	flex: 0 0 auto;
}
.er-header__azioni .er-preferiti-link,
.er-header__azioni .wp-block-woocommerce-customer-account a,
.er-header__azioni .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.7rem;
	border-radius: var(--er-raggio);
	color: var(--er-notte);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 600;
	text-decoration: none;
}
.er-header__azioni .er-preferiti-link:hover,
.er-header__azioni .wp-block-woocommerce-customer-account a:hover,
.er-header__azioni .wc-block-mini-cart__button:hover {
	background: var(--er-asfalto);
	opacity: 1;
}
.er-header__azioni .wc-block-mini-cart__badge {
	background: var(--er-giallo);
	color: var(--er-notte);
	border-color: #fff;
	font-weight: 700;
}
.er-header__azioni .wc-block-mini-cart__amount {
	font-variant-numeric: tabular-nums;
}

/* Riga del menu */
.er-header__nav {
	background: #fff;
	border-block: 1px solid var(--er-linea);
}
.er-header__navrow {
	min-height: 3.25rem;
	gap: 1rem;
}
.er-menu {
	font-weight: 600;
	gap: 0;
}
.er-menu .wp-block-navigation__container {
	gap: 0;
}
.er-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 0.95rem 0.9rem;
	white-space: nowrap;
	color: var(--er-notte);
	text-decoration: none;
}
.er-menu .wp-block-navigation__container > .wp-block-navigation-item:first-child > .wp-block-navigation-item__content {
	padding-left: 0;
}
.er-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.er-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--er-blu);
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-decoration-color: var(--er-giallo);
	text-underline-offset: 0.55em;
}
.er-menu .er-menu__promo > .wp-block-navigation-item__content {
	color: var(--er-rosso) !important;
}
.er-header__cta .wp-block-button__link {
	padding: 0.6rem 1.1rem;
}

/* Pannello "Catalogo": categorie su tre colonne */
@media (min-width: 1024px) {
	.er-menu .er-catalogo > .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(13rem, 1fr));
		width: min(56rem, 92vw) !important;
		padding: 0.75rem !important;
		gap: 0.1rem 0.5rem;
		border: 1px solid var(--er-linea) !important;
		border-radius: 0 0 var(--er-raggio-card) var(--er-raggio-card);
		box-shadow: var(--er-ombra);
		background: #fff !important;
		top: calc(100% + 1px) !important;
	}
	.er-menu .er-catalogo > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 0.55rem 0.75rem !important;
		border-radius: var(--er-raggio);
		font-weight: 500;
		color: var(--er-notte);
	}
	.er-menu .er-catalogo > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: var(--er-nebbia);
		color: var(--er-blu);
	}
	.er-menu .er-catalogo .er-catalogo__tutto {
		grid-column: 1 / -1;
		border-top: 1px solid var(--er-linea);
		margin-top: 0.5rem;
		padding-top: 0.5rem;
	}
	.er-menu .er-catalogo .er-catalogo__tutto .wp-block-navigation-item__content {
		font-weight: 700 !important;
		color: var(--er-blu) !important;
	}
}

/* Intestazione che resta visibile allo scroll (desktop) */
@media (min-width: 1024px) {
	.wp-site-blocks > header.wp-block-template-part {
		position: sticky;
		top: calc(-1 * var(--er-topbar-h));
		z-index: 50;
	}
	body.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: calc(32px - var(--er-topbar-h));
	}
}

/* Voci del menu che servono solo nel menu mobile (preventivo, telefono, WhatsApp) */
.er-menu .er-solo-mobile {
	display: none !important;
}

/* Pulsante "Menu" */
.er-menu .wp-block-navigation__responsive-container-open {
	gap: 0.4rem;
	padding: 0.5rem 0;
}
.er-menu .wp-block-navigation__responsive-container-open::after {
	content: "Menu";
	font-weight: 700;
}

/*
 * Menu mobile (overlay): fondo blu notte come hero e piè di pagina, voci grandi,
 * catalogo in griglia, in fondo preventivo e contatti. Solo CSS, niente script.
 */
.er-menu .wp-block-navigation__responsive-container.is-menu-open {
	--er-mm-linea: rgba(255, 255, 255, 0.14);
	padding: 0 !important;
	background: var(--er-notte) !important;
	color: #fff !important;
}
.er-menu .is-menu-open .wp-block-navigation__responsive-close,
.er-menu .is-menu-open .wp-block-navigation__responsive-dialog {
	max-width: none;
	min-height: 100%;
}
.er-menu .is-menu-open .wp-block-navigation__responsive-dialog {
	position: relative;
	padding: 1rem clamp(1rem, 5vw, 1.5rem) 2.5rem;
}
/* logo in alto a sinistra */
.er-menu .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "";
	display: block;
	width: 196px;
	height: 44px;
	background: url("../images/logo-negativo.png") left center / contain no-repeat;
}
/* chiudi: pulsante tondo */
.er-menu .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1rem;
	right: clamp(1rem, 5vw, 1.5rem);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	color: #fff;
}
.er-menu .is-menu-open .wp-block-navigation__responsive-container-close svg {
	fill: currentColor;
	width: 22px;
	height: 22px;
}
.er-menu .is-menu-open .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 2px solid var(--er-giallo);
	outline-offset: 2px;
}
.er-menu .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 1.25rem !important;
	align-items: stretch !important;
	gap: 0 !important;
}
.er-menu .is-menu-open .wp-block-navigation__container {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100%;
	gap: 0 !important;
}

/* Voci principali */
.er-menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--er-mm-linea);
}
.er-menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.95rem 0 !important;
	color: #fff !important;
	font-size: 1.375rem;
	font-weight: 700;
	font-stretch: 110%;
	line-height: 1.2;
	text-decoration: none !important;
}
.er-menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--er-giallo) !important;
}
.er-menu .is-menu-open .wp-block-navigation__container > .er-menu__promo > .wp-block-navigation-item__content {
	color: var(--er-giallo) !important;
}

/* Catalogo: dopo le voci principali, con le categorie in griglia */
.er-menu .is-menu-open .er-catalogo {
	order: 1;
	border-bottom: 0 !important;
	padding-bottom: 0.5rem;
}
.er-menu .is-menu-open .er-catalogo > .wp-block-navigation-item__content {
	padding-top: 1.4rem !important;
}
.er-menu .is-menu-open .er-catalogo > .wp-block-navigation__submenu-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem !important;
	position: static !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}
/* WordPress da' 200px minimi alle voci dei sottomenu: qui devono stare in mezza riga */
.er-menu .is-menu-open .er-catalogo > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}
.er-menu .is-menu-open .er-catalogo > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100% !important;
	height: 100%;
	min-width: 0 !important;
	box-sizing: border-box;
}
.er-menu .is-menu-open .er-catalogo > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 44px;
	padding: 0.5rem 0.7rem !important;
	border: 1px solid var(--er-mm-linea);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.05);
	color: #fff !important;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none !important;
}
.er-menu .is-menu-open .er-catalogo > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active {
	background: rgba(255, 255, 255, 0.12);
}
.er-menu .is-menu-open .er-catalogo .er-catalogo__tutto {
	grid-column: 1 / -1;
}
.er-menu .is-menu-open .er-catalogo .er-catalogo__tutto > .wp-block-navigation-item__content {
	justify-content: center;
	border-color: var(--er-giallo);
	background: transparent;
	color: var(--er-giallo) !important;
	font-weight: 700;
}

/* In fondo: preventivo e contatti */
.er-menu .is-menu-open .er-solo-mobile {
	display: flex !important;
}
/* WordPress mette il pulsante tra due liste: l'ordine del markup e' gia' quello giusto */
.er-menu .is-menu-open .er-menu__cta {
	width: 100%;
	margin-top: 1.25rem;
}
.er-menu .is-menu-open .er-menu__cta .wp-block-button,
.er-menu .is-menu-open .er-menu__cta .wp-block-button__link {
	width: 100%;
}
.er-menu .is-menu-open .er-menu__cta .wp-block-button__link {
	justify-content: center;
	padding-block: 0.95rem;
	font-size: 1.0625rem;
}
.er-menu .is-menu-open .wp-block-navigation__container > .er-menu__contatto {
	order: 3;
	border-bottom: 0;
}
.er-menu .is-menu-open .wp-block-navigation__container > .er-menu__telefono {
	margin-top: 0.75rem;
}
.er-menu .is-menu-open .wp-block-navigation__container > .er-menu__contatto > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.55rem 0 !important;
	font-size: 1rem;
	font-weight: 600;
	font-stretch: 100%;
	color: rgba(255, 255, 255, 0.88) !important;
}
.er-menu .is-menu-open .er-menu__contatto > .wp-block-navigation-item__content::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	background-color: var(--er-giallo);
	-webkit-mask: var(--er-mm-icona) center / contain no-repeat;
	mask: var(--er-mm-icona) center / contain no-repeat;
}
.er-menu .is-menu-open .er-menu__telefono {
	--er-mm-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h3l1.5 4-2 1.3a10.5 10.5 0 0 0 6.2 6.2l1.3-2 4 1.5v3a2 2 0 0 1-2.2 2A16 16 0 0 1 4.5 5.7a2 2 0 0 1 2-2.2z'/%3E%3C/svg%3E");
}
.er-menu .is-menu-open .er-menu__whatsapp {
	--er-mm-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18.5 5.3 15A7.5 7.5 0 1 1 8.6 18z'/%3E%3Cpath d='M9 10.5h6M9 13.5h4'/%3E%3C/svg%3E");
}

@media (max-width: 781px) {
	.er-topbar__contatti { display: none; }
	.er-topbar__row { justify-content: center; }
	.er-topbar__promessa { text-align: center; }
	.er-header__main { padding-block: 0.75rem; }
	.er-header__row { flex-wrap: wrap !important; row-gap: 0.75rem; }
	.er-cerca { order: 3; flex-basis: 100%; max-width: none; }
	.er-logo { flex: 1 1 auto; }
	.er-header__azioni .er-preferiti-link__testo,
	.er-header__azioni .wp-block-woocommerce-customer-account .label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
	.er-header__azioni .wc-block-mini-cart__amount { display: none; }
	.er-marchi { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.75rem 1rem !important; }
	.wp-block-image.is-style-er-marchio img { height: 3rem; }
	.er-header__cta .wp-block-button__link { padding: 0.5rem 0.8rem; font-size: var(--wp--preset--font-size--xs); }
}

/* ------------------------------------------------------------------ Hero home */

.er-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
/* Trama discreta: i fori del cerchio del marchio, ripetuti */
.er-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(circle at center, rgba(247, 199, 53, 0.09) 0 2px, transparent 2.5px);
	background-size: 28px 28px;
	mask-image: linear-gradient(100deg, transparent 35%, #000 85%);
}
/* Il payoff elenca cinque tipi di mezzo: corpo un po' sotto il "display" e righe equilibrate,
   cosi' resta su tre o quattro righe e la ricerca resta vicina */
.er-hero__titolo {
	font-size: clamp(2.25rem, 4.2vw, 3.75rem);
	font-stretch: 122%;
	font-weight: 820;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #fff;
	max-width: 19ch;
	text-wrap: balance;
}
.er-hero__intro {
	font-size: var(--wp--preset--font-size--l);
	max-width: 36rem;
	color: rgba(255, 255, 255, 0.86);
}
.er-hero .er-cerca {
	max-width: 36rem;
	margin-top: 0.5rem;
}
.er-hero .er-cerca .wp-block-search__inside-wrapper {
	border-color: #fff;
	padding: 4px;
}
.er-hero .er-cerca .wp-block-search__input {
	min-height: 3.25rem;
	font-size: 1.0625rem;
}
.er-hero__rapidi {
	font-size: var(--wp--preset--font-size--s);
	color: rgba(255, 255, 255, 0.75);
}
.er-hero__rapidi a {
	color: #fff;
	margin-right: 0.85rem;
	white-space: nowrap;
}
.er-hero__rapidi a:hover { color: var(--er-giallo); }

/* Scheda "Mandaci la targa" */
.er-targa-scheda {
	background: #fff;
	color: var(--wp--preset--color--testo);
	border-radius: 14px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.55);
}
.er-targa-scheda h2 {
	font-size: var(--wp--preset--font-size--xl);
	margin: 0;
}
.er-targa-scheda p { margin-block: 0.75rem 0; }

/* La targa: fascia blu UE a sinistra, campo bianco, fascia blu a destra */
.er-targa-form .er-targa,
.wp-block-group.is-style-er-targa {
	--targa-blu: #0b3d91;
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 24rem;
	height: 4.6rem;
	border: 3px solid #121212;
	border-radius: 9px;
	background: #fff;
	overflow: hidden;
	box-shadow: inset 0 0 0 2px #fff, 0 2px 0 rgba(0, 0, 0, 0.12);
	padding: 0 !important;
	gap: 0 !important;
}
.er-targa-form .er-targa::before,
.wp-block-group.is-style-er-targa::before {
	content: "I";
	flex: 0 0 2.6rem;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 0.45rem;
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	background: var(--targa-blu) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23ffd200'%3E%3Ccircle cx='20' cy='6' r='1.9'/%3E%3Ccircle cx='27' cy='7.9' r='1.9'/%3E%3Ccircle cx='32.1' cy='13' r='1.9'/%3E%3Ccircle cx='34' cy='20' r='1.9'/%3E%3Ccircle cx='32.1' cy='27' r='1.9'/%3E%3Ccircle cx='27' cy='32.1' r='1.9'/%3E%3Ccircle cx='20' cy='34' r='1.9'/%3E%3Ccircle cx='13' cy='32.1' r='1.9'/%3E%3Ccircle cx='7.9' cy='27' r='1.9'/%3E%3Ccircle cx='6' cy='20' r='1.9'/%3E%3Ccircle cx='7.9' cy='13' r='1.9'/%3E%3Ccircle cx='13' cy='7.9' r='1.9'/%3E%3C/g%3E%3C/svg%3E") center 0.35rem / 1.9rem no-repeat;
}
.er-targa-form .er-targa::after,
.wp-block-group.is-style-er-targa::after {
	content: "";
	flex: 0 0 2.2rem;
	background: var(--targa-blu);
}
.wp-block-group.is-style-er-targa > p,
.er-targa-form .er-targa__campo {
	flex: 1;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-stretch: 88%;
	font-weight: 640;
	font-size: clamp(1.7rem, 3.4vw, 2.35rem);
	letter-spacing: 0.08em;
	color: #121212;
	text-transform: uppercase;
	min-width: 0;
}

/* Modulo targa nella hero (blocco HTML) */
.er-targa-form {
	display: grid;
	gap: 0.85rem;
	margin-top: 1.25rem;
}
.er-targa-form label {
	font-size: var(--wp--preset--font-size--s);
	font-weight: 600;
}
.er-targa-form .er-targa__campo {
	border: 0;
	background: transparent;
	width: 100%;
	text-align: center;
	padding: 0 0.5rem;
	font-family: inherit;
}
.er-targa-form .er-targa__campo::placeholder {
	color: #9aa6b1;
}
.er-targa-form .er-targa__campo:focus { outline: none; }
.er-targa-form .er-targa:focus-within {
	box-shadow: inset 0 0 0 2px #fff, 0 0 0 4px var(--er-giallo);
}
.er-targa-form button {
	justify-self: start;
	cursor: pointer;
}
.er-targa-form__alt {
	font-size: var(--wp--preset--font-size--s);
	color: var(--er-grigio);
	margin: 0;
}

/* ------------------------------------------------------------------ Sezioni home */

.er-sezione-testa {
	gap: 1rem;
	align-items: flex-end !important;
}
.er-sezione-testa h2 { margin: 0; }
.er-sezione-testa p { margin: 0; }
.er-sezione-testa a {
	font-weight: 700;
	white-space: nowrap;
}

/* Fatti di servizio */
.er-fatto {
	display: grid !important;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto 1fr;
	column-gap: 0.85rem;
	row-gap: 0.25rem;
	align-content: start;
	align-items: start;
}
.er-fatto > * { margin: 0 !important; }
.er-fatto::before {
	content: "";
	grid-row: 1 / 3;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: var(--er-giallo);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.4rem;
}
.er-fatto strong, .er-fatto__titolo {
	font-weight: 700;
	color: var(--er-notte);
}
.er-fatto__testo {
	font-size: var(--wp--preset--font-size--s);
	color: var(--er-grigio);
}
.er-fatto .er-fatto__titolo { font-size: var(--wp--preset--font-size--m); font-stretch: 104%; line-height: 1.3; }
.is-style-er-scheda.er-fatto { row-gap: 0.35rem; }
.is-style-er-scheda.er-fatto .er-fatto__titolo { font-size: var(--wp--preset--font-size--l); }
.er-officine .er-fatto__testo, .er-hero .er-fatto__testo { color: rgba(255, 255, 255, 0.75); }

/* Passi numerati (sequenze reali: preventivo, reso) */
.wp-block-list.er-passi {
	list-style: none;
	counter-reset: passo;
	padding-left: 0;
}
.wp-block-list.er-passi > li {
	counter-increment: passo;
	position: relative;
	padding-left: 2.6rem;
	margin-block: 1rem;
}
.wp-block-list.er-passi > li::before {
	content: counter(passo);
	position: absolute;
	left: 0;
	top: -0.1rem;
	width: 1.8rem;
	height: 1.8rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--er-notte);
	color: #fff;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s);
}
.er-ico-camion::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5h10.5v9H3z'/%3E%3Cpath d='M13.5 9.5h4l3 3.2v2.8h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.er-ico-pacco::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5 12 3l8.5 4.5v9L12 21l-8.5-4.5z'/%3E%3Cpath d='M3.5 7.5 12 12l8.5-4.5M12 12v9'/%3E%3C/svg%3E"); }
.er-ico-magazzino::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20V8l9-4.5L21 8v12'/%3E%3Cpath d='M7 20v-7h10v7M7 16.5h10'/%3E%3C/svg%3E"); }
.er-ico-telefono::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h3l1.5 4-2 1.3a10.5 10.5 0 0 0 6.2 6.2l1.3-2 4 1.5v3a2 2 0 0 1-2.2 2A16 16 0 0 1 4.5 5.7a2 2 0 0 1 2-2.2z'/%3E%3C/svg%3E"); }
.er-ico-chiave::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4.5 4.5 0 0 0-5.9 5.9L3.5 17.5v3h3l5.3-5.3a4.5 4.5 0 0 0 5.9-5.9l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
.er-ico-scuola::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4.5 21.5 9 12 13.5z'/%3E%3Cpath d='M6.5 11v4.5c0 1.4 2.5 3 5.5 3s5.5-1.6 5.5-3V11M21.5 9v5.5'/%3E%3C/svg%3E"); }
.er-ico-scudo::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 19 6v5.5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z'/%3E%3Cpath d='m8.8 12 2.2 2.2 4.3-4.4'/%3E%3C/svg%3E"); }
.er-ico-orologio::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2A3F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E"); }

/* Griglia categorie */
.er-categorie {
	gap: 0.75rem !important;
}
.er-cat {
	position: relative;
	display: flex !important;
	flex-direction: column;
	gap: 0 !important;
	background: #fff;
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio-card);
	padding: 0.75rem 0.9rem 0.9rem;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}
.er-cat:hover,
.er-cat:focus-within {
	border-color: var(--er-notte);
	box-shadow: var(--er-ombra);
}
.er-cat .wp-block-image {
	margin: 0 0 0.6rem;
}
.er-cat .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	mix-blend-mode: multiply;
}
.er-cat__nome {
	margin: 0;
	font-weight: 700;
	font-stretch: 106%;
	line-height: 1.25;
	color: var(--er-notte);
}
.er-cat__nome a {
	color: inherit;
	text-decoration: none;
}
/* tutta la scheda e' cliccabile */
.er-cat__nome a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}
.er-cat--tutti {
	grid-column: span 2;
	justify-content: flex-end;
	border-color: var(--er-notte);
	padding: 1.25rem 1.4rem;
	background-image: radial-gradient(circle at center, rgba(247, 199, 53, 0.16) 0 2px, transparent 2.5px);
	background-size: 22px 22px;
}
.er-cat--tutti .er-cat__nome {
	color: #fff;
	font-size: var(--wp--preset--font-size--xl);
	font-stretch: 112%;
}
.er-cat--tutti .er-cat__nome a::before {
	content: "";
	display: block;
	width: 2.25rem;
	height: 4px;
	background: var(--er-giallo);
	margin-bottom: 0.9rem;
}
.er-cat--tutti .er-cat__conta { color: rgba(255, 255, 255, 0.75); }
.er-cat--tutti:hover { border-color: var(--er-giallo); }
@media (max-width: 600px) {
	.er-cat--tutti { grid-column: 1 / -1; }
}
.er-cat__conta {
	margin: 0.15rem 0 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
	font-variant-numeric: tabular-nums;
}

/* Sezione officine (scura) */
.er-officine h2,
.er-officine h3 { color: #fff; }
.er-officine .wp-block-image img {
	border-radius: var(--er-raggio-card);
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}
.er-officine .wp-block-list.is-style-er-spunte li { margin-block: 0.85rem; }

/* Fascia CTA gialla */
.er-cta-gialla h2 { color: var(--er-notte); }
.er-cta-gialla a:not(.wp-block-button__link) { color: var(--er-notte); }

/* Griglia marchi */
.er-marchi {
	gap: 1rem 2rem !important;
	align-items: center;
}

/* Foto con angoli */
.er-foto img {
	border-radius: var(--er-raggio-card);
	width: 100%;
	object-fit: cover;
}

/* ------------------------------------------------------------------ Card prodotto (Product Collection) */

.wc-block-product-template {
	gap: 1rem !important;
}
.wc-block-product-template > .wc-block-product,
.wc-block-product-template > li.wp-block-post {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio-card);
	padding: 0.75rem 0.9rem 1rem;
	text-align: left;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}
.wc-block-product-template > .wc-block-product:hover {
	border-color: #9fb0bf;
	box-shadow: var(--er-ombra);
}
.wc-block-product-template .wc-block-components-product-image {
	margin: 0 0 0.75rem !important;
	background: var(--er-nebbia);
	border-radius: var(--er-raggio);
	overflow: hidden;
}
.wc-block-product-template .wc-block-components-product-image img {
	aspect-ratio: 1;
	object-fit: contain !important;
	mix-blend-mode: multiply;
	padding: 0.5rem;
}
.wc-block-product-template .er-card__cat,
.er-prodotto__info .er-card__cat {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wc-block-product-template .er-card__cat {
	margin: 0 0 0.2rem;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
	line-height: 1.3;
}
.wc-block-product-template .er-card__cat a {
	color: inherit;
	text-decoration: none;
}
.wc-block-product-template .wp-block-post-title {
	font-size: var(--wp--preset--font-size--s) !important;
	font-stretch: 100%;
	font-weight: 650;
	line-height: 1.3 !important;
	margin: 0 0 0.3rem !important;
	text-align: left !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	/* nomi prodotto: righe piene, niente bilanciamento dei titoli */
	text-wrap: pretty;
}
.wc-block-product-template .wp-block-post-title a {
	color: var(--er-notte);
	text-decoration: none;
}
.wc-block-product-template .wp-block-post-title a:hover { color: var(--er-blu); }
.wc-block-product-template .wp-block-woocommerce-product-sku {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
	margin: 0 0 0.6rem;
}
.wc-block-product-template .wp-block-woocommerce-product-sku strong {
	font-weight: 500;
}
.wc-block-product-template .wp-block-woocommerce-product-price {
	margin-top: auto !important;
	margin-bottom: 0.75rem !important;
	text-align: left !important;
	font-size: var(--wp--preset--font-size--l) !important;
	font-weight: 750;
	color: var(--er-notte);
}
.wc-block-components-product-price .woocommerce-price-suffix,
.wp-block-woocommerce-product-price .woocommerce-price-suffix {
	display: inline-block;
	font-size: 0.7em;
	font-weight: 500;
	color: var(--er-grigio);
	margin-left: 0.15rem;
}
.wc-block-components-product-price del {
	font-size: 0.75em;
	font-weight: 500;
	color: var(--er-grigio);
}
.wc-block-components-product-price ins {
	text-decoration: none;
	color: var(--er-rosso);
}
.wc-block-product-template .wp-block-woocommerce-product-button {
	margin: 0 !important;
	text-align: left !important;
}
.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-product-template .wp-block-woocommerce-product-button .wc-block-components-product-button__button {
	width: 100%;
	justify-content: center;
	background: transparent;
	color: var(--er-notte);
	box-shadow: inset 0 0 0 2px var(--er-notte);
	font-size: var(--wp--preset--font-size--s) !important;
}
.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link:hover,
.wc-block-product-template .wp-block-woocommerce-product-button .wc-block-components-product-button__button:hover {
	background: var(--er-notte);
	color: #fff;
}
.wc-block-components-product-sale-badge,
.wp-block-woocommerce-product-sale-badge .wc-block-components-product-sale-badge {
	background: var(--er-rosso) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 700;
	text-transform: none !important;
	padding: 0.2rem 0.5rem !important;
}
/* pulsante preferiti nella card */
.wc-block-product-template .er-preferito {
	position: absolute;
	top: 1.1rem;
	right: 1.2rem;
	z-index: 2;
}

/* Elenchi nel vecchio formato di WooCommerce (shortcode [products] nelle descrizioni, plugin
   rimasti attivi): stesse card dei blocchi. I valori forti battono larghezze e float di
   woocommerce-layout.css, pensati per i temi classici. */
.woocommerce .up-sells,
.woocommerce .cross-sells,
.woocommerce .related {
	margin-top: var(--wp--preset--spacing--70);
}
.woocommerce .cross-sells > h2 br,
.woocommerce .cross-sells > h2 hr {
	display: none;
}
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0 0 !important;
	padding: 0 !important;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important;
}
.woocommerce ul.products li.product {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0.75rem 0.9rem 1rem !important;
	background: #fff;
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio-card);
	text-align: left;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}
.woocommerce ul.products li.product:hover {
	border-color: #9fb0bf;
	box-shadow: var(--er-ombra);
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	margin: 0 0 0.75rem !important;
	padding: 0.5rem;
	background: var(--er-nebbia);
	border-radius: var(--er-raggio);
	mix-blend-mode: multiply;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 0.3rem !important;
	padding: 0 !important;
	font-size: var(--wp--preset--font-size--s) !important;
	font-stretch: 100%;
	font-weight: 650;
	line-height: 1.3;
	color: var(--er-notte);
	text-wrap: pretty;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
	color: var(--er-blu);
}
.woocommerce ul.products li.product .price {
	display: block;
	margin: auto 0 0.75rem !important;
	font-size: var(--wp--preset--font-size--l) !important;
	font-weight: 750;
	color: var(--er-notte) !important;
}
.woocommerce ul.products li.product .price del {
	font-size: 0.75em;
	font-weight: 500;
	color: var(--er-grigio);
	opacity: 1;
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none;
	font-weight: inherit;
	color: var(--er-rosso);
}
.woocommerce ul.products li.product .price .woocommerce-price-suffix {
	display: inline-block;
	margin-left: 0.15rem;
	font-size: 0.7em;
	font-weight: 500;
	color: var(--er-grigio);
}
.woocommerce ul.products li.product a.button {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0 !important;
	background: transparent !important;
	color: var(--er-notte) !important;
	box-shadow: inset 0 0 0 2px var(--er-notte);
	font-size: var(--wp--preset--font-size--s) !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible {
	background: var(--er-notte) !important;
	color: #fff !important;
}
.woocommerce ul.products li.product a.added_to_cart {
	margin-top: 0.5rem;
	font-size: var(--wp--preset--font-size--xs);
	text-align: center;
}
.woocommerce ul.products li.product .onsale {
	top: 1.1rem !important;
	right: auto !important;
	left: 1.2rem !important;
	z-index: 2;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0.2rem 0.5rem !important;
	border-radius: 4px !important;
	background: var(--er-rosso) !important;
	color: #fff !important;
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 700;
	line-height: 1.4 !important;
}
@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ------------------------------------------------------------------ Pagine interne */

.er-titolo-pagina {
	background: var(--er-asfalto);
}
.er-titolo-pagina .wp-block-post-title,
.er-titolo-pagina .wp-block-query-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--xxxl);
}
.er-titolo-pagina .wc-block-breadcrumbs,
.er-titolo-pagina .woocommerce-breadcrumb {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
	margin-bottom: 0.5rem;
}
.er-titolo-pagina .wc-block-breadcrumbs a,
.er-titolo-pagina .woocommerce-breadcrumb a {
	color: var(--er-grigio);
}
.er-titolo-pagina .wp-block-term-description {
	max-width: 48rem;
	color: var(--er-grigio);
}

/* Menu laterale delle pagine informative */
.er-menu-laterale {
	position: sticky;
	top: 8rem;
}
.er-menu-laterale .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: stretch !important;
	gap: 0 !important;
	border-left: 2px solid var(--er-linea);
}
.er-menu-laterale .wp-block-navigation-item__content {
	display: block;
	padding: 0.5rem 0 0.5rem 1rem;
	margin-left: -2px;
	border-left: 2px solid transparent;
	color: var(--er-notte);
	text-decoration: none;
	font-weight: 500;
}
.er-menu-laterale .wp-block-navigation-item__content:hover,
.er-menu-laterale .current-menu-item > .wp-block-navigation-item__content,
.er-menu-laterale .wp-block-navigation-item__content[aria-current="page"] {
	border-left-color: var(--er-giallo);
	color: var(--er-blu);
	font-weight: 700;
}
@media (max-width: 781px) {
	.er-menu-laterale { position: static; }
}

/* Contenuto testuale */
.er-prosa table {
	border-collapse: collapse;
	width: 100%;
}
.er-prosa .wp-block-table td,
.er-prosa .wp-block-table th {
	border: 0;
	border-bottom: 1px solid var(--er-linea);
	padding: 0.75rem 0.5rem;
	text-align: left;
	vertical-align: top;
}
.er-prosa .wp-block-table thead {
	border-bottom: 2px solid var(--er-notte);
}
.er-prosa .wp-block-table th {
	font-weight: 700;
	color: var(--er-notte);
}

.wp-block-details {
	border-bottom: 1px solid var(--er-linea);
	padding-block: 0.9rem;
}
.wp-block-details summary {
	font-weight: 700;
	color: var(--er-notte);
	cursor: pointer;
}
.wp-block-details[open] summary { margin-bottom: 0.5rem; }

/* ------------------------------------------------------------------ Negozio */

.er-negozio__barra {
	gap: 1rem;
	border-bottom: 1px solid var(--er-linea);
	padding-bottom: 0.75rem;
}
.er-negozio__barra .woocommerce-result-count,
.er-negozio__barra .wc-block-product-results-count {
	margin: 0;
	color: var(--er-grigio);
	font-size: var(--wp--preset--font-size--s);
}
.er-negozio__barra select {
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio);
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	font: inherit;
	font-size: var(--wp--preset--font-size--s);
	background-color: #fff;
}
.er-sidebar-catalogo {
	align-self: flex-start;
	padding: 1.25rem 1.1rem 1.25rem !important;
	border: 1px solid var(--er-linea);
	border-radius: 14px;
	background: var(--er-nebbia);
}
.er-sidebar-catalogo > h2 {
	margin: 0 0 0.25rem;
	padding: 0 0.25rem 0.75rem;
	border-bottom: 2px solid var(--er-notte);
	font-size: var(--wp--preset--font-size--l);
}
.er-sidebar-catalogo .er-aiuto {
	margin-top: 1.25rem;
}
/*
 * Sidebar fissa durante lo scroll, sotto l'intestazione (che su desktop resta fissa).
 * Se e' piu' alta dello schermo scorre al suo interno, cosi' si arriva sempre in fondo.
 */
@media (min-width: 782px) {
	.er-sidebar-catalogo {
		box-sizing: border-box;
		position: sticky;
		top: calc(var(--er-header-fisso, 0px) + var(--wp-admin--admin-bar--height, 0px) + 1rem);
		max-height: calc(100vh - var(--er-header-fisso, 0px) - var(--wp-admin--admin-bar--height, 0px) - 2rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: var(--er-linea) transparent;
	}
}
@media (min-width: 1024px) {
	/* altezza dell'intestazione fissa (logo + menu, senza la barra servizi) */
	.er-sidebar-catalogo {
		--er-header-fisso: 9rem;
	}
}

/* su mobile prima i prodotti, poi categorie e aiuto */
@media (max-width: 781px) {
	.er-sidebar-catalogo {
		order: 2;
	}
}
.er-aiuto {
	background: var(--er-giallo-chiaro, #FDF3D3);
	border-radius: var(--er-raggio-card);
	padding: 1.25rem;
	font-size: var(--wp--preset--font-size--s);
}
.er-aiuto h2 { font-size: var(--wp--preset--font-size--m); margin: 0 0 0.35rem; }
.er-aiuto p { margin: 0.35rem 0 0; }

.wp-block-query-pagination {
	gap: 0.35rem;
	font-weight: 600;
}
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio);
	text-decoration: none;
	color: var(--er-notte);
}
.wp-block-query-pagination .page-numbers.current {
	background: var(--er-notte);
	border-color: var(--er-notte);
	color: #fff;
}

/* Scheda prodotto */
.er-prodotto__galleria .woocommerce-product-gallery,
.er-prodotto__galleria .wc-block-product-gallery {
	background: var(--er-nebbia);
	border-radius: var(--er-raggio-card);
	padding: 1rem;
}
.er-prodotto__galleria img {
	mix-blend-mode: multiply;
}
.er-prodotto__info .wp-block-post-title {
	font-size: var(--wp--preset--font-size--xxl);
	font-stretch: 106%;
	margin-top: 0;
}
.er-prodotto__info .wp-block-woocommerce-product-price {
	font-size: var(--wp--preset--font-size--xxl) !important;
	font-weight: 780;
	color: var(--er-notte);
}
.er-prodotto__codice {
	gap: 0.5rem 1.5rem;
	font-size: var(--wp--preset--font-size--s);
	color: var(--er-grigio);
}
.er-prodotto__codice > * { margin: 0 !important; }
.er-prodotto__info .wp-block-add-to-cart-form .quantity input,
.er-prodotto__info .wc-block-add-to-cart-form .quantity input {
	min-height: 3rem;
	border: 1px solid var(--er-linea);
	border-radius: var(--er-raggio);
	font: inherit;
}
.er-prodotto__info .single_add_to_cart_button,
.er-prodotto__info .wp-block-woocommerce-add-to-cart-form .wp-element-button {
	min-height: 3rem;
	padding-inline: 1.75rem !important;
	font-size: var(--wp--preset--font-size--m) !important;
}
/* Quantità, carrello e preferiti sulla stessa linea e alla stessa altezza */
.er-prodotto__acquista {
	gap: 0.75rem !important;
	align-items: center !important;
}
.er-prodotto__acquista form.cart {
	margin: 0 !important;
}
/* WooCommerce stampa la disponibilita' dentro il blocco del carrello: il contenitore del
   blocco sparisce dal layout, la disponibilita' va su una riga sua e sotto restano
   allineati quantita', carrello e preferiti. */
.er-prodotto__acquista .wc-block-add-to-cart-form {
	display: contents;
}
.er-prodotto__info .er-prodotto__acquista .stock {
	flex-basis: 100%;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--s);
	font-weight: 600;
	color: var(--wp--preset--color--verde);
}
.er-prodotto__info .er-prodotto__acquista .stock::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: currentColor;
}
.er-prodotto__info .er-prodotto__acquista .stock.available-on-backorder {
	color: var(--er-blu);
}
.er-prodotto__info .er-prodotto__acquista .stock.out-of-stock {
	color: var(--er-rosso);
}
/* Prodotti variabili: selezioni e carrello occupano la riga, i preferiti vanno sotto */
.er-prodotto__acquista form.variations_form {
	flex-basis: 100%;
}
.er-prodotto__acquista .er-preferito {
	min-height: 50px;
	padding-inline: 1.1rem;
	border-radius: var(--er-raggio);
}
.er-prodotto__rassicura {
	border-top: 1px solid var(--er-linea);
	padding-top: 1rem;
	font-size: var(--wp--preset--font-size--s);
}
.er-prodotto__rassicura .er-fatto::before {
	width: 2rem;
	height: 2rem;
	background-size: 1.15rem;
}
.er-prodotto__galleria {
	position: relative;
}
/* .woocommerce davanti: deve battere ".woocommerce span.onsale" di WooCommerce */
.woocommerce .er-prodotto__galleria span.onsale,
.er-prodotto__galleria span.onsale {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.25rem 0.6rem;
	border-radius: 4px;
	background: var(--er-rosso);
	color: #fff;
	font-size: var(--wp--preset--font-size--s);
	font-weight: 700;
	line-height: 1.3;
}
/* la foto si apre intera al clic */
.er-prodotto__galleria .woocommerce-product-gallery__image a {
	cursor: zoom-in;
}
.wp-block-woocommerce-product-details .woocommerce-Tabs-panel {
	max-width: 48rem;
}
.wp-block-woocommerce-product-details .wc-tabs {
	border-bottom: 1px solid var(--er-linea);
}
.wp-block-woocommerce-product-details .wc-tabs li a {
	font-weight: 700;
	color: var(--er-notte);
}

/* Carrello e cassa */
.er-checkout-header {
	background: #fff;
	border-bottom: 1px solid var(--er-linea);
	padding-block: 0.9rem;
}
.er-checkout-header__riga {
	gap: 0.75rem 2rem;
}
.er-checkout-header .er-logo img {
	width: clamp(160px, 16vw, 220px);
}
.er-checkout-header .wp-block-euroricambi-codice-sconto {
	margin-left: auto;
}
.er-checkout-header__aiuto {
	gap: 0.1rem !important;
	font-size: var(--wp--preset--font-size--s);
	text-align: right;
}
.er-checkout-header__aiuto p { margin: 0; }
.er-checkout-header__telefono a {
	font-weight: 700;
	color: var(--er-notte);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}
.er-checkout-header__carrello a {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
}
/* la testata della cassa non resta fissa: niente barra servizi da nascondere */
.wp-site-blocks > header.wp-block-template-part:has(.er-checkout-header) {
	position: static;
}
/* il codice sconto sta in testata: niente doppione nel riepilogo */
body:has(.er-checkout-header .er-sconto) .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	display: none;
}
@media (max-width: 781px) {
	.er-checkout-header__riga {
		display: grid !important;
		grid-template-columns: 1fr auto;
		align-items: center;
	}
	.er-checkout-header .wp-block-euroricambi-codice-sconto {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-left: 0;
	}
	.er-checkout-header__carrello { display: none; }
}
.er-checkout-footer {
	padding-block: 1.25rem;
	font-size: var(--wp--preset--font-size--xs);
	color: rgba(255, 255, 255, 0.72) !important;
}
.er-checkout-footer p { margin: 0; }
.er-checkout-footer a {
	color: #fff;
	margin-left: 1.25rem;
}
.er-checkout-footer a:first-child { margin-left: 0; }

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	--wc-block-components-border-radius: 6px;
}
.wc-block-components-button:not(.is-link) {
	background: var(--er-giallo);
	color: var(--er-notte);
	border-radius: var(--er-raggio);
	font-weight: 700;
}
.wc-block-components-button:not(.is-link):hover {
	background: var(--er-notte);
	color: #fff;
}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select {
	border-radius: var(--er-raggio) !important;
}

/* ------------------------------------------------------------------ Blog */

.er-blog-card .wp-block-post-featured-image img {
	border-radius: var(--er-raggio-card);
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.er-blog-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--l);
	font-stretch: 104%;
	margin-block: 0.75rem 0.35rem;
}
.er-blog-card .wp-block-post-title a {
	color: var(--er-notte);
	text-decoration: none;
}
.er-blog-card .wp-block-post-title a:hover { color: var(--er-blu); }
.er-blog-card .wp-block-post-date {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
}

/* Articolo: titolo, foto e testo sulla stessa colonna di lettura (contentSize) */
.er-briciole {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--er-grigio);
	margin-bottom: 0.75rem;
}
.er-briciole p { margin: 0; }
.er-briciole a {
	color: var(--er-grigio);
	text-decoration: none;
}
.er-briciole a:hover {
	color: var(--er-blu);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.er-briciole__sep { margin-inline: 0.45em; }
.er-articolo .er-titolo-pagina .wp-block-post-title { text-wrap: balance; }
.er-articolo__meta {
	gap: 0.25rem 1.25rem;
	margin-top: 1rem;
	font-size: var(--wp--preset--font-size--s);
	color: var(--er-grigio);
}
.er-articolo__meta .wp-block-post-terms a {
	color: var(--er-blu);
	font-weight: 600;
	text-decoration: none;
}
.er-articolo__meta .wp-block-post-terms a:hover { text-decoration: underline; }
/* Le foto in evidenza del blog sono spesso locandine verticali con margini bianchi:
   intere, mai tagliate, centrate e alte al massimo quanto lo schermo */
.er-articolo__foto {
	margin-bottom: var(--wp--preset--spacing--50);
}
.er-articolo__foto img {
	display: block;
	width: auto !important;
	max-width: 100%;
	height: auto !important;
	max-height: min(34rem, 70vh);
	margin-inline: auto;
	object-fit: contain;
	border-radius: var(--er-raggio);
}
.er-articolo__testo {
	font-size: 1.125rem;
	line-height: 1.7;
}
.er-articolo__testo p { margin-block: 0 1.15em; }
.er-articolo__testo :where(h2) {
	font-size: var(--wp--preset--font-size--xl);
	margin-block: 2em 0.5em;
}
.er-articolo__testo :where(h3, h4) {
	font-size: var(--wp--preset--font-size--l);
	margin-block: 1.75em 0.4em;
}
.er-articolo__testo strong,
.er-articolo__testo b { color: var(--er-notte); }
.er-articolo__testo a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}
.er-articolo__testo :where(ul, ol) { padding-left: 1.4em; }
.er-articolo__testo li + li { margin-top: 0.35em; }
.er-articolo__testo blockquote {
	margin-inline: 0;
	padding: 1.25rem 1.5rem;
	background: var(--er-nebbia);
	border-radius: var(--er-raggio-card);
	font-size: var(--wp--preset--font-size--l);
}
.er-articolo__testo hr {
	border: 0;
	border-top: 1px solid var(--er-linea);
	margin-block: 2.5em;
}

/* ------------------------------------------------------------------ Piè di pagina */

.er-footer {
	font-size: var(--wp--preset--font-size--s);
	color: rgba(255, 255, 255, 0.82) !important;
}
.er-footer a {
	color: #fff;
	text-decoration: none;
}
.er-footer a:hover {
	color: var(--er-giallo);
	text-decoration: underline;
}
.er-footer__titolo {
	font-size: var(--wp--preset--font-size--s) !important;
	font-stretch: 100% !important;
	color: var(--er-giallo) !important;
	margin-bottom: 0.75rem;
	letter-spacing: 0;
}
.er-footer__lista {
	list-style: none;
	padding: 0;
	margin: 0;
}
.er-footer__lista li { margin-block: 0.45rem; }
.er-footer .er-orari table {
	border-collapse: collapse;
	width: 100%;
}
.er-footer .er-orari td {
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	padding: 0.45rem 0.5rem 0.45rem 0;
	vertical-align: top;
	font-variant-numeric: tabular-nums;
}
.er-footer .er-orari td:first-child {
	color: #fff;
	font-weight: 600;
	white-space: nowrap;
}
.er-footer {
	padding-bottom: 5.5rem;
}
.er-footer__legale {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.25rem;
	font-size: var(--wp--preset--font-size--xs);
	color: rgba(255, 255, 255, 0.6);
}
.er-footer__legale p { margin: 0; }
.er-footer__social .wp-social-link {
	color: #fff;
}
.er-footer__social .wp-social-link svg {
	width: 1.4rem;
	height: 1.4rem;
}

@media (max-width: 1100px) {
	.er-footer__colonne {
		flex-wrap: wrap !important;
		row-gap: 2rem;
	}
	.er-footer__colonne > .wp-block-column {
		flex-basis: calc(50% - 1.5rem) !important;
		flex-grow: 0 !important;
	}
}
@media (max-width: 600px) {
	.er-footer__colonne > .wp-block-column { flex-basis: 100% !important; }
}
.er-footer .er-orari { overflow: visible; margin: 0; }

/* Newsletter nel piè di pagina (modulo del plugin su fondo scuro) */
.er-footer__newsletter {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
	gap: 1.25rem 3rem;
	align-items: flex-start !important;
}
.er-footer__newsletter p { margin: 0.25rem 0 0; }
.er-footer__newsletter .er-footer__titolo { margin: 0; }
.er-footer .er-modulo {
	flex: 1 1 24rem;
	max-width: 38rem;
}
.er-footer .er-modulo label,
.er-footer .er-campo label,
.er-footer .er-modulo legend {
	color: #fff;
}
.er-footer .er-modulo a { color: var(--er-giallo); }

/* ------------------------------------------------------------------ Movimento ridotto */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
