/* Local styles scoped to the Masjid Omar contact form. */
.mo-contact { box-sizing: border-box; max-width: 760px; margin: 32px 0; padding: clamp(20px, 4vw, 32px); color: #243c33; background: #fff; border: 1px solid #e4e8e3; border-top: 3px solid #d1b05e; border-radius: 12px; text-align: left; }
.mo-contact *, .mo-contact *::before, .mo-contact *::after { box-sizing: border-box; }
.mo-contact .mo-contact__title { margin: 0 0 8px; color: #005b46; font-size: clamp(24px, 3vw, 30px); line-height: 1.25; font-weight: 500; }
.mo-contact .mo-contact__intro { margin: 0 0 20px; color: #52665c; font-size: 15px; line-height: 1.6; }
.mo-contact .mo-contact__required { margin: 0 0 16px; font-size: 12px; color: #52665c; }
.mo-contact__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mo-contact .mo-contact__field { min-width: 0; margin: 0 0 16px; }
.mo-contact .mo-contact__field label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.mo-contact__field label span { color: #52665c; font-weight: 400; font-size: 12px; }
.mo-contact .mo-contact__field input, .mo-contact .mo-contact__field textarea { display: block; width: 100%; max-width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #adbcb2; border-radius: 5px; background: #fff; color: #243c33; font: inherit; font-size: 16px; line-height: 1.5; box-shadow: none; }
.mo-contact .mo-contact__field textarea { min-height: 150px; resize: vertical; }
.mo-contact .mo-contact__field input:focus, .mo-contact .mo-contact__field textarea:focus { border-color: #005b46; outline: 2px solid #005b46; outline-offset: 2px; }
.mo-contact .mo-contact__field [aria-invalid="true"] { border-color: #a42e28; }
.mo-contact .mo-contact__error { display: block; margin-top: 5px; color: #a42e28; font-size: 13px; line-height: 1.5; }
.mo-contact__error:empty { display: none; }
.mo-contact .mo-contact__privacy { margin: 0 0 18px; color: #52665c; font-size: 13px; line-height: 1.6; }
.mo-contact a { color: #005b46; text-decoration: underline; text-underline-offset: 3px; }
.mo-contact .mo-contact__submit { display: inline-block; min-height: 44px; margin: 0; padding: 11px 22px; border: 1px solid #005b46; border-radius: 5px; background: #005b46; color: #fff; font: inherit; font-size: 15px; font-weight: 500; line-height: 1.4; cursor: pointer; }
.mo-contact .mo-contact__submit:hover { background: #003e30; border-color: #003e30; }
.mo-contact .mo-contact__submit:focus-visible, .mo-contact a:focus-visible { outline: 2px solid #005b46; outline-offset: 3px; }
.mo-contact .mo-contact__submit:disabled { opacity: .65; cursor: wait; }
.mo-contact .mo-contact__status { margin: 14px 0 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.mo-contact__status:empty { display: none; }
.mo-contact .mo-contact__status.is-success { padding: 10px 12px; background: #eef5ef; color: #005b46; border-left: 3px solid #005b46; }
.mo-contact .mo-contact__status.is-error { color: #a42e28; }
.mo-contact__trap { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.mo-contact [hidden] { display: none !important; }
.mo-contact .mo-contact__captcha { margin: 0 0 18px; padding-top: 12px; border-top: 1px solid #e4e8e3; min-width: 0; }
.mo-contact .mo-contact__captcha-label { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.mo-contact__captcha-widget { width: 100%; min-width: 0; }
.mo-contact .mo-contact__captcha-status { margin: 6px 0; color: #52665c; font-size: 12px; line-height: 1.5; }
.mo-contact .mo-contact__captcha-status.is-error { color: #a42e28; }
.mo-contact .mo-contact__captcha-note { margin: 6px 0 0; color: #52665c; font-size: 12px; line-height: 1.5; }
.mo-contact .mo-contact__captcha-retry { min-height: 44px; margin: 4px 0; padding: 8px 12px; color: #005b46; background: #fff; border: 1px solid #005b46; border-radius: 4px; font: inherit; font-size: 13px; cursor: pointer; }
.mo-contact .mo-contact__captcha-retry:focus-visible { outline: 2px solid #005b46; outline-offset: 3px; }
@media (max-width: 560px) { .mo-contact__row { grid-template-columns: minmax(0, 1fr); gap: 0; } }
