.email-gate { margin: auto; inset: 0; overflow-y: auto; box-sizing: border-box; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 28px; border: 1px solid #e3dfd4; border-radius: 12px; background: #fff; color: #141a1f; box-shadow: 0 20px 80px #0003; }
.email-gate::backdrop { background: #141a1f80; }
.email-gate h2 { margin: 0 0 10px; font-family: Georgia, serif; font-size: 26px; }
.email-gate p { font-size: 14px; line-height: 1.5; }
.email-gate label { display: block; margin: 18px 0 6px; font-weight: 600; font-size: 14px; }
.email-gate label span { font-weight: 400; color: #666; }
.email-gate input, .email-gate select { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid #cdc9bf; border-radius: 6px; background: white; color: #141a1f; font: inherit; font-size: 16px; }
.email-gate .email-gate-disclosure { font-size: 12px; color: #62625d; margin-top: 16px; }
.email-gate a { color: inherit; text-decoration: underline; }
.email-gate .email-gate-error { color: #a32d10; }
.email-gate-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.email-gate-actions button { min-height: 44px; padding: 11px 16px; border: 1px solid #f24915; border-radius: 6px; background: #f24915; color: white; font: inherit; font-weight: 600; cursor: pointer; }
.email-gate-actions .email-gate-cancel { color: #444; background: white; border-color: #cdc9bf; }
.email-gate button:disabled { opacity: .6; cursor: wait; }
.email-gate :focus-visible { outline: 3px solid #2460a1; outline-offset: 3px; }
@media print { .email-gate { display: none !important; } }
