/* =====================================================
   BFU Free Nation — celebration-first community feed (Be Free champagne look)
   ===================================================== */

:root {
    --fn-navy: #0B1B3F; --fn-navy2: #1A3A6B; --fn-muted: #6B6557; --fn-hair: #E8DCC0;
    --fn-gold: #A87C0E; --fn-gold2: #D4A017; --fn-goldlt: #F0C040; --fn-cream: #FBF3DF; --fn-ivory: #FFFDF8;
    --fn-green: #2D7A3A; --fn-greenlt: #E4F2E6; --fn-coral: #E0583C; --fn-corallt: #FDE9E3; --fn-sky: #2F76C0; --fn-skylt: #E4EFFA;
    --fn-serif: 'Cormorant Garamond', Georgia, serif; --fn-sans: 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif;
    --fn-shadow: 0 1px 0 #fff inset, 0 12px 30px rgba(60, 45, 10, .09);
}

/* ── Page layout: feed + side column ── */
body.bfu-fn .entry-header, body.bfu-fn .page-header, body.bfu-fn .bb-activity-directory-title { display: none !important; }
body.bfu-fn #buddypress.buddypress-wrap {
    max-width: 1180px; margin: 0 auto; padding: 20px 16px 60px;
    display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 22px; align-items: start;
    font-family: var(--fn-sans); font-variant-numeric: lining-nums;
}
body.bfu-fn #buddypress.buddypress-wrap > * { grid-column: 1; min-width: 0; }
body.bfu-fn #buddypress .bfu-fn-hero,
body.bfu-fn #buddypress .bfu-fn-wins { grid-column: 1 / -1; }
body.bfu-fn #buddypress .bfu-fn-rail { grid-column: 2; grid-row: 3 / span 30; position: sticky; top: 90px; }
@media (max-width: 1000px) {
    body.bfu-fn #buddypress.buddypress-wrap { grid-template-columns: minmax(0, 1fr); }
    body.bfu-fn #buddypress .bfu-fn-rail { grid-column: 1; grid-row: auto; position: static; order: 99; }
}

/* The old Elementor page text is still stored in the page; BuddyBoss prints it above the feed. Hide it. */
body.bfu-fn #buddypress > :is(p, figure, ul, ol, h1, h2:not(.bp-screen-reader-text), h3, h4, img, blockquote, hr, table, .wp-block-group) { display: none !important; }
.bfu-fn-dialog:not([open]) { display: none !important; }

