/* Improvements only: preserve the existing All Things Hygiene theme and brand colours. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
.navbar-brand { max-width: 100%; }
.navbar-brand h1 { white-space: normal; overflow-wrap: anywhere; }
.navbar-toggler { flex-shrink: 0; }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
    outline: 3px solid #46C6CE;
    outline-offset: 3px;
}
.contact-form .form-control { min-height: 46px; }
.contact-form textarea.form-control { min-height: 155px; }
.contact-form label { font-weight: 600; color: #194376; }
.contact-form label a { text-decoration: underline; }
.contact-form .alert { margin-bottom: 1.5rem; }
.ath-honeypot { position: absolute !important; left: -9999px !important; height: 1px; width: 1px; overflow: hidden; }
.ath-legal { max-width: 900px; overflow-wrap: anywhere; line-height: 1.75; }
.ath-legal h2 { margin-top: 1.75rem; margin-bottom: .75rem; }
.ath-legal a { text-decoration: underline; }
@media (max-width: 575.98px) {
    .navbar-brand h1 { font-size: 1.15rem; line-height: 1.25; }
    .navbar-brand img { max-height: 48px; width: auto; }
    .navbar { padding-left: .75rem !important; padding-right: .75rem !important; }
    .display-3 { font-size: clamp(1.8rem, 8vw, 3rem); }
    .carousel-caption .btn { padding: .6rem 1rem !important; }
    .page-header h1 { font-size: 2rem; }
    .contact-form .btn { width: 100%; }
    .container-fluid { padding-left: 15px; padding-right: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .back-to-top { animation: none !important; -webkit-animation: none !important; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
