/* Small compatibility and accessibility additions to the retained RAG design. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 160px; }
.toggle { border: 0; padding: 0; background: transparent; }
.toggleBox { display: block; }
:focus-visible { outline: 3px solid #857344 !important; outline-offset: 4px; }
.js_fade { opacity: 1; transform: none; }
.js_fade.animate-ready:not(.fadeIn) { opacity: 0; transform: translateY(150px); }
.navContent[inert] { visibility: hidden; }
.form-steps { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 32px; }
.form-steps [aria-current] { font-weight: 700; border-bottom: 2px solid #aa9b64; }
.form-message { padding: 16px; margin-bottom: 24px; border-radius: 6px; background: #f4f4f4; overflow-wrap: anywhere; }
.form-message:empty { display: none; }
.form-message.error { border-left: 4px solid #b22918; color: #8a2014; }
.form-message a { text-decoration: underline; }
#contact-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-button { display: block; background: #202020; color: #fff; border: 2px solid #202020; border-radius: 8px; width: 224px; min-height: 56px; padding: 8px 16px; margin: 16px; font: inherit; font-weight: 700; font-size: 2rem; cursor: pointer; }
.form-button:hover { background: #000; }
.form-button:disabled { cursor: wait; background: #666; border-color: #666; }
.form-button.secondary { background: #fff; color: #202020; }
.consent { display: flex; align-items: flex-start; justify-content: center; gap: 12px; margin-bottom: 16px; text-align: left; }
.consent input[type="checkbox"] { display: inline-block; flex: 0 0 24px; width: 24px; height: 24px; margin-top: 3px; accent-color: #202020; }
.form-trap, .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#confirmation h2, #completion h2 { font-size: 2.8rem; line-height: 1.5; margin-bottom: 32px; }
.confirmation-values { margin-bottom: 32px; }
.confirmation-values dt { font-weight: 700; margin-top: 24px; }
.confirmation-values dd { padding: 16px 0; border-bottom: 1px solid #ddd; white-space: pre-wrap; overflow-wrap: anywhere; }
.article-preformatted { white-space: pre-wrap; overflow-wrap: anywhere; }
.p_services .service__desc > div { max-width: 100%; }
#bot-challenge { margin: 24px 0; min-height: 0; }
#completion p { margin-bottom: 24px; }
#completion .c_btn_main { margin-top: 40px; }
@media (max-width: 1024px) { html { scroll-padding-top: 88px; } }
@media (max-width: 480px) { .formAgree { padding: 20px 12px; } .form-button { margin: 8px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
  .js_fade.animate-ready { opacity: 1; transform: none; }
}