/* The theme paints every <button> green; our buttons keep their own colours. */
body.bfu-fn .bfu-fn-types button { border: 0 !important; min-height: 0 !important; }
body.bfu-fn .bfu-fn-types button.t-win { background: #FFF3CC !important; color: #8A6408 !important; }
body.bfu-fn .bfu-fn-types button.t-q { background: var(--fn-skylt) !important; color: var(--fn-sky) !important; }
body.bfu-fn .bfu-fn-types button.t-photo { background: var(--fn-corallt) !important; color: #B8432A !important; }
body.bfu-fn .bfu-fn-types button.t-lesson { background: #E7EAF3 !important; color: var(--fn-navy2) !important; }
body.bfu-fn button.bfu-fn-win { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; color: var(--fn-navy) !important; }
body.bfu-fn .bfu-fn-tabs button { box-shadow: none !important; }
body.bfu-fn .bfu-fn-tabs button[aria-pressed="false"] { background: rgba(255, 255, 255, .75) !important; color: var(--fn-navy) !important; border: 1px solid var(--fn-hair) !important; }
body.bfu-fn .bfu-fn-tabs button[aria-pressed="true"] { background: var(--fn-navy) !important; color: #fff !important; border: 1px solid var(--fn-navy) !important; }
body.bfu-fn .bfu-fn-btn { background: var(--fn-navy) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; }
body.bfu-fn .bfu-fn-event .bfu-fn-btn { background: var(--fn-goldlt) !important; color: var(--fn-navy) !important; }
.bfu-fn-dialog .bfu-fn-send { background: var(--fn-navy) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; }
.bfu-fn-dialog .bfu-fn-cancel { background: transparent !important; color: var(--fn-muted) !important; border: 0 !important; }
.bfu-fn-dialog .bfu-fn-x { background: var(--fn-cream) !important; color: var(--fn-navy) !important; border: 0 !important; border-radius: 50% !important; padding: 0 !important; }

/* ── Welcome band ── */
.bfu-fn-hero {
    position: relative; overflow: hidden; margin-bottom: 18px;
    display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center;
    padding: 26px 28px; border-radius: 26px; background: var(--fn-navy); color: #fff;
}
.bfu-fn-hero::before { content: ""; position: absolute; right: -60px; bottom: -120px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(240, 192, 64, .35), transparent 65%); pointer-events: none; }
.bfu-fn-hero h1 { margin: 0 !important; font-family: var(--fn-serif) !important; font-weight: 700 !important; font-size: clamp(34px, 5vw, 52px) !important; line-height: 1 !important; color: #fff !important; letter-spacing: -.01em; text-wrap: balance; }
.bfu-fn-hero h1 em { color: var(--fn-goldlt); font-style: italic; }
.bfu-fn-hero p { margin: 10px 0 0 !important; max-width: 54ch; color: rgba(255, 255, 255, .8); font-size: 15px; }
.bfu-fn-live { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); font-size: 13px; font-weight: 700; }
.bfu-fn-live i { width: 8px; height: 8px; border-radius: 50%; background: #5BD27A; animation: bfu-fn-pulse 1.8s infinite; }
@keyframes bfu-fn-pulse { 0% { box-shadow: 0 0 0 0 rgba(91, 210, 122, .7); } 70% { box-shadow: 0 0 0 9px rgba(91, 210, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(91, 210, 122, 0); } }
.bfu-fn-faces { display: flex; position: relative; }
.bfu-fn-faces img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 3px solid var(--fn-navy); margin-left: -12px; background: var(--fn-cream); }
.bfu-fn-faces img:first-child { margin-left: 0; }
@media (max-width: 700px) { .bfu-fn-hero { grid-template-columns: 1fr; padding: 22px; } }

/* ── Recent wins circles ── */
.bfu-fn-wins { display: flex; gap: 14px; overflow-x: auto; padding: 2px 2px 12px; margin-bottom: 10px; scrollbar-width: thin; }
.bfu-fn-win { flex: 0 0 auto; width: 84px; padding: 0; border: 0; background: none; text-align: center; color: var(--fn-navy) !important; text-decoration: none !important; cursor: pointer; font-family: var(--fn-sans); }
.bfu-fn-ring { display: block; width: 74px; height: 74px; margin: 0 auto; padding: 3px; border-radius: 50%; background: conic-gradient(var(--fn-goldlt), var(--fn-coral), var(--fn-gold2), var(--fn-green), var(--fn-goldlt)); transition: transform .15s; }
.bfu-fn-win:hover .bfu-fn-ring { transform: scale(1.05) rotate(-3deg); }
.bfu-fn-ring img, .bfu-fn-ring > span { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; border: 3px solid var(--fn-ivory); object-fit: cover; background: var(--fn-cream); }
.bfu-fn-win small { display: block; margin-top: 6px; font-size: 12px; font-weight: 700; line-height: 1.25; }
.bfu-fn-win small em { display: block; font-style: normal; font-weight: 700; font-size: 11px; color: var(--fn-gold); }
.bfu-fn-win--add .bfu-fn-ring { background: none; border: 2px dashed var(--fn-gold2); padding: 0; }
.bfu-fn-win--add .bfu-fn-ring > span { border: 0; font-size: 32px; font-weight: 500; color: var(--fn-gold); }
.bfu-fn-wins__empty { align-self: center; margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--fn-muted); }

/* ── Post buttons ── */
.bfu-fn-make { margin-bottom: 12px; }
.bfu-fn-make__k { margin: 0 0 10px !important; font-family: var(--fn-serif); font-weight: 700; font-size: 24px; color: var(--fn-navy); }
.bfu-fn-types { display: flex; flex-wrap: wrap; gap: 8px; }
.bfu-fn-types button { display: inline-flex; align-items: center; gap: 7px; padding: 10px 15px; border: 0; border-radius: 999px; font: 800 14px/1 var(--fn-sans); cursor: pointer; transition: transform .15s, box-shadow .15s; }
.bfu-fn-types button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(60, 45, 10, .12); }
.bfu-fn-types svg { width: 17px; height: 17px; }
.bfu-fn-types .t-win { background: #FFF3CC; color: #8A6408; }
.bfu-fn-types .t-q { background: var(--fn-skylt); color: var(--fn-sky); }
.bfu-fn-types .t-photo { background: var(--fn-corallt); color: #B8432A; }
.bfu-fn-types .t-lesson { background: #E7EAF3; color: var(--fn-navy2); }

/* BuddyBoss's own "what's new" box sits under the buttons */
body.bfu-fn #bp-nouveau-activity-form { border: 1px solid var(--fn-hair) !important; border-radius: 18px !important; box-shadow: var(--fn-shadow) !important; background: #fff !important; }

/* ── Filter tabs ── */
.bfu-fn-tabs { display: flex; gap: 8px; margin: 6px 0 14px; overflow-x: auto; padding-bottom: 4px; }
.bfu-fn-tabs button { flex: 0 0 auto; padding: 8px 16px; border: 1px solid var(--fn-hair); border-radius: 999px; background: rgba(255, 255, 255, .75); color: var(--fn-navy); font: 700 14px/1.2 var(--fn-sans); cursor: pointer; }
.bfu-fn-tabs button[aria-pressed="true"] { background: var(--fn-navy); border-color: var(--fn-navy); color: #fff; }
body.bfu-fn .bp-navs.bp-subnavs, body.bfu-fn #subnav.activity-type-navs, body.bfu-fn .activity-type-navs { display: none !important; } /* our tabs replace BuddyBoss's */

/* ── Feed cards ── */
body.bfu-fn #activity-stream .activity-list > li.activity-item,
body.bfu-fn #activity-stream > ul > li.activity-item {
    margin-bottom: 16px !important; border: 1px solid var(--fn-hair) !important; border-radius: 18px !important;
    background: #fff !important; box-shadow: var(--fn-shadow) !important; overflow: hidden;
}
body.bfu-fn #activity-stream .activity-header, body.bfu-fn #activity-stream .activity-header a { font-family: var(--fn-sans) !important; color: var(--fn-navy) !important; }
body.bfu-fn #activity-stream .activity-header a:first-child { font-weight: 800; }
body.bfu-fn #activity-stream .activity-inner { font-size: 15.5px !important; line-height: 1.6 !important; color: #2c2a24 !important; }
body.bfu-fn #activity-stream .activity-avatar img, body.bfu-fn #activity-stream .activity-avatar .avatar { border-radius: 50% !important; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--fn-hair); }
body.bfu-fn #activity-stream .activity-meta.action,
body.bfu-fn #activity-stream .bp-generic-meta.action { border-top: 1px solid #F1E9D6 !important; }
body.bfu-fn #activity-stream .activity-meta.action a:hover,
body.bfu-fn #activity-stream .activity-meta.action .button:hover { color: var(--fn-gold) !important; }
body.bfu-fn #activity-stream .activity-comments .acomment-content,
body.bfu-fn #activity-stream .activity-comments .comment-item .acomment-display { background: var(--fn-ivory); border-radius: 4px 16px 16px 16px; }

/* Wins get a warm glow; questions a sky edge */
#buddypress li.bfu-kind-win, #buddypress li.bfu-kind-milestone { border-color: #EED9A0 !important; background: linear-gradient(180deg, #FFFBEE, #fff 55%) !important; }
#buddypress li.bfu-kind-question { box-shadow: inset 4px 0 0 var(--fn-sky), var(--fn-shadow) !important; }
#buddypress li.bfu-kind-lesson { box-shadow: inset 4px 0 0 var(--fn-navy2), var(--fn-shadow) !important; }
#buddypress li[class*="bfu-kind-"] .activity-header::after {
    display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 999px; vertical-align: 2px;
    font: 800 10.5px/1.3 var(--fn-sans); letter-spacing: .08em; text-transform: uppercase;
}
#buddypress li.bfu-kind-win .activity-header::after { content: "Win"; background: #FFF3CC; color: #8A6408; }
#buddypress li.bfu-kind-milestone .activity-header::after { content: "Milestone"; background: #FFF3CC; color: #8A6408; }
#buddypress li.bfu-kind-question .activity-header::after { content: "Question"; background: var(--fn-skylt); color: var(--fn-sky); }
#buddypress li.bfu-kind-lesson .activity-header::after { content: "Learn"; background: #E7EAF3; color: var(--fn-navy2); }
#buddypress .bfu-fn-q, #buddypress .bfu-fn-q p,
.bfu-fn-demo .bfu-fn-q, .bfu-fn-demo .bfu-fn-q p {
    font-family: var(--fn-serif) !important; font-weight: 700 !important; font-size: clamp(24px, 3vw, 30px) !important;
    line-height: 1.2 !important; color: var(--fn-navy) !important; text-wrap: balance;
}
#buddypress .bfu-fn-q p, .bfu-fn-demo .bfu-fn-q p { margin: 4px 0 8px !important; }

.bfu-fn-wincard { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin: 4px 0 12px; padding: 18px 20px; border-radius: 16px; background: var(--fn-navy); color: #fff; }
.bfu-fn-medal { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; color: var(--fn-navy); background: radial-gradient(circle at 35% 30%, #FFE58A, var(--fn-gold2) 60%, #9C7209); box-shadow: 0 0 0 5px rgba(240, 192, 64, .25); }
.bfu-fn-medal svg { width: 30px; height: 30px; }
.bfu-fn-wincard__t { display: grid; gap: 2px; }
.bfu-fn-wincard__big { font-family: var(--fn-serif); font-weight: 700; font-size: 40px; line-height: 1; color: var(--fn-goldlt); }
.bfu-fn-wincard__big small { font-size: 20px; }
.bfu-fn-wincard__what { font-weight: 800; font-size: 15px; color: #fff; }
.bfu-fn-wincard__from { font-size: 12.5px; color: rgba(255, 255, 255, .7); }

.bfu-fn-mile { display: flex; align-items: center; gap: 14px; margin: 4px 0 12px; font-size: 15px; color: var(--fn-navy); }
.bfu-fn-seal { flex: 0 0 auto; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--fn-navy); color: var(--fn-goldlt); font: 700 30px/1 var(--fn-serif); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--fn-gold2); }

.bfu-fn-celebrate { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0 4px; }
.bfu-fn-cheer { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px !important; border: 0 !important; border-radius: 999px !important; background: var(--fn-goldlt) !important; color: var(--fn-navy) !important; font: 800 14px/1 var(--fn-sans) !important; cursor: pointer; box-shadow: 0 6px 16px rgba(212, 160, 23, .35); transition: transform .15s; }
.bfu-fn-cheer:active { transform: scale(.95); }
.bfu-fn-cheer[aria-pressed="true"] { background: var(--fn-navy) !important; color: var(--fn-goldlt) !important; box-shadow: none; }
.bfu-fn-cheer__n { font-size: 13px; font-weight: 700; color: var(--fn-muted); }

/* ── Side column ── */
.bfu-fn-rail { display: grid; gap: 16px; }
.bfu-fn-box { padding: 18px; border: 1px solid var(--fn-hair); border-radius: 18px; background: #fff; box-shadow: var(--fn-shadow); font-family: var(--fn-sans); }
.bfu-fn-box h2 { margin: 2px 0 6px !important; font-family: var(--fn-serif) !important; font-weight: 700 !important; font-size: 28px !important; line-height: 1.1 !important; color: var(--fn-navy) !important; }
.bfu-fn-k { margin: 0 !important; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--fn-gold); }
.bfu-fn-small { margin: 0 0 6px !important; font-size: 13.5px; line-height: 1.45; color: var(--fn-muted); }
.bfu-fn-muted { font-size: 12px !important; }
.bfu-fn-btn { display: inline-block; margin-top: 8px; padding: 9px 16px; border: 0; border-radius: 999px; background: var(--fn-navy); color: #fff !important; font: 800 13px/1 var(--fn-sans); cursor: pointer; text-decoration: none !important; }
.bfu-fn-event { background: var(--fn-navy); border-color: var(--fn-navy); }
.bfu-fn-event h2 { color: #fff !important; }
.bfu-fn-event .bfu-fn-k { color: var(--fn-goldlt); }
.bfu-fn-event .bfu-fn-small { color: rgba(255, 255, 255, .78); }
.bfu-fn-event .bfu-fn-btn { background: var(--fn-goldlt); color: var(--fn-navy) !important; }
.bfu-fn-cheerers { list-style: none !important; margin: 10px 0 8px !important; padding: 0 !important; display: grid; gap: 10px; }
.bfu-fn-cheerers li { display: flex; align-items: center; gap: 10px; margin: 0 !important; font-size: 14px; font-weight: 700; }
.bfu-fn-cheerers img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.bfu-fn-cheerers a { color: var(--fn-navy) !important; }
.bfu-fn-cheerers span { margin-left: auto; font-size: 12px; font-weight: 800; color: var(--fn-gold); }
.bfu-fn-streak { display: flex; gap: 6px; margin: 8px 0; }
.bfu-fn-streak i { flex: 1; height: 26px; border-radius: 8px; background: #F1EAD8; }
.bfu-fn-streak i.on { background: var(--fn-gold2); }

/* ── Pop-up ── */
.bfu-fn-dialog { width: min(560px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 22px; background: var(--fn-ivory); color: var(--fn-navy); box-shadow: 0 30px 80px rgba(0, 23, 67, .35); font-family: var(--fn-sans); }
.bfu-fn-dialog::backdrop { background: rgba(11, 27, 63, .55); backdrop-filter: blur(2px); }
.bfu-fn-form { position: relative; display: grid; gap: 12px; padding: 26px; }
.bfu-fn-form h2 { margin: 0 !important; font-family: var(--fn-serif) !important; font-weight: 700 !important; font-size: 30px !important; line-height: 1.1 !important; color: var(--fn-navy) !important; }
.bfu-fn-form__k { margin: 0 !important; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--fn-gold); }
.bfu-fn-x { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--fn-cream); color: var(--fn-navy); font-size: 22px; line-height: 1; cursor: pointer; }
.bfu-fn-picks { display: grid; gap: 8px; margin-top: 8px; }
.bfu-fn-pick { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--fn-hair); border-radius: 14px; background: #fff; cursor: pointer; }
.bfu-fn-pick:has(input:checked) { border-color: var(--fn-gold2); background: #FFFBEE; box-shadow: 0 0 0 1px var(--fn-gold2); }
.bfu-fn-pick input { margin-top: 4px; accent-color: var(--fn-gold); }
.bfu-fn-pick b { display: block; font-size: 15px; }
.bfu-fn-pick small { display: block; font-size: 12.5px; color: var(--fn-muted); }
.bfu-fn-input, .bfu-fn-story textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--fn-hair) !important; border-radius: 14px !important; background: #fff; font: 500 15px/1.5 var(--fn-sans); color: var(--fn-navy); box-sizing: border-box; }
.bfu-fn-input:focus, .bfu-fn-story textarea:focus { outline: 2px solid var(--fn-gold2); outline-offset: 1px; }
.bfu-fn-note { margin: 0 !important; font-size: 13px; color: var(--fn-muted); }
.bfu-fn-err { margin: 0 !important; padding: 10px 12px; border-radius: 12px; background: var(--fn-corallt); color: #9A3A26; font-size: 14px; font-weight: 700; }
.bfu-fn-form__go { display: flex; justify-content: flex-end; gap: 10px; }
.bfu-fn-cancel { padding: 11px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--fn-muted); font: 700 14px/1 var(--fn-sans); cursor: pointer; }
.bfu-fn-send { padding: 12px 20px; border: 0; border-radius: 999px; background: var(--fn-navy); color: #fff; font: 800 14px/1 var(--fn-sans); cursor: pointer; }
.bfu-fn-send:disabled { opacity: .6; cursor: wait; }

.bfu-fn-confetti { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 100000; }
.bfu-fn button:focus-visible, .bfu-fn a:focus-visible, .bfu-fn-dialog :focus-visible { outline: 3px solid var(--fn-sky); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .bfu-fn-live i { animation: none; } .bfu-fn-types button, .bfu-fn-ring, .bfu-fn-cheer { transition: none; } }

/* ── Admin preview (?fn_demo=1) ── */
.bfu-fn-demo { margin-bottom: 16px; }
.bfu-fn-demo__note { margin: 0 0 12px !important; padding: 10px 14px; border-radius: 12px; background: var(--fn-navy); color: var(--fn-goldlt); font: 700 13px/1.4 var(--fn-sans); }
.bfu-fn-demo__note a { color: #fff !important; text-decoration: underline; margin-left: 6px; }
.bfu-fn-demo .activity-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.bfu-fn-demo li.activity-item { margin: 0 0 16px !important; padding: 18px 20px; border: 1px solid var(--fn-hair); border-radius: 18px; background: #fff; box-shadow: var(--fn-shadow); font-family: var(--fn-sans); color: #2c2a24; }
.bfu-fn-demo__head { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.bfu-fn-demo__av { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; font-weight: 800; font-size: 14px; }
.bfu-fn-demo .activity-header b { font-size: 15px; color: var(--fn-navy); }
.bfu-fn-demo .activity-header small { display: block; font-size: 12.5px; color: var(--fn-muted); }
.bfu-fn-demo .activity-inner p { margin: 0 0 8px; font-size: 15.5px; line-height: 1.6; }
.bfu-fn-demo__meta { font-size: 13px !important; font-weight: 700; color: var(--fn-muted); border-top: 1px solid #F1E9D6; padding-top: 10px; margin-top: 10px !important; }

/* ── AI crew ── */
.bfu-fn-ai { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: linear-gradient(135deg, #1A3A6B, #2F76C0); color: #fff !important; font: 800 10.5px/1.5 var(--fn-sans); letter-spacing: .08em; vertical-align: 2px; }
.bfu-fn-example { display: inline-block; margin: 0 0 8px !important; padding: 4px 11px; border-radius: 999px; background: var(--fn-skylt); color: var(--fn-sky); font: 800 11.5px/1.4 var(--fn-sans); letter-spacing: .04em; }
#buddypress li.bfu-crew { background: linear-gradient(180deg, #F6F9FE, #fff 50%) !important; }

/* ── Post layout v2 (George, 2026-09-29): name centered on the avatar, the post lined up under the name
   and bigger, the Win / Question tag moved to the top-right corner so it never touches the text ── */
#buddypress li[class*="bfu-kind-"], .bfu-fn-demo li.activity-item { position: relative; }
#buddypress li[class*="bfu-kind-"] .activity-header::after,
.bfu-fn-demo li[class*="bfu-kind-"] .activity-header::after {
    position: absolute; top: 20px; right: 56px; margin: 0; vertical-align: 0;
}
.bfu-fn-demo li[class*="bfu-kind-"] .activity-header::after { right: 24px; }

/* Sample posts (preview) */
.bfu-fn-demo li.activity-item { padding: 22px 26px 18px !important; }
.bfu-fn-demo__head { gap: 14px; margin-bottom: 12px; align-items: center; }
.bfu-fn-demo__av { width: 50px; height: 50px; font-size: 16px; flex: 0 0 auto; }
.bfu-fn-demo .activity-header { display: flex; flex-direction: column; justify-content: center; min-height: 50px; padding-right: 110px; }
.bfu-fn-demo .activity-header b { font-size: 17px; line-height: 1.25; }
.bfu-fn-demo .activity-header small { font-size: 13px; margin-top: 2px; }
.bfu-fn-demo .activity-inner { margin-left: 64px; }
.bfu-fn-demo .activity-inner p { font-size: 17px !important; line-height: 1.6 !important; }
.bfu-fn-demo .activity-inner .bfu-fn-q p { font-size: clamp(24px, 3vw, 30px) !important; line-height: 1.2 !important; }
.bfu-fn-demo__meta { margin-left: 0; }

/* Real posts */
body.bfu-fn #activity-stream .activity-inner,
body.bfu-fn #activity-stream .activity-inner p { font-size: 17px !important; line-height: 1.6 !important; }
body.bfu-fn #activity-stream .activity-header { padding-right: 130px; min-height: 44px; display: flex; flex-direction: column; justify-content: center; }
body.bfu-fn #activity-stream .activity-header, body.bfu-fn #activity-stream .activity-header p { font-size: 15.5px !important; }
body.bfu-fn #activity-stream li.activity-item { padding: 6px 6px 2px !important; }
@media (max-width: 600px) {
    .bfu-fn-demo .activity-inner { margin-left: 0; }
    .bfu-fn-demo .activity-header { padding-right: 0; }
    #buddypress li[class*="bfu-kind-"] .activity-header::after, .bfu-fn-demo li[class*="bfu-kind-"] .activity-header::after { position: static; display: inline-block; margin-top: 4px; width: max-content; }
    body.bfu-fn #activity-stream .activity-header { padding-right: 36px; }
}

/* ── Breathing room (George, 2026-09-29): words were too close to the card edges, especially on the left ── */
body.bfu-fn #activity-stream li.activity-item { padding: 20px 26px 12px !important; }
body.bfu-fn #activity-stream li.activity-item .activity-content,
body.bfu-fn #activity-stream li.activity-item .activity-inner { padding-left: 0; padding-right: 0; }
body.bfu-fn #activity-stream li.activity-item .activity-inner { margin-top: 10px; }
body.bfu-fn #activity-stream .activity-comments { padding: 4px 0 0 !important; }
body.bfu-fn #activity-stream .activity-comments .acomment-content,
body.bfu-fn #activity-stream .activity-comments .comment-item .acomment-display { padding: 12px 16px !important; }
body.bfu-fn #activity-stream .ac-form, body.bfu-fn #activity-stream .ac-reply-content { padding-left: 0; }
@media (max-width: 600px) {
    body.bfu-fn #activity-stream li.activity-item { padding: 16px 18px 10px !important; }
}

/* ── Bigger, easier-to-read text (George, 2026-09-29) ── */
body.bfu-fn #activity-stream .activity-inner,
body.bfu-fn #activity-stream .activity-inner p,
body.bfu-fn #activity-stream .activity-inner li { font-size: 18.5px !important; line-height: 1.65 !important; }
body.bfu-fn #activity-stream .activity-header,
body.bfu-fn #activity-stream .activity-header p,
body.bfu-fn #activity-stream .activity-header a { font-size: 16.5px !important; }
body.bfu-fn #activity-stream .activity-header .activity-date,
body.bfu-fn #activity-stream .activity-header .time-since,
body.bfu-fn #activity-stream .activity-date a { font-size: 13.5px !important; }
body.bfu-fn #activity-stream .activity-comments .acomment-content,
body.bfu-fn #activity-stream .activity-comments .acomment-content p,
body.bfu-fn #activity-stream .activity-comments .acomment-display { font-size: 17px !important; line-height: 1.6 !important; }
body.bfu-fn #activity-stream .activity-comments .acomment-meta,
body.bfu-fn #activity-stream .activity-comments .acomment-meta a { font-size: 15px !important; }
body.bfu-fn #activity-stream .activity-meta.action a,
body.bfu-fn #activity-stream .activity-meta.action .button,
body.bfu-fn #activity-stream .activity-meta.action span { font-size: 15px !important; }
body.bfu-fn #whats-new, body.bfu-fn #whats-new-textarea, body.bfu-fn .ac-input { font-size: 17px !important; }
#buddypress .bfu-fn-q, #buddypress .bfu-fn-q p { font-size: clamp(26px, 3vw, 32px) !important; }
.bfu-fn-wincard__what { font-size: 17px; }
.bfu-fn-mile { font-size: 17px; }
@media (max-width: 600px) {
    body.bfu-fn #activity-stream .activity-inner, body.bfu-fn #activity-stream .activity-inner p { font-size: 17.5px !important; }
}

/* ── Readability fix (George, 2026-09-29): posts looked faint and small; questions shrank and wrapped unevenly ── */
body.bfu-fn #activity-stream li.activity-item .activity-inner,
body.bfu-fn #activity-stream li.activity-item .activity-inner p,
body.bfu-fn #activity-stream li.activity-item .activity-inner li {
    font-family: var(--fn-sans) !important; font-size: 19px !important; font-weight: 500 !important;
    line-height: 1.6 !important; color: #1F1D18 !important; text-wrap: pretty;
}
/* Questions: bold, big, full width (no balanced short lines). Same clean font as the rest of the site. */
body.bfu-fn #activity-stream li.activity-item .activity-inner .bfu-fn-q,
body.bfu-fn #activity-stream li.activity-item .activity-inner .bfu-fn-q p,
#buddypress li.activity-item .activity-inner .bfu-fn-q,
#buddypress li.activity-item .activity-inner .bfu-fn-q p,
.bfu-fn-demo .activity-inner .bfu-fn-q, .bfu-fn-demo .activity-inner .bfu-fn-q p {
    font-family: var(--fn-sans) !important; font-size: 23px !important; font-weight: 700 !important;
    line-height: 1.4 !important; color: var(--fn-navy) !important; text-wrap: pretty !important; max-width: none !important;
}
@media (max-width: 600px) {
    body.bfu-fn #activity-stream li.activity-item .activity-inner,
    body.bfu-fn #activity-stream li.activity-item .activity-inner p { font-size: 18px !important; }
    body.bfu-fn #activity-stream li.activity-item .activity-inner .bfu-fn-q,
    body.bfu-fn #activity-stream li.activity-item .activity-inner .bfu-fn-q p { font-size: 21px !important; }
}
