/* Scoped addition: the existing homepage, header and feed retain their styling. */
.referral-section [hidden]{display:none!important}
.referral-section button:disabled{opacity:.6;cursor:default}
.referral-section h3{font-size:24px;margin:0 0 16px}
#share-confirm{margin-top:24px}
.referral-section{margin:0 5% 70px;padding:44px;background:var(--yellow);border:2px solid var(--black)}
.instagram-section + .referral-section{margin-top:32px}
.referral-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.referral-section h2{font-size:clamp(48px,6.5vw,88px);margin-bottom:22px}
.referral-section h2 em{font-style:normal;color:var(--blue)}
.referral-lead{font-size:18px;line-height:1.65;max-width:640px}
.referral-steps{list-style:none;counter-reset:steps;display:flex;flex-wrap:wrap;gap:14px 20px;padding:0;margin:28px 0 0;font-size:14px;font-weight:600}
.referral-steps li{counter-increment:steps;display:flex;align-items:center;gap:8px}
.referral-steps li:before{content:counter(steps);background:var(--black);color:white;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}
.referral-form{min-width:0}.referral-form fieldset{padding:0;border:0;margin:0;min-width:0}.referral-form legend{font-weight:700;margin-bottom:18px;font-size:22px}
.referral-form label{display:block;margin-bottom:18px;font-size:14px;font-weight:600}
.referral-form input{display:block;width:100%;height:50px;margin-top:8px;padding:12px;background:var(--paper);border:1px solid var(--black);border-radius:0;font:inherit;font-size:16px}
.referral-form button,.referral-result button{font:inherit;min-height:48px;cursor:pointer;border:1px solid var(--black);border-radius:28px;padding:12px 23px;color:var(--paper);background:var(--black);font-weight:600}
.referral-form button:disabled{cursor:default;opacity:.65}.referral-form :focus-visible,.referral-result :focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.referral-status,.referral-rules{font-size:14px;line-height:1.65;margin-top:16px}.referral-rules{font-size:12px}
.referral-result{margin-top:22px;padding-top:22px;border-top:1px solid var(--black);min-width:0}.referral-result[hidden]{display:none}
.referral-share{display:block;overflow-wrap:anywhere;text-decoration:underline;margin:14px 0}
.referral-result progress{width:100%;height:14px;margin:12px 0;accent-color:var(--blue)}
.referral-actions{display:flex;gap:10px;flex-wrap:wrap}.referral-result button{font-size:14px}
.referral-private-link{display:inline-block;margin:18px 0 0;font-size:13px;text-decoration:underline}
.referral-reward{margin-top:22px;padding:20px;background:var(--paper);border:1px solid var(--black)}
.referral-reward[hidden],.referral-invite[hidden]{display:none}
.referral-reward code{display:block;overflow-wrap:anywhere;font-size:22px;font-weight:700;margin:12px 0}
.referral-reward p,.referral-invite p{font-size:14px;line-height:1.6}
.referral-redeem{display:inline-block;margin-top:12px;font-weight:700;text-decoration:underline}
.referral-redeem[hidden]{display:none}
.referral-invite{margin-bottom:28px;padding:22px;border:2px solid var(--black);background:var(--paper)}
.referral-invite h3{font-size:26px;margin:0 0 14px}.referral-invite .plain-link{margin:16px 0;display:inline-block}
.referral-check{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5}
.referral-check input{display:inline-block!important;width:20px!important;height:20px!important;flex-shrink:0;margin:0!important}
.referral-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.referral-rules a{text-decoration:underline}
@media(max-width:800px){.referral-section{padding:30px;margin-bottom:50px}.referral-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:650px){.instagram-section + .referral-section{margin-top:24px}}
@media(max-width:420px){.referral-section{padding:24px 20px}.referral-lead{font-size:16px}.referral-steps{display:grid;gap:12px}.referral-section h2{font-size:52px}}

.referral-invitation-text{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-size:14px;line-height:1.65;padding:16px;background:var(--paper);border:1px solid var(--black)}
