/* Referral programme pages: house style (Overpass body, Cormorant italic accents, gold buttons, no pill labels). */
.ref-main { max-width: 760px; margin: 0 auto; }
.ref-main .card { margin-bottom: 1rem; }
.ref-main h1 { font-size: 2rem; margin: 0 0 .4rem; }
.ref-main h2 { font-size: 1.08rem; margin-top: 1.4rem; }
.ref-main .big { font-size: 1.06rem; line-height: 1.55; }
.ref-main a:not([class]) { color: #8A6416; }
.ref-steps, .ref-rules { line-height: 1.55; padding-left: 1.2rem; }
.ref-steps li, .ref-rules li { margin: .3rem 0; }
.ref-form { display: grid; gap: .8rem; max-width: 480px; }
.ref-form label { display: grid; gap: .25rem; font-weight: 600; font-size: .95rem; }
.ref-form label[hidden] { display: none; }
.ref-form input:not([type=radio]):not([type=checkbox]), .ref-form select { font: inherit; font-weight: 400; padding: .55rem .7rem; border: 1px solid #d8ccb4; border-radius: 10px; background: #fff; }
.ref-form small { font-weight: 400; }
.ref-form .is-invalid { border-color: #b3261e !important; }
.ref-method { border: 0; padding: 0; margin: 0; display: flex; gap: 1.2rem; flex-wrap: wrap; }
.ref-method legend { font-weight: 600; font-size: .95rem; margin-bottom: .3rem; }
.ref-radio, .ref-check { display: flex !important; gap: .5rem; align-items: flex-start; font-weight: 400 !important; }
.ref-check input { margin-top: .25rem; }
.ref-form .btn { justify-self: start; }
.ref-msg { min-height: 1.2em; margin: 0; }
.ref-msg.is-bad, .ref-note.is-bad { color: #b3261e; }
.ref-msg.is-ok { color: #2e6b34; }
.ref-linkrow { display: flex; gap: .5rem; }
.ref-link { flex: 1; font: inherit; padding: .5rem .7rem; border: 1px solid #d8ccb4; border-radius: 10px; background: #fffcf5; min-width: 0; }
.ref-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .8rem; }
.ref-stat { border: 1px solid #eadfc7; border-radius: 12px; padding: .7rem .8rem; display: grid; gap: .15rem; }
.ref-stat strong { font-size: 1.3rem; }
.ref-stat-l { font-size: .85rem; color: #6b5f4f; }
.ref-list { list-style: none; padding: 0; line-height: 1.8; }
.ref-pill { font-size: .85rem; color: #6b5f4f; }
.ref-pill.ref-paying { color: #2e6b34; font-weight: 600; }
.ref-table { width: 100%; border-collapse: collapse; }
.ref-table th, .ref-table td { text-align: left; padding: .35rem .3rem; border-bottom: 1px solid #eadfc7; }
@media (max-width: 520px) { .ref-main h1 { font-size: 1.6rem; } .ref-linkrow { flex-direction: column; } }

/* Long compounds (DE «Empfehlungsprogramms», EL) must wrap on phones */
.ref-main h1, .ref-main h2 { overflow-wrap: break-word; hyphens: auto; }
/* /founding */
.fo-eyebrow { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #84611F; font-weight: 600; margin: 0 0 .3rem; }
.fo-left { margin: 1rem 0 .2rem; color: #6B5E4E; }
.fo-left b { font: 600 2.4rem/1 "Cormorant Garamond", Georgia, serif; color: #1E1710; }
.fo-of { font: 500 1.1rem/1 "Cormorant Garamond", Georgia, serif; margin-right: .3rem; }
.fo-ctas { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1rem; }
.fo-ctas[hidden] { display: none; }
.fo-ctas a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1rem; border-radius: 12px; font-weight: 600; text-decoration: none; }
.fo-ctas a.btn-gold { background: linear-gradient(180deg, #F0D08C, #D6A95A); color: #1C1508; border: 1px solid rgba(122, 86, 30, .55); }
.fo-ctas a.btn-line { background: #fff; color: #1E1710; border: 1px solid #d8ccb4; }
/* founding/referral header: no wrap jump on phones, readable links */
.ref-page .top{flex-wrap:nowrap;gap:.5rem}
.ref-page .top > div:last-child{white-space:nowrap}
.ref-page .top a{color:#8A6416}
@media (max-width:440px){.ref-page .top{padding-left:1rem;padding-right:1rem}}
