/**
 * R35 — Home pilota token (body#homepage).
 * Solo consumo token — nessun colore locale. Vedi STOREFRONT_TOKEN_SYSTEM_2026.md
 */

html:has(body#homepage.wa-client-app) {
	background-color: var(--wa-home-bg, var(--wa-app-bg, var(--wa-color-bg)));
}

body#homepage.wa-client-app {
	background-color: var(--wa-home-bg, var(--wa-app-bg, var(--wa-color-bg))) !important;
	color: var(--wa-home-color, var(--wa-text-color, var(--wa-color-text))) !important;
	min-height: 100vh;
}

/* Topbar mobile (navbar + nome locale + lingua) */
body#homepage.wa-use-bottombar .navbar.navigation-clean {
	background-color: var(--wa-topbar-bg);
	color: var(--wa-topbar-color);
	border-bottom: 1px solid var(--wa-topbar-border-color);
	box-shadow: var(--wa-topbar-shadow);
	min-height: var(--wa-topbar-height);
}

body#homepage.wa-use-bottombar .navbar.navigation-clean > .container {
	padding-left: var(--wa-topbar-padding-x);
	padding-right: var(--wa-topbar-padding-x);
}

body#homepage.wa-use-bottombar .navbar-brand,
body#homepage.wa-use-bottombar .navbar-brand .wa-nav-name,
body#homepage.wa-use-bottombar .navbar-brand > span {
	color: var(--wa-topbar-color);
	font-family: var(--wa-topbar-font-family);
	font-weight: var(--wa-topbar-font-weight);
}

body#homepage .wa-nav-lang-mobile .vm-ar2-lang__trigger,
body#homepage .wa-nav-lang-mobile .wa-storefront-lang-wrap .vm-ar2-lang__trigger {
	background: var(--wa-lang-button-bg, var(--wa-lang-bg));
	color: var(--wa-lang-button-color, var(--wa-lang-color));
	border: 1px solid var(--wa-lang-button-border-color, var(--wa-lang-border-color));
	border-radius: var(--wa-lang-button-radius, var(--wa-lang-radius));
	box-shadow: var(--wa-lang-shadow);
}

body#homepage .wa-nav-lang-mobile .vm-ar2-lang__panel {
	background: var(--wa-lang-menu-bg);
	color: var(--wa-lang-menu-color);
	border: 1px solid var(--wa-lang-menu-border-color);
	box-shadow: var(--wa-lang-menu-shadow);
	border-radius: var(--wa-lang-menu-radius);
}

body#homepage .wa-nav-lang-mobile .vm-ar2-lang__row {
	background: var(--wa-lang-item-bg);
	color: var(--wa-lang-item-color);
	border-color: transparent;
	box-shadow: none;
}

body#homepage .wa-nav-lang-mobile .vm-ar2-lang__row.is-active {
	background: var(--wa-lang-item-active-bg) !important;
	color: var(--wa-lang-item-active-color) !important;
	border-color: var(--wa-lang-menu-border-color);
	box-shadow: none;
}

body#homepage .wa-nav-lang-mobile .vm-ar2-lang__row:focus-visible,
body#homepage .wa-nav-lang-mobile .vm-ar2-lang__row:active {
	background: var(--wa-lang-item-active-bg);
	color: var(--wa-lang-item-active-color);
	outline: 2px solid var(--wa-focus-ring-color);
	outline-offset: 1px;
}

body#homepage .wa-nav-lang-mobile .vm-ar2-lang__row-code {
	color: var(--wa-lang-item-muted-color);
}

/* Desktop pre-header (md+) */
body#homepage .sfondo_menusuperiore {
	background-color: var(--wa-topbar-bg);
	color: var(--wa-topbar-color);
}

body#homepage .sfondo_menusuperiore .menu_superiore_link,
body#homepage .sfondo_menusuperiore .menu_superiore_meta,
body#homepage .sfondo_menusuperiore .menu_superiore_addr {
	color: var(--wa-topbar-color);
}

/* Griglia categorie */
body#homepage .wa-home-categories,
body#homepage .wa-home-categories.container {
	margin-top: var(--wa-home-section-gap);
	padding-left: var(--wa-home-padding-x);
	padding-right: var(--wa-home-padding-x);
	background-color: transparent;
	color: inherit;
}

body#homepage .wa-home-categories .row {
	row-gap: var(--wa-home-grid-gap-y);
}

body#homepage .wa-home-categories .row > [class*='col-'] {
	padding-left: calc(var(--wa-home-grid-gap-x) * 0.5);
	padding-right: calc(var(--wa-home-grid-gap-x) * 0.5);
}

body#homepage .wa-cat-card-link {
	background: var(--wa-category-item-bg);
	color: var(--wa-category-item-color, var(--wa-category-title-color, var(--wa-home-color, var(--wa-color-text))));
	border-radius: var(--wa-category-item-radius);
	padding: var(--wa-category-item-padding);
	box-shadow: var(--wa-category-item-shadow);
}

body#homepage .wa-cat-card-link:focus-visible {
	outline: 2px solid var(--wa-focus-ring-color);
	outline-offset: var(--wa-focus-ring-offset);
	border-radius: var(--wa-category-item-radius);
}

body#homepage .wa-cat-card-link:active {
	transform: scale(var(--wa-active-scale, 0.98));
	opacity: 0.96;
}

