/* Email gate for the free Permit Office Directory (assets/gate.js): the inline form on /pricing/ and the
   pop-up opened by links marked data-gate-open (home page). The pop-up reuses the sign-in pop-up's
   .au-pop / .au-head / .au-body frame from assets/auth.css. */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pr-gate { display: grid; gap: 10px; margin-bottom: 4px; }
.pr-gate[hidden], .pr-gate-done[hidden] { display: none; }
.pr-gate label { display: grid; gap: 4px; font-size: 0.85rem; font-weight: 600; color: #0A1628; min-width: 0; }
.pr-gate input[type="text"], .pr-gate input[type="email"] { min-height: 44px; padding: 8px 12px; border: 2px solid #E5E7EB; border-radius: 8px; font: inherit; font-weight: 400; width: 100%; min-width: 0; box-sizing: border-box; }
.pr-gate input:focus { border-color: #C8962E; outline: none; }
.pr-row { display: grid; grid-template-columns: 1fr; gap: 10px; }
.pr-consent { display: flex !important; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; color: #14202F !important; }
.pr-consent input { width: 20px; height: 20px; flex: none; margin-top: 2px; accent-color: #8A6416; }
.pr-privacy { font-size: 0.78rem; color: #4E5D75; }
.pr-privacy a { color: #7A5A17; }
.pr-gate-msg { font-size: 0.85rem; color: #9B2C2C; min-height: 1em; }
.pr-gate-msg:empty { display: none; }
.pr-gate-done p { margin-bottom: 12px; color: #14202F; }
.pr-gate .btn, .pr-gate-done .btn { width: 100%; justify-content: center; min-height: 48px; padding-left: 16px; padding-right: 16px; text-align: center; }

/* Pop-up */
.gate-pop .au-body { padding-top: 18px; }
.gate-pop .gate-lead { color: #334155; font-size: 0.95rem; margin-bottom: 14px; text-align: center; }
.gate-pop .gate-list { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; margin: 0 0 16px; padding: 0; font-size: 0.85rem; color: #334155; }
.gate-pop .gate-list li::before { content: '\2713  '; color: #8A6416; font-weight: 700; }
@media (min-width: 520px) { .gate-pop .pr-row { grid-template-columns: 1fr 1fr; align-items: start; } }

/* Spec 2026-10-22: email + consent, inline errors, disabled submit until valid */
.gate-field { display: grid; gap: 4px; }
.gate-field > label:not(.pr-consent) { font-size: 0.85rem; font-weight: 600; color: #0A1628; }
.pr-gate input[type="email"][aria-invalid="true"], .pr-gate input[type="checkbox"][aria-invalid="true"] { border-color: #B42318; outline: 2px solid rgba(180,35,24,0.25); }
.gate-err { font-size: 0.82rem; color: #B42318; margin: 0; }
.gate-err:empty { display: none; }
.gate-hint { font-size: 0.8rem; color: #4E5D75; margin: -4px 0 0; text-align: center; }
.gate-hint[hidden] { display: none; }
.pr-gate button[type="submit"]:disabled { opacity: 0.55; cursor: not-allowed; transform: none; box-shadow: none; }
.gate-ok { color: #14202F; margin-bottom: 12px; }
.pr-gate-done:focus { outline: none; }

/* Pricing-sheet success state (GalaCON 2026) */
.gate-dl { color: #7A5A17; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.gate-alt { margin-top: 10px; text-align: center; font-size: 0.88rem; }
.gate-list[hidden], .gate-lead[hidden] { display: none; }
