/* CMS-only states that are not part of the approved static prototype. */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.devmode { position: relative; z-index: 130; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 20px; padding: 9px; background: #dff3eb; color: #124d3b; }
.devmode form { display: inline-flex; }
.link-button { padding: 0; border: 0; background: none; color: inherit; text-decoration: underline; cursor: pointer; }
.nav-dropdown-menu small { display: block; color: var(--muted); font-weight: 400; }
.validation-summary, .field-validation-error { color: #a42c2c; font-size: .88rem; }
.validation-summary { grid-column: 1 / -1; }
.input-validation-error { border-color: #a42c2c !important; }
.contact-success { padding: 44px; border: 1px solid #b8e7d7; border-radius: 26px; background: var(--soft-green); text-align: center; }
.contact-success h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
.contact-success > * + * { margin-top: 16px; }
.success-icon { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; background: var(--green); color: white; font-size: 2rem; }
.block-error { margin-block: 20px; padding: 16px; border-radius: 12px; background: var(--soft-orange); }