/* Cerchio / media categoria — template + override categoria (custom property, R39) */
body#homepage .wa-cat-card-visual__bg {
	background-color: var(--wa-category-custom-media-color, var(--wa-category-media-bg)) !important;
	background-image: var(--wa-category-custom-media-image, var(--wa-category-custom-media-gradient, none));
	background-size: cover;
	background-position: center;
	border: 1px solid var(--wa-category-media-border-color);
	border-radius: var(--wa-category-media-radius);
	box-shadow: var(--wa-category-media-shadow);
}

body#homepage .wa-cat-card-visual {
	border-radius: var(--wa-category-media-radius);
	max-width: var(--wa-category-media-size);
	max-height: var(--wa-category-media-size);
}

body#homepage .wa-cat-card--shape-round .wa-cat-card-visual,
body#homepage .wa-cat-card--shape-round .wa-cat-card-visual__bg {
	border-radius: var(--wa-category-media-radius, 50%);
}

body#homepage .wa-cat-card-img,
body#homepage .wa-cat-card-placeholder:not(.wa-cat-card-placeholder--in-shape) {
	background-color: var(--wa-category-fallback-bg);
	border-radius: var(--wa-category-image-radius, var(--wa-category-media-radius));
	max-width: var(--wa-category-media-size);
	box-shadow: var(--wa-category-image-shadow);
}

body#homepage .wa-cat-card-placeholder--in-shape {
	background: var(--wa-category-fallback-bg);
	color: var(--wa-category-fallback-color);
}

body#homepage .wa-cat-card-placeholder--in-shape .fas {
	color: var(--wa-category-fallback-icon-color);
}

body#homepage .wa-cat-card-title,
body#homepage .wa-cat-card-title--overlay,
body#homepage .wa-home-categories .wa-cat-card-link .wa-cat-card-title {
	color: var(--wa-category-title-color, var(--wa-home-color, var(--wa-color-text))) !important;
	font-family: var(--wa-category-title-font-family);
	font-size: var(--wa-category-title-font-size);
	font-weight: var(--wa-category-title-font-weight);
	line-height: var(--wa-category-title-line-height);
	letter-spacing: var(--wa-category-title-letter-spacing);
	margin-top: var(--wa-category-title-margin-top);
}

body#homepage .wa-cat-card-title--overlay {
	background: color-mix(in srgb, var(--wa-color-dark, #000) 45%, transparent);
	color: var(--wa-category-title-color);
}

/* Semaforo servizi */
body#homepage .bloccosemaforo,
body#homepage .wa-home-semaforo,
body#homepage .wa-sfondosemaforo-inner {
	background-color: var(--wa-semaforo-bg, var(--wa-surface-soft-bg, var(--wa-color-surface-soft)));
	color: var(--wa-semaforo-color, var(--wa-home-color, var(--wa-color-text)));
	border: 1px solid var(--wa-border-color, var(--wa-color-border));
}

/* Bottom nav */
body#homepage .wa-bottombar {
	background: var(--wa-bottom-nav-bg) !important;
	border-top-color: var(--wa-bottom-nav-border-color) !important;
	box-shadow: var(--wa-bottom-nav-shadow) !important;
}

body#homepage .wa-bottombar-item {
	color: var(--wa-bottom-nav-color) !important;
}

body#homepage .wa-bottombar-item i {
	color: var(--wa-bottom-nav-icon-color);
}

body#homepage .wa-bottombar-item.is-active,
body#homepage .wa-bottombar-item.is-active i {
	color: var(--wa-bottom-nav-active-color) !important;
}

body#homepage .wa-bottombar-label {
	color: var(--wa-bottom-nav-label-color);
}

body#homepage .wa-bottombar-item.is-active .wa-bottombar-label {
	color: var(--wa-bottom-nav-label-active-color);
}

body#homepage .wa-bottombar-badge,
body#homepage .wa-cart-badge {
	background: var(--wa-bottom-nav-badge-bg) !important;
	color: var(--wa-bottom-nav-badge-color) !important;
	border: 1px solid var(--wa-bottom-nav-badge-border-color);
}

/* Footer (visibile su home mobile) */
body#homepage .footer-dark {
	background: var(--wa-footer-bg) !important;
	color: var(--wa-footer-color) !important;
	padding-top: var(--wa-footer-padding-y);
	padding-bottom: var(--wa-footer-padding-y);
	border-top: 1px solid var(--wa-footer-border-color);
}

body#homepage .footer-dark .copyright,
body#homepage .footer-dark .testofooter,
body#homepage .footer-dark .wa-footer-identity__name,
body#homepage .footer-dark .wa-footer-identity__legal,
body#homepage .footer-dark .wa-footer-identity__address,
body#homepage .footer-dark .wa-footer-identity__contacts,
body#homepage .footer-dark .wa-footer-identity__fiscal {
	color: var(--wa-footer-muted-color);
}

body#homepage .footer-dark .wa-footer-identity__name {
	color: var(--wa-footer-color);
	font-weight: 700;
}

body#homepage .footer-dark .wa-footer-identity__link {
	color: var(--wa-footer-link-color);
}

body#homepage .wa-footer-powered {
	color: var(--wa-footer-muted-color);
}

body#homepage .footer-dark .footertesto,
body#homepage .footer-dark h3 {
	color: var(--wa-footer-link-color);
}

body#homepage .wa-footer-logo-wrap img {
	opacity: var(--wa-footer-logo-opacity);
}
