/**
 * VRX Racing — design system "Light & Red".
 *
 * Derivato da input/react-template/repo/src/index.css (Tailwind + shadcn/ui).
 * I token (colori, font, spaziature, radius) stanno in theme.json e sono
 * disponibili come variabili `--wp--preset--*` e `--wp--custom--*`.
 */

/* ---------------------------------------------------------------------------
 * 1. Layout
 * ------------------------------------------------------------------------- */

.himoto-container {
	width: 100%;
	max-width: var(--wp--custom--container, 1400px);
	margin-inline: auto;
	padding-inline: 1rem;
}

@media (min-width: 768px) {
	.himoto-container {
		padding-inline: 2rem;
	}
}

.himoto-section {
	padding-block: 4rem;
}

.himoto-section--tight {
	padding-block: 2.5rem;
}

.himoto-section--panel {
	background: var(--wp--preset--color--card);
	border-block: 1px solid var(--wp--preset--color--border);
}

/* ---------------------------------------------------------------------------
 * 2. Tipografia di servizio
 * ------------------------------------------------------------------------- */

.himoto-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.himoto-eyebrow::before {
	content: "";
	display: block;
	width: 2rem;
	height: 1px;
	background: currentColor;
}

.himoto-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2rem;
}

.himoto-section-head h2 {
	margin: 0;
}

.himoto-section-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-section-link:hover,
.himoto-section-link:focus {
	color: var(--wp--preset--color--primary);
}

.himoto-muted {
	color: var(--wp--preset--color--muted-foreground);
}

/* ---------------------------------------------------------------------------
 * 3. Utilita' decorative
 * ------------------------------------------------------------------------- */

.text-gradient-red {
	background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-hover));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.speed-lines {
	background-image: repeating-linear-gradient(
		90deg,
		transparent,
		transparent 98px,
		rgba(197, 13, 13, 0.08) 98px,
		rgba(197, 13, 13, 0.08) 100px
	);
}

.bg-carbon {
	background-color: var(--wp--preset--color--base);
	background-image:
		repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0, 0, 0, 0.015) 2px, rgba(0, 0, 0, 0.015) 4px),
		repeating-linear-gradient(-45deg, transparent, transparent 2px, rgba(0, 0, 0, 0.015) 2px, rgba(0, 0, 0, 0.015) 4px);
}

.glow-red {
	box-shadow: 0 0 20px rgba(197, 13, 13, 0.35), 0 0 40px rgba(197, 13, 13, 0.12);
}

/* ---------------------------------------------------------------------------
 * 4. Pulsanti
 * ------------------------------------------------------------------------- */

.himoto-btn,
.wp-block-button__link.himoto-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	height: 3rem;
	padding-inline: 2rem;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--wp--custom--transition), background-color var(--wp--custom--transition), color var(--wp--custom--transition), border-color var(--wp--custom--transition);
}

.himoto-btn--primary {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-btn--primary:hover,
.himoto-btn--primary:focus {
	background: var(--wp--preset--color--primary-hover);
	color: var(--wp--preset--color--card);
	transform: translateY(-2px);
}

.himoto-btn--outline {
	background: transparent;
	border-color: var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
}

.himoto-btn--outline:hover,
.himoto-btn--outline:focus {
	background: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
	transform: translateY(-2px);
}

.himoto-btn--sm {
	height: 2.25rem;
	padding-inline: 1rem;
	font-size: var(--wp--preset--font-size--x-small);
}

/* Pulsanti core (blocco) con lo stile primario. */
.wp-block-button.is-style-himoto-primary .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3rem;
	padding-inline: 2rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
	border: 0;
	border-radius: var(--wp--custom--radius);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform var(--wp--custom--transition), background-color var(--wp--custom--transition);
}

.wp-block-button.is-style-himoto-primary .wp-block-button__link:hover,
.wp-block-button.is-style-himoto-primary .wp-block-button__link:focus {
	background: var(--wp--preset--color--primary-hover);
	color: var(--wp--preset--color--card);
	transform: translateY(-2px);
}

/* ---------------------------------------------------------------------------
 * 5. Intestazione
 * ------------------------------------------------------------------------- */

.himoto-topbar {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-topbar .himoto-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	padding-block: 0.375rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-align: center;
}

.himoto-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--card) 95%, transparent);
	border-bottom: 1px solid var(--wp--preset--color--border);
	backdrop-filter: blur(8px);
}

.himoto-header__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 4rem;
}

.himoto-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
}

.himoto-logo .himoto-logo__brand {
	color: var(--wp--preset--color--primary);
}

.himoto-logo .himoto-logo__name {
	color: var(--wp--preset--color--contrast);
}

.himoto-logo .himoto-logo__tld {
	font-size: 0.5rem;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--muted-foreground);
	align-self: flex-end;
	padding-bottom: 0.15rem;
}

.himoto-logo img {
	display: block;
	height: 3rem;
	width: auto;
}

.himoto-footer__logo img {
	height: 1.75rem;
}

.himoto-menu__head .himoto-logo img {
	height: 1.75rem;
}

.himoto-header__actions {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

/* I due link icona sono figli diretti di un gruppo in layout "flow": WordPress
   aggiunge margin-block-start: 24px ai figli successivi al primo (spaziatura
   automatica tra blocchi), che sfasa il carrello. Il gruppo è già flex, quindi
   quel margine va azzerato. */
.himoto-header__actions > * + * {
	margin-block-start: 0;
}

.himoto-icon-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-icon-link:hover,
.himoto-icon-link:focus {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--card);
}

.himoto-nav {
	border-top: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--card);
}

.himoto-nav .wp-block-navigation__container {
	gap: 0;
}

.himoto-nav .wp-block-navigation-item__content {
	padding: 0.625rem 1rem;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-nav .wp-block-navigation-item__content:hover,
.himoto-nav .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--primary);
	background: color-mix(in srgb, var(--wp--preset--color--secondary) 50%, transparent);
}

.himoto-nav__highlight {
	color: var(--wp--preset--color--primary) !important;
}

/* ---------------------------------------------------------------------------
 * 5b. Menu mobile: hamburger + tendina da sinistra
 * ------------------------------------------------------------------------- */

.himoto-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin-left: -0.5rem;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius);
	background: transparent;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.himoto-menu-toggle:hover,
.himoto-menu-toggle:focus {
	background: var(--wp--preset--color--muted);
}

.himoto-menu-toggle__bars {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 1.25rem;
}

.himoto-menu-toggle__bars > span {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.himoto-menu-toggle__bars > span:nth-child(3) {
	width: 0.75rem;
	background: var(--wp--preset--color--primary);
}

.himoto-menu {
	display: none;
}

.himoto-menu.is-open {
	display: block;
}

.himoto-menu__overlay {
	position: fixed;
	inset: 0;
	z-index: 90;
	padding: 0;
	border: 0;
	background: color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent);
	backdrop-filter: blur(2px);
	cursor: pointer;
}

