/* Emmanuel Church: mobile navigation and registration, 2026-10-31. */
/* The drawer must sit above the desktop mega menu as well as the mobile header. */
#nt_sidebar { top: 0 !important; bottom: 0; z-index: 2147483101 !important; max-width: 100vw; height: 100vh; height: 100dvh; display: flex; flex-direction: column; padding-top: env(safe-area-inset-top); }
#nt_sidebar_mask { z-index: 2147483100 !important; }
#nt_sidebar_header { flex: 0 0 auto; }
#nt_sidebar .sidebar-content { flex: 1 1 auto; min-height: 0; height: auto; width: 100%; padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important; }
@media (max-width: 991px) {
  #nt_sidebar .sidebar-icon { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 !important; width: 100%; }
  #nt_sidebar .sidebar-icon > li { min-width: 0; max-width: none; width: auto; padding-left: 0; padding-right: 0; }
  #nt_sidebar .sidebar-icon a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 56px; }
}
.em-registration { max-width: 900px; margin: auto; color: #172033; }
.em-registration * { box-sizing: border-box; }
.em-registration .em-welcome { padding: 28px; background: #f7f6f4; border-left: 4px solid #8c7462; border-radius: 0 12px 12px 0; margin-bottom: 28px; }
.em-registration h1 { font-size: clamp(25px, 5vw, 34px); margin-bottom: 16px; }
.em-registration p { line-height: 1.85; }
.em-registration fieldset { min-width: 0; margin: 0 0 24px; padding: 22px; border: 1px solid #e7e9ed; border-radius: 12px; }
.em-registration legend { display: block; position: static; height: auto; line-height: 1.5; text-indent: 0; overflow: visible; clip: auto; border: 0; margin-bottom: 12px; float: none; width: auto; max-width: 100%; padding: 0 8px; font-size: 17px; font-weight: 700; }
.em-registration label { display: block; line-height: 1.6; }
.em-registration input:not([type=checkbox]):not([type=radio]), .em-registration textarea, .em-registration select { display: block; width: 100%; max-width: 100%; margin-top: 8px; padding: 12px; border: 1px solid #c9cdd3; border-radius: 6px; background: white; font: inherit; font-size: 16px; color: #172033; }
.em-registration textarea { min-height: 100px; resize: vertical; }
.em-registration .em-options { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.em-registration .em-options label { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; }
.em-registration input[type=checkbox], .em-registration input[type=radio] { width: 19px; height: 19px; flex: 0 0 auto; accent-color: #6f5848; }
.em-registration input:focus-visible, .em-registration textarea:focus-visible, .em-registration button:focus-visible { outline: 3px solid #bca98d; outline-offset: 3px; }
.em-registration .em-field { display: block; margin-top: 14px; }
.em-registration .em-note { color: #5f6875; font-size: 14px; }
.em-registration button, .em-link-button { display: inline-flex; justify-content: center; padding: 13px 23px; border: 0; border-radius: 6px; background: #6f5848; color: #fff !important; font-size: 16px; font-weight: 700; text-decoration: none; cursor: pointer; }
.em-registration .em-qr { margin-top: 30px; border-top: 1px solid #e7e9ed; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.em-registration .em-qr img { width: 180px; height: 180px; max-width: 100%; }
.em-registration .em-consent { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0; }
.em-registration .em-consent input { margin-top: 4px; }
.em-registration .em-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.em-registration .em-error { padding: 18px; margin-bottom: 20px; background: #fff4f1; color: #8c2719; border: 1px solid #ebc7bf; border-radius: 8px; }
@media(max-width: 575px) { .em-registration fieldset { padding: 16px; } .em-registration .em-welcome { padding: 22px; } .em-registration button[type=submit] { width: 100%; } }

.em-community-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.em-community-card { display:block; padding:30px; border:1px solid #e7e3dd; border-radius:12px; background:#fff; color:#172033 !important; text-decoration:none !important; }
.em-community-card strong { font-size:24px; color:#6f5848; }
.em-community-card p { margin:14px 0 22px; line-height:1.8; color:#5f6875; }
.em-community-card span { font-weight:700; color:#6f5848; }
.em-community-card:hover { border-color:#8c7462; }
@media(max-width:575px) { .em-community-grid { grid-template-columns:1fr; gap:16px; } .em-community-card { padding:24px; } }
