/* gate.css — Metered-Gate Sperr-CSS + Overlay (Sprint 4, plan.md §4.3/§6) · v=20260801
 *
 * SEO-Prinzip (plan.md §1): Der volle Text steht IMMER im HTML/DOM —
 * .reg-gated verdeckt ihn nur per CSS (Flexible-Sampling-Muster).
 * Fail-closed: ohne JS bleibt diese Regel aktiv → Gate hält auch ohne JS.
 * Unlock ausschließlich über html.reg-unlocked (setzt gate.js bei Token-Präsenz).
 * Design-Tokens: Fallbacks = Live-Site-Werte (--void #09080a, --bone #f2ede8, --heat*).
 */

.reg-gated{display:none;}
html.reg-unlocked .reg-gated{display:block;}
html.reg-unlocked .reg-gate{display:none;}

.reg-gate{position:relative;margin:16px 0 48px;font-family:'Bricolage Grotesque',system-ui,sans-serif;}
.reg-gate-fade{position:absolute;left:0;right:0;top:-150px;height:150px;background:linear-gradient(180deg,rgba(9,8,10,0) 0%,var(--void,#09080a) 92%);pointer-events:none;}
.reg-gate-box{position:relative;border:1px solid rgba(242,237,232,.16);border-radius:6px;background:rgba(242,237,232,.04);padding:32px 24px;max-width:640px;margin:0 auto;color:var(--bone,#f2ede8);}

.reg-gate-kicker{font-family:'Martian Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--heat2,#ff6a1f);margin:0 0 10px;}
.reg-gate-title{font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif;font-size:clamp(24px,3vw,34px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.2;margin:0 0 12px;color:var(--bone,#f2ede8);}
.reg-gate-text{font-size:16px;line-height:1.5;color:rgba(242,237,232,.82);margin:0 0 24px;max-width:58ch;}

.reg-gate-form{display:flex;flex-direction:column;gap:16px;margin:0;}
.reg-gate-email{font-size:16px;line-height:1.5;padding:12px 14px;min-height:48px;width:100%;border:1px solid rgba(242,237,232,.28);border-radius:4px;background:rgba(9,8,10,.6);color:var(--bone,#f2ede8);}
.reg-gate-email:focus{outline:2px solid var(--heat2,#ff6a1f);outline-offset:1px;}
.reg-gate-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:rgba(242,237,232,.78);cursor:pointer;}
.reg-gate-consent input{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--heat2,#ff6a1f);}
.reg-gate-consent a{color:var(--heat1,#ffb454);text-decoration:underline;}
.reg-gate-btn{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:16px;font-weight:700;min-height:48px;padding:12px 24px;border:0;border-radius:4px;background:var(--bone,#f2ede8);color:var(--void,#09080a);cursor:pointer;}
.reg-gate-btn:hover{background:var(--heat1,#ffb454);}
.reg-gate-btn:focus-visible{outline:2px solid var(--heat2,#ff6a1f);outline-offset:2px;}
.reg-gate-btn[disabled]{opacity:.6;cursor:wait;}

.reg-gate-status{font-size:15px;line-height:1.5;margin:0;min-height:1.5em;}
.reg-gate-status.is-ok{color:#8fe388;}
.reg-gate-status.is-err{color:#ff8f6a;}
.reg-gate-note{font-size:13px;line-height:1.5;color:rgba(242,237,232,.6);margin:16px 0 0;}

@media (max-width:520px){.reg-gate-box{padding:24px 16px;}}
