/* Les polices sont chargées dans inc/enqueue.php ; remplacer par des WOFF2 locaux si disponibles. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, .editor-styles-wrapper { background: var(--jc-bg); color: var(--jc-text); font: 400 var(--jc-fs-body)/var(--jc-lh-body) var(--jc-font-body); -webkit-font-smoothing: antialiased; }
img, svg, video { display: block; max-width: 100%; height: auto; }
img { object-fit: contain; }
::selection { background: var(--jc-accent); color: var(--jc-on-accent); }
:focus-visible { outline: 2px solid var(--jc-focus); outline-offset: 3px; }
.jc-section--inverse :focus-visible, .jc-footer :focus-visible { outline-color: var(--jc-focus-inverse); }
.jc-skip-link { position: absolute; top: -100px; left: 16px; z-index: var(--jc-z-modal); padding: 12px 16px; background: var(--jc-ink); color: var(--jc-paper); }
.jc-skip-link:focus { top: 16px; }
.jc-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms; transition-duration: 0ms; scroll-behavior: auto; } }