.himoto-menu__panel {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 91;
	display: flex;
	flex-direction: column;
	width: 82%;
	max-width: 20rem;
	overflow-y: auto;
	background: var(--wp--preset--color--card);
	border-right: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.himoto-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.himoto-menu__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.himoto-menu__search {
	padding: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.himoto-menu__search input {
	width: 100%;
	height: 2.5rem;
	padding-inline: 0.75rem;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--body);
}

.himoto-menu__label {
	margin: 1rem 1.25rem 0.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-menu__list {
	margin: 0;
	padding: 0 0.5rem;
	list-style: none;
}

.himoto-menu__list--cats {
	flex: 1;
	overflow-y: auto;
}

.himoto-menu__list a {
	display: block;
	padding: 0.625rem 0.75rem;
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

.himoto-menu__list a:hover,
.himoto-menu__list a:focus {
	background: var(--wp--preset--color--muted);
}

.himoto-menu__foot {
	margin-top: auto;
	padding: 1rem 1.25rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.himoto-menu__foot a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.himoto-menu__foot a:hover,
.himoto-menu__foot a:focus {
	color: var(--wp--preset--color--primary);
}

body.himoto-menu-open {
	overflow: hidden;
}

@media (max-width: 899px) {
	.himoto-header__main {
		justify-content: flex-start;
		gap: 0.5rem;
	}

	.himoto-header__actions {
		margin-left: auto;
	}

	.himoto-header-search,
	.himoto-icon-link--account,
	.himoto-nav {
		display: none;
	}

	.himoto-menu-toggle {
		display: inline-flex;
	}
}

@media (min-width: 900px) {
	.himoto-menu {
		display: none !important;
	}
}

/* ---------------------------------------------------------------------------
 * 6. Hero
 * ------------------------------------------------------------------------- */

.himoto-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 78vh;
	overflow: hidden;
	background: var(--wp--preset--color--base);
}

.himoto-hero__media {
	position: absolute;
	inset: 0;
}

.himoto-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

.himoto-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		95deg,
		var(--wp--preset--color--base) 0%,
		color-mix(in srgb, var(--wp--preset--color--base) 96%, transparent) 35%,
		color-mix(in srgb, var(--wp--preset--color--base) 70%, transparent) 55%,
		color-mix(in srgb, var(--wp--preset--color--base) 15%, transparent) 75%,
		transparent 92%
	);
}

.himoto-hero__accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wp--preset--color--primary), color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) 50%, transparent);
}

.himoto-hero__inner {
	position: relative;
	padding-block: 5rem;
}

.himoto-hero__title {
	font-size: var(--wp--preset--font-size--display);
	margin: 0 0 1rem;
}

.himoto-hero__lead {
	max-width: 36rem;
	color: var(--wp--preset--color--muted-foreground);
	font-size: 1.0625rem;
	line-height: 1.7;
	margin: 0 0 2rem;
}

.himoto-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.himoto-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--border) 60%, transparent);
}

.himoto-stat__value {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--wp--preset--color--contrast);
}

.himoto-stat__label {
	margin: 0.125rem 0 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

/* ---------------------------------------------------------------------------
 * 7. Striscia vantaggi
 * ------------------------------------------------------------------------- */

.himoto-features {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-block: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--card);
}

@media (min-width: 768px) {
	.himoto-features {
		grid-template-columns: repeat(4, 1fr);
	}
}

.himoto-feature {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1.25rem;
	border-left: 1px solid var(--wp--preset--color--border);
	transition: transform var(--wp--custom--transition);
}

.himoto-feature:first-child {
	border-left: 0;
}

.himoto-feature:hover {
	transform: translateY(-2px);
}

.himoto-feature__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.himoto-feature__desc {
	margin: 0.125rem 0 0;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.5;
	color: var(--wp--preset--color--muted-foreground);
}

/* ---------------------------------------------------------------------------
 * 8. Griglie
 * ------------------------------------------------------------------------- */

.himoto-grid {
	display: grid;
	gap: 0.75rem;
}

.himoto-grid--categories {
	grid-template-columns: repeat(2, 1fr);
}

.himoto-grid--products {
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 640px) {
	.himoto-grid--categories {
		grid-template-columns: repeat(3, 1fr);
	}
	.himoto-grid--products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.himoto-grid--categories {
		grid-template-columns: repeat(6, 1fr);
	}
	.himoto-grid--products {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ---------------------------------------------------------------------------
 * 9. Card categoria
 * ------------------------------------------------------------------------- */

.himoto-category-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	text-decoration: none;
	transition: border-color var(--wp--custom--transition), transform var(--wp--custom--transition), box-shadow var(--wp--custom--transition);
}

.himoto-category-card:hover,
.himoto-category-card:focus-within {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 50%, transparent);
	transform: translateY(-2px);
	box-shadow: var(--wp--custom--shadow-card-hover);
}

.himoto-category-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--card);
}

.himoto-category-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.himoto-category-card:hover .himoto-category-card__media img {
	transform: scale(1.05);
}

.himoto-category-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 0.75rem;
}

.himoto-category-card__kicker {
	margin: 0 0 0.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.himoto-category-card__title {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.himoto-category-card:hover .himoto-category-card__title {
	color: var(--wp--preset--color--primary);
}

/* ---------------------------------------------------------------------------
 * 10. Card prodotto
 * ------------------------------------------------------------------------- */

.himoto-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	transition: border-color var(--wp--custom--transition), transform var(--wp--custom--transition), box-shadow var(--wp--custom--transition);
}

.himoto-product-card:hover,
.himoto-product-card:focus-within {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 50%, transparent);
	transform: translateY(-2px);
	box-shadow: var(--wp--custom--shadow-card-hover);
}

.himoto-product-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--card);
}

.himoto-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.himoto-product-card:hover .himoto-product-card__media img {
	transform: scale(1.05);
}

.himoto-badge {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	padding: 0.25rem 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-badge--accent {
	background: var(--wp--preset--color--accent);
}

.himoto-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 0.75rem;
}

