/**
 * api-core/assets/css/gutenberg-a11y.css
 *
 * Override globali per l'accessibilità dei blocchi Gutenberg core e
 * dei componenti Spectra One che ereditano da .wp-element-button.
 *
 * @since 2.4.0
 *
 * ─── PRINCIPI ────────────────────────────────────────────────────────────
 *
 *   1. Usiamo :where() → specificity zero. Il tema o l'editor possono
 *      sempre overridarci senza bisogno di !important. Eccezione: le CTA
 *      primary hanno un override mirato per il preset WordPress !important.
 *
 *   2. Nessun colore hardcoded: si legge la custom property WordPress
 *      --wp--preset--color--secondary, definita dal theme.json del tema
 *      Spectra One (child o parent). Se il tema cambia palette, cambia
 *      anche l'hover — nessuna manutenzione necessaria.
 *
 *   3. Il selettore .wp-element-button è la classe applicata da WordPress
 *      core (>= 6.1) a tutti i "bottoni" del block editor:
 *        - core/button                    (.wp-block-button__link)
 *        - core/search (button variant)
 *        - core/file (download button)
 *        - blocchi terzi che ereditano dallo stile bottone
 *      Coprire entrambi (.wp-element-button E .wp-block-button__link)
 *      garantisce continuità visiva anche in temi che non applicano
 *      ancora .wp-element-button a tutti i bottoni.
 *
 *   4. Questo file è condiviso da tutti i siti che caricano api-core
 *      (apiform.to.it E apito.it) — nessuna regola qui dovrebbe assumere
 *      una palette, uno sfondo o un layout specifico di un solo sito.
 *      Per questo motivo un fix di focus visibile globale e un fix di
 *      contrasto per le icone social del footer, valutati in v2.4.20,
 *      sono stati scartati da questo file (vedi changelog in
 *      api-core.php): richiedono un colore/contesto specifico di
 *      ApiForm che non è corretto imporre anche su ApiTO, e vanno quindi
 *      nel child theme del sito interessato, non qui.
 */

/* ═══════════════════════════════════════════════════════════════════════
 * HOVER — Bottoni Gutenberg
 *
 * WCAG 2.1 SC 1.4.11 (Non-text Contrast, AA): durante lo stato :hover,
 * le informazioni visive necessarie a identificare il controllo devono
 * mantenere un contrasto di almeno 3:1 rispetto ai colori adiacenti. Non
 * è richiesto un contrasto di 3:1 rispetto allo stato di riposo. Definire
 * un colore hover esplicito evita che browser/tema lascino l'hover senza
 * feedback visivo percepibile.
 * ═══════════════════════════════════════════════════════════════════════ */

:root :where(.wp-element-button:hover, .wp-block-button__link:hover) {
	background-color: var(--wp--preset--color--secondary, #c44700);
}

/* I preset WordPress fissano lo sfondo primary con !important.
   Override limitato alle CTA blu, incluso core/read-more che non riceve
   la classe wp-element-button. Gli altri colori dei blocchi restano liberi. */
:root :is(.wp-element-button, .wp-block-button__link, .wp-block-read-more).has-primary-background-color:hover {
	background-color: var(--wp--preset--color--secondary, #c44700) !important;
	border-color: var(--wp--preset--color--secondary, #c44700) !important;
	color: #fff !important;
}
