/* ==========================================================================
   ACCESSIBILITÀ – MODULO TEMA RAZZI (verificato su Razzi 1.7.0)
   Caricato dopo style.css di Razzi e dopo a11y.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. COLORI
   Razzi espone il colore principale del Customizer come --rz-color-primary:
   lo usiamo come accento al posto del primario Elementor (sul sito Sisma il
   primario Elementor è #FFFFFF, inutilizzabile per un indicatore di focus).
   Verificare il contrasto ≥ 3:1 del colore di focus sugli sfondi del sito
   e, se serve, sovrascrivere --a11y-focus-color con un valore fisso.
   -------------------------------------------------------------------------- */
body {
	--a11y-accent: var(--rz-color-primary, #005fcc);
}

/* --------------------------------------------------------------------------
   2. FOCUS (SC 2.4.7)
   style.css di Razzi azzera l'outline su a:focus, button:focus, input:focus,
   select:focus. La regola :focus-visible di a11y.css (con !important) vince
   già; qui si coprono gli elementi che Razzi stila con overflow:hidden o che
   ricevono il focus via JS (pannelli e target dello skip link).
   -------------------------------------------------------------------------- */
.rz-modal:focus,
#content[tabindex="-1"]:focus,
[role="main"][tabindex="-1"]:focus {
	outline: none !important;
	box-shadow: none !important;
}

.wcboost-variation-swatches__item:focus-visible,
.razzi-qty-button:focus-visible,
.product-loop__buttons .rz-loop_button:focus-visible {
	position: relative;
	z-index: 2;
}

/* Le icone delle card compaiono solo al passaggio del mouse:
   devono comparire anche quando un pulsante della card riceve il focus. */
ul.products li.product:focus-within .product-loop__buttons,
ul.products li.product:focus-within .product-loop__buttons .rz-loop_button {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* --------------------------------------------------------------------------
   3. SOTTOMENU DA TASTIERA (SC 2.1.1)
   Razzi apre i sottomenu solo con :hover. .a11y-open è gestita da
   a11y-razzi.js (focus, Esc); :focus-within funziona anche senza JS.
   -------------------------------------------------------------------------- */
.main-navigation .nav-menu li.a11y-open > ul,
.main-navigation .nav-menu li:focus-within > ul {
	opacity: 1;
	transform: scaleX(1);
	pointer-events: initial;
}

.main-navigation li.is-mega-menu.align-center.a11y-open > ul,
.main-navigation li.is-mega-menu.align-center:focus-within > ul {
	transform: translateX(-50%) scaleX(1);
}

/* --------------------------------------------------------------------------
   4. DIMENSIONE DEI TARGET (SC 2.5.8 – minimo 24×24 px)
   -------------------------------------------------------------------------- */
.site-header .header-right-items a,
.site-header .search-icon,
.header-mobile .mobile-header-icons a,
.header-mobile .mobile-menu-toggle,
.rz-modal .button-close,
.razzi-qty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
}

.razzi-qty-button {
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   5. NOTA CAMPI OBBLIGATORI (WPForms nel footer scuro)
   -------------------------------------------------------------------------- */
.wpforms-container .a11y-required-note {
	color: inherit;
}
