/*
 * Shared Gate styles (ADR-0007). Themed entirely through the shared tokens the
 * Magnet page defines (--accent, --fg, --muted, --border, --surface, --radius),
 * so every Magnet's Gate reads as pageBody while the page sets its own flavor.
 */
.pb-gate { margin-top: 26px; border-top: 1px solid var(--border); padding-top: 26px; }
.pb-gate.hidden { display: none; }
.pb-gate h3 { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; }
.pb-gate .pb-gate-sub { color: var(--muted); font-size: 14px; margin-top: 8px; max-width: 52ch; }
.pb-gate-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.pb-gate input[type="email"] {
  flex: 1 1 280px; font-family: inherit; font-size: 15px; color: var(--fg);
  background: rgba(6, 7, 6, 0.5); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px;
  transition: border-color 0.2s ease;
}
.pb-gate input[type="email"]:focus { outline: none; border-color: var(--accent); }
.pb-consent { margin-top: 16px; display: flex; gap: 11px; align-items: flex-start; font-size: 13px; color: var(--muted); max-width: 64ch; }
.pb-consent input { margin-top: 3px; accent-color: var(--accent); width: 16px; height: 16px; flex: 0 0 auto; }
.pb-consent a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.pb-hp { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; }
.pb-gate-micro { margin-top: 14px; font-size: 12px; color: var(--muted); }
.pb-gate-err { color: var(--danger); font-size: 13.5px; margin-top: 12px; min-height: 1em; }
