/*
 * Site-specific rules layered on top of the Azul Silver theme stylesheet.
 * Anything that deviates from the original rendering is documented in
 * docs/a11y-deviations.md.
 */

/* Site title/tagline were h1/h4 in the original; they are now <p> so each
   page has a single h1. These reproduce the browser-default heading sizes. */
.site-title { font-size: 2em; font-weight: bold; }
.site-description { font-size: 1em; font-weight: bold; }

/* Skip link (visible only on focus; uses the theme's .screen-reader-text). */
.skip-link:focus { left: 5px; top: 5px; }

/* Visible keyboard focus for links and buttons. */
a:focus-visible, button:focus-visible { outline: 2px solid #0099cc; outline-offset: 2px; }

/* Contact form (replaces the Ninja Forms plugin output). */
.contact-form { max-width: 100%; }
.contact-form .field { margin-bottom: 1.5em; }
.contact-form label { display: block; margin-bottom: 0.4em; }
.contact-form .required { color: #b00000; }
.contact-form input[type="text"], .contact-form input[type="email"] { width: 100%; }
.contact-form textarea { width: 100%; height: 12em; padding: 0.8em; }
.contact-form .field-note { font-size: 0.875em; }
.contact-form button { font-size: 1em; padding: 0.8em 1.6em; cursor: pointer; }
.contact-form button:hover, .contact-form button:focus { background: #000; color: #fff; }
.contact-form .form-error { border: 1px solid #b00000; color: #b00000; padding: 0.8em; margin-bottom: 1.5em; }
.contact-form .hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* The theme's comment-form rule shrinks .required to 10px; restore for the contact form. */
.contact-form .required { font-size: 1em; }
