/* ALL IN — shared accessibility & touch layer, loaded by every screen (after its own styles). */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
:focus { outline: none; }
:focus-visible { outline: 3px solid #B08D57 !important; outline-offset: 2px; border-radius: 8px; }
/* phones and tablets: comfortable tap targets for the main buttons */
@media (pointer: coarse) {
  .btn, a.btn, button.btn { min-height: 44px; }
  .btn.small, .btn.sm { min-height: 38px; }
  input[type=checkbox], input[type=radio] { min-width: 20px; min-height: 20px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition: none !important; scroll-behavior: auto !important; } }
/* readable text everywhere */
body { text-rendering: optimizeLegibility; }
::placeholder { color: #6E6A61; opacity: 1; }
/* hidden-but-readable labels for screen readers */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
