/* SOLUX SOGCES 2.0.277 — couche de finition non destructive */
:root { --solux-focus-ring: #087cbd; }
*, *::before, *::after { box-sizing: border-box; }
:where(button, a, input, select, textarea, [role="button"]):focus-visible {
  outline: 3px solid var(--solux-focus-ring);
  outline-offset: 2px;
}
:where(input, select, textarea) { max-width: 100%; }
:where(img, video, canvas, svg) { max-width: 100%; }
:where(table) { border-collapse: collapse; }
@media (max-width: 767px) {
  :where(main, article, section, .content, .main-content, .page-content) { min-width: 0; }
  :where(.modal, .dialog, [role="dialog"]) { max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); overflow: auto; }
  :where(.table-responsive, .table-container, .table-wrapper, .data-table-container) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  :where(input, select, textarea) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
  :where(nav, .sidebar, .mobile-nav, .mobile-bottom-nav, .mobile-menu-toggle, .no-print) { display: none !important; }
  :where(main, .main-content, .page-content) { width: 100% !important; max-width: none !important; margin: 0 !important; }
  :where(table) { break-inside: auto; }
  :where(tr) { break-inside: avoid; }
}
