/* Classfern Referrals – uses the site's own colours where they exist. */
.cfref{--cfref-accent:var(--accent,#f2b632);--cfref-ink:var(--ink,currentColor);--cfref-line:var(--line,rgba(127,127,127,.35));--cfref-card:var(--card,transparent);border:1px solid var(--cfref-line);border-radius:14px;padding:18px 20px;margin:18px 0;background:var(--cfref-card)}
.cfref h2,.cfref h3{margin:0 0 .4em}
.cfref p{margin:.4em 0}
.cfref-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.cfref-box{font:600 1rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:8px 10px;border:1px dashed var(--cfref-line);border-radius:10px;word-break:break-all;flex:1 1 220px;min-width:0}
.cfref-btn,.cfref button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--cfref-line);background:transparent;color:inherit;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.cfref-btn:hover,.cfref button:hover{border-color:currentColor}
.cfref-btn:focus-visible,.cfref button:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.cfref-bar{height:12px;border-radius:999px;background:rgba(127,127,127,.2);overflow:hidden;margin:8px 0}
.cfref-bar>span{display:block;height:100%;background:var(--cfref-accent);border-radius:999px}
.cfref-note{font-size:.92rem;opacity:.85}
.cfref-ok{padding:10px 12px;border-radius:10px;background:rgba(46,160,67,.14)}
.cfref-err{padding:10px 12px;border-radius:10px;background:rgba(220,38,38,.12)}
.cfref label{display:block;font-weight:600;margin:10px 0 4px}
.cfref input[type=text],.cfref input[type=email],.cfref select{width:100%;max-width:420px;min-height:42px;padding:6px 10px;border:1px solid var(--cfref-line);border-radius:10px;font:inherit;background:transparent;color:inherit}
.cfref .cfref-check{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.cfref .cfref-check input{margin-top:4px}
.cfref-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cfref table{width:100%;border-collapse:collapse;font-size:.95rem}
.cfref th,.cfref td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--cfref-line);vertical-align:top}
@media (max-width:520px){.cfref{padding:14px}.cfref table,.cfref thead,.cfref tbody,.cfref tr,.cfref td{display:block}.cfref thead{display:none}.cfref td{border:0;padding:2px 0}.cfref tr{border-bottom:1px solid var(--cfref-line);padding:8px 0}}
