/* O’Phys — durcissement final mobile, accessibilité et impression */
html, body { max-width: 100%; overflow-x: clip; }
img, svg, video, canvas { max-width: 100%; height: auto; }
button, [role="button"], a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, [role="button"]:focus-visible, a:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #f3cf55 !important;
  outline-offset: 3px;
}
.ophys-skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 100000;
  transform: translateY(-160%); padding: .8rem 1rem; border-radius: 999px;
  background: #f3cf55; color: #070b13; font-weight: 900;
}
.ophys-skip-link:focus { transform: translateY(0); }
@media (max-width: 760px) {
  button, [role="button"] { min-height: 44px; }
  .mobile-menu, .nav-mobile, [class*="mobile-menu"] { overscroll-behavior: contain; }
  h1 { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
  header, nav, footer, .menu-trigger, .ophys-runtime-banner, .ophys-skip-link { display: none !important; }
  body { background: #fff !important; color: #111 !important; }
  * { box-shadow: none !important; text-shadow: none !important; }
}
