/* Regole tecniche comuni (da src/stili/base.css): accessibilità, focus, stato del motore. Niente estetica.
   Le variabili (--fondo, --testo, --focus...) le dà il tema figlio. */
body { background: var(--fondo); color: var(--testo); font-family: var(--font-testo); }
.salta { position: absolute; left: 1rem; top: -100px; z-index: 100; padding: .75rem 1rem; background: var(--fondo); color: var(--testo); }
.salta:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.sr-only, .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
#inizio { position: absolute; top: 0; }
#pagina:focus { outline: none; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
/* WordPress: il contenitore del contenuto non aggiunge margini né larghezze alle sezioni. */
.wp-site-blocks, .wp-block-post-content { margin: 0; padding: 0; }
.wp-site-blocks > *, .wp-block-post-content > * { margin-block: 0; max-width: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
}