.himoto-product-card__cat {
	margin: 0 0 0.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.himoto-product-card__title a,
.himoto-product-card__title a:visited {
	color: inherit;
	text-decoration: none;
}

.himoto-product-card__title {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
}

/* Titolo scuro (leggibile); rosso solo al passaggio. */
.himoto-product-card__title,
.himoto-product-card__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.himoto-product-card:hover .himoto-product-card__title a {
	text-decoration: underline;
}

.himoto-product-card__price {
	display: flex;
	align-items: baseline;
	gap: 0.375rem;
	margin-top: auto;
}

.himoto-price {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-weight: 900;
	color: var(--wp--preset--color--contrast);
}

.himoto-price--struck {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 400;
	text-decoration: line-through;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-price--request {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-media-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	background:
		repeating-linear-gradient(45deg, var(--wp--preset--color--secondary), var(--wp--preset--color--secondary) 10px, color-mix(in srgb, var(--wp--preset--color--secondary) 60%, var(--wp--preset--color--card)) 10px 20px);
}

.himoto-media-placeholder span {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
	opacity: 0.6;
}

.himoto-product-detail {
	display: grid;
	gap: 2rem;
}

@media (min-width: 768px) {
	.himoto-product-detail {
		grid-template-columns: 1fr 1fr;
		align-items: start;
		gap: 3rem;
	}
}

.himoto-product-detail__info {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.himoto-product-detail__price .himoto-price {
	font-size: 2rem;
}

.himoto-sku {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

/* ---------------------------------------------------------------------------
 * 11. Banner rivenditori e newsletter
 * ------------------------------------------------------------------------- */

.himoto-dealer {
	position: relative;
	overflow: hidden;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.himoto-dealer__lines {
	position: absolute;
	inset: 0;
	opacity: 0.3;
}

.himoto-dealer__bar {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 0.25rem;
	background: var(--wp--preset--color--primary);
}

.himoto-dealer__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-block: 3rem;
}

@media (min-width: 768px) {
	.himoto-dealer__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.himoto-newsletter {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent);
}

.himoto-newsletter__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-block: 2rem;
}

@media (min-width: 768px) {
	.himoto-newsletter__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.himoto-newsletter__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
}

.himoto-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	max-width: 32rem;
	min-width: min(24rem, 100%);
	margin: 0;
}

.himoto-newsletter__privacy {
	flex-basis: 100%;
	order: 3;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.45;
	color: var(--wp--preset--color--muted-foreground);
	cursor: pointer;
}

.himoto-newsletter__privacy input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0.1em 0 0;
	accent-color: var(--wp--preset--color--primary);
	cursor: pointer;
}

/* Cloudflare Turnstile: il widget sta su una riga sua, prima della privacy. */
.himoto-newsletter__form .himoto-turnstile {
	flex-basis: 100%;
	order: 1;
}

.himoto-turnstile {
	display: block;
	margin-block: 0.25rem;
	min-height: 65px;
}

.himoto-newsletter__form .wp-block-search__input,
.himoto-newsletter__form input[type="email"] {
	flex: 1 1 14rem;
	min-width: 0;
	height: 3rem;
	padding-inline: 0.875rem;
	font-size: 1rem;
	line-height: 1.2;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
}

.himoto-newsletter__form input[type="email"]::placeholder {
	color: var(--wp--preset--color--muted-foreground);
	opacity: 1;
}

.himoto-newsletter__form input[type="email"]:focus-visible,
.himoto-newsletter__form .himoto-btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.himoto-newsletter__form .himoto-btn {
	flex: 0 0 auto;
	min-height: 3rem;
	padding-inline: 1.25rem;
}

@media (max-width: 30rem) {
	.himoto-newsletter__form .himoto-turnstile {
		order: 1;
	}

	.himoto-newsletter__privacy {
		order: 2;
	}

	.himoto-newsletter__form .himoto-btn {
		order: 3;
		flex: 1 1 100%;
	}
}

/* ---------------------------------------------------------------------------
 * 12. Piè di pagina
 * ------------------------------------------------------------------------- */

.himoto-footer {
	margin-top: 4rem;
	background: var(--wp--preset--color--card);
	border-top: 1px solid var(--wp--preset--color--border);
}

.himoto-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	padding-block: 3rem;
}

@media (min-width: 768px) {
	.himoto-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.himoto-footer__grid {
		grid-template-columns: 2fr 1fr 1fr 1.4fr;
		gap: 3rem;
	}
}

.himoto-footer__heading {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.himoto-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.himoto-footer__list a {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-footer__list a:hover,
.himoto-footer__list a:focus {
	color: var(--wp--preset--color--primary);
}

.himoto-social {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
}

.himoto-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--card);
	border-radius: var(--wp--custom--radius);
}

.himoto-social a:hover,
.himoto-social a:focus {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-payments {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin-top: 1.25rem;
}

.himoto-payments span {
	padding: 0.25rem 0.5rem;
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--card);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: var(--wp--custom--radius);
}

.himoto-footer__bottom {
	border-top: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--base);
}

.himoto-footer__bottom .himoto-container {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding-block: 1rem;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-foreground);
}

