:focus-visible { outline:3px solid #57a7df; outline-offset:4px; }
[hidden] { display:none !important; }
html { scroll-padding-top:100px; }
input,select,textarea { max-width:100%; }
.modal-card,.ada-vmodal-card { min-width:0; overscroll-behavior:contain; }
.modal-card button,.ada-vmodal-card button { flex-shrink:0; }
.form-notice:focus { outline:2px solid currentColor; outline-offset:5px; }
@media (max-width:600px) {
  .modal-card,.ada-vmodal-card { padding:18px !important; max-height:calc(100dvh - 32px) !important; overflow-x:auto; }
  .modal-card [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:minmax(0,1fr) !important; }
  input,select,textarea { font-size:16px !important; }
}
@media (pointer:coarse) {
  button,.nav-links a,.mobile-nav-links a { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
@media print {
  body.vitrine-dialog-print > :not(.ada-vmodal-backdrop) { display:none !important; }
  body.vitrine-dialog-print .ada-vmodal-backdrop { position:static; display:block; padding:0; background:#fff; }
  body.vitrine-dialog-print .ada-vmodal-card { box-shadow:none; max-width:none; max-height:none; overflow:visible; }
  body.vitrine-dialog-print .ada-vmodal-card button { display:none !important; }
}