@media (min-width: 640px) {
	.himoto-footer__bottom .himoto-container {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* Footer VRX: usa i blocchi core (colonne + paragrafi). */
.himoto-footer {
	margin-top: 0;
	background: var(--wp--preset--color--card);
	border-top: 1px solid var(--wp--preset--color--border);
}

.himoto-footer > .himoto-container {
	padding-block: 3rem 1.75rem;
}

.himoto-footer .wp-block-columns {
	margin-bottom: 0;
	gap: 2rem 3rem;
}

.himoto-footer .wp-block-column > p:first-child {
	margin-top: 0;
}

.himoto-footer .wp-block-column > p:first-child strong {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.himoto-footer .wp-block-column a {
	color: var(--wp--preset--color--muted-foreground);
	text-decoration: none;
}

.himoto-footer .wp-block-column a:hover,
.himoto-footer .wp-block-column a:focus {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

.himoto-footer .himoto-muted {
	margin: 2.5rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

/* ---------------------------------------------------------------------------
 * 13. Catalogo: filtri e paginazione
 * ------------------------------------------------------------------------- */

.himoto-shop {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.himoto-shop__toggle {
	display: none;
}

.himoto-shop__overlay {
	display: none;
}

.himoto-shop__main {
	min-width: 0;
}

.himoto-shop__sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

.himoto-shop__sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.himoto-shop__close {
	display: none;
	padding: 0;
	background: none;
	border: 0;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--wp--preset--color--muted-foreground);
	cursor: pointer;
}

.himoto-shop__block-title {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-shop__sidebar .himoto-chips {
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

.himoto-shop__form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
}

.himoto-shop__field {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.himoto-shop__field--grow {
	flex: 1;
}

.himoto-shop__field span {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-shop__field select,
.himoto-shop__field input {
	width: 100%;
	height: 2.75rem;
	padding-inline: 0.75rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--body);
}

.himoto-shop__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.himoto-shop__reset {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-shop__count {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-foreground);
}

@media (max-width: 900px) {
	.himoto-shop {
		display: block;
	}

	.himoto-shop__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		width: 100%;
		height: 2.75rem;
		margin-bottom: 1rem;
		padding-inline: 1rem;
		background: var(--wp--preset--color--card);
		border: 1px solid var(--wp--preset--color--border);
		border-radius: var(--wp--custom--radius);
		font-family: var(--wp--preset--font-family--heading);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--wp--preset--color--contrast);
		cursor: pointer;
	}

	.himoto-shop__sidebar {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 200;
		width: min(86%, 340px);
		max-width: 340px;
		overflow-y: auto;
		border-radius: 0;
		border-top: 0;
		border-bottom: 0;
		border-left: 0;
		transform: translateX(-100%);
		transition: transform 0.25s ease;
	}

	.himoto-shop.is-open .himoto-shop__sidebar {
		transform: translateX(0);
	}

	.himoto-shop__close {
		display: block;
	}

	.himoto-shop.is-open .himoto-shop__overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 150;
		background: rgba(15, 23, 42, 0.5);
	}
}

.himoto-shop__pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.375rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.himoto-shop__pagination a,
.himoto-shop__pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding-inline: 0.5rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.himoto-shop__pagination .current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-shop__pagination a:hover,
.himoto-shop__pagination a:focus {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

/* ---------------------------------------------------------------------------
 * 14. Scheda tecnica e prodotti correlati
 * ------------------------------------------------------------------------- */

.himoto-technical,
.himoto-related {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.himoto-technical p {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	line-height: 1.8;
	white-space: normal;
	color: var(--wp--preset--color--muted-foreground);
}

/* ---------------------------------------------------------------------------
 * 15. Moduli, area riservata, carrello
 * ------------------------------------------------------------------------- */

.himoto-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	max-width: 40rem;
	margin-block: 1.5rem;
}

@media (min-width: 640px) {
	.himoto-form {
		grid-template-columns: repeat(2, 1fr);
	}
}

.himoto-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.himoto-form__field span {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-form__field em {
	color: var(--wp--preset--color--primary);
	font-style: normal;
}

.himoto-form__field input,
.himoto-form__field select,
.himoto-form__field textarea {
	padding-inline: 0.75rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
}

.himoto-form__field input,
.himoto-form__field select {
	height: 2.75rem;
}

.himoto-form__field textarea {
	padding-block: 0.6rem;
	min-height: 5.5rem;
	resize: vertical;
}

.himoto-form__check {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-form .himoto-btn,
.himoto-form__check {
	grid-column: 1 / -1;
	justify-self: start;
}

.himoto-form__alt {
	margin-top: 1rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-notice {
	padding: 0.75rem 1rem;
	border-radius: var(--wp--custom--radius);
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--card);
	font-size: var(--wp--preset--font-size--small);
	margin-block: 1rem;
}

.himoto-notice--success {
	border-color: color-mix(in srgb, #1a7f37 40%, var(--wp--preset--color--border));
	background: color-mix(in srgb, #1a7f37 8%, var(--wp--preset--color--card));
	color: #1a7f37;
}

.himoto-notice--error {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 45%, var(--wp--preset--color--border));
	background: color-mix(in srgb, var(--wp--preset--color--primary) 7%, var(--wp--preset--color--card));
	color: var(--wp--preset--color--primary);
}

.himoto-account__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.himoto-account__links a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.himoto-cart__table,
.himoto-orders {
	width: 100%;
	border-collapse: collapse;
	margin-block: 1.5rem;
	font-size: var(--wp--preset--font-size--small);
}

.himoto-cart__table th,
.himoto-cart__table td,
.himoto-orders th,
.himoto-orders td {
	padding: 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: left;
}

.himoto-cart__table thead th,
.himoto-orders thead th {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-cart__table input[type="number"] {
	width: 4.5rem;
	height: 2.25rem;
	padding-inline: 0.5rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--card);
}

.himoto-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.himoto-payments-methods {
	display: grid;
	gap: 0.5rem;
	margin-block: 1.5rem;
	padding: 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

.himoto-payments-methods legend {
	padding-inline: 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-payments-methods__item {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	padding: 0.625rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	cursor: pointer;
}

.himoto-payments-methods__item:has(input:checked) {
	border-color: var(--wp--preset--color--primary);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, var(--wp--preset--color--card));
}

.himoto-payments-methods__item small {
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-bank {
	margin: 0.5rem 0 0;
	padding: 0.75rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	white-space: pre-wrap;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
}

.himoto-paypal {
	margin-top: 1rem;
}

/* Tabella ricambi: sui telefoni scorre in orizzontale invece di allargare la pagina. */
.himoto-spares .himoto-collapsible__body {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Riepilogo dei dati del bonifico nel checkout (intestatario, banca, IBAN). */
.himoto-bank__mini {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.15rem 0.75rem;
	margin: 0.6rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.45;
}

.himoto-bank__mini dt {
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.himoto-bank__mini dd {
	margin: 0;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-bank__iban {
	font-family: var(--wp--preset--font-family--mono);
	letter-spacing: 0.02em;
	word-break: break-all;
}

/* Dati del bonifico bancario (pagina ordine): tabella leggibile, senza <pre>. */
.himoto-bank__table {
	margin: 0.5rem 0 0.75rem;
	border-collapse: collapse;
	width: 100%;
	max-width: 34rem;
}

.himoto-bank__table th,
.himoto-bank__table td {
	padding: 0.35rem 0.6rem 0.35rem 0;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.himoto-bank__table th {
	font-weight: 600;
	white-space: nowrap;
}

.himoto-bank__table tr:last-child th,
.himoto-bank__table tr:last-child td {
	border-bottom: 0;
}

/* Tabella ricambi: codici e nomi in nero, il rosso resta come feedback. */
.himoto-spares a,
.himoto-spares a:visited {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.himoto-spares a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

/* Banner «Paga in 3 rate» (PayPal Messaging): se PayPal non è idoneo non
 * inserisce l'iframe, quindi il contenitore resta vuoto e va nascosto per non
 * lasciare un buco nel layout (scheda prodotto, carrello, checkout, ordine). */
.himoto-paypal-message {
	margin: 0.6rem 0 0;
}

.himoto-paypal-message:not( :has( iframe ) ) {
	display: none;
}

.himoto-order__method {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-foreground);
}

/* ---------------------------------------------------------------------------
 * 16. Marchi distribuiti
 * ------------------------------------------------------------------------- */

.himoto-brands__title {
	margin: 0 0 1.5rem;
	text-align: center;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-brands {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.5rem 3rem;
}

.himoto-brand {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	color: color-mix(in srgb, var(--wp--preset--color--muted-foreground) 45%, transparent);
	transition: color var(--wp--custom--transition);
}

.himoto-brand:hover,
.himoto-brand:focus {
	color: var(--wp--preset--color--primary);
}

/* ---------------------------------------------------------------------------
 * 17. Pagine interne (landing, vantaggi, FAQ, contatti)
 * ------------------------------------------------------------------------- */

.himoto-landing-hero {
	position: relative;
	overflow: hidden;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, var(--wp--preset--color--base));
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.himoto-landing-hero__lines {
	position: absolute;
	inset: 0;
	opacity: 0.25;
}

.himoto-landing-hero__bar {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 0.25rem;
	background: var(--wp--preset--color--primary);
}

.himoto-landing-hero__inner {
	position: relative;
	max-width: 50rem;
	padding-block: 5rem;
}

.himoto-landing-hero--short .himoto-landing-hero__inner {
	padding-block: 3.5rem;
}

.himoto-landing-hero h1 {
	margin: 0.25rem 0 1rem;
}

.himoto-section-head--center {
	justify-content: center;
	text-align: center;
}

.himoto-benefits {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 640px) {
	.himoto-benefits {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.himoto-benefits {
		grid-template-columns: repeat(3, 1fr);
	}
}

.himoto-benefit {
	padding: 1.5rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	transition: border-color var(--wp--custom--transition), transform var(--wp--custom--transition);
}

.himoto-benefit:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent);
	transform: translateY(-2px);
}

.himoto-benefit h3 {
	margin: 0 0 0.5rem;
}

.himoto-faq {
	display: grid;
	gap: 0.5rem;
	max-width: 52rem;
	margin-top: 1.5rem;
}

.himoto-faq__item {
	padding: 0.875rem 1.125rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

.himoto-faq__item summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.himoto-faq__item[open] {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent);
}

.himoto-faq__item p {
	margin: 0.75rem 0 0;
}

.himoto-agent {
	display: grid;
	gap: 2rem;
}

@media (min-width: 768px) {
	.himoto-agent {
		grid-template-columns: 1.6fr 1fr;
		align-items: center;
	}
}

.himoto-agent__card {
	padding: 1.5rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	text-align: center;
}

.himoto-agent__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 900;
	text-transform: uppercase;
}

.himoto-agent__role {
	margin: 0.125rem 0 0.75rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-agent__card p {
	margin: 0.25rem 0;
}

.himoto-cta {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 3rem;
	padding: 2rem;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, var(--wp--preset--color--base));
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

@media (min-width: 768px) {
	.himoto-cta {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.himoto-cta h2 {
	margin: 0 0 0.5rem;
}

.himoto-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	flex-shrink: 0;
}

.himoto-contact-grid {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 768px) {
	.himoto-contact-grid {
		grid-template-columns: 1fr 1.2fr;
	}
}

.himoto-form__field--wide {
	grid-column: 1 / -1;
}

.himoto-form textarea {
	padding: 0.75rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
}

/* ---------------------------------------------------------------------------
 * 18. Scheda prodotto: metadati, prezzi, video, ricambi
 * ------------------------------------------------------------------------- */

.himoto-product-meta {
	display: grid;
	gap: 0.25rem;
	margin: 0 0 1rem;
}

.himoto-product-meta > div {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.himoto-product-meta dt {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-product-meta dd {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
}

.himoto-product-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1rem 0;
}

.himoto-product-price .himoto-price {
	font-size: 2rem;
}

.himoto-stock {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.25rem 0.5rem;
	border-radius: var(--wp--custom--radius);
}

.himoto-stock--in {
	background: color-mix(in srgb, #1a7f37 12%, var(--wp--preset--color--card));
	color: #1a7f37;
}

.himoto-stock--out {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, var(--wp--preset--color--card));
	color: var(--wp--preset--color--primary);
}

.himoto-tiers {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1rem;
	font-size: var(--wp--preset--font-size--small);
}

.himoto-tiers caption {
	margin-bottom: 0.5rem;
	text-align: left;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-tiers th,
.himoto-tiers td {
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: left;
}

.himoto-video,
.himoto-spares {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.himoto-video__frame {
	position: relative;
	width: 100%;
	max-width: 48rem;
	aspect-ratio: 16 / 9;
}

.himoto-video__frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.himoto-spares__table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}

.himoto-spares__table th,
.himoto-spares__table td {
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: left;
	vertical-align: middle;
}

.himoto-spares__table thead th {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.5625rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-spares__thumb a {
	display: inline-block;
	line-height: 0;
}

.himoto-spares__thumb img {
	width: 104px;
	height: 78px;
	object-fit: cover;
	border-radius: var(--wp--custom--radius);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	transform-origin: center center;
}

/* Effetto ingrandimento al passaggio del mouse: la foto "esce" dalla cella. */
.himoto-spares__thumb a:hover img,
.himoto-spares__thumb a:focus-visible img {
	transform: scale(2.2);
	box-shadow: 0 14px 34px rgba(11, 18, 32, 0.28);
	position: relative;
	z-index: 6;
}

@media (max-width: 640px) {
	.himoto-spares__thumb img {
		width: 76px;
		height: 57px;
	}
}

/* ---------------------------------------------------------------------------
 * 19. Scheda prodotto: resa grafica
 * ------------------------------------------------------------------------- */

@media (min-width: 900px) {
	.himoto-product-detail {
		grid-template-columns: 1.05fr 1fr;
		gap: 3.5rem;
		align-items: start;
	}
}

.himoto-product-detail__media .himoto-product-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: auto;
	min-height: 20rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius-lg);
	box-shadow: var(--wp--custom--shadow-card);
}

.himoto-product-detail__media img {
	width: 100%;
	height: auto;
	max-height: 32rem;
	object-fit: contain;
}

.himoto-product-detail__info {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.himoto-product-detail__info h1 {
	margin: 0;
	font-size: clamp(1.75rem, 1.1rem + 2vw, 2.75rem);
}

.himoto-product-detail__info .himoto-btn {
	width: 100%;
}

.himoto-product-meta {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--wp--preset--color--secondary);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

.himoto-product-meta > div {
	display: flex;
	gap: 0.75rem;
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--border) 55%, transparent);
}

.himoto-product-meta > div:last-child {
	border-bottom: 0;
}

.himoto-product-meta dt {
	flex: 0 0 8.5rem;
}

.himoto-product-meta dd {
	flex: 1;
}

/* Testo leggibile sul riquadro scuro degli attributi (contrasto). */
.himoto-product-meta dt {
	color: color-mix(in srgb, var(--wp--preset--color--card) 74%, transparent);
}

.himoto-product-meta dd {
	color: var(--wp--preset--color--card);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
}

.himoto-product-price {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 1.25rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	box-shadow: var(--wp--custom--shadow-card);
}

.himoto-product-price__main {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.himoto-product-price__main .himoto-price {
	font-size: 2.25rem;
	line-height: 1;
}

.himoto-product-price__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.himoto-product-shipping {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-product-price__vat {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-stock--low {
	background: color-mix(in srgb, #b26a00 14%, var(--wp--preset--color--card));
	color: #8a5200;
}

.himoto-technical h2,
.himoto-video h2,
.himoto-spares h2,
.himoto-related h2 {
	margin-bottom: 1rem;
	font-size: var(--wp--preset--font-size--x-large);
}

.himoto-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.himoto-collapsible {
	margin-top: 2rem;
}

.himoto-collapsible__summary {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 800;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

.himoto-collapsible__summary::-webkit-details-marker {
	display: none;
}

.himoto-collapsible__summary::before {
	content: "+";
	flex: 0 0 auto;
	color: var(--wp--preset--color--primary);
	font-weight: 900;
}

.himoto-collapsible[open] .himoto-collapsible__summary::before {
	content: "–";
}

.himoto-collapsible__body {
	margin-top: 1rem;
}

.himoto-collapsible .himoto-table-scroll {
	margin-top: 1rem;
}

.himoto-btn--disabled {
	pointer-events: none;
	opacity: 0.6;
}

/* I vecchi contenuti a volte racchiudono tutto il paragrafo in un <strong>:
   lo ammorbidisco per la leggibilità, lasciando il grassetto agli accenti
   interni al testo. */
.himoto-main .wp-block-post-content p > strong:only-child,
.himoto-main .wp-block-post-content > strong:only-child {
	font-weight: 500;
}

/* ---------------------------------------------------------------------------
 * 20. Scheda prodotto: breadcrumb, barra sticky, visti di recente
 * ------------------------------------------------------------------------- */

.himoto-breadcrumb {
	margin-bottom: 1.5rem;
}

.himoto-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.himoto-breadcrumb li {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-breadcrumb li + li::before {
	content: "›";
	color: var(--wp--preset--color--border);
}

.himoto-breadcrumb a {
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-breadcrumb a:hover,
.himoto-breadcrumb a:focus {
	color: var(--wp--preset--color--primary);
}

.himoto-breadcrumb [aria-current="page"] {
	color: var(--wp--preset--color--contrast);
}

.himoto-buybar {
	display: none;
}

@media (max-width: 899px) {
	.himoto-buybar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 40;
		display: block;
		padding: 0.75rem 1rem;
		background: color-mix(in srgb, var(--wp--preset--color--card) 96%, transparent);
		border-top: 1px solid var(--wp--preset--color--border);
		box-shadow: 0 -4px 16px rgba(11, 18, 32, 0.08);
		backdrop-filter: blur(6px);
	}

	.himoto-buybar .himoto-btn {
		width: 100%;
	}

	body.himoto-theme {
		padding-bottom: 4.75rem;
	}
}

/* ---------------------------------------------------------------------------
 * 21. Catalogo: chip categorie
 * ------------------------------------------------------------------------- */

.himoto-chips {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.himoto-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	flex: 0 0 auto;
	padding: 0.375rem 0.7rem;
	white-space: nowrap;
	background: var(--wp--preset--color--secondary);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--card);
	transition: border-color var(--wp--custom--transition), color var(--wp--custom--transition), background-color var(--wp--custom--transition);
}

.himoto-chip span {
	padding: 0.05rem 0.35rem;
	background: var(--wp--preset--color--card);
	border-radius: 999px;
	font-size: 0.5625rem;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-chip:hover,
.himoto-chip:focus {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-chip.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
}

.himoto-chip.is-active span {
	background: rgba(255, 255, 255, 0.25);
	color: var(--wp--preset--color--card);
}

/* ---------------------------------------------------------------------------
 * 22. Carrello: indirizzo e totali
 * ------------------------------------------------------------------------- */

.himoto-cart__address {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 1.5rem 0;
	padding: 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

@media (min-width: 640px) {
	.himoto-cart__address {
		grid-template-columns: repeat(2, 1fr);
	}
}

.himoto-cart__address legend {
	padding-inline: 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}

.himoto-cart__address input {
	height: 2.75rem;
	padding-inline: 0.75rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--contrast);
}

.himoto-cart__total th {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
}

.himoto-order__address h3 {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--large);
}

/* ---------------------------------------------------------------------------
 * 23. Banner cookie
 * ------------------------------------------------------------------------- */

.himoto-cookie {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	background: var(--wp--preset--color--card);
	border-top: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 -6px 20px rgba(11, 18, 32, 0.1);
}

.himoto-cookie__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: var(--wp--custom--container, 1400px);
	margin-inline: auto;
	padding: 1rem;
}

.himoto-cookie__text {
	max-width: 60ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
}

.himoto-cookie__actions {
	display: flex;
	flex: 0 0 auto;
	gap: 0.5rem;
}

/* ---------------------------------------------------------------------------
 * VRX — override specifici del tema
 * ------------------------------------------------------------------------- */

.himoto-hero--vrx {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--card);
	min-height: auto;
	padding-block: 4rem;
}

.himoto-hero--vrx h1,
.himoto-hero--vrx p {
	color: var(--wp--preset--color--card);
}

.himoto-panel {
	height: 100%;
	padding: 1.25rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

.himoto-panel h2 {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.himoto-panel .wp-block-list {
	margin: 0.75rem 0 0;
	padding-left: 1.1rem;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.himoto-hero__grid {
	display: grid;
	gap: 2rem;
	align-items: center;
}

@media (min-width: 900px) {
	.himoto-hero__grid {
		grid-template-columns: 1fr 1fr;
	}
}


.himoto-hero__figure {
	margin: 0;
}

.himoto-hero__figure img {
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
	border-radius: var(--wp--custom--radius);
}

.himoto-hero__cta .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3rem;
	padding-inline: 2rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
	border: 0;
	border-radius: var(--wp--custom--radius);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform var(--wp--custom--transition), background-color var(--wp--custom--transition);
}

.himoto-hero__cta .wp-block-button__link:hover,
.himoto-hero__cta .wp-block-button__link:focus {
	background: var(--wp--preset--color--primary-hover);
	color: var(--wp--preset--color--card);
	transform: translateY(-2px);
}


/* Elenco rivenditori per regione. */
.himoto-dealers {
	display: grid;
	gap: 0.5rem;
	margin-top: 2rem;
}

.himoto-dealers__region {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--card);
}

.himoto-dealers__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.9rem 1.1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.himoto-dealers__count {
	min-width: 1.75rem;
	padding: 0.1rem 0.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--card);
	font-size: var(--wp--preset--font-size--x-small);
	text-align: center;
}

.himoto-dealers__list {
	margin: 0;
	padding: 0 1.1rem 1rem;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

@media (min-width: 640px) {
	.himoto-dealers__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

.himoto-dealers__item {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	font-size: var(--wp--preset--font-size--small);
}

.himoto-dealers__name {
	font-family: var(--wp--preset--font-family--heading);
	color: var(--wp--preset--color--contrast);
}

.himoto-dealers__address,
.himoto-dealers__phone {
	color: var(--wp--preset--color--muted-foreground);
}

/* Galleria prodotto. */
.himoto-gallery__main {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 20rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}

.himoto-gallery__main img {
	width: 100%;
	height: auto;
	max-height: 32rem;
	object-fit: contain;
}

.himoto-gallery__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.himoto-gallery__thumb {
	display: block;
	width: 4rem;
	height: 4rem;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--card);
	cursor: pointer;
}

.himoto-gallery__thumb.is-active {
	border-color: var(--wp--preset--color--primary);
}

.himoto-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Aree di tocco piu' comode (mobile): link piccoli almeno 24px. */
.himoto-footer .wp-block-column a,
.himoto-breadcrumb a,
.himoto-section-link,
.himoto-panel .wp-block-list a {
	display: inline-block;
	padding-block: 0.25rem;
}

/* Contrasto badge disponibilita' e aree di tocco (schede prodotto, cookie). */
.himoto-stock--in {
	color: #14682c;
}

.himoto-stock--low {
	color: #7a4a00;
}

.himoto-product-card__title a,
.himoto-product-card__cat a,
.himoto-cookie a {
	display: inline-block;
	padding-block: 0.2rem;
}

/* Stato ordine / documento (badge). */
.himoto-status {
	display: inline-block;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.himoto-status--warn { background: color-mix(in srgb, #b26a00 15%, var(--wp--preset--color--card)); color: #7a4a00; }
.himoto-status--info { background: color-mix(in srgb, var(--wp--preset--color--secondary) 12%, var(--wp--preset--color--card)); color: var(--wp--preset--color--secondary); }
.himoto-status--ok { background: color-mix(in srgb, #14682c 12%, var(--wp--preset--color--card)); color: #14682c; }
.himoto-status--danger { background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, var(--wp--preset--color--card)); color: var(--wp--preset--color--primary); }

.himoto-order__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.himoto-order__meta {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--muted-foreground);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------------------------------------------------------------------------
 * Percorso d'acquisto: contatore carrello, feedback, rimozione, contrassegno
 * ------------------------------------------------------------------------- */
.himoto-icon-link{position:relative}
.himoto-cart-badge{position:absolute;top:-7px;right:-9px;min-width:17px;padding:0 4px;border-radius:999px;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--card);font-size:10px;font-weight:700;line-height:17px;text-align:center}
.himoto-add{transition:background-color .15s ease,opacity .15s ease}
.himoto-add.is-busy{opacity:.6;pointer-events:none}
.himoto-add.is-added{background:var(--wp--preset--color--contrast);border-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--card)}
.himoto-add.is-error{outline:2px dashed var(--wp--preset--color--muted-foreground);outline-offset:2px}
.himoto-cart__cell--action{width:2.5rem;text-align:center}
.himoto-cart__remove{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;color:var(--wp--preset--color--muted-foreground);font-size:20px;line-height:1;text-decoration:none}
.himoto-cart__remove:hover,.himoto-cart__remove:focus{background:var(--wp--preset--color--muted);color:var(--wp--preset--color--contrast)}
.himoto-cart__cod{margin:.5rem 0 0;font-size:.8125rem;color:var(--wp--preset--color--muted-foreground)}
.himoto-cart__surcharge th{font-weight:400;color:var(--wp--preset--color--muted-foreground)}
.himoto-product-card__stock{margin:.4rem 0 0}

/* Percorso d'acquisto: quantità, preferiti, risparmio */
.himoto-purchase{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}
.himoto-qty input{width:4.5rem;padding:.5rem;border:1px solid var(--wp--preset--color--border);border-radius:6px;background:var(--wp--preset--color--card);color:inherit}
.himoto-fav{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--wp--preset--color--border);border-radius:999px;background:var(--wp--preset--color--card);color:var(--wp--preset--color--muted-foreground);font-size:20px;line-height:1;cursor:pointer}
.himoto-fav:hover,.himoto-fav:focus{color:var(--wp--preset--color--primary);border-color:var(--wp--preset--color--primary)}
.himoto-fav.is-saved{color:var(--wp--preset--color--primary);border-color:var(--wp--preset--color--primary)}
.himoto-product-price__saving{margin:.35rem 0 0;font-weight:600;color:var(--wp--preset--color--primary)}
.himoto-product-price__line{margin:.2rem 0 0;color:var(--wp--preset--color--muted-foreground);font-size:.9375rem}
.himoto-card-saving{display:inline-block;margin-left:.35rem;padding:1px 6px;border-radius:999px;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--card);font-size:11px;font-weight:700}
.himoto-favorites{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.himoto-favorites__item .himoto-purchase{margin-top:.5rem}

/* Cuore dei preferiti in basso a destra sulla tile prodotto */
.himoto-product-card__media .himoto-fav{position:absolute;right:.5rem;bottom:.5rem;width:2.125rem;height:2.125rem;font-size:16px;background:var(--wp--preset--color--card);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.himoto-product-card__media .himoto-fav:hover,.himoto-product-card__media .himoto-fav:focus{background:var(--wp--preset--color--card)}

/* ---------------------------------------------------------------------------
 * Leggibilità: testi minimi leggibili e proporzionati ai titoli
 * ------------------------------------------------------------------------- */
.himoto-form__field span,.himoto-shop__field span,.himoto-shop__block-title{font-size:.875rem}
.himoto-form input:not([type="checkbox"]):not([type="radio"]),.himoto-form select,.himoto-form textarea{font-size:1rem}
.himoto-form__alt,.himoto-notice{font-size:.9375rem}
.himoto-account__links a{font-size:1rem}
.himoto-badge,.himoto-stock,.himoto-product-card__cat,.himoto-chip span,
.himoto-cart__table thead th,.himoto-orders thead th,.himoto-tiers caption,
.himoto-spares__table thead th,.himoto-category-card__kicker,.himoto-payments span{font-size:.6875rem}
.himoto-menu__label{font-size:.75rem}
.himoto-footer__heading,.himoto-footer__list a{font-size:.9375rem}
.himoto-footer__bottom .himoto-container,.himoto-footer .has-x-small-font-size,.himoto-footer .has-small-font-size{font-size:.875rem}

/* I preset di dimensione usano !important: qui li alziamo nel footer */
.himoto-footer .has-small-font-size{font-size:.9375rem !important}
.himoto-footer .has-x-small-font-size{font-size:.875rem !important}
.himoto-footer__bottom .has-x-small-font-size,.himoto-footer__bottom .has-small-font-size{font-size:.875rem !important}

/* ---------------------------------------------------------------------------
 * Filtri categoria/tipo/scala: chip leggibili e allineati
 * ------------------------------------------------------------------------- */
.himoto-shop__sidebar .himoto-chips--filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.4rem;margin:0 0 1rem;padding:0;overflow:visible}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip{display:flex;justify-content:space-between;align-items:center;gap:.4rem;width:100%;min-height:2.25rem;padding:.4rem .6rem;white-space:normal;text-align:left;line-height:1.2;letter-spacing:.03em}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip span{flex:0 0 auto}
.himoto-category-card__body{min-height:5rem}
.himoto-category-card__kicker{font-size:.6875rem}

/* ---------------------------------------------------------------------------
 * Filtri shop: gruppi richiudibili e chip che non sforano su nessuno schermo
 * ------------------------------------------------------------------------- */
.himoto-shop__sidebar{min-width:0}
.himoto-shop__group{border-top:1px solid var(--wp--preset--color--border);padding-top:.6rem}
.himoto-shop__group:first-of-type{border-top:0;padding-top:0}
.himoto-shop__group>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.himoto-shop__group>summary::-webkit-details-marker{display:none}
.himoto-shop__group>summary::after{content:"";width:.45rem;height:.45rem;flex:0 0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.himoto-shop__group[open]>summary::after{transform:rotate(-135deg)}
.himoto-shop__group[open]>summary{margin-bottom:.5rem}
.himoto-shop__sidebar .himoto-chips--filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,6.25rem),1fr));gap:.4rem;margin:0;padding:0;overflow:visible}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip span{flex:0 0 auto}

/* Filtri shop: elenco verticale (una colonna), niente affiancamento */
.himoto-shop__sidebar .himoto-chips--filter{display:grid;grid-template-columns:1fr;gap:.35rem}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip{min-height:2.125rem;padding:.35rem .65rem}

/* Cuore dei preferiti in SVG + filtro attivo nel titolo del gruppo */
.himoto-fav__icon{display:block;width:1.15em;height:1.15em;transition:transform .15s ease,fill .15s ease}
.himoto-fav:hover .himoto-fav__icon,.himoto-fav:focus-visible .himoto-fav__icon{transform:scale(1.12)}
.himoto-fav.is-saved{color:var(--wp--preset--color--primary);border-color:var(--wp--preset--color--primary)}
.himoto-fav.is-saved .himoto-fav__icon{fill:currentColor}
.himoto-shop__active{display:inline-block;margin-left:.35rem;padding:1px 8px;border-radius:999px;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--card);font-size:.6875rem;letter-spacing:.02em;text-transform:none;vertical-align:middle}

/* Chip filtri: larghezza del contenuto, impilati, senza sforare */
.himoto-shop__sidebar .himoto-chips--filter{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;overflow:visible}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip{box-sizing:border-box;flex:0 0 auto;width:auto;max-width:100%;min-height:0;padding:.4rem .75rem;justify-content:flex-start;gap:.45rem}
.himoto-shop__sidebar .himoto-chips--filter .himoto-chip span{margin-left:.1rem}

/* Badge "Tutte" (nessun filtro) nel titolo del gruppo */
.himoto-shop__active--idle{background:var(--wp--preset--color--muted);color:var(--wp--preset--color--muted-foreground)}

/* Chat sugli ordini */
.himoto-chat { margin-top: 1.5rem; }
.himoto-chat__thread { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.himoto-chat__msg { max-width: 80%; padding: .6rem .8rem; border-radius: .6rem; background: var(--wp--preset--color--muted, #e6eaf0); color: var(--wp--preset--color--contrast, #0b1220); }
.himoto-chat__msg--admin { align-self: flex-start; }
.himoto-chat__msg--customer { align-self: flex-end; background: var(--wp--preset--color--primary, #c50d0d); color: #fff; }
.himoto-chat__meta { display: block; font-size: .75rem; opacity: .75; margin-bottom: .2rem; }
.himoto-chat__msg p { margin: 0; }
.himoto-chat__form { display: flex; flex-direction: column; gap: 0.85rem; align-items: flex-start; }
.himoto-chat__form .himoto-form__field { width: 100%; }
.himoto-chat__privacy { margin: 0; font-size: 0.8125rem; }
/* Shop: barra dei risultati (ordinamento, filtri attivi, conteggio) */
.himoto-shop__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	padding: 0.55rem 0.85rem;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius);
}
.himoto-shop__sort {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}
.himoto-shop__sort select {
	appearance: none;
	-webkit-appearance: none;
	height: 2.4rem;
	padding: 0 2.4rem 0 0.9rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background-color: var(--wp--preset--color--card);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 0.7rem auto;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	cursor: pointer;
}
.himoto-shop__sort select:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}
.himoto-shop__per-page {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-foreground);
	white-space: nowrap;
}
/* Stessa freccia e stesso anello di focus per gli altri select (filtri, form, checkout). */
.himoto-shop__field select,
.himoto-form__field select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.25rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	background-size: 0.7rem auto;
	cursor: pointer;
}
.himoto-shop__field select:focus-visible,
.himoto-form__field select:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}
.himoto-shop__count {
	margin: 0;
	font-size: 0.8125rem;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--muted-foreground);
	white-space: nowrap;
}
.himoto-shop__active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 1rem;
}
.himoto-shop__active-filters-label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-foreground);
}
.himoto-chip--remove {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.3rem 0.6rem;
	text-decoration: none;
}
.himoto-chip--remove span[aria-hidden] {
	font-size: 1rem;
	line-height: 1;
	opacity: 0.65;
}
.himoto-chip--remove:hover span[aria-hidden] {
	opacity: 1;
}
.himoto-shop__active-filters .himoto-shop__reset {
	margin-left: 0.15rem;
}

/* Il bottone "Applica" resta per il no-JS: quando il JS c'è (auto-apply) sparisce. */
.himoto-shop__sort-submit[hidden] {
	display: none;
}
/* Sulla pagina shop titolo e blocco risultati seguono la stessa misura. */
.himoto-main:has(.himoto-shop) .wp-block-post-title,
.himoto-main:has(.himoto-shop) .himoto-shop {
	max-width: var(--wp--style--global--content-size, 1200px);
	margin-inline: auto;
}
/* Target touch: la × del pannello filtri resta comoda anche su mobile. */
.himoto-shop__close {
	min-width: 44px;
	min-height: 44px;
	text-align: center;
	line-height: 44px;
}

/* Logo dell'header: più grande su desktop, ridimensionato sui telefoni
 * (a 56 px sforava la riga dell'header a 390 px di larghezza). */
@media (max-width: 640px) {
	.himoto-logo img {
		height: 2.5rem;
	}
}

@MEDIA_MARKER@media (max-width: 640px) {
	.himoto-shop__toolbar {
		justify-content: flex-start;
		gap: 0.4rem;
	}
	.himoto-shop__sort {
		flex: 1 1 100%;
	}
	.himoto-shop__sort select {
		flex: 1;
		min-width: 0;
	}
	.himoto-shop__count {
		white-space: normal;
	}
}
/* Checkout: consegna a domicilio o punto di ritiro */
.himoto-cart__delivery {
	margin-top: 1rem;
}
.himoto-cart__delivery legend {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	padding: 0;
}
.himoto-cart__delivery-modes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin: 0.5rem 0;
}
.himoto-cart__delivery-address {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 0.75rem;
	margin-top: 0.5rem;
}
.himoto-cart__delivery-address[hidden],
.himoto-cart__delivery-block[hidden] {
	display: none;
}
.himoto-cart__delivery-block--pickup {
	margin-top: 0.5rem;
}
